[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