40 namespace Gecode {
namespace Float {
namespace Arithmetic {
46 template<
class A,
class B,
class C>
51 template<
class A,
class B,
class C>
56 template<
class A,
class B,
class C>
59 return new (home)
Div<A,B,C>(home,share,*
this);
62 template<
class A,
class B,
class C>
69 template<
class A,
class B,
class C>
72 if (x1.assigned() && (x1.val() == 0))
return ES_FAILED;
75 if (!x2.assigned() || (x2.val() != 0))
GECODE_ME_CHECK(x1.eq(home,x0.domain() / x2.domain()));
ExecStatus ES_SUBSUMED(Propagator &p)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Base-class for both propagators and branchers.
int p
Number of positive literals for node type.
Execution has resulted in failure.
Mixed ternary propagator.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
Div(Space &home, bool share, Div &p)
Constructor for cloning p.
Propagation has not computed fixpoint.
static ExecStatus post(Home home, A x0, B x1, C x2)
Post propagator for .
const Gecode::PropCond PC_FLOAT_BND
Propagate when minimum or maximum of a view changes.
Gecode toplevel namespace
Propagator for bounds multiplication operator
virtual Actor * copy(Space &home, bool share)
Create copy during cloning.
int ModEventDelta
Modification event deltas.
Home class for posting propagators