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

Module: ppl/ppl Branch: termination Commit: e5dc0a6af950c7dfe2ada7bcca91d6a67d15b367 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=e5dc0a6af950c...
Author: Patricia Hill p.m.hill@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_@1CLASS@_approximate_1@PARTITION@ }
') + +m4_define(`ppl_termination_test_@TERMINATION_ID@_@TOPOLOGY@@CLASS@_code', +`dnl +___END_OF_FILE___ +___BEGIN_OF_FILE___ Termination.cc << ___END_OF_FILE___ + +JNIEXPORT jboolean JNICALL +Java_parma_1polyhedra_1library_termination_1test_1MS_1@TOPOLOGY@1@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@.java << ___END_OF_FILE___ m4_define(`ppl_termination_test_@TERMINATION_ID@_@TOPOLOGY@@CLASS@_code', `dnl ___END_OF_FILE___ -___BEGIN_OF_FILE___ @CLASS@.java << ___END_OF_FILE___ - public native boolean - termination_test_@TERMINATION_ID@_@TOPOLOGY@@CLASS@(@TOPOLOGY@@CLASS@ arg); - +___BEGIN_OF_FILE___ Termination.java << ___END_OF_FILE___ + public static native boolean + ppl_termination_test_MS_@TOPOLOGY@@CLASS@(@TOPOLOGY@@CLASS@ p); ')
participants (1)
-
Patricia Hill