38 namespace Gecode {
namespace Int {
namespace Distinct {
70 #define GECODE_INT_HALL_ONE(x0,x1,x2) \
71 if (x0.assigned()) { \
72 GECODE_ME_CHECK(x1.nq(home,x0.val())); \
73 GECODE_ME_CHECK(x2.nq(home,x0.val())); \
74 if (x1.assigned()) { \
75 GECODE_ME_CHECK(x2.nq(home,x1.val())); \
76 return home.ES_SUBSUMED(*this); \
78 if (x2.assigned()) { \
79 GECODE_ME_CHECK(x1.nq(home,x2.val())); \
80 return home.ES_SUBSUMED(*this); \
87 #define GECODE_INT_HALL_TWO(x0,x1,x2) \
88 if ((x0.size() == 2) && (x1.size() == 2) && \
89 (x0.min() == x1.min()) && (x0.max() == x1.max())) { \
90 GECODE_ME_CHECK(x2.nq(home,x0.min())); \
91 GECODE_ME_CHECK(x2.nq(home,x0.max())); \
107 #undef GECODE_INT_HALL_ONE
108 #undef GECODE_INT_HALL_TWO