this repo has no description
1/***
2!Test
3expected: !Result
4 status: SATISFIED
5***/
6
7% Test the is_fixed/1 built-in.
8
9% Removed temporarily until bug is corrected
10% constraint is_fixed(_) = false;
11
12constraint is_fixed(true) = true;
13constraint is_fixed(42) = true;
14constraint is_fixed(3.141) = true;
15constraint is_fixed("Hello World\n") == true;
16
17constraint is_fixed({}) = true;
18constraint is_fixed({1, 2, 3}) = true;
19constraint is_fixed({true}) = true;
20constraint is_fixed({4.0}) = true;
21
22constraint is_fixed([]) = true;
23constraint is_fixed([true, false, true]) = true;
24constraint is_fixed([1, 2, 3]) = true;
25constraint is_fixed([1.0, 2.0, 3.0]) = true;
26constraint is_fixed([{1, 2, 3}, {4, 5, 6}]) = true;
27constraint is_fixed(["abc", "def", "ghi"]) = true;
28
29bool: pb = true;
30int: pi = 3;
31float: pf = 4.0;
32set of int: psi = {1, 2, 3};
33
34constraint is_fixed(pb) = true;
35constraint is_fixed(pi) = true;
36constraint is_fixed(pf) = true;
37constraint is_fixed(psi) = true;
38
39array[1..3] of bool: apb = [true, false, true];
40array[1..3] of int: api = [1, 2, 3];
41array[1..3] of float: apf = [1.0, 2.0, 3.0];
42array[1..3] of set of int: apsi = [{}, {1}, {2, 3}];
43array[1..3] of string: astr = ["foo", "bar", "baz"];
44
45constraint is_fixed(apb) = true;
46constraint is_fixed(api) = true;
47constraint is_fixed(apf) = true;
48constraint is_fixed(apsi) = true;
49constraint is_fixed(astr) = true;
50
51constraint is_fixed(apb[1]) = true;
52constraint is_fixed(apb[pi]) = true;
53
54var bool: vb;
55var int: vi;
56var set of 0..100: vsi;
57
58constraint is_fixed(vb) = false;
59constraint is_fixed(vi) = false;
60constraint is_fixed(vsi) = false;
61
62array[1..3] of var bool: avb;
63array[1..3] of var int: avi;
64array[1..3] of var set of 0..100: avsi;
65
66constraint is_fixed(avb) = false;
67constraint is_fixed(avi) = false;
68constraint is_fixed(avsi) = false;
69
70var bool: vb2 = true;
71var int: vi2 = 42;
72var set of 0..100: vsi2 = {1, 2, 3};
73
74constraint is_fixed(vb2) = true;
75constraint is_fixed(vi2) = true;
76constraint is_fixed(vsi2) = true;
77
78predicate test_int(var int: x) =
79 ( if is_fixed(x) then true else false endif );
80
81constraint test_int(341) = true;
82constraint test_int(vi) = false;
83constraint test_int(vi2) = true;
84
85predicate test_array_int(array[int] of var int: x) =
86 ( if is_fixed(x) then true else false endif );
87
88constraint test_array_int([1, 2, 3]) = true;
89constraint test_array_int([1, _, 3]) = false;
90constraint test_array_int(avi) = false;
91
92solve satisfy;