42 namespace Test {
namespace Int {
66 class BinXYZ :
public Test {
74 :
Test(
"Bool::Bin::XYZ::"+
str(op0),3,0,1),
op(op0) {}
77 return check(x[0],
op,x[1]) == x[2];
81 using namespace Gecode;
96 :
Test(
"Bool::Bin::XXY::"+
str(op0),2,0,1),
op(op0) {}
99 return check(x[0],
op,x[0]) == x[1];
103 using namespace Gecode;
117 :
Test(
"Bool::Bin::XYX::"+
str(op0),2,0,1),
op(op0) {}
120 return check(x[0],
op,x[1]) == x[0];
124 using namespace Gecode;
138 :
Test(
"Bool::Bin::XYY::"+
str(op0),2,0,1),
op(op0) {}
141 return check(x[0],
op,x[1]) == x[1];
145 using namespace Gecode;
159 :
Test(
"Bool::Bin::XXX::"+
str(op0),1,0,1),
op(op0) {}
162 return check(x[0],
op,x[0]) == x[0];
166 using namespace Gecode;
182 :
Test(
"Bool::Bin::XY::"+
str(op0)+
"::"+
str(c0),2,0,1),
190 using namespace Gecode;
205 :
Test(
"Bool::Bin::XX::"+
str(op0)+
"::"+
str(c0),1,0,1),
213 using namespace Gecode;
227 :
Test(
"Bool::Nary::"+
str(op0)+
"::"+
str(n),n+1,0,1),
op(op0) {}
232 for (
int i=0;
i<n-2;
i++)
238 using namespace Gecode;
240 for (
int i=x.
size()-1;
i--; )
254 :
Test(
"Bool::Nary::Shared::"+
str(op0)+
"::"+
str(n),n,0,1),
263 for (
int i=0;
i<n-2;
i++)
269 using namespace Gecode;
271 for (
int i=x.
size();
i--; )
287 :
Test(
"Bool::Nary::"+
str(op0)+
"::"+
str(n)+
"::"+
str(c0),n,0,1),
293 for (
int i=0;
i<n-2;
i++)
299 using namespace Gecode;
301 for (
int i=x.
size();
i--; )
316 :
Test(
"Bool::Clause::XYZ::"+
str(op0)+
"::"+
str(n),n+1,0,1),
op(op0) {}
319 int n = (x.
size()-1) / 2;
325 for (
int i=1;
i<
n;
i++)
328 return b == x[x.
size()-1];
332 using namespace Gecode;
333 int n = (x.
size()-1) / 2;
335 for (
int i=
n;
i--; ) {
351 :
Test(
"Bool::Clause::XXYYX::"+
str(op0)+
"::"+
str(n),n,0,1),
355 int n = x.
size() / 2;
361 for (
int i=1;
i<
n;
i++)
368 using namespace Gecode;
369 int n = x.
size() / 2;
371 for (
int i=
n;
i--; ) {
387 :
Test(
"Bool::Clause::XXY::"+
str(op0)+
"::"+
str(n),n,0,1),
395 using namespace Gecode;
396 int n = x.
size() / 2;
398 for (
int i=
n;
i--; ) {
416 :
Test(
"Bool::Clause::"+
str(op0)+
"::"+
str(n)+
"::"+
str(c0),n,0,1),
420 int n = x.
size() / 2;
426 for (
int i=1;
i<
n;
i++)
433 using namespace Gecode;
434 int n = x.
size() / 2;
436 for (
int i=
n;
i--; ) {
449 :
Test(
"ITE::"+
str(icl),4,-4,4,false,icl) {}
452 if ((x[0] < 0) || (x[0] > 1))
461 using namespace Gecode;
474 using namespace Gecode;
476 (void)
new BinXYZ(bots.bot());
477 (void)
new BinXXY(bots.bot());
478 (void)
new BinXYX(bots.bot());
479 (void)
new BinXYY(bots.bot());
480 (void)
new BinXXX(bots.bot());
485 (void)
new Nary(bots.bot(),2);
486 (void)
new Nary(bots.bot(),6);
487 (void)
new Nary(bots.bot(),10);