[PPL-devel] [GIT] ppl/ppl(master): Added C interface 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: dd86d85a455e91d89bf957e343e49ce7eb4a32b2
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=dd86d85a455e91d89bf957e343e49ce7eb4a32b2
Author: Patricia Hill <p.m.hill at 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_ at CLASS@_frequency_code',
+`int
+ppl_ at CLASS@_frequency
+(ppl_const_ at 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_ at CLASS@_ at COMPARISON@_ at CLASS@_code',
`int
ppl_ at CLASS@_ at COMPARISON@_ at 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_ at CLASS@_t ph,
')
+m4_define(`ppl_ at CLASS@_frequency_code',
+`/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_ at CLASS@_frequency
+PPL_PROTO((ppl_const_ at 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_ at CLASS@_ at COMPARISON@_ at CLASS@_code',
`/*! \relates ppl_ at 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_ 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,
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_ at CLASS@_iterator +pointset_powerset,
`m4_common_procedure_list',
-ppl_ at CLASS@_frequency/6 +simple,
ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@ +simple,
ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@ +simple,
ppl_all_affine_ranking_functions_ at TERMINATION_ID@_ at 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_ 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,
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_ at CLASS@_ at SIMPLIFY@/1 *nofail +all,
ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@/2 +all,
ppl_ at CLASS@_ at MAXMIN@/5 +all,
ppl_ at CLASS@_ at MAXMIN@_with_point/6 +all,
+ppl_ at CLASS@_frequency/6 +simple,
ppl_ at CLASS@_ at COMPARISON@_ at CLASS@/2 +all,
ppl_ at CLASS@_equals_ at CLASS@/2 +all,
ppl_ at CLASS@_OK/1 +all,
More information about the PPL-devel
mailing list