MCPcopy Create free account
hub / github.com/Gecode/gecode / propagate

Method propagate

gecode/float/arithmetic/div.hpp:68–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66
67 template<class A, class B, class C>
68 ExecStatus
69 Div<A,B,C>::propagate(Space& home, const ModEventDelta&) {
70 if (x1.assigned() && (x1.val() == 0)) return ES_FAILED;
71 GECODE_ME_CHECK(x2.eq(home,x0.domain() / x1.domain()));
72 GECODE_ME_CHECK(x0.eq(home,x2.domain() * x1.domain()));
73 if (!x2.assigned() || (x2.val() != 0.0))
74 GECODE_ME_CHECK(x1.eq(home,x0.domain() / x2.domain()));
75 return (x0.assigned() && x1.assigned()) ? home.ES_SUBSUMED(*this) : ES_NOFIX;
76 }
77
78}}}
79

Callers

nothing calls this directly

Calls 5

ES_SUBSUMEDMethod · 0.80
assignedMethod · 0.45
valMethod · 0.45
eqMethod · 0.45
domainMethod · 0.45

Tested by

no test coverage detected