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

Function prop_pow_plus_bnd

gecode/int/arithmetic/pow.hpp:46–73  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44 */
45 template<class VA, class VB, class Ops>
46 inline ExecStatus
47 prop_pow_plus_bnd(Space& home, VA x0, VB x1, const Ops& ops) {
48 bool mod;
49 do {
50 mod = false;
51 {
52 ModEvent me = x0.lq(home,ops.fnroot(x1.max()));
53 if (me_failed(me)) return ES_FAILED;
54 mod |= me_modified(me);
55 }
56 {
57 ModEvent me = x0.gq(home,ops.cnroot(x1.min()));
58 if (me_failed(me)) return ES_FAILED;
59 mod |= me_modified(me);
60 }
61 {
62 ModEvent me = x1.lq(home,ops.pow(x0.max()));
63 if (me_failed(me)) return ES_FAILED;
64 mod |= me_modified(me);
65 }
66 {
67 ModEvent me = x1.gq(home,ops.pow(x0.min()));
68 if (me_failed(me)) return ES_FAILED;
69 mod |= me_modified(me);
70 }
71 } while (mod);
72 return ES_OK;
73 }
74
75 template<class VA, class VB, class Ops>
76 forceinline

Callers 2

postMethod · 0.85
propagateMethod · 0.85

Calls 9

me_failedFunction · 0.85
me_modifiedFunction · 0.85
fnrootMethod · 0.80
cnrootMethod · 0.80
lqMethod · 0.45
maxMethod · 0.45
gqMethod · 0.45
minMethod · 0.45
powMethod · 0.45

Tested by

no test coverage detected