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()));
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));
int size(void) const
Return size of array (number of elements).
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)
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .