40namespace Gecode {
namespace Set {
namespace Channel {
49 for (
int i=
xs.
size(); i--;)
51 for (
int i=
ys.
size(); i--;)
74 int xssize = xs.
size();
75 for (
int i=ys.
size(); i--;) {
79 int yssize = ys.size();
82 for (
int i=xs.
size(); i--;) {
110 return sizeof(*this);
123 for (
int v=xs.size(); v--;) {
124 if (xs[v].assigned()) {
126 if (xs[v].modified())
129 if (xs[v].modified()) {
139 for (
int i=ys.
size(); i--;) {
140 if (ys[i].glbModified()) {
145 ys[i].cacheGlb(home);
147 if (ys[i].lubModified()) {
152 ys[i].cacheLub(home);
int p
Number of positive literals for node type.
Base-class for both propagators and branchers.
virtual size_t dispose(Space &home)
Delete actor and return its size.
int size(void) const
Return size of array (number of elements)
Home class for posting propagators
static const IntSet empty
Empty set.
Integer view for integer variables.
Range iterator for cached integer views
Value iterator from range iterator.
int val(void) const
Return current value.
static PropCost quadratic(PropCost::Mod m, unsigned int n)
Quadratic complexity for modifier m and size measure n.
Base-class for propagators.
size_t size
The size of the propagator (used during subsumption)
Propagator for channelling between variable-value-dual models
ViewArray< Gecode::Int::CachedView< Gecode::Int::IntView > > xs
IntViews, reflects which set contains element .
virtual void reschedule(Space &home)
Schedule function.
ViewArray< CachedView< View > > ys
SetViews that are constrained to be disjoint.
Range iterator for difference of greatest lower bound and cache
Range iterator for difference of least upper bound and cache
void update(Space &home, ViewArray< View > &a)
Update array to be a clone of array a.
void subscribe(Space &home, Propagator &p, PropCond pc, bool schedule=true)
Subscribe propagator p with propagation condition pc to variable.
int size(void) const
Return size of array (number of elements)
ExecStatus ES_SUBSUMED(Propagator &p)
int ModEventDelta
Modification event deltas.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
const int min
Smallest allowed integer value.
const int max
Largest allowed integer value.
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
const Gecode::PropCond PC_SET_ANY
Propagate when any bound or the cardinality of a view changes.
Gecode toplevel namespace
@ ES_OK
Execution is okay.
@ ES_FAILED
Execution has resulted in failure.
@ ES_NOFIX
Propagation has not computed fixpoint.