41 namespace Gecode {
namespace Int {
namespace NValues {
68 if (y.min() == x.
size()) {
78 vs.
add(home, x[
i].val());
85 assert(vs.
size() >= y.max());
98 :
IntBase<VY>(home, share, p) {}
103 return new (home)
GqInt<VY>(home, share, *
this);
120 if (vs.size() >= y.max())
Greater or equal to number of values propagator for integer views.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
void eliminate(Term< BoolView > *t, int &n, long long int &d)
Eliminate assigned views.
int size(void) const
Return size (number of values)
ExecStatus ES_SUBSUMED(Propagator &p)
GqInt(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
Base-class for propagators.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for views x.
void unique(const Space &home)
Remove all duplicate views from array (changes element order)
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
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.
const Gecode::ModEvent ME_INT_VAL
Domain operation has resulted in a value (assigned variable)
static ExecStatus post(Home home, ViewArray< IntView > &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.
bool assigned(View x, int v)
Whether x is assigned to value v.
static ModEvent me(const ModEventDelta &med)
Return modification event for view type in med.
Propagation has not computed fixpoint.
Class for storing values of already assigned views.
int size(void) const
Return size of array (number of elements)
Gecode toplevel namespace
Number of values propagator for integer views base class.
int ModEventDelta
Modification event deltas.
Home class for posting propagators
void add(Space &home, int v)
Add value v to value set.
virtual Propagator * copy(Space &home, bool share)
Copy propagator during cloning.