[GIT] ppl/ppl(master): Added Box method has_{upper, lower}_bound to Java language interface.

Module: ppl/ppl Branch: master Commit: 1efe14de85745fad6e00f32f4c74d3f2e0dc0d74 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=1efe14de85745...
Author: Enea Zaffanella zaffanella@cs.unipr.it Date: Mon Mar 19 10:52:36 2012 +0100
Added Box method has_{upper,lower}_bound to Java language interface.
---
...ppl_interface_generator_java_classes_cc_code.m4 | 30 ++++++++++++++++++++ ...l_interface_generator_java_classes_java_code.m4 | 10 ++++++ .../ppl_interface_generator_java_test_java_code.m4 | 13 ++++++++ 3 files changed, 53 insertions(+), 0 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 ea90b5e..8dd0863 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 @@ -511,6 +511,36 @@ Java_parma_1polyhedra_1library_@1CLASS@_bounds_1from_1@1ABOVEBELOW@
')
+m4_define(`ppl_@CLASS@_has_@UPPERLOWER@_bound_code', +`dnl +JNIEXPORT jboolean JNICALL +Java_parma_1polyhedra_1library_@1CLASS@_has_1@UPPERLOWER@_1bound +(JNIEnv* env, jobject j_this, jobject j_var, + jobject j_ref_boolean, jobject j_num, jobject j_den) { + try { + @CPP_CLASS@* this_ptr + = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this)); + PPL_DIRTY_TEMP_COEFFICIENT(num); + PPL_DIRTY_TEMP_COEFFICIENT(den); + num = build_cxx_coeff(env, j_num); + den = build_cxx_coeff(env, j_den); + Variable v = build_cxx_variable(env, j_var); + bool b_value; + if (this_ptr->has_@UPPERLOWER@_bound(v.id(), b_value, num, den)) { + set_coefficient(env, j_num, build_java_coeff(env, num)); + set_coefficient(env, j_den, build_java_coeff(env, den)); + jobject j_boolean = bool_to_j_boolean_class(env, b_value); + set_by_reference(env, j_ref_boolean, j_boolean); + return true; + } + return false; + } + CATCH_ALL; + return false; +} + +') + m4_define(`ppl_@CLASS@_@MAXMIN@_code', `dnl JNIEXPORT jboolean JNICALL 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 17c8d05..ce7baf5 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 @@ -216,6 +216,16 @@ ___BEGIN_OF_FILE___ @CLASS@.java << ___END_OF_FILE___
')
+m4_define(`ppl_@CLASS@_has_@UPPERLOWER@_bound_code', +`dnl +___END_OF_FILE___ +___BEGIN_OF_FILE___ @CLASS@.java << ___END_OF_FILE___ + public native boolean has_@UPPERLOWER@_bound(Variable var, + By_Reference<Boolean> closed, + Coefficient bound_n, Coefficient bound_d); + +') + m4_define(`ppl_@CLASS@_@MAXMIN@_code', `dnl ___END_OF_FILE___ diff --git a/interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4 b/interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4 index dc71a8f..8de4f34 100644 --- a/interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4 +++ b/interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4 @@ -480,6 +480,19 @@ m4_define(`ppl_@CLASS@_constrains_code',
')
+m4_define(`ppl_@CLASS@_has_@UPPERLOWER@_bound_code', + `dnl +{ + PPL_Test.print_if_noisy("Testing has_@UPPERLOWER@_bound: "); + @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER@s1); + boolean has_@UPPERLOWER@ + = gd.has_@UPPERLOWER@_bound(var_C, bool_by_ref1, coeff_0, coeff_5); + report_success_or_failure(gd.OK()); + gd.free(); +} + +') + m4_define(`ppl_@CLASS@_@MAXMIN@_code', `dnl {
participants (1)
-
Enea Zaffanella