51 for (
int i=p.
size();
i--; ) {
58 for (
int i=p.
size();
i--;) {
78 for (
int i=s.
size();
i--; )
91 for (
int i=fix.
size();
i--; ) {
101 for (
int i=t.
size();
i--;)
106 unary(home, flex, fix, ipl);
109 for (
int i=flex.
size();
i--;)
110 tasks[
i].init(t[
i],flex[i],fix[i]);
124 for (
int i=p.
size();
i--; ) {
129 bool allMandatory =
true;
130 for (
int i=m.
size();
i--;) {
132 allMandatory =
false;
141 for (
int i=s.
size();
i--; )
142 t[
i].init(s[
i],p[i],m[i]);
157 for (
int i=fix.
size();
i--; ) {
168 bool allMandatory =
true;
169 for (
int i=m.
size();
i--;) {
171 allMandatory =
false;
176 unary(home,t,flex,fix,ipl);
180 for (
int i=flex.
size();
i--; )
181 tasks[
i].init(flex[
i],fix[i],m[i]);
185 for (
int i=flex.
size();
i--;)
186 tasks[
i].init(t[
i],flex[i],fix[i],m[i]);
200 for (
int i=p.
size();
i--; ) {
204 for (
int i=p.
size();
i--;) {
212 for (
int i=p.
size();
i--;)
214 unary(home,s,pp,ipl);
217 for (
int i=s.
size();
i--; )
218 t[
i].init(s[
i],p[i],e[i]);
232 for (
int i=p.
size();
i--; ) {
235 bool allMandatory =
true;
236 for (
int i=m.
size();
i--;) {
238 allMandatory =
false;
243 unary(home,s,p,e,ipl);
246 for (
int i=s.
size();
i--; )
247 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)
bool same(void) const
Test whether array contains same variable multiply.
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 Options: basic versus advanced propagation.
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.