| 202 | |
| 203 | template<class TaskView> |
| 204 | OmegaLambdaTree<TaskView>::OmegaLambdaTree(Region& r, int c0, |
| 205 | const TaskViewArray<TaskView>& t) |
| 206 | : TaskTree<TaskView,OmegaLambdaNode>(r,t), c(c0) { |
| 207 | // Enter all tasks into tree (omega = all tasks, lambda = empty) |
| 208 | for (int i=0; i<tasks.size(); i++) { |
| 209 | leaf(i).e = tasks[i].e(); |
| 210 | leaf(i).le = 0; |
| 211 | leaf(i).env = static_cast<long long int>(c)*tasks[i].est()+tasks[i].e(); |
| 212 | leaf(i).lenv = -Limits::llinfinity; |
| 213 | leaf(i).resLe = OmegaLambdaNode::undef; |
| 214 | leaf(i).resLenv = OmegaLambdaNode::undef; |
| 215 | } |
| 216 | update(); |
| 217 | } |
| 218 | |
| 219 | template<class TaskView> |
| 220 | forceinline void |