Go to the documentation of this file.
42 namespace Gecode {
namespace Int {
namespace Bool {
44 template<
class V0,
class V1,
class V2, PropCond pc>
49 x0.subscribe(home,*
this,pc);
50 x1.subscribe(home,*
this,pc);
51 x2.subscribe(home,*
this,pc);
54 template<
class V0,
class V1,
class V2, PropCond pc>
59 b.update(home,share,
p.b);
60 x0.update(home,share,
p.x0);
61 x1.update(home,share,
p.x1);
62 x2.update(home,share,
p.x2);
65 template<
class V0,
class V1,
class V2, PropCond pc>
68 return PropCost::ternary(PropCost::LO);
71 template<
class V0,
class V1,
class V2, PropCond pc>
75 x0.reschedule(home,*
this,pc);
76 x1.reschedule(home,*
this,pc);
77 x2.reschedule(home,*
this,pc);
80 template<
class V0,
class V1,
class V2, PropCond pc>
84 x0.cancel(home,*
this,pc);
85 x1.cancel(home,*
this,pc);
86 x2.cancel(home,*
this,pc);
87 (void) Propagator::dispose(home);
93 template<
class V0,
class V1,
class V2>
98 template<
class V0,
class V1,
class V2>
103 template<
class V0,
class V1,
class V2>
109 template<
class V0,
class V1,
class V2>
122 template<
class V0,
class V1,
class V2>
163 template<
class V0,
class V1,
class V2>
168 template<
class V0,
class V1,
class V2>
173 template<
class V0,
class V1,
class V2>
179 template<
class V0,
class V1,
class V2>
192 template<
class V0,
class V1,
class V2>
201 template<
class V0,
class V1,
class V2>
273 if (!shared<V0,V2>(x0,x2) && !shared<V1,V2>(x1,x2))
const Gecode::PropCond PC_BOOL_VAL
Propagate when a view becomes assigned (single value)
If-then-else bounds-consistent propagator.
ExecStatus ES_SUBSUMED(Propagator &p)
RelTest rtest_eq_bnd(VX x, VY y)
Test whether views x and y are equal (use bounds information)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
const FloatNum min
Smallest allowed float value.
static ExecStatus post(Home home, View0 x0, View1 x1)
Post domain consistent propagator .
Base-class for both propagators and branchers.
@ RT_TRUE
Relation does hold.
union Gecode::@579::NNF::@61 u
Union depending on nodetype t.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Boolean view for Boolean variables.
Gecode toplevel namespace
Base-class for propagators.
Range iterator for integer views.
static ExecStatus post(Home home, BoolView b, V0 x0, V1 x1, V2 x2)
Post if-then-else propagator.
static ExecStatus post(Home home, View0 x0, View1 x1)
Post bounds consistent propagator .
Binary domain consistent equality propagator.
RelTest rtest_eq_dom(VX x, VY y)
Test whether views x and y are equal (use full domain information)
@ RT_FALSE
Relation does not hold.
void reschedule(Space &home, Propagator &p, IntSet &y)
If-then-else propagator base-class.
Home class for posting propagators
struct Gecode::@579::NNF::@61::@62 b
For binary nodes (and, or, eqv)
IteDom(Space &home, bool share, IteDom &p)
Constructor for cloning p.
const Gecode::PropCond PC_INT_BND
Propagate when minimum or maximum of a view changes.
static ExecStatus post(Home home, BoolView b, V0 x0, V1 x1, V2 x2)
Post if-then-else propagator.
Range iterator for computing union (binary)
static PropCost ternary(PropCost::Mod m)
Three variables for modifier pcm.
IteBase(Space &home, bool share, IteBase &p)
Constructor for cloning p.
@ ES_FIX
Propagation has computed fixpoint.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
If-then-else domain-consistent propagator.
IteBnd(Space &home, bool share, IteBnd &p)
Constructor for cloning p.
Binary bounds consistent equality propagator.
RelTest
Result of testing relation.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as high ternary)
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
@ ES_FAILED
Execution has resulted in failure.
ExecStatus ES_FIX_PARTIAL(Propagator &p, const ModEventDelta &med)
Propagator p has computed partial fixpoint
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
int ModEventDelta
Modification event deltas.
const Gecode::ModEvent ME_INT_DOM
Domain operation has changed the domain.
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
@ ES_OK
Execution is okay.
int p
Number of positive literals for node type.
const FloatNum max
Largest allowed float value.