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);
int n
Number of negative literals for node type.
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.
Binary domain consistent equality propagator.
Lexical ordering propagator.
Lexical disequality propagator.
Less or equal propagator.
n-ary bounds consistent equality propagator
n-ary domain consistent equality propagator
n-ary less and less or equal propagator
Nary disequality propagator.
Binary disequality 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