36 namespace Test {
namespace FlatZinc {
45 (void)
new FlatZincTest(
"fzn_logic",
46 "var bool: b1 :: output_var;\n\ 47 var bool: b2 :: output_var;\n\ 48 var bool: b3 :: output_var;\n\ 49 var bool: b4 :: output_var;\n\ 50 var bool: b5 :: output_var;\n\ 51 var bool: b6 :: output_var;\n\ 52 array [1..3] of var bool: ab1 :: output_array([1..3]);\n\ 53 array [1..3] of var bool: ab2 :: output_array([1..3]);\n\ 55 constraint bool_eq(true, true);\n\ 56 constraint bool_eq(false, false);\n\ 58 constraint bool_not(true, false);\n\ 59 constraint bool_not(false, true);\n\ 61 constraint bool_and(false, true, false);\n\ 62 constraint bool_and(false, false, false);\n\ 63 constraint bool_and(true, false, false);\n\ 64 constraint bool_and(true, true, true);\n\ 65 constraint bool_and(b1, true, true);\n\ 67 constraint bool_or(false, true, true);\n\ 68 constraint bool_or(false, false, false);\n\ 69 constraint bool_or(true, false, true);\n\ 70 constraint bool_or(true, true, true);\n\ 71 constraint bool_or(b2, false, true);\n\ 73 constraint bool_xor(false, true, true);\n\ 74 constraint bool_xor(false, false, false);\n\ 75 constraint bool_xor(true, false, true);\n\ 76 constraint bool_xor(true, true, false);\n\ 77 constraint bool_xor(b3, false, true);\n\ 79 constraint bool_le_reif(false, true, true);\n\ 80 constraint bool_le_reif(false, false, true);\n\ 81 constraint bool_le_reif(true, false, false);\n\ 82 constraint bool_le_reif(true, true, true);\n\ 83 constraint bool_le_reif(true, b4, true);\n\ 85 constraint bool_le_reif(false, true, true);\n\ 86 constraint bool_le_reif(false, false, true);\n\ 87 constraint bool_le_reif(true, false, false);\n\ 88 constraint bool_le_reif(true, true, true);\n\ 89 constraint bool_le_reif(true, b5, true);\n\ 91 constraint bool_not(false, true);\n\ 92 constraint bool_not(true, false);\n\ 93 constraint bool_not(b6, false);\n\ 95 constraint array_bool_and([false], false);\n\ 96 constraint array_bool_and([true], true);\n\ 97 constraint array_bool_and([false, true], false);\n\ 98 constraint array_bool_and([false, false], false);\n\ 99 constraint array_bool_and([true, false], false);\n\ 100 constraint array_bool_and([true, true], true);\n\ 101 constraint array_bool_and(ab1, true);\n\ 103 constraint array_bool_or([false], false);\n\ 104 constraint array_bool_or([true], true);\n\ 105 constraint array_bool_or([false, true], true);\n\ 106 constraint array_bool_or([false, false], false);\n\ 107 constraint array_bool_or([true, false], true);\n\ 108 constraint array_bool_or([true, true], true);\n\ 109 constraint array_bool_or(ab2, true);\n\ 113 "ab1 = array1d(1..3, [true, true, true]);\n\ 114 ab2 = array1d(1..3, [true, false, false]);\n\ Gecode::FloatVal c(-8, 8)