[PPL-devel] [GIT] ppl/ppl(master): Added Java interface method for frequency().
Patricia Hill
p.m.hill at leeds.ac.uk
Wed Mar 24 10:39:14 CET 2010
Module: ppl/ppl
Branch: master
Commit: 94aa8cd38dadf0f50e489c26a1c91c85dd94a554
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=94aa8cd38dadf0f50e489c26a1c91c85dd94a554
Author: Patricia Hill <p.m.hill at 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_ at 1CLASS@_ at 1MAXMIN@__Lparma_1polyhedra_1library_Li
')
+m4_define(`ppl_ at CLASS@_frequency_code',
+`dnl
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_ at 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_ at CLASS@_ at COMPARISON@_ at 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 at .java << ___END_OF_FILE___
')
+m4_define(`ppl_ at CLASS@_frequency_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .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_ at CLASS@_ at COMPARISON@_ at 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_ at CLASS@/1 +all,
ppl_ at CLASS@_hashcode/2 +all -box,
ppl_ at CLASS@_string/1 +all,
+ppl_ at CLASS@_frequency/6 +simple,
ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/1 +simple,
ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/2 +simple,
ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/2 +simple,
More information about the PPL-devel
mailing list