Go to the documentation of this file.
40 #ifndef __GECODE_INT_BOOL_HH__
41 #define __GECODE_INT_BOOL_HH__
50 namespace Gecode {
namespace Int {
namespace Bool {
58 template<
class BVA,
class BVB>
80 template<
class BVA,
class BVB,
class BVC>
93 BVA b0, BVB
b1, BVC
b2);
108 template<
class BVA,
class BVB>
240 template<
class BVA,
class BVB>
281 BV b0, BV
b1, BV
b2);
314 BV b0, BV
b1, BV
b2, BV b3);
331 template<
class BVA,
class BVB,
class BVC>
358 template<
class VX,
class VY>
429 template<
class BVA,
class BVB,
class BVC>
495 template<
class VX,
class VY>
549 template<
class VX,
class VY>
583 template<
class V0,
class V1,
class V2, PropCond pc>
609 template<
class V0,
class V1,
class V2>
635 template<
class V0,
class V1,
class V2>
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
NaryOr(Home home, ViewArray< VX > &x, VY y)
Constructor for posting.
BoolView b
View for condition.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
virtual void reschedule(Space &home)
Schedule function.
NaryLq(Home home, ViewArray< VX > &x)
Constructor for posting.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
If-then-else bounds-consistent propagator.
static ExecStatus post(Home home, ViewArray< BV > &x)
Post propagator .
virtual void reschedule(Space &home)
Schedule function.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, BVA b0, BVB b1, BVC b2)
Post propagator (equivalence)
Council< Tagged > c
The advisor council.
ViewArray< VX > x
Array of views.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
static ExecStatus post(Home home, BVA x0, BVB x1)
Post propagator .
virtual void reschedule(Space &home)
Schedule function.
int pm2
Parity information mod 2.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, BV b0, BV b1, BV b2, BV b3)
Post propagator .
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
BoolBinary(Home home, BVA b0, BVB b1)
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low binary)
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
virtual ExecStatus advise(Space &home, Advisor &a, const Delta &d)
Give advice to propagator.
QuadOrTrue(Home home, BV b0, BV b1, BV b2, BV b3)
Constructor for posting.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
BVC x2
Boolean view Constructor for posting.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
ExecStatus resubscribe(Space &home, BV &x0, BV x1)
Update subscription.
Ternary Boolean disjunction propagator (true)
Base-class for both propagators and branchers.
Council< Advisor > c
The advisor council.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
ViewArray< BV > x
Array of views.
ViewArray< BoolView > x
Views not yet subscribed to.
Mixed (n+1)-ary propagator.
NaryOrTrue(Home home, ViewArray< BV > &x)
Constructor for posting.
int n_zero
The number of views assigned to zero in x.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
static ExecStatus post(Home home, BV b0, BV b1)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
ViewArray< VX > x
Positive views.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Boolean view for Boolean variables.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Gecode toplevel namespace
Base-class for propagators.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
static ExecStatus post(Home home, BoolView b, V0 x0, V1 x1, V2 x2)
Post if-then-else propagator.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Boolean clause propagator (disjunctive, true)
Generic domain change information to be supplied to advisors.
#define GECODE_INT_EXPORT
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
Boolean disjunction propagator.
If-then-else propagator base-class.
int n_zero
The number of views assigned to zero in x and y.
Home class for posting propagators
virtual size_t dispose(Space &home)
Delete propagator and return its size.
struct Gecode::@579::NNF::@61::@63 a
For atomic nodes.
BV x2
Boolean view without subscription.
BoolTernary(Home home, BVA b0, BVB b1, BVC b2)
struct Gecode::@579::NNF::@61::@62 b
For binary nodes (and, or, eqv)
ViewArray< VY > y
Views not yet subscribed to (origin from negative variables)
Boolean n-ary disjunction propagator.
Advisors for views (tagged whether for x or y)
static ExecStatus post(Home home, BV b0, BV b1, BV b2)
Post propagator .
ViewArray< BV > x
Views not yet subscribed to.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
BinOrTrue(Home home, BVA b0, BVB b1)
Constructor for posting.
ViewArray< VX > x
Views not yet subscribed to.
Boolean equality propagator.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
ModEventDelta med
A set of modification events (used during propagation)
Binary Boolean disjunction propagator (true)
IteDom(Space &home, bool share, IteDom &p)
Constructor for cloning p.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
n-ary Boolean equality propagator
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Boolean less or equal propagator.
virtual ExecStatus advise(Space &home, Advisor &a, const Delta &d)
Give advice to propagator.
int n_one
The number of views assigned to one in x.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Boolean clause propagator (disjunctive)
static ExecStatus post(Home home, ViewArray< BoolView > &x, int pm2)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Nary Boolean less or equal propagator.
static ExecStatus post(Home home, BoolView b, V0 x0, V1 x1, V2 x2)
Post if-then-else propagator.
Tagged(Space &home, Propagator &p, Council< Tagged > &c, bool x)
Create tagged advisor.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low binary)
Base-class for binary Boolean propagators.
BV x2
Boolean view without subscription.
Base-class for ternary Boolean propagators.
Boolean n-ary disjunction propagator (true)
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low ternary)
BV x3
Boolean view without subscription.
void cancel(Space &home)
Cancel subscriptions.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Lq(Home home, BV b0, BV b1)
Constructor for posting.
static ExecStatus post(Home home, ViewArray< VX > &x, ViewArray< VY > &y)
Post propagator .
IteBase(Space &home, bool share, IteBase &p)
Constructor for cloning p.
NaryEqv(Home home, ViewArray< BoolView > &x, int pm2)
Constructor for posting.
NaryEq(Home home, ViewArray< BV > &x)
Constructor for posting.
BVB x1
Boolean view Constructor for posting.
Boolean n-ary equivalence propagator.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
static ExecStatus post(Home home, BVA b0, BVB b1, BVC b2)
Post propagator .
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
Eqv(Space &home, bool share, Eqv &p)
Constructor for cloning p.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
Council< Advisor > c
The advisor council.
virtual ExecStatus advise(Space &home, Advisor &a, const Delta &d)
Give advice to propagator.
static ExecStatus post(Home home, ViewArray< VX > &x)
Post propagator .
Boolean equivalence propagator.
virtual void reschedule(Space &home)
Schedule function.
If-then-else domain-consistent propagator.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low binary)
Quarternary Boolean disjunction propagator (true)
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
static ExecStatus post(Home home, BV b0, BV b1)
Post propagator .
virtual void reschedule(Space &home)
Schedule function.
IteBnd(Space &home, bool share, IteBnd &p)
Constructor for cloning p.
void resubscribe(Space &home, BoolView &x0)
Update subscription.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as high ternary)
Or(Home home, BVA b0, BVB b1, BVC b2)
Constructor for posting.
ClauseTrue(Home home, ViewArray< VX > &x, ViewArray< VY > &y)
Constructor for posting.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
static ExecStatus post(Home home, ViewArray< VX > &x, ViewArray< VY > &y, VX z)
Post propagator .
virtual size_t dispose(Space &home)
Delete propagator and return its size.
const bool x
Whether advises a view for x or y.
ViewArray< VY > y
Positive views (origin from negative variables)
int ModEventDelta
Modification event deltas.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
static ExecStatus post(Home home, BVA b0, BVB b1)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
int p
Number of positive literals for node type.
bool run
Whether the propagator is currently running.
static ExecStatus post(Home home, ViewArray< VX > &x, VY y)
Post propagator .
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
int n_zero
The number of views assigned to zero in x.
Clause(Home home, ViewArray< VX > &x, ViewArray< VY > &y, VX z)
Constructor for posting.
TerOrTrue(Home home, BV b0, BV b1, BV b2)
Constructor for posting.
Eq(Home home, BVA b0, BVB b1)
Constructor for posting.
static ExecStatus post(Home home, ViewArray< BV > &b)
Post propagator .
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)