49 if (s.
size() !=
p.size())
51 for (
int i=0;
i<
p.size();
i++) {
58 for (
int i=0;
i<
p.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;
142 t[
i].init(s[
i],
p[
i],m[
i]);
153 if ((flex.
size() != fix.
size()) || (flex.
size() !=
t.size()) ||
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++) {
213 for (
int i=0;
i<
p.size();
i++)
215 unary(home,s,pp,ipl);
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;
249 t[
i].init(s[
i],
p[
i],e[
i],m[
i]);
int p
Number of positive literals for node type.
int size(void) const
Return size of array (number of elements)
Argument array for non-primitive types.
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
Bounds consistent distinct propagator.
Domain consistent distinct propagator.
Naive value distinct propagator.
Integer view for integer variables.
void unary(Home home, const IntVarArgs &s, const IntArgs &p, IntPropLevel ipl)
Post propagators for scheduling tasks on unary resources.
#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.
@ IPL_DOM
Domain propagation Options: basic versus advanced propagation.
@ IPL_BND
Bounds propagation.
IntPropLevel vbd(IntPropLevel ipl)
Extract value, bounds, or domain propagation from propagation level.
bool same(VarArgArray< Var > x, VarArgArray< Var > y)
const FloatNum max
Largest allowed float value.
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.
bool assigned(View x, int v)
Whether x is assigned to value v.
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.
bool one(const Gecode::FloatValArgs &a)
Check whether has only one coefficients.
Gecode::IntArgs i({1, 2, 3, 4})