42namespace Gecode {
namespace Set {
namespace Sequence {
51 return new (home)
SeqU(home,*
this);
55 SeqU::propagateSeqUnion(
Space& home,
60 for (
int i=
x.
size(); i--; ) {
68 for (
int i=0; i<
x.
size(); i++) {
82 for (
int i=
x.
size(); i--; ) {
90 for (; diff(); ++diff)
110 bool modified =
false;
112 bool oldModified =
false;
115 oldModified = modified;
118 if (oldModified || modified || anybevent || cardevent)
120 if (oldModified || modified || anybevent)
122 if (oldModified || modified || ubevent)
124 if (oldModified || modified || ubevent)
126 if (oldModified || modified || anybevent)
128 if (oldModified || modified || cardevent || ubevent)
133 for (
int i=
x.
size(); i--;)
134 if (!
x[i].assigned())
union Gecode::@603::NNF::@65 u
Union depending on nodetype t.
Range iterator for computing set difference.
int min(void) const
Return smallest value of range.
int max(void) const
Return largest value of range.
Range iterator for appending arbitrarily many iterators.
ModEventDelta med
A set of modification events (used during propagation)
Range iterator for integer sets.
void dispose(Space &home)
Free memory used by this set.
Growing sets of integers.
bool includeI(Space &home, I &i)
Include the set represented by i in this set.
Range iterator for the greatest lower bound.
Range iterator for the least upper bound.
SeqU(Space &home, SeqU &p)
Constructor for cloning p.
ExecStatus propagateSeqUnion(Space &home, bool &modified, ViewArray< SetView > &x, SetView &y)
Set view for set variables
ModEvent includeI(Space &home, I &i)
Include range sequence described by i in greatest lower bound.
static ModEvent me(const ModEventDelta &med)
int size(void) const
Return size of array (number of elements)
ExecStatus ES_SUBSUMED(Propagator &p)
int ModEventDelta
Modification event deltas.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
#define GECODE_ME_CHECK_MODIFIED(modified, me)
Check whether me is failed or modified, and forward failure.
const int min
Smallest allowed integer in integer set.
const int max
Largest allowed integer in integer set.
ExecStatus partitionNCard(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &unionOfDets)
ExecStatus unionNXiUB(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &)
ExecStatus partitionNXiLB(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &unionOfDets)
ExecStatus partitionNYUB(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &unionOfDets)
bool testSetEventCard(ModEvent me0, ModEvent me1, ModEvent me2)
bool testSetEventUB(ModEvent me0, ModEvent me1, ModEvent me2)
bool testSetEventAnyB(ModEvent me0, ModEvent me1, ModEvent me2)
ExecStatus propagateSeq(Space &home, bool &modified, bool &assigned, ViewArray< SetView > &x)
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
Post propagator for SetVar SetOpType SetVar y
@ ES_FIX
Propagation has computed fixpoint.
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Post propagator for SetVar x
int ModEvent
Type for modification events.