| 79 | |
| 80 | template<class View0, class View1, ReifyMode rm, bool strict> |
| 81 | ExecStatus |
| 82 | ReLq<View0,View1,rm,strict>::post(Home home, View0 x0, View1 x1, |
| 83 | Gecode::Int::BoolView b) { |
| 84 | if (!same(x0,x1)) { |
| 85 | (void) new (home) ReLq<View0,View1,rm,strict>(home,x0,x1,b); |
| 86 | } else { |
| 87 | if (strict) { |
| 88 | if (rm != RM_PMI) { |
| 89 | GECODE_ME_CHECK(b.zero(home)); |
| 90 | } |
| 91 | } else { |
| 92 | if (rm != RM_IMP) { |
| 93 | GECODE_ME_CHECK(b.one(home)); |
| 94 | } |
| 95 | } |
| 96 | } |
| 97 | return ES_OK; |
| 98 | } |
| 99 | |
| 100 | template<class View0, class View1, ReifyMode rm, bool strict> |
| 101 | Actor* |