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)));
bool failed(void) const
Check whether corresponding space is failed.
ModEvent inter_r(Space &home, I &i, bool depends=true)
Intersect domain with ranges described by i.
IntConLevel
Consistency levels for integer propagators.
Exception: Value out of limits
Range iterator for integer sets.
const FloatNum max
Largest allowed float value.
int size(void) const
Return size of array (number of elements)
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.
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
unsigned int size(void) const
Return size (cardinality) of set.
Passing integer variables.
Passing Boolean variables.
union Gecode::@518::NNF::@57 u
Union depending on nodetype t.
bool one(void) const
Test whether view is assigned to be one.
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
bool zero(void) const
Test whether view is assigned to be zero.
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.
int max(int i) const
Return maximum of range at position i.
bool same(const Space &home) const
Test whether array contains same variable multiply.
int min(int i) const
Return minimum of range at position i.
Boolean view for Boolean variables.