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