40 namespace Test {
namespace FlatZinc {
49 (void)
new FlatZincTest(
"fzn_sets",
50 "var set of 1..10: s1 :: output_var;\n\ 51 var set of 1..10: s2 :: output_var;\n\ 52 var set of 1..10: s3 :: output_var;\n\ 53 var set of 1..10: s4 :: output_var;\n\ 54 var set of 1..10: s5 :: output_var;\n\ 55 var set of 1..10: s6 :: output_var;\n\ 56 var set of 1..10: s7 :: output_var;\n\ 57 var set of 1..10: s8 :: output_var;\n\ 59 var bool: rs1 :: output_var;\n\ 60 var bool: rs2 :: output_var;\n\ 61 var bool: rs3 :: output_var;\n\ 63 constraint set_in(1, {1, 2, 3});\n\ 64 constraint set_in(1, s1);\n\ 65 constraint set_in_reif(2, s1, rs1);\n\ 67 constraint set_subset({1, 2}, {1, 2, 3});\n\ 68 constraint set_subset({1, 2}, s2);\n\ 69 constraint set_subset_reif({1, 2, 3}, s2, rs2);\n\ 71 constraint set_subset({1, 2}, {1, 2, 3});\n\ 72 constraint set_subset({1, 2, 3}, s3);\n\ 73 constraint set_subset_reif({1, 2, 3, 4}, s3, rs3);\n\ 75 constraint set_intersect({1, 2, 3}, {1, 3, 5}, {1, 3});\n\ 76 constraint set_intersect(s4, {1, 2, 3}, {1, 3});\n\ 78 constraint set_diff({1, 2, 3}, {1, 3, 5}, {2});\n\ 79 constraint set_diff(s5, {2}, {1, 3});\n\ 81 constraint set_symdiff({1, 2, 3}, {1, 3, 5}, {2, 5});\n\ 82 constraint set_symdiff(s6, {2, 5}, {1, 5});\n\ 84 constraint set_union({1, 2, 3}, {1, 3, 5}, {1, 2, 3, 5});\n\ 85 constraint set_union(s7, {2, 5}, {1, 2, 3, 4, 5});\n\ 87 constraint set_card({1, 2, 3}, 3);\n\ 88 constraint set_card(s8, 3);\n\ 95 s1 = {1, 3, 4, 5, 6, 7, 8, 9, 10};\n\ 96 s2 = {1, 2, 4, 5, 6, 7, 8, 9, 10};\n\ 97 s3 = {1, 2, 3, 5, 6, 7, 8, 9, 10};\n\ 98 s4 = {1, 3, 4, 5, 6, 7, 8, 9, 10};\n\ Gecode::FloatVal c(-8, 8)