65 int minElement = std::min(
x1.glbMin(),
x0.glbMin());
66 int maxElement = std::max(
x1.glbMax(),
x0.glbMax());
68 if (minElement<maxElement) {
72 unsigned int cardMin =
x1.cardMin();
77 for (;ubRangeItC();++ubRangeItC) {
78 if (ubRangeItC.
width() < cardMin
79 || ubRangeItC.
min() > minElement
80 || ubRangeItC.
max() < maxElement
83 ubRangeItC.
min(), ubRangeItC.
max()) );
91 if(
x1.lubMin()==
x1.glbMin()) {
94 if(
x1.lubMax()==
x1.glbMax()) {
98 }
while(
x0.assigned()&&!
x1.assigned());
101 assert(
x1.assigned() || !
x0.assigned());
int max(void) const
Return largest value of range.
unsigned int width(void) const
Return width of range (distance between minimum and maximum)
int min(void) const
Return smallest value of range.
static const int MIN_OF_EMPTY
Returned by empty sets when asked for their minimum element.
ConvexHull(Space &home, ConvexHull &)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
Range iterator for the least upper bound.
ExecStatus ES_SUBSUMED(Propagator &p)
Propagator p is subsumed
int ModEventDelta
Modification event deltas.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
Propagators for convexity.
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
@ ES_NOFIX
Propagation has not computed fixpoint.