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

Module: ppl/ppl Branch: master Commit: dd86d85a455e91d89bf957e343e49ce7eb4a32b2 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=dd86d85a455e9...
Author: Patricia Hill p.m.hill@leeds.ac.uk Date: Wed Mar 24 09:38:14 2010 +0000
Added C interface for frequency(). Moved generator to language independent file.
---
interfaces/C/ppl_interface_generator_c_cc_code.m4 | 21 ++++++++++++++++++++ interfaces/C/ppl_interface_generator_c_h_code.m4 | 13 ++++++++++++ ...nterface_generator_java_procedure_generators.m4 | 1 - ...terface_generator_ocaml_procedure_generators.m4 | 1 - ...erface_generator_prolog_procedure_generators.m4 | 1 - ...erface_generator_common_procedure_generators.m4 | 1 + 6 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/interfaces/C/ppl_interface_generator_c_cc_code.m4 b/interfaces/C/ppl_interface_generator_c_cc_code.m4 index 3cef2d7..076ee2f 100644 --- a/interfaces/C/ppl_interface_generator_c_cc_code.m4 +++ b/interfaces/C/ppl_interface_generator_c_cc_code.m4 @@ -258,6 +258,27 @@ CATCH_ALL
')
+m4_define(`ppl_@CLASS@_frequency_code', +`int +ppl_@CLASS@_frequency +(ppl_const_@CLASS@_t ph, + ppl_const_Linear_Expression_t le, + ppl_Coefficient_t freq_n, + ppl_Coefficient_t freq_d, + ppl_Coefficient_t val_n, + ppl_Coefficient_t val_d) try { + const @CPP_CLASS@& pph = *to_const(ph); + const Linear_Expression& lle = *to_const(le); + Coefficient& pfreq_n = *to_nonconst(freq_n); + Coefficient& pfreq_d = *to_nonconst(freq_d); + Coefficient& pval_n = *to_nonconst(val_n); + Coefficient& pval_d = *to_nonconst(val_d); + return pph.frequency(lle, pfreq_n, pfreq_d, pval_n, pval_d); +} +CATCH_ALL + +') + m4_define(`ppl_@CLASS@_@COMPARISON@_@CLASS@_code', `int ppl_@CLASS@_@COMPARISON@_@CLASS@ diff --git a/interfaces/C/ppl_interface_generator_c_h_code.m4 b/interfaces/C/ppl_interface_generator_c_h_code.m4 index c793a5e..90f17ec 100644 --- a/interfaces/C/ppl_interface_generator_c_h_code.m4 +++ b/interfaces/C/ppl_interface_generator_c_h_code.m4 @@ -256,6 +256,19 @@ PPL_PROTO((ppl_const_@CLASS@_t ph,
')
+m4_define(`ppl_@CLASS@_frequency_code', +`/*! \relates ppl_@CLASS@_tag */ +int +ppl_@CLASS@_frequency +PPL_PROTO((ppl_const_@CLASS@_t ph, + ppl_const_Linear_Expression_t le, + ppl_Coefficient_t ext_fn, + ppl_Coefficient_t ext_fd, + ppl_Coefficient_t ext_vn, + ppl_Coefficient_t ext_vd)); + +') + m4_define(`ppl_@CLASS@_@COMPARISON@_@CLASS@_code', `/*! \relates ppl_@CLASS@_tag */ int diff --git a/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4 b/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4 index 4f6482b..62d1dc4 100644 --- a/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4 +++ b/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4 @@ -43,7 +43,6 @@ 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, diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4 index aec7ed4..8b8ff38 100644 --- a/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4 +++ b/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4 @@ -43,7 +43,6 @@ dnl m4_define(`m4_procedure_list', `m4_echo_unquoted(ppl_new_@CLASS@_iterator +pointset_powerset, `m4_common_procedure_list', -ppl_@CLASS@_frequency/6 +simple, ppl_termination_test_@TERMINATION_ID@_@TOPOLOGY@@CLASS@ +simple, ppl_one_affine_ranking_function_@TERMINATION_ID@_@TOPOLOGY@@CLASS@ +simple, ppl_all_affine_ranking_functions_@TERMINATION_ID@_@TOPOLOGY@@CLASS@ +simple, diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4 index 9e99852..685844f 100644 --- a/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4 +++ b/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4 @@ -87,7 +87,6 @@ ppl_MIP_Problem_ascii_dump/1`'dnl
m4_define(`m4_procedure_list', `m4_echo_unquoted(`m4_common_procedure_list', -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, diff --git a/interfaces/ppl_interface_generator_common_procedure_generators.m4 b/interfaces/ppl_interface_generator_common_procedure_generators.m4 index 5e5473d..a9be300 100644 --- a/interfaces/ppl_interface_generator_common_procedure_generators.m4 +++ b/interfaces/ppl_interface_generator_common_procedure_generators.m4 @@ -64,6 +64,7 @@ ppl_@CLASS@_@SIMPLIFY@/1 *nofail +all, ppl_@CLASS@_bounds_from_@ABOVEBELOW@/2 +all, ppl_@CLASS@_@MAXMIN@/5 +all, ppl_@CLASS@_@MAXMIN@_with_point/6 +all, +ppl_@CLASS@_frequency/6 +simple, ppl_@CLASS@_@COMPARISON@_@CLASS@/2 +all, ppl_@CLASS@_equals_@CLASS@/2 +all, ppl_@CLASS@_OK/1 +all,
participants (1)
-
Patricia Hill