
Module: ppl/ppl Branch: master Commit: d083ca77b75e1ddf570221c57680a00cd0a35b52 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=d083ca77b75e1...
Author: Patricia Hill p.m.hill@leeds.ac.uk Date: Tue Mar 30 11:30:48 2010 +0100
Added Java interface tests for termination_test_MS, termination_test_PR, termination_test_MS_2 and termination_test_PR_2
---
interfaces/Java/tests/NNC_Polyhedron_test1.java | 31 ++++++++++++++++++++ .../ppl_interface_generator_java_test_java_code.m4 | 26 ++++++++++++++++ 2 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/interfaces/Java/tests/NNC_Polyhedron_test1.java b/interfaces/Java/tests/NNC_Polyhedron_test1.java index d3efe92..4de59cb 100644 --- a/interfaces/Java/tests/NNC_Polyhedron_test1.java +++ b/interfaces/Java/tests/NNC_Polyhedron_test1.java @@ -82,6 +82,37 @@ static { return cs.isEmpty(); }
+ public static boolean test03() { + // Test termination methods. + Variable X1 = new Variable(0); + Variable X2 = new Variable(1); + Variable XP1 = new Variable(2); + Variable XP2 = new Variable(3); + NNC_Polyhedron ph = new NNC_Polyhedron(4, Degenerate_Element.UNIVERSE); + Coefficient coeff_1 = new Coefficient(1); + Coefficient coeff_0 = new Coefficient(0); + Linear_Expression le_X1 = new Linear_Expression_Variable(X1); + Linear_Expression le_X2 = new Linear_Expression_Variable(X2); + Linear_Expression le_XP1 = new Linear_Expression_Variable(XP1); + Linear_Expression le_XP2 = new Linear_Expression_Variable(XP2); + Linear_Expression le_1 = new Linear_Expression_Coefficient(coeff_1); + Linear_Expression le_0 = new Linear_Expression_Coefficient(coeff_0); + Linear_Expression le_X1_difference_XP1 = le_X1.sum(le_XP1); + Constraint c_XP2_eq_1 + = new Constraint(le_XP2, Relation_Symbol.EQUAL, le_1); + Constraint c_X1_geq_1 + = new Constraint(le_X1, Relation_Symbol.GREATER_OR_EQUAL, le_1); + Constraint c_X1_minus_XP1_geq_1 + = new Constraint(le_X1_difference_XP1, Relation_Symbol.GREATER_OR_EQUAL, le_1); + Constraint c_X2_leq_0 + = new Constraint(le_X2, Relation_Symbol.LESS_OR_EQUAL, le_0); + ph.add_constraint(c_XP2_eq_1); + ph.add_constraint(c_X1_geq_1); + ph.add_constraint(c_X1_minus_XP1_geq_1); + ph.add_constraint(c_X2_leq_0); + return Termination.termination_test_MS_NNC_Polyhedron(ph); + } + public static void main(String[] args) { Parma_Polyhedra_Library.initialize_library(); boolean test_result_ok = 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 764edf5..f605d58 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 @@ -897,4 +897,30 @@ m4_define(`ppl_free_@CLASS@_code',
')
+m4_define(`ppl_termination_test_@TERMINATION_ID@_@TOPOLOGY@@CLASS@_codexxx', + `dnl +{ + PPL_Test.print_if_noisy("Testing termination_@TERMINATION_ID@_@TOPOLOGY@@CLASS@: "); + @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER@s1); + boolean term = Termination.termination_test_@TERMINATION_ID@_@TOPOLOGY@@CLASS@(gd1); + report_success_or_failure(gd1.OK() && term); + gd1.free(); +} + +') + +m4_define(`ppl_termination_test_@TERMINATION_ID@_@TOPOLOGY@@CLASS@_2_codexxx', + `dnl +{ + PPL_Test.print_if_noisy("Testing termination_test_@TERMINATION_ID@_@TOPOLOGY@@CLASS@: "); + @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER@s1); + @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER@s2); + boolean term = Termination.termination_test_@TERMINATION_ID@_@TOPOLOGY@@CLASS@_2(gd1, gd2); + report_success_or_failure(gd1.OK() && gd2.OK() && term); + gd1.free(); + gd2.free(); +} + +') + m4_divert`'dnl