MCPcopy Create free account
hub / github.com/Gecode/gecode / ExecStatus prop_mult_dom

Function ExecStatus prop_mult_dom

gecode/int/arithmetic/mult.hpp:271–288  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

269 */
270 template<class View>
271 forceinline ExecStatus
272 prop_mult_dom(Space& home, Propagator& p, View x0, View x1, View x2) {
273 Region r;
274 SupportValues<View,Region> s0(r,x0), s1(r,x1), s2(r,x2);
275 while (s0()) {
276 while (s1()) {
277 if (s2.support(mll(s0.val(),s1.val()))) {
278 s0.support(); s1.support();
279 }
280 ++s1;
281 }
282 s1.reset(); ++s0;
283 }
284 GECODE_ME_CHECK(s0.tell(home));
285 GECODE_ME_CHECK(s1.tell(home));
286 GECODE_ME_CHECK(s2.tell(home));
287 return x0.assigned() && x1.assigned() ? home.ES_SUBSUMED(p) : ES_FIX;
288 }
289
290 template<class VA, class VB, class VC>
291 forceinline

Callers

nothing calls this directly

Calls 7

mllFunction · 0.85
ES_SUBSUMEDMethod · 0.80
supportMethod · 0.45
valMethod · 0.45
resetMethod · 0.45
tellMethod · 0.45
assignedMethod · 0.45

Tested by

no test coverage detected