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

Method propagate

gecode/int/order/propagate.cpp:55–73  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

53 }
54
55 ExecStatus
56 OrderProp::propagate(Space& home, const ModEventDelta&) {
57 if (s0.max() + p0 <= s1.min()) {
58 GECODE_ME_CHECK(b.zero(home));
59 return home.ES_SUBSUMED(*this);
60 } else if (s1.max() + p1 <= s0.min()) {
61 GECODE_ME_CHECK(b.one(home));
62 return home.ES_SUBSUMED(*this);
63 } else if ((s1.min() + p1 > s0.max()) || b.zero()) {
64 GECODE_ME_CHECK(b.zero(home));
65 GECODE_REWRITE(*this,(Rel::Lq<OffsetView,IntView>::post
66 (home(*this),OffsetView(s0,p0),s1)));
67 } else if ((s0.min() + p0 > s1.max()) || b.one()) {
68 GECODE_ME_CHECK(b.one(home));
69 GECODE_REWRITE(*this,(Rel::Lq<OffsetView,IntView>::post
70 (home(*this),OffsetView(s1,p1),s0)));
71 }
72 return ES_FIX;
73 }
74
75 size_t
76 OrderProp::dispose(Space& home) {

Callers

nothing calls this directly

Calls 7

ES_SUBSUMEDMethod · 0.80
postFunction · 0.50
OffsetViewClass · 0.50
maxMethod · 0.45
minMethod · 0.45
zeroMethod · 0.45
oneMethod · 0.45

Tested by

no test coverage detected