1
0
This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.

44 lines
847 B
MiniZinc

/***
!Test
solvers: [gecode, chuffed]
expected: !Result
solution: !SolutionSet
- !Solution
b: false
i: 0
- !Solution
b: true
i: 1
- !Solution
b: false
i: 2
- !Solution
b: false
i: 3
options:
all_solutions: true
***/
% Regression test for bug #244: when asked for all solutions (with G12/FD)
% this model did not produce the solution (i = 0, b = false). The problem
% was that the flattening of the reified array lookup in the constraint was
% incorrect. We were emitting (in pseudcode):
%
% (i = i' <-> i <= size(arr)) /\ i >= 1
%
% rather than
%
% (i = i' <-> i (i >= 1 /\ i <= size(arr)))
%
% i' is the fesh index variable.
var 0..3: i;
var bool: b;
array[1..2] of bool: arr = [true, false];
constraint b = arr[i];
solve satisfy;
output [
"b = ", show(b), ";\n",
"i = ", show(i), ";\n"
];