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

Method propagate

gecode/int/bool/eqv.cpp:80–96  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

78 }
79
80 ExecStatus
81 NaryEqv::propagate(Space& home, const ModEventDelta&) {
82 resubscribe(home,x0);
83 resubscribe(home,x1);
84 if (x.size() == 0) {
85 if (x0.assigned() && x1.assigned()) {
86 return (pm2 == 1) ? home.ES_SUBSUMED(*this) : ES_FAILED;
87 } else if (x0.assigned()) {
88 GECODE_ME_CHECK(x1.eq(home,1^pm2));
89 return home.ES_SUBSUMED(*this);
90 } else if (x1.assigned()) {
91 GECODE_ME_CHECK(x0.eq(home,1^pm2));
92 return home.ES_SUBSUMED(*this);
93 }
94 }
95 return ES_FIX;
96 }
97
98}}}
99

Callers

nothing calls this directly

Calls 4

ES_SUBSUMEDMethod · 0.80
sizeMethod · 0.45
assignedMethod · 0.45
eqMethod · 0.45

Tested by

no test coverage detected