[GIT] ppl/ppl(master): Make it easier to reproduce issue [PPL 0000353].
Module: ppl/ppl Branch: master Commit: 36136d48b149f536afc224a99ce4965513f8fc18 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=36136d48b149f...
Author: Roberto Bagnara bagnara@cs.unipr.it Date: Fri Apr 6 07:51:20 2012 +0200
Make it easier to reproduce issue [PPL 0000353].
---
tests/PIP_Problem/Makefile.am | 4 +- tests/PIP_Problem/bug1.cc | 93 +++++++++++++++++++++++++++++++++++--- tests/PIP_Problem/bug1.dat | 99 ----------------------------------------- 3 files changed, 88 insertions(+), 108 deletions(-)
diff --git a/tests/PIP_Problem/Makefile.am b/tests/PIP_Problem/Makefile.am index 1d7bc47..0a5041c 100644 --- a/tests/PIP_Problem/Makefile.am +++ b/tests/PIP_Problem/Makefile.am @@ -58,7 +58,7 @@ pipproblem1 pipproblem2 pipproblem3
XFAIL_TESTS =
-BUGS = +BUGS = bug1 bug2
# # Sources for the tests @@ -72,6 +72,8 @@ pipproblem1_SOURCES = pipproblem1.cc pipproblem2_SOURCES = pipproblem2.cc pipproblem3_SOURCES = pipproblem3.cc
+bug1_SOURCES = bug1.cc + check_PROGRAMS = \ $(TESTS) \ $(BUGS) diff --git a/tests/PIP_Problem/bug1.cc b/tests/PIP_Problem/bug1.cc index fa99cb2..cc79299 100644 --- a/tests/PIP_Problem/bug1.cc +++ b/tests/PIP_Problem/bug1.cc @@ -24,10 +24,11 @@ site: http://bugseng.com/products/ppl/ . */ #include "ppl_test.hh"
#include "files.hh" -#include <string> #include <fstream> +#include <iostream> + +using namespace IO_Operators;
-using std::string; using std::fstream; using std::ios_base;
@@ -35,13 +36,89 @@ namespace {
bool test01() { - const char* my_file = "bug1.dat"; + Variable A(0); + Variable B(1); + Variable C(2); + Variable D(3); + Variable E(4); + Variable F(5); + Variable G(6); + Variable H(7); + Variable I(8); + Variable J(9); + Variable K(10); + Variable L(11); + Variable M(12); + Variable N(13); + Variable O(14); + Variable P(15); + Variable Q(16); + Variable R(17); + Variable S(18); + Variable T(19); + Variable U(20); + Variable V(21); + Variable W(22); + Variable X(23); + Variable Y(24); + Variable Z(25); + Variable A1(26); + Variable B1(27); + Variable C1(28); + Variable D1(29); + Variable E1(30); + Variable F1(31); + Variables_Set params; + + Constraint_System cs; + cs.insert(162*B + D + 9*F + 1620*H - F1 == 0); + cs.insert(E1 == 0); + cs.insert(D1 == 1); + cs.insert(162*B + D + 9*F + 1620*H - C1 == 0); + cs.insert(B1 == 0); + cs.insert(A1 == 1); + cs.insert(162*B + D + 9*F + 1620*H - 162*O - Q - 9*S - 1620*Z == 0); + cs.insert(O - Y == 0); + cs.insert(S - X == 0); + cs.insert(Q - W == 0); + cs.insert(V == 0); + cs.insert(162*B + D + 9*F + 1620*H - 162*O - Q - 9*S - 1620*U == 0); + cs.insert(T == 0); + cs.insert(R == 0); + cs.insert(P == 0); + cs.insert(N == 0); + cs.insert(H - M == 0); + cs.insert(B - L == 0); + cs.insert(F - K == 0); + cs.insert(D - J == 0); + cs.insert(I == 0); + cs.insert(G == 0); + cs.insert(E == 0); + cs.insert(C == 0); + cs.insert(A == 0); + cs.insert(B - O >= 1); + cs.insert(D >= 0); + cs.insert(-162*B - D - 9*F - 1620*H + 162*O + Q + 9*S >= -6480); + cs.insert(-B >= -9); + cs.insert(-D >= -8); + cs.insert(-F >= -17); + cs.insert(F >= 0); + cs.insert(-Q >= -8); + cs.insert(-S >= -17); + cs.insert(S >= 0); + cs.insert(Q >= 0); + cs.insert(O >= 0); + cs.insert(H >= 0); + +#if 0 + MIP_Problem mip(cs.space_dimension(), cs.begin(), cs.end()); + std::cout << mip.is_satisfiable() << endl; + Variables_Set integer_space_dimensions(A, F1); + mip.add_to_integer_space_dimensions(integer_space_dimensions); + std::cout << mip.is_satisfiable() << endl; +#endif
- fstream f; - open(f, my_file, ios_base::in); - PIP_Problem pip; - pip.ascii_load(f); - close(f); + PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
bool ok = pip.is_satisfiable();
diff --git a/tests/PIP_Problem/bug1.dat b/tests/PIP_Problem/bug1.dat deleted file mode 100644 index 4bcd823..0000000 --- a/tests/PIP_Problem/bug1.dat +++ /dev/null @@ -1,99 +0,0 @@ -external_space_dim: 32 - -internal_space_dim: 0 - -input_cs( 38 ) -size 33 0 0 162 0 1 0 9 0 1620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -f +RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 162 0 1 0 9 0 1620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 -f +RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 162 0 1 0 9 0 1620 0 0 0 0 0 0 -162 0 -1 0 -9 0 0 0 0 0 0 -1620 0 0 -0 0 0 0 f +RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 162 0 1 0 9 0 1620 0 0 0 0 0 0 -162 0 -1 0 -9 0 -1620 0 0 0 0 0 0 0 -0 0 0 0 f +RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V -RPI +NNC_V -NNC -size 33 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V +RPI +NNC_V -NNC -size 33 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V +RPI +NNC_V -NNC -size 33 6480 0 -162 0 -1 0 -9 0 -1620 0 0 0 0 0 0 162 0 1 0 9 0 0 0 0 0 0 0 0 0 -0 0 0 0 f +RPI_V +RPI +NNC_V -NNC -size 33 9 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V +RPI +NNC_V -NNC -size 33 8 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V +RPI +NNC_V -NNC -size 33 17 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V +RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V +RPI +NNC_V -NNC -size 33 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V +RPI +NNC_V -NNC -size 33 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V +RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V +RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V +RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V +RPI +NNC_V -NNC -size 33 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f -+RPI_V +RPI +NNC_V -NNC - -first_pending_constraint: 0 - -status: PARTIALLY_SATISFIABLE - -parameters -variables( 0 ) - -initial_context -0 x 0 - -control_parameters -CUTTING_STRATEGY_FIRST -PIVOT_ROW_STRATEGY_FIRST - -big_parameter_dimension: 18446744073709551615 - -current_solution: BOTTOM
participants (1)
-
Roberto Bagnara