66 if ((q < 1) || (q > x.
size()))
81 if ((0 == l) && (q == u))
86 for (
int i=x.
size();
i--; ) {
96 for (
int i=x.
size();
i--; ) {
108 (home,xv,s.
min(),q,
l,
u)));
119 if ((s.
min() < 0) || (s.
max() > 1))
132 if ((q < 1) || (q > x.
size()))
147 if ((0 == l) && (q == u))
151 if ((s.
min() == 0) && (s.
max() == 1)) {
152 if ((l > 0) || (u < q))
156 assert(s.
min() == s.
max());
161 for (
int i=x.
size();
i--; ) {
165 assert(s.
min() == 1);
166 for (
int i=x.
size();
i--; ) {
176 for (
int i=x.
size();
i--; ) {
180 assert(s.
min() == 1);
181 for (
int i=x.
size();
i--; ) {
192 (home,xv,s.
min(),q,
l,
u)));
ModEvent inter_r(Space &home, I &i, bool depends=true)
Intersect domain with ranges described by i.
bool zero(void) const
Test whether view is assigned to be zero.
IntConLevel
Consistency levels for integer propagators.
Exception: Value out of limits
int size(void) const
Return size of array (number of elements)
Range iterator for integer sets.
const FloatNum max
Largest allowed float value.
bool one(void) const
Test whether view is assigned to be one.
Exception: Too few arguments available in argument array
ModEvent minus_r(Space &home, I &i, bool depends=true)
Remove from domain the ranges described by i.
int min(int i) const
Return minimum of range at position i.
void sequence(Home home, const IntVarArgs &x, const IntSet &s, int q, int l, int u, IntConLevel)
Post propagator for .
const FloatNum min
Smallest allowed float value.
Gecode::IntArgs i(4, 1, 2, 3, 4)
Sequence propagator for array of integers
int max(int i) const
Return maximum of range at position i.
unsigned int size(void) const
Return size (cardinality) of set.
bool failed(void) const
Check whether corresponding space is failed.
union Gecode::@519::NNF::@60 u
Union depending on nodetype t.
Passing integer variables.
Passing Boolean variables.
Integer view for integer variables.
Node * x
Pointer to corresponding Boolean expression node.
Exception: Arguments contain same variable multiply
Exception: Not 0/1 integer
#define GECODE_ME_FAIL(me)
Check whether modification event me is failed, and fail space home.
void fail(void)
Mark space as failed.
Gecode toplevel namespace
void check(int n, const char *l)
Check whether n is in range, otherwise throw out of limits with information l.
Home class for posting propagators
#define GECODE_ES_FAIL(es)
Check whether execution status es is failed, and fail space home.
bool same(const Space &home) const
Test whether array contains same variable multiply.
Boolean view for Boolean variables.