[PPL-devel] [GIT] ppl/ppl(master): Enable Java interface for termination procedures ( and corrected bugs).

Enea Zaffanella zaffanella at cs.unipr.it
Tue Mar 30 11:55:02 CEST 2010


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

Author: Enea Zaffanella <zaffanella at cs.unipr.it>
Date:   Tue Mar 30 11:53:00 2010 +0200

Enable Java interface for termination procedures (and corrected bugs).

---

 interfaces/Java/jni/Makefile.am                    |    5 +-
 ...ppl_interface_generator_java_classes_cc_code.m4 |   64 ++++++++++----------
 .../Java/parma_polyhedra_library/Makefile.am       |    2 +-
 3 files changed, 37 insertions(+), 34 deletions(-)

diff --git a/interfaces/Java/jni/Makefile.am b/interfaces/Java/jni/Makefile.am
index 79d7919..ce947ef 100644
--- a/interfaces/Java/jni/Makefile.am
+++ b/interfaces/Java/jni/Makefile.am
@@ -106,6 +106,7 @@ ppl_java_common.cc \
 ppl_java_globals.cc
 
 nodist_EXTRA_libppl_java_la_SOURCES = \
+ppl_java_Termination.cc \
 ppl_java_Int8_Box.cc \
 ppl_java_Int16_Box.cc \
 ppl_java_Int32_Box.cc \
@@ -179,12 +180,14 @@ ppl_java_Constraints_Product_Grid_C_Polyhedron.cc \
 ppl_java_Constraints_Product_Grid_NNC_Polyhedron.cc
 
 libppl_java_la_LIBADD = \
+ppl_java_Termination.lo \
 @required_instantiations_java_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
 $(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_java_la_DEPENDENCIES = \
+ppl_java_Termination.lo \
 @required_instantiations_java_cxx_objects@
 
 ppl_java_implementation_domains.cc.stamp: $(interface_generator_dependencies)
@@ -198,8 +201,8 @@ ppl_java_implementation_domains.cc.stamp: $(interface_generator_dependencies)
 	echo timestamp >$@
 
 CLEANFILES = \
- at required_instantiations_java_cxx_sources@ \
 ppl_java_Termination.cc \
+ at required_instantiations_java_cxx_sources@ \
 ppl_java_implementation_domains.cc.stamp
 
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
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 3c09592..256acec 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
@@ -1387,8 +1387,8 @@ JNIEXPORT jboolean JNICALL
 Java_parma_1polyhedra_1library_Termination_termination_1test_1 at TERMINATION_ID@_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));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p));
     return termination_test_ at TERMINATION_ID@(*p_ptr);
   }
   CATCH_ALL;
@@ -1406,10 +1406,10 @@ JNIEXPORT jboolean JNICALL
 Java_parma_1polyhedra_1library_Termination_termination_1test_1 at TERMINATION_ID@_1 at TOPOLOGY@1 at CLASS@_12
 (JNIEnv* env, jclass, jobject j_p_before, jobject j_p_after) {
   try {
-    @TOPOLOGY@@CLASS@* p_ptr_before
-      = reinterpret_cast<@TOPOLOGY@@CLASS@*>(get_ptr(env, j_p_before));
-    @TOPOLOGY@@CLASS@* p_ptr_after
-      = reinterpret_cast<@TOPOLOGY@@CLASS@*>(get_ptr(env, j_p_after));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_before
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_before));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_after
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_after));
     return termination_test_ at TERMINATION_ID@_2(*p_ptr_before, *p_ptr_after);
   }
   CATCH_ALL;
@@ -1427,8 +1427,8 @@ JNIEXPORT jboolean JNICALL
 Java_parma_1polyhedra_1library_Termination_one_1affine_1ranking_1function_1 at TERMINATION_ID@_1 at TOPOLOGY@1 at CLASS@
 (JNIEnv* env, jclass, jobject j_p, jobject j_g) {
   try {
-    @TOPOLOGY@@CLASS@* p_ptr
-      = reinterpret_cast<@TOPOLOGY@@CLASS@*>(get_ptr(env, j_p));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p));
     Generator g(point());
     if (one_affine_ranking_function_ at TERMINATION_ID@(*p_ptr, g)) {
       jobject j_g_result = build_java_generator(env, g);;
@@ -1450,12 +1450,12 @@ ___BEGIN_OF_FILE___ ppl_java_Termination.cc << ___END_OF_FILE___
 
 JNIEXPORT jboolean JNICALL
 Java_parma_1polyhedra_1library_Termination_one_1affine_1ranking_1function_1 at TERMINATION_ID@_1 at TOPOLOGY@1 at CLASS@_12
-(JNIEnv* env, jclass, jobject j_p_before, jobject j_g_after) {
+(JNIEnv* env, jclass, jobject j_p_before, jobject j_p_after, jobject j_g) {
   try {
-    @TOPOLOGY@@CLASS@* p_ptr_before
-      = reinterpret_cast<@TOPOLOGY@@CLASS@*>(get_ptr(env, j_p_before));
-    @TOPOLOGY@@CLASS@* p_ptr_after
-      = reinterpret_cast<@TOPOLOGY@@CLASS@*>(get_ptr(env, j_p_after));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_before
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_before));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_after
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_after));
     Generator g(point());
     if (one_affine_ranking_function_ at TERMINATION_ID@_2(*p_ptr_before, *p_ptr_after, g)) {
       jobject j_g_result = build_java_generator(env, g);;
@@ -1479,11 +1479,11 @@ JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_Termination_all_1affine_1ranking_1functions_1 at TERMINATION_ID@_1 at TOPOLOGY@1 at CLASS@
 (JNIEnv* env, jclass, jobject j_p, jobject j_ph) {
   try {
-    @TOPOLOGY@@CLASS@* p_ptr
-      = reinterpret_cast<@TOPOLOGY@@CLASS@*>(get_ptr(env, j_p));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p));
     @A_TERMINATION_ID at Polyhedron* ph = new @A_TERMINATION_ID at Polyhedron();
-    all_affine_ranking_functions_ at TERMINATION_ID@(*p_ptr, *ph) {
-    set_ptr(env, j_ph, *ph);
+    all_affine_ranking_functions_ at TERMINATION_ID@(*p_ptr, *ph);
+    set_ptr(env, j_ph, ph);
   }
   CATCH_ALL;
 }
