38namespace Test {
namespace Int {
56 :
Test(
"MiniModel::Lex::Int::"+
str(irt0),6,-2,2),
irt(irt0) {}
60 for (
int i=0; i<
n; i++)
73 for (
int i=0; i<
n; i++) {
74 y[i]=
x[i]; z[i]=
x[
n+i];
88 :
Test(
"MiniModel::Lex::Bool::"+
str(irt0),10,0,1),
irt(irt0) {}
92 for (
int i=0; i<
n; i++)
105 for (
int i=0; i<
n; i++) {
106 y[i]=channel(home,
x[i]); z[i]=channel(home,
x[
n+i]);
108 lex(home, y,
irt, z);
119 (void)
new IntLex(irts.irt());
120 (void)
new BoolLex(irts.irt());
int n
Number of negative literals for node type.
Node * x
Pointer to corresponding Boolean expression node.
Passing Boolean variables.
Passing integer variables.
Base class for assignments
Iterator for integer relation types.
Test for relation between arrays of Boolean variables
virtual void post(Gecode::Space &home, Gecode::IntVarArray &x)
Post constraint on x.
Gecode::IntRelType irt
Integer relation type to propagate.
BoolLex(Gecode::IntRelType irt0)
Create and register test.
virtual bool solution(const Assignment &x) const
Test whether x is solution
Help class to create and register tests.
Create(void)
Perform creation and registration.
Test for relation between arrays of integer variables
IntLex(Gecode::IntRelType irt0)
Create and register test.
Gecode::IntRelType irt
Integer relation type to propagate.
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.
static std::string str(Gecode::IntPropLevel ipl)
Map integer propagation level to string.
static bool cmp(T x, Gecode::IntRelType r, T y)
Compare x and y with respect to r.
IntRelType
Relation types for integers.
@ IRT_GQ
Greater or equal ( )
@ IRT_LQ
Less or equal ( )
Gecode toplevel namespace
#define GECODE_NEVER
Assert that this command is never executed.