51 for (
int i=0; i<p.
size(); i++) {
58 for (
int i=0; i<p.
size(); i++) {
78 for (
int i=0; i<s.
size(); i++)
91 for (
int i=0; i<fix.
size(); i++) {
101 for (
int i=0; i<t.
size(); i++)
106 unary(home, flex, fix, ipl);
109 for (
int i=0; i<flex.
size(); i++)
110 tasks[i].init(t[i],flex[i],fix[i]);
124 for (
int i=0; i<p.
size(); i++) {
129 bool allMandatory =
true;
130 for (
int i=0; i<m.
size(); i++) {
132 allMandatory =
false;
141 for (
int i=0; i<s.
size(); i++)
142 t[i].init(s[i],p[i],m[i]);
157 for (
int i=0; i<fix.
size(); i++) {
168 bool allMandatory =
true;
169 for (
int i=0; i<m.
size(); i++) {
171 allMandatory =
false;
176 unary(home,t,flex,fix,ipl);
180 for (
int i=0; i<flex.
size(); i++)
181 tasks[i].init(flex[i],fix[i],m[i]);
185 for (
int i=0; i<flex.
size(); i++)
186 tasks[i].init(t[i],flex[i],fix[i],m[i]);
200 for (
int i=0; i<p.
size(); i++) {
205 for (
int i=0; i<p.
size(); i++) {
206 if (!p[i].assigned()) {
213 for (
int i=0; i<p.
size(); i++)
215 unary(home,s,pp,ipl);
218 for (
int i=0; i<s.
size(); i++)
219 t[i].init(s[i],p[i],e[i]);
233 for (
int i=0; i<p.
size(); i++) {
237 bool allMandatory =
true;
238 for (
int i=0; i<m.
size(); i++) {
240 allMandatory =
false;
245 unary(home,s,p,e,ipl);
248 for (
int i=0; i<s.
size(); i++)
249 t[i].init(s[i],p[i],e[i],m[i]);
int size(void) const
Return size of array (number of elements)
Passing Boolean variables.
Home class for posting propagators
Passing integer arguments.
Passing integer variables.
Exception: Arguments contain same variable multiply
Exception: Arguments are of different size
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for view array x.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for views x.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for view array x.
Integer view for integer variables.
#define GECODE_POST
Check for failure in a constraint post function.
#define GECODE_ES_FAIL(es)
Check whether execution status es is failed, and fail space home.
#define GECODE_ME_FAIL(me)
Check whether modification event me is failed, and fail space home.
IntPropLevel
Propagation levels for integer propagators.
ArgArray< TaskType > TaskTypeArgs
Argument arrays for passing task type arguments.
@ IPL_DOM
Domain propagation Options: basic versus advanced propagation.
@ IPL_BND
Bounds propagation.
void nonnegative(int n, const char *l)
Check whether n is in range and nonnegative, otherwise throw out of limits with information l.
void check(int n, const char *l)
Check whether n is in range, otherwise throw out of limits with information l.
ExecStatus optpost(Home home, TaskArray< OptTask > &t, IntPropLevel ipl)
Post optional task propagator according to propagation level.
ExecStatus manpost(Home home, TaskArray< ManTask > &t, IntPropLevel ipl)
Post mandatory task propagator according to propagation level.
Gecode toplevel namespace
IntPropLevel vbd(IntPropLevel ipl)
Extract value, bounds, or domain propagation from propagation level.
bool same(VarArgArray< Var > x, VarArgArray< Var > y)
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
void unary(Home home, const IntVarArgs &s, const IntArgs &p, IntPropLevel ipl=IPL_DEF)
Post propagators for scheduling tasks on unary resources.