40 namespace Gecode {
namespace Int {
55 div(
double x,
double y) {
60 template<
class TaskView,
class Node>
63 return tasks.size()-1;
65 template<
class TaskView,
class Node>
68 return 2*tasks.size() - 1;
71 template<
class TaskView,
class Node>
76 template<
class TaskView,
class Node>
79 return i >= n_inner();
81 template<
class TaskView,
class Node>
86 template<
class TaskView,
class Node>
93 template<
class TaskView,
class Node>
98 template<
class TaskView,
class Node>
105 template<
class TaskView,
class Node>
111 template<
class TaskView,
class Node>
114 return node[_leaf[
i]];
117 template<
class TaskView,
class Node>
123 template<
class TaskView,
class Node>
126 for (
int i=n_inner();
i--; )
127 node[
i].init(node[n_left(
i)],node[n_right(
i)]);
130 template<
class TaskView,
class Node>
133 for (
int i=n_inner();
i--; )
134 node[
i].update(node[n_left(
i)],node[n_right(
i)]);
137 template<
class TaskView,
class Node>
145 node[
i].update(node[n_left(i)],node[n_right(i)]);
146 }
while (!n_root(i));
149 template<
class TaskView,
class Node>
154 node(r.alloc<Node>(n_nodes())),
155 _leaf(r.alloc<int>(tasks.
size())) {
158 sort<TaskView,STO_EST,true>(map,
tasks);
160 for (
int i=
tasks.size();
i--; )
165 while (fst <
tasks.size())
169 for (
int i=
tasks.size();
i--; )
176 template<
class TaskView,
class Node>
template<
class Node2>
181 node(r.alloc<Node>(n_nodes())),
182 _leaf(r.alloc<int>(tasks.
size())) {
183 for (
int i=
tasks.size();
i--; )