| 198 | } |
| 199 | |
| 200 | forceinline ExecStatus |
| 201 | ConflictGraph::clique(void) { |
| 202 | // Remember clique |
| 203 | if ((cur.c > max.c) || ((cur.c == max.c) && (cur.w > max.w))) { |
| 204 | max.n.copy(nodes(),cur.n); max.c=cur.c; max.w=cur.w; |
| 205 | if (max.c > bins) |
| 206 | return ES_FAILED; |
| 207 | } |
| 208 | // Compute corresponding variables |
| 209 | ViewArray<IntView> bv(home,static_cast<int>(cur.c)); |
| 210 | int i=0; |
| 211 | for (Nodes c(cur.n); c() < nodes(); ++c) |
| 212 | bv[i++] = b[c()]; |
| 213 | assert(i == static_cast<int>(cur.c)); |
| 214 | return Distinct::Dom<IntView>::post(home,bv); |
| 215 | } |
| 216 | |
| 217 | forceinline ExecStatus |
| 218 | ConflictGraph::clique(int i) { |