40 namespace Gecode {
namespace Int {
namespace NValues {
55 return new (home)
LqBool<VY>(home,share,*
this);
86 if (status & VS_ONE) {
92 }
else if (x[
i].
one()) {
93 if (status & VS_ZERO) {
101 assert(status != (VS_ZERO | VS_ONE));
103 assert((status != 0) && (y.min() >= 1));
116 if (status == (VS_ZERO | VS_ONE)) {
122 assert((status != 0) && (y.min() >= 1));
127 if (status == VS_ZERO) {
129 status = VS_ZERO | VS_ONE;
134 if (status == VS_ONE) {
136 status = VS_ZERO | VS_ONE;
static ExecStatus post(Home home, ViewArray< BV > &x)
Post propagator .
ExecStatus ES_SUBSUMED(Propagator &p)
bool one(const Gecode::FloatValArgs &a)
Check whether has only one coefficients.
Less or equal to number of values propagator for Boolean views.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
LqBool(Home home, int status, ViewArray< BoolView > &x, VY y)
Constructor for posting.
Class to iterate over advisors of a council.
Propagation has computed fixpoint.
void unique(const Space &home)
Remove all duplicate views from array (changes element order)
Advisor storing a single view
Base-class for both propagators and branchers.
Gecode::FloatVal c(-8, 8)
int p
Number of positive literals for node type.
Gecode::IntArgs i(4, 1, 2, 3, 4)
int n
Number of negative literals for node type.
Number of values propagator for Boolean views base class.
static ExecStatus post(Home home, ViewArray< BoolView > &x, VY y)
Post propagator for .
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
Node * x
Pointer to corresponding Boolean expression node.
int size(void) const
Return size of array (number of elements)
Gecode toplevel namespace
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
int ModEventDelta
Modification event deltas.
Home class for posting propagators