70 if (c.
size() !=
x.size())
74 for (
int i=0; i<c.
size(); i++) {
75 long long int cx_min = (
static_cast<long long int>(c[i]) +
76 static_cast<long long int>(
x[i].min()));
77 long long int cx_max = (
static_cast<long long int>(c[i]) +
78 static_cast<long long int>(
x[i].max()));
102 if (b.
size() !=
x.size())
110 for (
int i=0; i<n; i++)
130 for (
int i=0; i<n; i++)
133 }
else if (b[i].none()) {
136 (home, b[i],
x[i], start+j,
y[j])));
165 for (
int i=0; i<n; i++)
166 if (!(
x[i].assigned() && (
x[i].val() == c))) {
185 for (
int i=0; i<n; i++)
188 }
else if (!(
x[i].assigned() && (
x[i].val() == c))) {
191 (home,
x[i],
y[j], c, start+j));
Passing Boolean variables.
FloatNum size(void) const
Return size of float value (distance between maximum and minimum)
Home class for posting propagators
Passing integer arguments.
Passing integer variables.
Exception: Arguments contain same variable multiply
Exception: Arguments are of different size
static ExecStatus post(Home home, BoolView b, V0 x0, V1 x1, V2 x2)
Post if-then-else propagator.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for view array x.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for views x.
static ExecStatus post(Home home, IntView x0, IntView x1, int c0, int c1)
Post if-then-else propagator.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for view array x.
Exception: Value out of limits
#define GECODE_POST
Check for failure in a constraint post function.
#define GECODE_ES_FAIL(es)
Check whether execution status es is failed, and fail space home.
IntPropLevel
Propagation levels for integer propagators.
@ IPL_DOM
Domain propagation Options: basic versus advanced propagation.
@ IPL_BND
Bounds propagation.
void check(int n, const char *l)
Check whether n is in range, otherwise throw out of limits with information l.
const int min
Smallest allowed integer value.
const int max
Largest allowed integer value.
Gecode toplevel namespace
void distinct(Home home, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF)
Post propagator for for all .
void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
IntPropLevel vbd(IntPropLevel ipl)
Extract value, bounds, or domain propagation from propagation level.
bool same(VarArgArray< Var > x, VarArgArray< Var > y)
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