| 133 | |
| 134 | template<class Tracer> |
| 135 | forceinline const Choice* |
| 136 | Path<Tracer>::push(Worker& stat, Space* s, Space* c, unsigned int nid) { |
| 137 | if (!ds.empty() && ds.top().lao()) { |
| 138 | // Topmost stack entry was LAO -> reuse |
| 139 | ds.pop().dispose(); |
| 140 | } |
| 141 | Edge sn(s,c,nid); |
| 142 | ds.push(sn); |
| 143 | stat.stack_depth(static_cast<unsigned long int>(ds.entries())); |
| 144 | return sn.choice(); |
| 145 | } |
| 146 | |
| 147 | template<class Tracer> |
| 148 | forceinline void |