| 65 | |
| 66 | template<class A, class B> |
| 67 | ExecStatus |
| 68 | Channel<A,B>::propagate(Space& home, const ModEventDelta&) { |
| 69 | GECODE_ME_CHECK(x1.gq(home,static_cast<int>(std::ceil(x0.min())))); |
| 70 | GECODE_ME_CHECK(x1.lq(home,static_cast<int>(std::floor(x0.max())))); |
| 71 | GECODE_ME_CHECK(x0.eq(home,FloatVal(x1.min(),x1.max()))); |
| 72 | return x0.assigned() ? home.ES_SUBSUMED(*this) : ES_FIX; |
| 73 | } |
| 74 | |
| 75 | }}} |
| 76 |