48 if (
t.arity() !=
x.size())
66 if (
t.arity() !=
x.size())
74 GECODE_ES_FAIL((Extensional::postrecompact<IntView,BoolView,RM_EQV>
75 (home,xv,
t,
r.var())));
78 GECODE_ES_FAIL((Extensional::postrecompact<IntView,BoolView,RM_IMP>
79 (home,xv,
t,
r.var())));
82 GECODE_ES_FAIL((Extensional::postrecompact<IntView,BoolView,RM_PMI>
83 (home,xv,
t,
r.var())));
91 GECODE_ES_FAIL((Extensional::postrecompact<IntView,NegBoolView,RM_EQV>
95 GECODE_ES_FAIL((Extensional::postrecompact<IntView,NegBoolView,RM_PMI>
99 GECODE_ES_FAIL((Extensional::postrecompact<IntView,NegBoolView,RM_IMP>
113 if (
t.arity() !=
x.size())
115 if ((
t.min() < 0) || (
t.max() > 1))
133 if (
t.arity() !=
x.size())
135 if ((
t.min() < 0) || (
t.max() > 1))
143 GECODE_ES_FAIL((Extensional::postrecompact<BoolView,BoolView,RM_EQV>
144 (home,xv,
t,
r.var())));
147 GECODE_ES_FAIL((Extensional::postrecompact<BoolView,BoolView,RM_IMP>
148 (home,xv,
t,
r.var())));
151 GECODE_ES_FAIL((Extensional::postrecompact<BoolView,BoolView,RM_PMI>
152 (home,xv,
t,
r.var())));
160 GECODE_ES_FAIL((Extensional::postrecompact<BoolView,NegBoolView,RM_EQV>
164 GECODE_ES_FAIL((Extensional::postrecompact<BoolView,NegBoolView,RM_PMI>
168 GECODE_ES_FAIL((Extensional::postrecompact<BoolView,NegBoolView,RM_IMP>
int n
Number of negative literals for node type.
Node * x
Pointer to corresponding Boolean expression node.
Passing Boolean variables.
Home class for posting propagators
Passing integer variables.
Exception: Arguments are of different size
Exception: Tuple set not yet finalized
Exception: Not 0/1 integer
Exception: Unknown reification mode passed as argument
Reification specification.
Class represeting a set of tuples.
#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.
void extensional(Home home, const BoolVarArgs &x, const TupleSet &t, bool pos, Reify r, IntPropLevel)
Post propagator for or .
IntPropLevel
Propagation levels for integer propagators.
@ RM_IMP
Implication for reification.
@ RM_PMI
Inverse implication for reification.
@ RM_EQV
Equivalence for reification (default)
bool pos(const View &x)
Test whether x is postive.