42 namespace Gecode {
namespace Int {
namespace Bool {
44 template<
class View, PropCond pc>
49 x0.subscribe(home,*
this,pc);
50 x1.subscribe(home,*
this,pc);
51 x2.subscribe(home,*
this,pc);
54 template<
class View, PropCond pc>
59 x0.update(home,share,p.
x0);
60 x1.update(home,share,p.
x1);
61 x2.update(home,share,p.
x2);
64 template<
class View, PropCond pc>
70 template<
class View, PropCond pc>
74 x0.cancel(home,*
this,pc);
75 x1.cancel(home,*
this,pc);
76 x2.cancel(home,*
this,pc);
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
If-then-else bounds-consistent propagator.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as high ternary)
Binary domain consistent equality propagator.
ExecStatus ES_SUBSUMED(Propagator &p)
IteDom(Space &home, bool share, IteDom &p)
Constructor for cloning p.
const FloatNum max
Largest allowed float value.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
Base-class for propagators.
IteBase(Space &home, bool share, IteBase &p)
Constructor for cloning p.
Propagation has computed fixpoint.
Base-class for both propagators and branchers.
Range iterator for integer views.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
bool same(const CachedView< View > &x, const CachedView< View > &y)
void subscribe(Space &home, Propagator &p, PropCond pc, bool schedule=true)
Subscribe propagator p with propagation condition pc to view.
int p
Number of positive literals for node type.
If-then-else propagator base-class.
const FloatNum min
Smallest allowed float value.
Execution has resulted in failure.
RelTest
Result of testing relation.
const Gecode::PropCond PC_INT_BND
Propagate when minimum or maximum of a view changes.
Binary bounds consistent equality propagator.
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
void update(Space &home, bool share, VarImpView< Var > &y)
Update this view to be a clone of view y.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
RelTest rtest_eq_dom(View x, View y)
Test whether views x and y are equal (use full domain information)
ExecStatus ES_FIX_PARTIAL(Propagator &p, const ModEventDelta &med)
Propagator p has computed partial fixpoint
Range iterator for computing union (binary)
union Gecode::@518::NNF::@57 u
Union depending on nodetype t.
If-then-else domain-consistent propagator.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low ternary)
IteBnd(Space &home, bool share, IteBnd &p)
Constructor for cloning p.
bool one(void) const
Test whether view is assigned to be one.
static ExecStatus post(Home home, BoolView b, View x0, View x1, View x2)
Post if-then-else propagator.
virtual size_t dispose(Space &home)
Delete actor and return its size.
const Gecode::ModEvent ME_INT_DOM
Domain operation has changed the domain.
static ExecStatus post(Home home, BoolView b, View x0, View x1, View x2)
Post if-then-else propagator.
RelTest rtest_eq_bnd(View x, View y)
Test whether views x and y are equal (use bounds information)
static PropCost ternary(PropCost::Mod m)
Three variables for modifier pcm.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
struct Gecode::@518::NNF::@57::@58 b
For binary nodes (and, or, eqv)
BoolView b
View for condition.
Gecode toplevel namespace
bool zero(void) const
Test whether view is assigned to be zero.
int ModEventDelta
Modification event deltas.
Home class for posting propagators
const Gecode::PropCond PC_BOOL_VAL
Propagate when a view becomes assigned (single value)
Boolean view for Boolean variables.