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

Method propagate

gecode/int/linear/bool-int.hpp:179–194  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

177
178 template<class VX>
179 ExecStatus
180 GqBoolInt<VX>::propagate(Space& home, const ModEventDelta&) {
181 // Check for failure due to a disabled propagator
182 if (x.size() - n_hs + n_as < c)
183 return ES_FAILED;
184 if (c > 0) {
185 assert((n_as == c) && (x.size() == n_hs));
186 // Signal that propagator is running
187 n_as = 0;
188 // All views must be one to satisfy inequality
189 for (int i=0; i<n_hs; i++)
190 if (x[i].none())
191 GECODE_ME_CHECK(x[i].one_none(home));
192 }
193 return home.ES_SUBSUMED(*this);
194 }
195
196 template<class VX>
197 ExecStatus

Callers

nothing calls this directly

Calls 10

ES_SUBSUMEDMethod · 0.80
normalizeFunction · 0.70
postFunction · 0.70
negFunction · 0.50
sizeMethod · 0.45
noneMethod · 0.45
one_noneMethod · 0.45
zero_noneMethod · 0.45
zeroMethod · 0.45
oneMethod · 0.45

Tested by

no test coverage detected