Go to the documentation of this file.
34 namespace Gecode {
namespace Set {
namespace Rel {
36 template<
class View0,
class View1, ReifyMode rm,
bool strict>
46 template<
class View0,
class View1, ReifyMode rm,
bool strict>
55 template<
class View0,
class View1, ReifyMode rm,
bool strict>
62 template<
class View0,
class View1, ReifyMode rm,
bool strict>
70 template<
class View0,
class View1, ReifyMode rm,
bool strict>
80 template<
class View0,
class View1, ReifyMode rm,
bool strict>
100 template<
class View0,
class View1, ReifyMode rm,
bool strict>
106 template<
class View0,
class View1, ReifyMode rm,
bool strict>
120 if (x0.cardMax() == 0) {
121 if ( (!strict) || x1.cardMin() > 0) {
126 if (strict && x1.cardMax() == 0) {
133 if (x0.assigned() && x1.assigned()) {
141 if ((!strict) && x0.cardMax() == x1.cardMax()) {
160 if (strict && x0.cardMax() == x1.cardMax()) {
174 assert(min01 != min10);
186 if (x1.cardMax() > 0) {
189 int x1umin=x1u.
min();
191 if (
d() &&
d.
min() < x1umin) {
198 if (x0.cardMax() > 0) {
201 int x0umin=x0u.
min();
203 if (
d() &&
d.
min() < x0umin) {
struct Gecode::@602::NNF::@65::@66 b
For binary nodes (and, or, eqv)
int min(int i) const
Return minimum of range at position i.
Inverse implication for reification.
ExecStatus ES_SUBSUMED(Propagator &p)
void subscribe(Space &home, Propagator &p, PropCond pc, bool schedule=true)
Subscribe propagator p with propagation condition pc to view.
Implication for reification.
void update(Space &home, VarImpView< Var > &y)
Update this view to be a clone of view y.
Base-class for both propagators and branchers.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Boolean view for Boolean variables.
Gecode toplevel namespace
Base-class for propagators.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
ReLq(Space &home, ReLq &p)
Constructor for cloning p.
Home class for posting propagators
bool same(VX, VY)
Test whether two views are in fact the same.
Range iterator for computing set difference.
static ExecStatus post(Home home, View0 x, View1 y, Gecode::Int::BoolView b)
Post propagator for .
Range iterator for the greatest lower bound.
static PropCost ternary(PropCost::Mod m)
Three variables for modifier pcm.
const Gecode::PropCond PC_INT_VAL
Propagate when a view becomes assigned (single value)
Reified propagator for set less than or equal
Propagation has computed fixpoint.
Range iterator for the least upper bound.
virtual void reschedule(Space &home)
Schedule function.
const Gecode::PropCond PC_SET_ANY
Propagate when any bound or the cardinality of a view changes.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
virtual size_t dispose(Space &home)
Delete actor and return its size.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Propagator for set less than or equal
int min(void) const
Return smallest value of range.
int ModEventDelta
Modification event deltas.
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
int p
Number of positive literals for node type.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as PC_TERNARY_LO)