58 xoff(xoff0), yoff(yoff0) {
63 for (
int i=0; i<4; i++)
72 for (
int i=4; i--; ) {
74 IntVar xo(home, xoff, 3+xoff);
81 IntVar yo(home, yoff, 3+yoff);
102 for (
int i=0; i<6; i++)
103 for (
int j=i+1; j<6; j++)
112 for (
int i=0; i<6; i++)
113 for (
int j=0; j<6; j++) {
132 for (
int i=0; i<6; i++)
149 :
Test(
"Channel::Bool::Single",2,-1,2) {
154 return ((
x[0]==0) || (
x[0]==1)) && (
x[0]==
x[1]);
172 :
Test(
"Channel::Bool::Multi::"+s,7,
min,
max), o(o0) {
178 if ((
x[i] != 0) && (
x[i] != 1))
183 for (
int i=0; i<k; i++)
186 for (
int i=k+1; i<n; i++)
Passing Boolean variables.
Boolean integer variables.
Passing integer variables.
Base class for assignments
Simple test for channel (testing all variables)
ChannelFull(int xoff0, int yoff0, Gecode::IntPropLevel ipl)
Construct and register test.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
virtual bool solution(const Assignment &x) const
Check whether x is solution.
Simple test for channel (testing single set of variables)
ChannelHalf(Gecode::IntPropLevel ipl)
Construct and register test.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
virtual bool solution(const Assignment &x) const
Check whether x is solution.
Test channel between integer variable and array of Boolean variables
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
virtual bool solution(const Assignment &x) const
Check whether x is solution.
ChannelLinkMulti(const std::string &s, int min, int max, int o0)
Construct and register test.
Test channel between integer and Boolean variable
virtual bool solution(const Assignment &x) const
Check whether x is solution.
ChannelLinkSingle(void)
Construct and register test.
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
Test channel with shared variables
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
virtual bool solution(const Assignment &x) const
Check whether x is solution.
ChannelShared(Gecode::IntPropLevel ipl)
Construct and register test.
Gecode::IntPropLevel ipl
Propagation level.
static std::string str(Gecode::IntPropLevel ipl)
Map integer propagation level to string.
Gecode::IntSet dom
Domain of variables.
ConTestLevel contest
Whether to test for certain consistency.
void rel(Home home, FloatVar x0, FloatRelType frt, FloatVar x1)
Post propagator for .
IntPropLevel
Propagation levels for integer propagators.
@ IPL_DOM
Domain propagation Options: basic versus advanced propagation.
@ IPL_VAL
Value propagation.
Gecode toplevel namespace
void channel(Home home, FloatVar x0, IntVar x1)
Post propagator for channeling a float and an integer variable .
void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Post propagator for SetVar SetOpType SetVar y
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Post propagator for SetVar x
Tests for channel constraints
ChannelFull cfd11(1, 1, Gecode::IPL_DOM)
ChannelFull cfd35(3, 5, Gecode::IPL_DOM)
ChannelFull cfv(0, 0, Gecode::IPL_VAL)
ChannelFull cfd(0, 0, Gecode::IPL_DOM)
ChannelLinkMulti clma("A", 0, 5, 0)
ChannelLinkMulti clmb("B", 1, 6, 1)
ChannelFull cfv35(3, 5, Gecode::IPL_VAL)
ChannelLinkMulti clmc("C",-1, 4,-1)
ChannelFull cfv11(1, 1, Gecode::IPL_VAL)
ChannelShared csd(Gecode::IPL_DOM)
ChannelHalf chd(Gecode::IPL_DOM)
ChannelHalf chv(Gecode::IPL_VAL)
ChannelShared csv(Gecode::IPL_VAL)
Testing finite domain integers.
@ CTL_NONE
No consistency-test.