198 for (
int i=s.
size(); i--; ) {
204 for (
int i=s.
size(); i--; ) {
217 for (
int i=s.
size(); i--; ) {
227 for (
int i=s.
size(); i--; ) {
237 for (
int i=s.
size(); i--; ) {
247 for (
int i=s.
size(); i--; ) {
257 for (
int i=s.
size(); i--; ) {
262 for (
int i=s.
size(); i--; ) {
273 for (
int i=s.
size(); i--; ) {
283 for (
int i=s.
size(); i--; ) {
288 for (
int i=s.
size(); i--; ) {
299 for (
int i=s.
size(); i--; ) {
304 for (
int i=s.
size(); i--; ) {
315 for (
int i=s.
size(); i--; ) {
325 for (
int i=s.
size(); i--; ) {
346 dom(home, s, rt, d,
r);
354 dom(home, s, rt, d,
r);
370 ::post(home, s, cv,
r.var())));
376 ::post(home, s, cv,
r.var())));
382 ::post(home, s, cv,
r.var())));
489 ::post(home, s, cv, notb)));
495 ::post(home, s, cv, notb)));
501 ::post(home, s, cv, notb)));
515 ::post(home, s, cv,
r.var())));
521 ::post(home, s, cv,
r.var())));
527 ::post(home, s, cv,
r.var())));
541 ::post(home, cv, s,
r.var())));
547 ::post(home, cv, s,
r.var())));
553 ::post(home, cv, s,
r.var())));
574 ::post(home, s, cvcompl,
r.var())));
580 ::post(home, s, cvcompl,
r.var())));
586 ::post(home, s, cvcompl,
r.var())));
606 ::post(home, s, cvcompl,
r.var())));
612 ::post(home, s, cvcompl,
r.var())));
618 ::post(home, s, cvcompl,
r.var())));
647 if (
x.size() != d.
size())
649 for (
int i=
x.size(); i--; ) {
int size(void) const
Return size of array (number of elements)
Home class for posting propagators
Range iterator for integer sets.
int min(int i) const
Return minimum of range at position i.
int max(int i) const
Return maximum of range at position i.
int ranges(void) const
Return number of ranges of the specification.
unsigned int size(void) const
Return size (cardinality) of set.
Exception: Arguments are of different size
Boolean view for Boolean variables.
Exception: Unknown reification mode passed as argument
Exception: Unknown relation passed as argument
Reification specification.
Range iterator for the greatest lower bound.
Range iterator for the least upper bound.
A complement iterator spezialized for the BndSet limits.
Propagator for negated equality
static ExecStatus post(Home home, View0 x, ConstSetView y)
Post propagator .
Propagator for set less than or equal
Reified equality propagator
Reified propagator for set less than or equal
Reified subset propagator
Set view for set variables
ModEvent intersectI(Space &home, I &iter)
Intersect least upper bound with range sequence described by i.
ModEvent include(Space &home, int i, int j)
Update greatest lower bound to include all elements between and including i and j.
unsigned int cardMin(void) const
Return minimum cardinality.
unsigned int cardMax(void) const
Return maximum cardinality.
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.
ModEvent exclude(Space &home, int i, int j)
Restrict least upper bound to not contain all elements between and including i and j.
ModEvent includeI(Space &home, I &i)
Include range sequence described by i in greatest lower bound.
#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.
@ RM_IMP
Implication for reification.
@ RM_PMI
Inverse implication for reification.
@ RM_EQV
Equivalence for reification (default)
SetRelType
Common relation types for sets.
@ SRT_GQ
Greater or equal ( )
@ SRT_LQ
Less or equal ( )
void check(int n, const char *l)
Check whether integer n is in range, otherwise throw overflow exception with information l.
const int min
Smallest allowed integer in integer set.
const int max
Largest allowed integer in integer set.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
void dom(Home home, FloatVar x, FloatVal n)
Propagates .
TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.
Post propagator for SetVar x