40 namespace Gecode {
namespace Int {
namespace Unary {
42 template<
class ManTaskView>
45 sort<ManTaskView,STO_LCT,true>(
t);
51 int* lct = r.alloc<
int>(t.
size());
53 for (
int i=t.
size();
i--; )
56 for (
int i=0;
i<t.
size();
i++) {
58 while (q() && (t[
i].lct() > t[q.
task()].lst())) {
59 if ((j >= 0) && (o.
ect() > t[q.
task()].lst()))
64 if ((j >= 0) && (o.
ect(
i) > t[
i].lst()))
68 for (
int i=t.
size();
i--; )
74 template<
class ManTask>
83 template<
class OptTaskView>
86 sort<OptTaskView,STO_LCT,true>(
t);
92 int* lct = r.alloc<
int>(t.
size());
94 for (
int i=t.
size();
i--; )
97 for (
int i=0;
i<t.
size();
i++) {
99 while (q() && (t[
i].lct() > t[q.
task()].lst())) {
100 if ((j >= 0) && (o.
ect() > t[q.
task()].lst()))
105 if ((j >= 0) && (o.
ect(
i) > t[
i].lst()))
112 if (t[
i].mandatory()) {
114 }
else if (lct[
i] < t[
i].ect()) {
124 template<
class OptTask>
ExecStatus ES_SUBSUMED(Propagator &p)
Base-class for propagators.
ExecStatus notfirstnotlast(Space &home, TaskArray< ManTask > &t)
Propagate not-first and not-last.
void insert(int i)
Insert task with index i.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
int p
Number of positive literals for node type.
Omega trees for computing ect of task sets.
const FloatNum min
Smallest allowed float value.
Gecode::IntArgs i(4, 1, 2, 3, 4)
int n
Number of negative literals for node type.
const Gecode::PropCond PC_INT_BND
Propagate when minimum or maximum of a view changes.
ExecStatus notlast(Space &home, TaskViewArray< ManTaskView > &t)
Allows to iterate over task views according to a specified order.
int size(void) const
Return size of array (number of elements)
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
int task(void) const
Return current task position.
int ect(void) const
Return earliest completion time of all tasks.
Allows to iterate over mandatory task views according to a specified order.
struct Gecode::@518::NNF::@57::@58 b
For binary nodes (and, or, eqv)
Gecode toplevel namespace