60 for (
int i=0; i<4; i++) {
66 if (xi.
min() <= oldMax)
86 :
SetTest(
"Sequence::SeqU"+
str(n0),n0+1,ds_33,false), n(n0) {}
90 for (
int i=0; i<n; i++) {
96 if (xi.
min() <= oldMax)
102 isrs[i].init(
x.lub,
x[i]);
116 for (
int i=
x.size()-1; i--;)
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.
Range iterator for union of iterators.
Test for Region memory area
Range iterator producing subsets of an IntSet.
Test for sequential-union constraint
virtual bool solution(const SetAssignment &x) const
Test whether x is solution
SeqU(int n0)
Create and register test.
virtual void post(Space &home, SetVarArray &x, IntVarArray &)
Post constraint on x.
Test for sequence constraint
virtual bool solution(const SetAssignment &x) const
Test whether x is solution
Sequence(const char *t)
Create and register test.
virtual void post(Space &home, SetVarArray &x, IntVarArray &)
Post constraint on x.
Generate all set assignments.
static std::string str(Gecode::SetRelType srt)
Map set relation to string.
SetTest(const std::string &s, int a, const Gecode::IntSet &d, bool r=false, int w=0)
Constructor.
bool equal(I &i, J &j)
Check whether range iterators i and j are equal.
const int min
Smallest allowed integer in integer set.
Gecode toplevel namespace
void sequence(Home home, const IntVarArgs &x, const IntSet &s, int q, int l, int u, IntPropLevel ipl=IPL_DEF)
Post propagator for .
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Post propagator for SetVar x
Sequence _sequence("Sequence::Sequence")