38namespace Gecode {
namespace Float {
namespace Arithmetic {
44 template<
class VA,
class VB>
49 template<
class VA,
class VB>
64 template<
class VA,
class VB>
69 template<
class VA,
class VB>
75 template<
class VA,
class VB>
86 if (x0.assigned() || x1.assigned())
return home.
ES_SUBSUMED(*
this);
137 assert(x1.min() >= 0);
147 if (x0.min() > -
r.sqrt_up(x1.min()))
149 else if (x0.max() <
r.sqrt_down(x1.min()))
163 template<
class A,
class B>
168 template<
class A,
class B>
184 template<
class A,
class B>
189 template<
class A,
class B>
195 template<
class A,
class B>
206 if (x0.assigned() || x1.assigned())
return home.
ES_SUBSUMED(*
this);
int p
Number of positive literals for node type.
Base-class for both propagators and branchers.
Bounds consistent positive square propagator.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
SqrPlus(Home home, VA x0, VB x1)
Constructor for posting.
static ExecStatus post(Home home, VA x0, VB x1)
Post propagator .
Propagator for bounds consistent square operator
virtual Actor * copy(Space &home)
Create copy during cloning.
static ExecStatus post(Home home, View x0, View x1)
Post propagator for .
Sqr(Space &home, Sqr &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Propagator for bounds consistent square root operator
Sqrt(Space &home, Sqrt &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, A x0, B x1)
Post propagator for .
virtual Actor * copy(Space &home)
Create copy during cloning.
Floating point rounding policy.
Home class for posting propagators
ExecStatus ES_SUBSUMED(Propagator &p)
int ModEventDelta
Modification event deltas.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
FloatVal hull(const FloatVal &x, const FloatVal &y)
const Gecode::PropCond PC_FLOAT_BND
Propagate when minimum or maximum of a view changes.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
void sqr(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
Post propagator for SetVar SetOpType SetVar SetRelType SetVar z
void sqrt(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
@ ES_OK
Execution is okay.
@ ES_FIX
Propagation has computed fixpoint.
@ ES_FAILED
Execution has resulted in failure.
@ ES_NOFIX
Propagation has not computed fixpoint.