@@ -1499,13 +1499,13 @@ JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_Termination_all_1affine_1ranking_1functions_1 at TERMINATION_ID@_1 at TOPOLOGY@1 at CLASS@_12
 (JNIEnv* env, jclass, jobject j_p_before, jobject j_p_after, jobject j_ph) {
   try {
-    @TOPOLOGY@@CLASS@* p_ptr_before
-      = reinterpret_cast<@TOPOLOGY@@CLASS@*>(get_ptr(env, j_p_before));
-    @TOPOLOGY@@CLASS@* p_ptr_after
-      = reinterpret_cast<@TOPOLOGY@@CLASS@*>(get_ptr(env, j_p_after));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_before
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_before));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_after
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_after));
     @A_TERMINATION_ID at Polyhedron* ph = new @A_TERMINATION_ID at Polyhedron();
     all_affine_ranking_functions_ at TERMINATION_ID@_2(*p_ptr_before, *p_ptr_after, *ph);
-    set_ptr(env, j_ph, *ph);
+    set_ptr(env, j_ph, ph);
   }
   CATCH_ALL;
 }
@@ -1522,13 +1522,13 @@ Java_parma_1polyhedra_1library_Termination_all_1affine_1quasi_1ranking_1function
 (JNIEnv* env, jclass, jobject j_p,
  jobject j_ph_decreasing, jobject j_ph_bounded) {
   try {
-    @TOPOLOGY@@CLASS@* p_ptr
-      = reinterpret_cast<@TOPOLOGY@@CLASS@*>(get_ptr(env, j_p));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p));
     C_Polyhedron* ph_decreasing = new C_Polyhedron();
     C_Polyhedron* ph_bounded = new C_Polyhedron();
     all_affine_quasi_ranking_functions_MS(*p_ptr, *ph_decreasing, *ph_bounded);
-    set_ptr(env, j_ph_decreasing, *ph_decreasing);
-    set_ptr(env, j_ph_bounded, *ph_bounded);
+    set_ptr(env, j_ph_decreasing, ph_decreasing);
+    set_ptr(env, j_ph_bounded, ph_bounded);
   }
   CATCH_ALL;
 }
@@ -1545,16 +1545,16 @@ Java_parma_1polyhedra_1library_Termination_all_1affine_1quasi_1ranking_1function
 (JNIEnv* env, jclass, jobject j_p_before, jobject j_p_after,
  jobject j_ph_decreasing, jobject j_ph_bounded) {
   try {
-    @TOPOLOGY@@CLASS@* p_ptr_before
-      = reinterpret_cast<@TOPOLOGY@@CLASS@*>(get_ptr(env, j_p_before));
-    @TOPOLOGY@@CLASS@* p_ptr_after
-      = reinterpret_cast<@TOPOLOGY@@CLASS@*>(get_ptr(env, j_p_after));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_before
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_before));
+    @TOPOLOGY@@CPP_CLASS@* p_ptr_after
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p_after));
     C_Polyhedron* ph_decreasing = new C_Polyhedron();
     C_Polyhedron* ph_bounded = new C_Polyhedron();
     all_affine_quasi_ranking_functions_MS_2(*p_ptr_before, *p_ptr_after,
                                             *ph_decreasing, *ph_bounded);
-    set_ptr(env, j_ph_decreasing, *ph_decreasing);
-    set_ptr(env, j_ph_bounded, *ph_bounded);
+    set_ptr(env, j_ph_decreasing, ph_decreasing);
+    set_ptr(env, j_ph_bounded, ph_bounded);
   }
   CATCH_ALL;
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Makefile.am b/interfaces/Java/parma_polyhedra_library/Makefile.am
index 6de00bb..a87bf56 100644
--- a/interfaces/Java/parma_polyhedra_library/Makefile.am
+++ b/interfaces/Java/parma_polyhedra_library/Makefile.am
@@ -78,7 +78,7 @@ parma_polyhedra_library.Poly_Con_Relation \
 parma_polyhedra_library.Poly_Gen_Relation \
 parma_polyhedra_library.PPL_Object \
 parma_polyhedra_library.Relation_Symbol \
-parma_polyhedra_library.Termination   \
+parma_polyhedra_library.Termination \
 parma_polyhedra_library.Variable \
 parma_polyhedra_library.Variables_Set
 




More information about the PPL-devel mailing list