40 using namespace Gecode;
42 namespace Test {
namespace Set {
63 template<
class I,
class J>
65 sol(I&
i, J& j)
const {
89 :
SetTest(
"RelOp::"+str(sot0)+
"::"+str(srt0)+
"::S"+str(share0),
90 share0 == 0 ? 3 : 2,ds_22,false)
91 , sot(sot0), srt(srt0), share(share0) {}
96 case 0: a=x[0];
b=x[1];
c=x[2];
break;
97 case 1: a=x[0];
b=x[0];
c=x[0];
break;
98 case 2: a=x[0];
b=x[0];
c=x[1];
break;
99 case 3: a=x[0];
b=x[1];
c=x[0];
break;
100 case 4: a=x[0];
b=x[1];
c=x[1];
break;
146 case 0: a=x[0]; b=x[1]; c=x[2];
break;
147 case 1: a=x[0]; b=x[0]; c=x[0];
break;
148 case 2: a=x[0]; b=x[0]; c=x[1];
break;
149 case 3: a=x[0]; b=x[1]; c=x[0];
break;
150 case 4: a=x[0]; b=x[1]; c=x[1];
break;
161 using namespace Gecode;
164 for (
int i=0;
i<=4;
i++) {
165 (void)
new Rel(sots.sot(),srts.srt(),
i);
185 :
SetTest(
"RelOp::N::"+str(sot0)+
"::"+str(n0)+
"::S"+str(shared0)+
186 "::C"+str(withConst0 ? 1 : 0),
187 shared0 == 0 ? n0+1 : (shared0 <= 2 ? 3 : 2),ds_12,false)
188 , sot(sot0), n(n0),
shared(shared0), withConst(withConst0)
192 int realN =
shared == 0 ? n : 3;
198 for (
int i=realN;
i--; )
199 isrs[
i].init(x.
lub, x[
i]);
226 if (
shared == 1 && (isrs[0]() || isrs[1]())) {
227 delete[] isrs;
return false;
229 if (
shared == 3 && (isrs[0]() || isrs[2]())) {
230 delete[] isrs;
return false;
232 unsigned int cardSum = 0;
237 for (
int i=0;
i<realN;
i++) {
246 delete[] isrs;
return false;
320 for (
int i=x.
size()-1;
i--;)
325 xs[0] = x[0]; xs[1] = x[0]; xs[2] = x[1]; xn = x[2];
328 xs[0] = x[0]; xs[1] = x[1]; xs[2] = x[2]; xn = x[2];
331 xs[0] = x[0]; xs[1] = x[1]; xs[2] = x[0]; xn = x[0];
349 for (
int wc=0; wc<=1; wc++) {
350 for (
int i=0;
i<=3;
i++) {
377 :
SetTest(
"RelOp::IntN::"+str(sot0)+
"::"+str(n0)+
378 "::C"+str(withConst0 ? 1 : 0),
380 , sot(sot0), n(n0), withConst(withConst0)
384 int* isrs =
new int[n];
385 for (
int i=0;
i<n;
i++)
396 if (cardSum != static_cast<unsigned int>(n)) {
427 bool allEqual =
true;
428 for (
int i=1;
i<n;
i++) {
429 if (isrs[
i] != isrs[0]) {
488 for (
int wc=0; wc<=1; wc++) {
489 for (
int i=0;
i<=3;
i++) {