36 namespace Test {
namespace Int {
54 :
Test(
"Count::Int::Int::"+
str(irt0),4,-2,2), irt(irt0) {}
58 for (
int i=x.
size();
i--; )
77 :
Test(
"Count::Set::Int::"+
str(irt0),4,-2,2), irt(irt0) {}
81 for (
int i=x.
size();
i--; )
82 if ((x[
i] >= -1) && (x[
i] <= 1))
101 :
Test(
"Count::Int::Int::Dup::"+
str(irt0),4,-2,2), irt(irt0) {}
105 for (
int i=x.
size();
i--; )
113 for (
int i=x.
size();
i--; )
127 :
Test(
"Count::Int::Var::"+
str(irt0),5,-2,2), irt(irt0) {}
131 for (
int i=0;
i<4;
i++)
134 return cmp(m,irt,x[4]);
139 for (
int i=0;
i<4;
i++)
153 :
Test(
"Count::Set::Var::"+
str(irt0),5,-2,2), irt(irt0) {}
157 for (
int i=0;
i<4;
i++)
158 if ((x[
i] >= -1) && (x[
i] <= 1))
160 return cmp(m,irt,x[4]);
165 for (
int i=0;
i<4;
i++)
182 :
Test(
"Count::IntArray::Int::"+
str(irt0),5,-2,2), irt(irt0) {}
186 for (
int i=0;
i<4;
i++)
194 for (
int i=0;
i<4;
i++)
208 :
Test(
"Count::IntArray::Var::"+
str(irt0),5,-2,2), irt(irt0) {}
212 for (
int i=0;
i<4;
i++)
215 return cmp(m,irt,x[4]);
220 for (
int i=0;
i<4;
i++)
234 :
Test(
"Count::Int::Var::Shared::"+
str(irt0),4,-2,2), irt(irt0) {}
238 for (
int i=0;
i<4;
i++)
241 return cmp(m,irt,x[2]);
257 :
Test(
"Count::Var::Var::"+
str(irt0)+
"::"+
str(ipl),5,-2,2,false,ipl),
264 for (
int i=0;
i<3;
i++)
267 return cmp(m,irt,x[4]);
272 for (
int i=0;
i<3;
i++)
286 :
Test(
"Count::Var::Int::"+
str(irt0)+
"::"+
str(ipl),4,-2,2,false,ipl),
293 for (
int i=0;
i<3;
i++)
301 for (
int i=0;
i<3;
i++)
315 :
Test(
"Count::Var::Var::Shared::A::"+
str(irt0),5,-2,2), irt(irt0) {}
319 for (
int i=0;
i<4;
i++)
322 return cmp(m,irt,x[4]);
327 for (
int i=0;
i<4;
i++)
341 :
Test(
"Count::Var::Var::Shared::B::"+
str(irt0),5,-2,2), irt(irt0) {}
345 for (
int i=0;
i<4;
i++)
348 return cmp(m,irt,x[3]);
353 for (
int i=0;
i<4;
i++)
367 :
Test(
"Count::Var::Var::Shared::C::"+
str(irt0),4,-2,2), irt(irt0) {}
371 for (
int i=0;
i<4;
i++)
374 return cmp(m,irt,x[3]);
388 (void)
new IntInt(irts.irt());
389 (void)
new SetInt(irts.irt());
391 (void)
new IntVar(irts.irt());
392 (void)
new SetVar(irts.irt());
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
VarVar(Gecode::IntRelType irt0, Gecode::IntPropLevel ipl)
Create and register test.
Test number of equal variables equal to integer variable with sharing
IntArrayVar(Gecode::IntRelType irt0)
Create and register test.
VarVarSharedA(Gecode::IntRelType irt0)
Create and register test.
static std::string str(Gecode::IntPropLevel ipl)
Map integer propagation level to string.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
virtual bool solution(const Assignment &x) const
Test whether x is solution
Gecode::IntRelType irt
Integer relation type to propagate.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
int size(void) const
Return size of array (number of elements)
void count(Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntPropLevel)
Post propagator for .
Test number of several equal integers equal to integer
int size(void) const
Return number of variables.
Gecode::IntRelType irt
Integer relation type to propagate.
static bool cmp(T x, Gecode::IntRelType r, T y)
Compare x and y with respect to r.
Test number of integers contained in an integer set equal to integer
virtual bool solution(const Assignment &x) const
Test whether x is solution
virtual bool solution(const Assignment &x) const
Test whether x is solution
Test number of equal integers equal to integer
Test number of equal variables equal to integer variable with sharing
VarVarSharedC(Gecode::IntRelType irt0)
Create and register test.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
Test number of several equal integers equal to integer variable
virtual bool solution(const Assignment &x) const
Test whether x is solution
virtual bool solution(const Assignment &x) const
Test whether x is solution
Test number of equal variables equal to integer
ConTestLevel contest
Whether to test for certain consistency.
Gecode::IntArgs ints(4, 1, 0, 3, 2)
Gecode::IntRelType irt
Integer relation type to propagate.
Gecode::IntRelType irt
Integer relation type to propagate.
SetVar(Gecode::IntRelType irt0)
Create and register test.
virtual bool solution(const Assignment &x) const
Test whether x is solution
Gecode::IntArgs i(4, 1, 2, 3, 4)
virtual bool solution(const Assignment &x) const
Test whether x is solution
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
Help class to create and register tests.
virtual bool solution(const Assignment &x) const
Test whether x is solution
Create(void)
Perform creation and registration.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
IntRelType
Relation types for integers.
IntVarShared(Gecode::IntRelType irt0)
Create and register test.
Gecode::IntRelType irt
Integer relation type to propagate.
IntIntDup(Gecode::IntRelType irt0)
Create and register test.
Iterator for integer relation types.
virtual bool solution(const Assignment &x) const
Test whether x is solution
Test number of equal integers equal to integer variable
Gecode::IntRelType irt
Integer relation type to propagate.
Gecode::IntRelType irt
Integer relation type to propagate.
Gecode::IntRelType irt
Integer relation type to propagate.
IntArrayInt(Gecode::IntRelType irt0)
Create and register test.
Gecode::IntPropLevel ipl
Propagation level.
Passing integer variables.
Test number of integers contained in an integer set equal to integer variable
Passing integer arguments.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
IntPropLevel
Propagation levels for integer propagators.
virtual bool solution(const Assignment &x) const
Test whether x is solution
Post propagator for SetVar SetOpType SetVar y
virtual bool solution(const Assignment &x) const
Test whether x is solution
virtual bool solution(const Assignment &x) const
Test whether x is solution
Node * x
Pointer to corresponding Boolean expression node.
Test number of equal variables equal to integer variable
Base class for assignments
Gecode::IntRelType irt
Integer relation type to propagate.
Domain propagation Options: basic versus advanced propagation.
Gecode::IntRelType irt
Integer relation type to propagate.
Test number of equal integers equal to integer variable with sharing
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
Gecode::IntRelType irt
Integer relation type to propagate.
Gecode::IntRelType irt
Integer relation type to propagate.
virtual bool solution(const Assignment &x) const
Test whether x is solution
VarVarSharedB(Gecode::IntRelType irt0)
Create and register test.
Gecode::IntRelType irt
Integer relation type to propagate.
SetInt(Gecode::IntRelType irt0)
Create and register test.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
VarInt(Gecode::IntRelType irt0, Gecode::IntPropLevel ipl)
Create and register test.
IntVar(Gecode::IntRelType irt0)
Create and register test.
Test number of equal integers equal to integer with duplicate variables
IntInt(Gecode::IntRelType irt0)
Create and register test.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
Test number of equal variables equal to integer variable with sharing