[PPL-devel] [GIT] ppl/ppl(termination): Added some of the Java interface code needed for the termination

Patricia Hill p.m.hill at leeds.ac.uk
Sat Mar 20 15:28:30 CET 2010


Module: ppl/ppl
Branch: termination
Commit: e5dc0a6af950c7dfe2ada7bcca91d6a67d15b367
URL:    http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=e5dc0a6af950c7dfe2ada7bcca91d6a67d15b367

Author: Patricia Hill <p.m.hill at leeds.ac.uk>
Date:   Sat Mar 20 14:27:17 2010 +0000

Added some of the Java interface code needed for the termination
methods.

---

 ...ppl_interface_generator_java_classes_cc_code.m4 |   18 ++++++++++++++++++
 ...pl_interface_generator_java_classes_cc_files.m4 |   14 ++++++++++++++
 .../Java/parma_polyhedra_library/Makefile.am       |    7 ++++---
 .../Parma_Polyhedra_Library.java                   |    4 ++++
 .../ppl_interface_generator_java_classes_java.m4   |   19 ++++++++++++++++++-
 ...l_interface_generator_java_classes_java_code.m4 |    7 +++----
 6 files changed, 61 insertions(+), 8 deletions(-)

diff --git a/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4 b/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
index b6aed73..dcc850b 100644
--- a/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+++ b/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
@@ -1285,3 +1285,21 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_approximate_1 at PARTITION@
 }
 
 ')
+
+m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.cc << ___END_OF_FILE___
+
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_termination_1test_1MS_1 at TOPOLOGY@1 at CLASS@
+(JNIEnv* env, jclass, jobject j_p) {
+  try {
+    @TOPOLOGY@@CLASS@* p_ptr
+      = reinterpret_cast<@TOPOLOGY@@CLASS@*>(get_ptr(env, j_p));
+    return termination_test_MS(*p_ptr);
+  }
+  CATCH_ALL;
+  return 0;
+}
+')
diff --git a/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4 b/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
index eb35c89..6ec6688 100644
--- a/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
+++ b/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
@@ -41,6 +41,20 @@ dnl -----------------------------------------------------------------
 dnl Ensure any schematic procedure macro that is not defined
 dnl in the code file outputs a warning message.
 m4_define(`m4_default_code', `m4_dumpdef($1`'_code)')
+m4_divert
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.cc << ___END_OF_FILE___
+/* Java Termination interface code.
+m4_include(`ppl_interface_generator_copyright')`'dnl
+*/
+
+`#'include "ppl_java_common.defs.hh"
+`#'include "parma_polyhedra_library_Termination.h"
+`#'include "parma_polyhedra_library_C_Polyhedron.h"
+`#'include "parma_polyhedra_library_NNC_Polyhedron.h"
+using namespace Parma_Polyhedra_Library;
+using namespace Parma_Polyhedra_Library::Interfaces::Java;
+
 dnl m4_pre_extra_class_code(Class, CPP_Class, Class_Kind)
 dnl Prefix extra code for each class.
 m4_define(`m4_pre_extra_class_code', `dnl
diff --git a/interfaces/Java/parma_polyhedra_library/Makefile.am b/interfaces/Java/parma_polyhedra_library/Makefile.am
index a120f0c..20f8389 100644
--- a/interfaces/Java/parma_polyhedra_library/Makefile.am
+++ b/interfaces/Java/parma_polyhedra_library/Makefile.am
@@ -159,7 +159,8 @@ $(srcdir)/Variables_Set.java
 # NOTE: do _NOT_ add Fake_Class_for_Doxygen.java to this list.
 all_java_sources = \
 $(fixed_java_sources) \
-$(required_instantiations_java_sources)
+$(required_instantiations_java_sources) \
+Termination.java
 
 # NOTE: Fake_Class_for_Doxygen.java should be added here.
 EXTRA_DIST = \
@@ -188,8 +189,8 @@ java_classes.stamp: $(all_java_sources)
 
 java_cxx_headers.stamp: java_classes.stamp
 	$(JAVAH) -classpath .. \
-		$(fixed_java_cxx_headers) \
-		$(required_instantiations_java_cxx_headers)
+                 $(fixed_java_cxx_headers) \
+                 $(required_instantiations_java_cxx_headers)
 	echo timestamp >$@
 
 source_generation.stamp: $(interface_generator_dependencies)
diff --git a/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java b/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
index e1738da..9c99cc1 100644
--- a/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
+++ b/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
@@ -190,6 +190,10 @@ public class Parma_Polyhedra_Library {
       information.
     */
     public static native String banner();
+/*
+    public static native boolean
+      ppl_Termination_MS(C_Polyhedron p);
+*/
 
     //@} // Version Checking
 
diff --git a/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4 b/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
index 618f69c..5588db0 100644
--- a/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
+++ b/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
@@ -33,6 +33,18 @@ dnl Ensure any schematic procedure macro that is not defined
 dnl in the code file outputs a warning message.
 m4_define(`m4_default_code', `m4_dumpdef($1`'_code)')
 
+m4_divert
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+/* PPL Java interface: Termination definition.
+m4_include(`ppl_interface_generator_copyright')`'dnl
+*/
+
+package parma_polyhedra_library;
+public class Termination {`'dnl
+
+m4_divert(-1)
+
 dnl m4_pre_extra_class_code(Class, CPP_Class, Class_Kind)
 dnl Prefix extra code for each class.
 m4_define(`m4_pre_extra_class_code', `dnl
@@ -150,5 +162,10 @@ m4_divert`'dnl
 m4_all_code`'dnl
 ___END_OF_FILE___
 m4_divert(-1)
-
+m4_divert
+___END_OF_FILE___
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+}
+___END_OF_FILE___
+m4_divert(-1)
 dnl End of file generation.
diff --git a/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4 b/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
index 9bce7b2..295ed7f 100644
--- a/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+++ b/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
@@ -655,8 +655,7 @@ ___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
 m4_define(`ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _code',
 `dnl
 ___END_OF_FILE___
-___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
-    public native boolean
-    termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@(@TOPOLOGY@@CLASS@ arg);
-
+___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___
+    public static native boolean
+      ppl_termination_test_MS_ at TOPOLOGY@@CLASS@(@TOPOLOGY@@CLASS@ p);
 ')




More information about the PPL-devel mailing list