[GIT] ppl/ppl(master): Added Java interface method for frequency().

Module: ppl/ppl Branch: master Commit: 94aa8cd38dadf0f50e489c26a1c91c85dd94a554 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=94aa8cd38dadf...
Author: Patricia Hill p.m.hill@leeds.ac.uk Date: Wed Mar 24 09:24:00 2010 +0000
Added Java interface method for frequency().
---
...ppl_interface_generator_java_classes_cc_code.m4 | 33 ++++++++++++++++++++ ...l_interface_generator_java_classes_java_code.m4 | 10 ++++++ ...nterface_generator_java_procedure_generators.m4 | 1 + 3 files changed, 44 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 8714619..7b9e995 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 @@ -573,6 +573,39 @@ Java_parma_1polyhedra_1library_@1CLASS@_@1MAXMIN@__Lparma_1polyhedra_1library_Li
')
+m4_define(`ppl_@CLASS@_frequency_code', +`dnl +JNIEXPORT jboolean JNICALL +Java_parma_1polyhedra_1library_@1CLASS@_1frequency__Lparma_1polyhedra_1library_Linear_1Expression_2Lparma_1polyhedra_1library_Coefficient_2Lparma_1polyhedra_1library_Coefficient_2Lparma_1polyhedra_1library_Coefficient_2Lparma_1polyhedra_1library_Coefficient_2 +(JNIEnv* env, jobject j_this, jobject j_le, + jobject j_freqn, jobject j_freqd, jobject j_valn, jobject j_vald) { + try { + @CPP_CLASS@* this_ptr + = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this)); + PPL_DIRTY_TEMP_COEFFICIENT(freqn); + PPL_DIRTY_TEMP_COEFFICIENT(freqd); + PPL_DIRTY_TEMP_COEFFICIENT(valn); + PPL_DIRTY_TEMP_COEFFICIENT(vald); + freqn = build_cxx_coeff(env, j_freqn); + freqd = build_cxx_coeff(env, j_freqd); + valn = build_cxx_coeff(env, j_valn); + vald = build_cxx_coeff(env, j_vald); + Linear_Expression le = build_cxx_linear_expression(env, j_le); + if (this_ptr->frequency(le, freqn, freqd, valn, vald)) { + set_coefficient(env, j_freqn, build_java_coeff(env, freqn)); + set_coefficient(env, j_freqd, build_java_coeff(env, freqd)); + set_coefficient(env, j_valn, build_java_coeff(env, valn)); + set_coefficient(env, j_vald, build_java_coeff(env, vald)); + return true; + } + return false; + } + CATCH_ALL; + return false; +} + +') + m4_define(`ppl_@CLASS@_@COMPARISON@_@CLASS@_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 e83cada..13fd26b 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 @@ -236,6 +236,16 @@ ___BEGIN_OF_FILE___ @CLASS@.java << ___END_OF_FILE___
')
+m4_define(`ppl_@CLASS@_frequency_code', +`dnl +___END_OF_FILE___ +___BEGIN_OF_FILE___ @CLASS@.java << ___END_OF_FILE___ + public native boolean frequency(Linear_Expression expr, + Coefficient freq_n, Coefficient freq_d, + Coefficient val_n, Coefficient val_d); + +') + m4_define(`ppl_@CLASS@_@COMPARISON@_@CLASS@_code', `dnl ___END_OF_FILE___ diff --git a/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4 b/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4 index 62d1dc4..4f6482b 100644 --- a/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4 +++ b/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4 @@ -43,6 +43,7 @@ m4_define(`m4_procedure_list', ppl_free_@CLASS@/1 +all, ppl_@CLASS@_hashcode/2 +all -box, ppl_@CLASS@_string/1 +all, +ppl_@CLASS@_frequency/6 +simple, ppl_termination_test_@TERMINATION_ID@_@TOPOLOGY@@CLASS@/1 +simple, ppl_one_affine_ranking_function_@TERMINATION_ID@_@TOPOLOGY@@CLASS@/2 +simple, ppl_all_affine_ranking_functions_@TERMINATION_ID@_@TOPOLOGY@@CLASS@/2 +simple,
participants (1)
-
Patricia Hill