| 175 | } |
| 176 | |
| 177 | forceinline void |
| 178 | NaryEqv::resubscribe(Space& home, BoolView& x0) { |
| 179 | if (x0.assigned()) { |
| 180 | pm2 ^= x0.val(); |
| 181 | int n = x.size(); |
| 182 | for (int i=n; i--; ) |
| 183 | if (x[i].assigned()) { |
| 184 | pm2 ^= x[i].val(); |
| 185 | x[i] = x[--n]; |
| 186 | } else { |
| 187 | // Move to x0 and subscribe |
| 188 | x0=x[i]; x[i]=x[--n]; |
| 189 | x0.subscribe(home,*this,PC_BOOL_VAL,false); |
| 190 | break; |
| 191 | } |
| 192 | x.size(n); |
| 193 | } |
| 194 | } |
| 195 | |
| 196 | }}} |
| 197 |