55 for (
int i=p.
size();
i--; ) {
62 for (
int i=p.
size();
i--;) {
82 for (
int i=s.
size();
i--; )
95 for (
int i=fix.
size();
i--; ) {
105 for (
int i=t.
size();
i--;)
110 unary(home, flex, fix, ipl);
113 for (
int i=flex.
size();
i--;)
114 tasks[
i].init(t[
i],flex[i],fix[i]);
128 for (
int i=p.
size();
i--; ) {
133 bool allMandatory =
true;
134 for (
int i=m.
size();
i--;) {
136 allMandatory =
false;
145 for (
int i=s.
size();
i--; )
146 t[
i].init(s[
i],p[i],m[i]);
161 for (
int i=fix.
size();
i--; ) {
172 bool allMandatory =
true;
173 for (
int i=m.
size();
i--;) {
175 allMandatory =
false;
180 unary(home,t,flex,fix,ipl);
184 for (
int i=flex.
size();
i--; )
185 tasks[
i].init(flex[
i],fix[i],m[i]);
189 for (
int i=flex.
size();
i--;)
190 tasks[
i].init(t[
i],flex[i],fix[i],m[i]);
204 for (
int i=p.
size();
i--; ) {
208 for (
int i=p.
size();
i--;) {
216 for (
int i=p.
size();
i--;)
218 unary(home,s,pp,ipl);
221 for (
int i=s.
size();
i--; )
222 t[
i].init(s[
i],p[i],e[i]);
236 for (
int i=p.
size();
i--; ) {
239 bool allMandatory =
true;
240 for (
int i=m.
size();
i--;) {
242 allMandatory =
false;
247 unary(home,s,p,e,ipl);
250 for (
int i=s.
size();
i--; )
251 t[
i].init(s[
i],p[i],e[i],m[i]);
IntPropLevel vbd(IntPropLevel ipl)
Extract value, bounds, or domain propagation from propagation level.
int size(void) const
Return size of array (number of elements)
bool one(const Gecode::FloatValArgs &a)
Check whether has only one coefficients.
ExecStatus manpost(Home home, TaskArray< ManTask > &t, IntPropLevel ipl)
Post mandatory task propagator according to propagation level.
Argument array for primtive types.
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Domain consistent distinct propagator.
void nonnegative(int n, const char *l)
Check whether n is in range and nonnegative, otherwise throw out of limits with information l...
int p
Number of positive literals for node type.
Gecode::IntArgs i(4, 1, 2, 3, 4)
Passing integer variables.
Passing integer arguments.
Passing Boolean variables.
ExecStatus optpost(Home home, TaskArray< OptTask > &t, IntPropLevel ipl)
Post optional task propagator according to propagation level.
IntPropLevel
Propagation levels for integer propagators.
Naive value distinct propagator.
bool assigned(View x, int v)
Whether x is assigned to value v.
Exception: Arguments contain same variable multiply
void rel(Home home, FloatVar x0, FloatRelType frt, FloatVal n)
Propagates .
Domain propagation Preferences: prefer speed or memory.
Bounds consistent distinct propagator.
Gecode toplevel namespace
#define GECODE_POST
Check for failure in a constraint post function.
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
Exception: Arguments are of different size
#define GECODE_ES_FAIL(es)
Check whether execution status es is failed, and fail space home.
void unary(Home home, const IntVarArgs &s, const IntArgs &p, IntPropLevel ipl)
Post propagators for scheduling tasks on unary resources.
bool same(const Space &home) const
Test whether array contains same variable multiply.