| 56 | |
| 57 | template<class BV> |
| 58 | inline ExecStatus |
| 59 | Lq<BV>::post(Home home, BV b0, BV b1) { |
| 60 | if (b0.zero()) { |
| 61 | return ES_OK; |
| 62 | } else if (b0.one()) { |
| 63 | GECODE_ME_CHECK(b1.one(home)); |
| 64 | } else if (b1.zero()) { |
| 65 | GECODE_ME_CHECK(b0.zero(home)); |
| 66 | } else if (b1.one()) { |
| 67 | return ES_OK; |
| 68 | } else { |
| 69 | (void) new (home) Lq<BV>(home,b0,b1); |
| 70 | } |
| 71 | return ES_OK; |
| 72 | } |
| 73 | |
| 74 | template<class BV> |
| 75 | ExecStatus |