145 ::
post(home,x0,x1,nr)));
149 ::
post(home,x0,x1,nr)));
153 ::
post(home,x0,x1,nr)));
191 ::
post(home,n0,x1,nr)));
196 ::
post(home,x0,x1,nr)));
200 ::
post(home,x0,x1,nr)));
234 ::
post(home,nx,ny)));
309 ::
post(home,nx,ny)));
380 for (
int i=x.
size();
i--; ) {
382 ::
post(home,x[
i],y)));
388 for (
int i=x.
size();
i--; ) {
390 ::
post(home,x[
i],n)));
395 for (
int i=x.
size();
i--; ) {
400 for (
int i=x.
size();
i--; ) {
405 for (
int i=x.
size();
i--; ) {
410 for (
int i=x.
size();
i--; ) {
428 for (
int i=x.
size();
i--; ) {
434 for (
int i=x.
size();
i--; ) {
449 for (
int i=x.
size();
i--; ) {
455 for (
int i=x.
size();
i--; ) {
514 for (
int i=x.
size();
i--; )
518 for (
int i=x.
size()-1;
i--; )
560 for (
int i=x.
size();
i--; ) {
562 ::
post(home,x[
i],y[i])));
586 ::
post(home,n0,n1,n2)));
591 ::
post(home,x0,x1,x2)));
597 ::
post(home,n0,x1,x2)));
602 ::
post(home,x0,x1,x2)));
608 ::
post(home,x0,x1,n2)));
627 ::
post(home,n0,n1)));
672 ::
post(home,n0,x1)));
703 for (
int i=m;
i--; ) {
724 for (
int i=x.
size()-1;
i--; )
729 ::
post(home,b,
a,y)));
735 for (
int i=x.
size();
i--; )
744 for (
int i=x.
size();
i--; )
759 if ((n < 0) || (n > 1))
768 for (
int i=m;
i--; ) {
774 for (
int i=m;
i--; ) {
781 for (
int i=m;
i--; ) {
794 for (
int i=m-1;
i--; )
799 for (
int i=x.
size()-1;
i--; )
828 if ((n < 0) || (n > 1))
835 for (
int i=x.
size();
i--; ) {
839 xv.unique(home); yv.
unique(home);
841 ::
post(home,xv,yv)));
843 for (
int i=x.
size();
i--; ) {
846 for (
int i=y.
size();
i--; ) {
853 for (
int i=x.
size();
i--; ) {
856 for (
int i=y.
size();
i--; ) {
862 for (
int i=y.
size();
i--; ) {
865 xv.
unique(home); yv.unique(home);
867 ::
post(home,xv,yv)));
884 for (
int i=x.
size();
i--; ) {
888 xv.unique(home); yv.
unique(home);
891 ::
post(home,xv,yv,nz)));
898 for (
int i=y.
size();
i--; ) {
901 xv.
unique(home); yv.unique(home);
903 ::
post(home,xv,yv,z)));
918 ::
post(home,b,x,y,z)));
921 ::
post(home,b,x,y,z)));
If-then-else bounds-consistent propagator.
IntPropLevel vbd(IntPropLevel ipl)
Extract value, bounds, or domain propagation from propagation level.
bool zero(void) const
Test whether view is assigned to be zero.
Inverse implication for reification.
int size(void) const
Return size of array (number of elements)
Boolean clause propagator (disjunctive, true)
ReifyMode mode(void) const
Return reification mode.
bool one(const Gecode::FloatValArgs &a)
Check whether has only one coefficients.
BoolOpType
Operation types for Booleans.
bool one(void) const
Test whether view is assigned to be one.
Exception: Too few arguments available in argument array
Exception: Unknown operation passed as argument
Lexical disequality propagator.
Boolean clause propagator (disjunctive)
static ExecStatus post(Home home, ViewArray< BoolView > &x, int pm2)
Post propagator .
void unique(const Space &home)
Remove all duplicate views from array (changes element order)
Reified less or equal propagator.
Nary disequality propagator.
Exception: Unknown relation passed as argument
struct Gecode::@554::NNF::@60::@62 a
For atomic nodes.
Gecode::IntArgs i(4, 1, 2, 3, 4)
int n
Number of negative literals for node type.
n-ary Boolean equality propagator
Boolean equivalence propagator.
IntRelType
Relation types for integers.
Exception: Illegal operation passed as argument
Boolean disjunction propagator.
Reification specification.
Reified binary bounds consistent equality propagator.
Boolean equality propagator.
void ite(Home home, BoolVar b, IntVar x, IntVar y, IntVar z, IntPropLevel ipl)
Post propagator for if-then-else constraint.
Passing Boolean variables.
Boolean less or equal propagator.
Boolean integer variables.
If-then-else domain-consistent propagator.
Boolean n-ary disjunction propagator (true)
IntPropLevel
Propagation levels for integer propagators.
Nary Boolean less or equal propagator.
Node * x
Pointer to corresponding Boolean expression node.
Lexical ordering propagator.
Boolean n-ary disjunction propagator.
Binary Boolean disjunction propagator (true)
void rel(Home home, FloatVar x0, FloatRelType frt, FloatVal n)
Propagates .
BoolVar var(void) const
Return Boolean control variable.
Exception: Not 0/1 integer
#define GECODE_ME_FAIL(me)
Check whether modification event me is failed, and fail space home.
void fail(void)
Mark space as failed.
Exception: Unknown reification mode passed as argument
Gecode toplevel namespace
Implication for reification.
struct Gecode::@554::NNF::@60::@61 b
For binary nodes (and, or, eqv)
#define GECODE_POST
Check for failure in a constraint post function.
Home class for posting propagators
Exception: Arguments are of different size
#define GECODE_ES_FAIL(es)
Check whether execution status es is failed, and fail space home.
TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.
void clause(Home home, BoolOpType o, const BoolVarArgs &x, const BoolVarArgs &y, int n, IntPropLevel)
Post domain consistent propagator for Boolean clause with positive variables x and negative variables...
Equivalence for reification (default)
Boolean view for Boolean variables.