34namespace Gecode {
namespace Int {
namespace Unary {
36 template<
class ManTaskView>
45 int* est =
r.alloc<
int>(
t.size());
47 for (
int i=0; i<
t.
size(); i++) {
48 while (q() && (
t[i].ect() >
t[q.
task()].lst())) {
54 for (
int i=0; i<
t.
size(); i++)
60 template<
class ManTask>
70 template<
class OptTaskView,
class PL>
79 int* est =
r.alloc<
int>(
t.size());
81 for (
int i=0; i<
t.
size(); i++) {
82 while (q() && (
t[i].ect() >
t[q.
task()].lst())) {
90 if (
t[i].mandatory()) {
92 }
else if (est[i] >
t[i].lst()) {
94 t[i].cancel(home,
p,PL::pc);
t[i]=
t[--
n];
101 template<
class OptTask,
class PL>
108 return detectable<typename TaskTraits<OptTask>::TaskViewBwd,PL>
struct Gecode::@603::NNF::@65::@66 b
For binary nodes (and, or, eqv)
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
int size(void) const
Return size of array (number of elements)
Allows to iterate over mandatory task views according to a specified order.
Traits class for mapping tasks to task views.
Allows to iterate over task views according to a specified order.
int task(void) const
Return current task position.
Omega trees for computing ect of task sets.
void insert(int i)
Insert task with index i.
int ect(void) const
Return earliest completion time of all tasks.
Base-class for propagators.
ExecStatus ES_SUBSUMED(Propagator &p)
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
ExecStatus detectable(Space &home, TaskArray< ManTask > &t)
Propagate detectable precedences.
void sort(TaskViewArray< TaskView > &t)
Sort task view array t according to sto and inc (increasing or decreasing)
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
@ ES_OK
Execution is okay.