65 for (
int i=0; i<
x.size(); i++) {
70 for (
int i=0; i<
x.size(); i++) {
75 for (
int i=0; i<
x.size(); i++) {
80 for (
int i=0; i<
x.size(); i++) {
85 for (
int i=0; i<
x.size(); i++) {
90 for (
int i=0; i<
x.size(); i++) {
136 for (
int i=0; i<
x.size(); i++)
146 for (
int i=0; i<
x.size(); i++) {
151 for (
int i=0; i<
x.size(); i++) {
156 for (
int i=0; i<
x.size(); i++) {
161 for (
int i=0; i<
x.size(); i++) {
166 for (
int i=0; i<
x.size(); i++) {
432 if ((irt !=
IRT_NQ) && (
x.size() < 2))
466 for (
int i=0; i<
x.size(); i++)
467 y[i] =
x[
x.size()-1-i];
474 for (
int i=0; i<
x.size(); i++)
475 y[i] =
x[
x.size()-1-i];
495 ::post(home,yv,xv,
true)));
502 ::post(home,xv,yv,
true)));
509 ::post(home,yv,xv,
false)));
516 ::post(home,xv,yv,
false)));
520 if (
x.size() !=
y.size()) {
523 for (
int i=0; i<
x.size(); i++) {
528 for (
int i=0; i<
x.size(); i++) {
548 ViewArray<Int::ConstIntView>
549 viewarray(Space& home,
const IntArgs&
x) {
550 ViewArray<Int::ConstIntView> xv(home,
x.size());
551 for (
int i=0; i<
x.size(); i++) {
553 xv[i] = Int::ConstIntView(
x[i]);
572 ::post(home,yv,xv,
true)));
580 ::post(home,xv,yv,
true)));
588 ::post(home,yv,xv,
false)));
596 ::post(home,xv,yv,
false)));
600 if (
x.size() !=
y.size()) {
603 for (
int i=0; i<
x.size(); i++)
623 rel(home,
y,irt,
x,ipl);
Home class for posting propagators
void fail(void)
Mark space as failed.
Passing integer arguments.
Passing integer variables.
Integer view for integer variables.
ModEvent gr(Space &home, int n)
Restrict domain values to be greater than n.
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.
ModEvent nq(Space &home, int n)
Restrict domain values to be different from n.
ModEvent eq(Space &home, int n)
Restrict domain values to be equal to n.
Binary bounds consistent equality propagator.
static ExecStatus post(Home home, View0 x0, View1 x1)
Post bounds consistent propagator .
Binary domain consistent equality propagator.
static ExecStatus post(Home home, View0 x0, View1 x1)
Post domain consistent propagator .
static ExecStatus post(Home home, V0 x0, V1 x1)
Post propagator .
Lexical ordering propagator.
Lexical disequality propagator.
static ExecStatus post(Home home, V0 x0, V1 x1)
Post propagator .
static ExecStatus post(Home home, ViewArray< View > &x)
Post bounds consistent propagator .
static ExecStatus post(Home home, ViewArray< View > &x)
Post domain consistent propagator .
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for .
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator .
static ExecStatus post(Home home, V0 x0, V1 x1)
Post propagator .
Reified bounds consistent equality with integer propagator.
Reified binary bounds consistent equality propagator.
Reified domain consistent equality with integer propagator.
Reified binary domain consistent equality propagator.
Reified less or equal with integer propagator.
Reified less or equal propagator.
Exception: Unknown reification mode passed as argument
Exception: Unknown relation passed as argument
Reification specification.
#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.
void rel(Home home, FloatVar x0, FloatRelType frt, FloatVar x1)
Post propagator for .
IntRelType
Relation types for integers.
IntPropLevel
Propagation levels for integer propagators.
@ IRT_GQ
Greater or equal ( )
@ IRT_LQ
Less or equal ( )
@ RM_IMP
Implication for reification.
@ RM_PMI
Inverse implication for reification.
@ RM_EQV
Equivalence for reification (default)
@ IPL_DOM
Domain propagation Options: basic versus advanced propagation.
@ IPL_DEF
Simple propagation levels.
@ 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.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
IntPropLevel vbd(IntPropLevel ipl)
Extract value, bounds, or domain propagation from propagation level.
Post propagator for SetVar SetOpType SetVar y
TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.
Post propagator for SetVar x