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

Method propagate

gecode/int/count/view-lq.hpp:68–87  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66
67 template<class VX, class VY, class VZ, bool shr>
68 ExecStatus
69 LqView<VX,VY,VZ,shr>::propagate(Space& home, const ModEventDelta&) {
70 count(home);
71 GECODE_ME_CHECK(z.gq(home,atleast()));
72
73 if (z.max() == atleast()) {
74 GECODE_ES_CHECK(post_false(home,x,y));
75 return home.ES_SUBSUMED(*this);
76 }
77
78 if (x.size() == 0)
79 return home.ES_SUBSUMED(*this);
80
81 if (z.assigned()) {
82 VY yc(y);
83 GECODE_REWRITE(*this,(LqInt<VX,VY>::post(home(*this),x,yc,z.val()+c)));
84 }
85
86 return shr ? ES_NOFIX : ES_FIX;
87 }
88
89}}}
90

Callers

nothing calls this directly

Calls 9

atleastFunction · 0.85
ES_SUBSUMEDMethod · 0.80
countFunction · 0.50
postFunction · 0.50
gqMethod · 0.45
maxMethod · 0.45
sizeMethod · 0.45
assignedMethod · 0.45
valMethod · 0.45

Tested by

no test coverage detected