196 if (home.
failed())
return;
202 for (
int i=s.
size();
i--; ) {
208 for (
int i=s.
size();
i--; ) {
221 for (
int i=s.
size();
i--; ) {
224 ::
post(home,_s,cv)));
231 for (
int i=s.
size();
i--; ) {
234 ::
post(home,_s,cv)));
241 for (
int i=s.
size();
i--; ) {
244 ::
post(home,cv,_s)));
251 for (
int i=s.
size();
i--; ) {
254 ::
post(home,cv,_s)));
261 for (
int i=s.
size();
i--; ) {
266 for (
int i=s.
size();
i--; ) {
277 for (
int i=s.
size();
i--; ) {
280 ::
post(home,_s,cv)));
287 for (
int i=s.
size();
i--; ) {
292 for (
int i=s.
size();
i--; ) {
303 for (
int i=s.
size();
i--; ) {
308 for (
int i=s.
size();
i--; ) {
319 for (
int i=s.
size();
i--; ) {
329 for (
int i=s.
size();
i--; ) {
350 dom(home, s, rt, d, r);
358 dom(home, s, rt, d, r);
364 if (home.
failed())
return;
374 ::
post(home, s, cv, r.
var())));
380 ::
post(home, s, cv, r.
var())));
386 ::
post(home, s, cv, r.
var())));
493 ::
post(home, s, cv, notb)));
499 ::
post(home, s, cv, notb)));
505 ::
post(home, s, cv, notb)));
541 ::
post(home, cv, s, r.
var())));
546 ::
post(home, cv, s, r.
var())));
551 ::
post(home, cv, s, r.
var())));
601 ::
post(home, s, cvcompl, r.
var())));
607 ::
post(home, s, cvcompl, r.
var())));
613 ::
post(home, s, cvcompl, r.
var())));
627 if (home.
failed())
return;
644 for (
int i=x.
size();
i--; ) {
645 if (home.
failed())
return;
bool failed(void) const
Check whether corresponding space is failed.
unsigned int cardMin(void) const
Return minimum cardinality.
ModEvent include(Space &home, int i, int j)
Update greatest lower bound to include all elements between and including i and j.
void check(int n, const char *l)
Check whether integer n is in range, otherwise throw overflow exception with information l...
SetRelType
Common relation types for sets.
Inverse implication for reification.
ReifyMode mode(void) const
Return reification mode.
void post(Home home, Term *t, int n, FloatRelType frt, FloatVal c)
Post propagator for linear constraint over floats.
const int min
Smallest allowed integer in integer set.
Range iterator for integer sets.
BoolVar var(void) const
Return Boolean control variable.
int size(void) const
Return size of array (number of elements)
void dom(Home home, FloatVar x, FloatVal n)
Propagates .
unsigned int cardMax(void) const
Return maximum cardinality.
Propagator for set less than or equal
ModEvent intersect(Space &home, int i, int j)
Update least upper bound to contain at most all elements between and including i and j...
ModEvent excludeI(Space &home, I &i)
Remove range sequence described by i from least upper bound.
const int max
Largest allowed integer in integer set.
Exception: Unknown relation passed as argument
Reified equality propagator
Gecode::IntArgs i(4, 1, 2, 3, 4)
Range iterator for least upper bound of set variable views
int ranges(void) const
Return number of ranges of the specification.
Range iterator for greatest lower bound of set variable views
A complement iterator spezialized for the BndSet limits.
Reification specification.
ModEvent includeI(Space &home, I &i)
Include range sequence described by i in greatest lower bound.
Reified propagator for set less than or equal
bool same(const ConstSetView &x, const ConstSetView &y)
ModEvent intersectI(Space &home, I &iter)
Intersect least upper bound with range sequence described by i.
Set view for set variables
Reified subset propagator
Node * x
Pointer to corresponding Boolean expression node.
Propagator for negated equality
#define GECODE_ME_FAIL(me)
Check whether modification event me is failed, and fail space home.
ModEvent exclude(Space &home, int i, int j)
Restrict least upper bound to not contain all elements between and including i and j...
Exception: Unknown reification mode passed as argument
Gecode toplevel namespace
Implication for reification.
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.
int max(int i) const
Return maximum of range at position i.
int min(int i) const
Return minimum of range at position i.
Equivalence for reification (default)
Boolean view for Boolean variables.