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

Method propagate

gecode/int/channel/link-single.cpp:53–69  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51 }
52
53 ExecStatus
54 LinkSingle::propagate(Space& home, const ModEventDelta&) {
55 if (x0.zero()) {
56 GECODE_ME_CHECK(x1.eq(home,0));
57 } else if (x0.one()) {
58 GECODE_ME_CHECK(x1.eq(home,1));
59 } else {
60 assert(x0.none() && x1.assigned());
61 if (x1.val() == 0) {
62 GECODE_ME_CHECK(x0.zero_none(home));
63 } else {
64 assert(x1.val() == 1);
65 GECODE_ME_CHECK(x0.one_none(home));
66 }
67 }
68 return home.ES_SUBSUMED(*this);
69 }
70
71}}}
72

Callers

nothing calls this directly

Calls 9

ES_SUBSUMEDMethod · 0.80
zeroMethod · 0.45
eqMethod · 0.45
oneMethod · 0.45
noneMethod · 0.45
assignedMethod · 0.45
valMethod · 0.45
zero_noneMethod · 0.45
one_noneMethod · 0.45

Tested by

no test coverage detected