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.
Jip J. Dekker fad1b07018 Squashed 'software/minizinc/' content from commit 4f10c8205
git-subtree-dir: software/minizinc
git-subtree-split: 4f10c82056ffcb1041d7ffef29d77a7eef92cf76
2021-06-16 14:06:46 +10:00

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"
];