98 for (
int i=0; i<x.
size(); i++)
124 for (
int i=0; i<x.
size(); i++) {
125 ix[i].idx=i; ix[i].view=x[i];
151 for (
int i=0; i<x.
size(); i++) {
152 ix[i].idx=i; ix[i].view=x[i];
177 for (
int i=0; i<x.
size(); i++) {
204 for (
int i=0; i<x.
size(); i++) {
228 for (
int i=x.
size(); i--; ) {
229 ix[i].idx=i; ix[i].view=x[i];
253 for (
int i=x.
size(); i--; ) {
254 ix[i].idx=i; ix[i].view=x[i];
277 for (
int i=x.
size(); i--; ) {
302 for (
int i=x.
size(); i--; ) {
335 t[0].
a = 1; t[0].
x = prod;
336 t[1].
a = 1; t[1].
x = x3;
342 t[2].
a=-1; t[2].
x=x0;
344 if (home.
failed())
return;
365 divmod(home, x0, x1, _div, x2, ipl);
402 sqr(home, x0, x1, ipl);
421 sqrt(home, x0, x1, ipl);
int size(void) const
Return size of array (number of elements).
Passing Boolean variables.
Home class for posting propagators
bool failed(void) const
Check whether corresponding space is failed.
Passing integer variables.
Exception: Arguments contain same variable multiply
static ExecStatus post(Home home, View x0, View x1)
Post bounds consistent propagator .
static ExecStatus post(Home home, View x0, View x1)
Post domain consistent propagator .
Argument maximum propagator.
static ExecStatus post(Home home, View x0, View x1, View x2)
Post propagator (rounding towards 0).
static ExecStatus post(Home home, View x0, View x1, View x2)
Post propagator .
static ExecStatus post(Home home, View x0, View x1, View x2)
Post propagator .
static ExecStatus post(Home home, View x0, View x1, View x2)
Post propagator .
static ExecStatus post(Home home, IntView x0, IntView x1, IntView x2)
Post propagator .
static ExecStatus post(Home home, IntView x0, IntView x1, IntView x2)
Post propagator .
static ExecStatus post(Home home, ViewArray< View > &x, View y)
Post propagator .
static ExecStatus post(Home home, ViewArray< View > &x, View y)
Post propagator .
Bounds consistent n-th root propagator.
Domain consistent n-th root propagator.
Bounds consistent power propagator.
Domain consistent power propagator.
Operations for power and nroot propagators.
Operations for square and square-root propagators.
An array of IdxView pairs.
Integer view for integer variables.
ModEvent lq(Space &home, int n)
Restrict domain values to be less or equal than n.
ModEvent le(Space &home, int n)
Restrict domain values to be less than n.
ModEvent gq(Space &home, int n)
Restrict domain values to be greater or equal than n.
Class for describing linear term .
ModEvent gq(Space &home, int n)
Restrict domain values to be greater or equal than n.
ModEvent le(Space &home, int n)
Restrict domain values to be less than n.
Exception: Too few arguments available in argument array
void post(Home home, Term< IntView > *t, int n, IntRelType irt, int c, IntPropLevel=IPL_DEF)
Post propagator for linear constraint over integers.
#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.
#define GECODE_ME_FAIL(me)
Check whether modification event me 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 positive(int n, const char *l)
Check whether n is in range and strictly positive, otherwise throw out of limits with information l.
void nonnegative(int n, const char *l)
Check whether n is in range and nonnegative, otherwise throw out of limits with information l.
const int min
Smallest allowed integer value.
const int max
Largest allowed integer value.
void estimate(Term< View > *t, int n, int c, int &l, int &u)
Estimate lower and upper bounds.
Gecode toplevel namespace
void mod(Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF)
Post propagator for .
void sqr(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
TieBreak< VarBranch > tiebreak(VarBranch a, VarBranch b)
Combine variable selection criteria a and b for tie-breaking.
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.
void abs(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
void div(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
void argmax(Home home, const IntVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF)
Post propagator for .
void mult(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
void divmod(Home home, IntVar x0, IntVar x1, IntVar x2, IntVar x3, IntPropLevel ipl=IPL_DEF)
Post propagator for .
void sqrt(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
bool same(VarArgArray< Var > x, VarArgArray< Var > y)
TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
void argmin(Home home, const IntVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF)
Post propagator for .
void pow(Home home, FloatVar x0, int n, FloatVar x1)
Post propagator for for $n\geq 0$.
void nroot(Home home, FloatVar x0, int n, FloatVar x1)
Post propagator for for $n\geq 0$.