Go to the documentation of this file.
42 namespace Gecode {
namespace Float {
namespace Arithmetic {
48 template<
class VA,
class VB>
53 template<
class VA,
class VB>
68 template<
class VA,
class VB>
73 template<
class VA,
class VB>
79 template<
class VA,
class VB>
90 if (x0.assigned() || x1.assigned())
return home.
ES_SUBSUMED(*
this);
135 return new (home)
Sqr<View>(home,share,*
this);
141 assert(x1.min() >= 0);
151 if (x0.min() > -
r.sqrt_up(x1.min()))
153 else if (x0.max() <
r.sqrt_down(x1.min()))
167 template<
class A,
class B>
172 template<
class A,
class B>
188 template<
class A,
class B>
193 template<
class A,
class B>
196 return new (home)
Sqrt<A,B>(home,share,*
this);
199 template<
class A,
class B>
210 if (x0.assigned() || x1.assigned())
return home.
ES_SUBSUMED(*
this);
static ExecStatus post(Home home, VA x0, VB x1)
Post propagator .
ExecStatus ES_SUBSUMED(Propagator &p)
Propagator for bounds consistent square root operator
virtual Actor * copy(Space &home, bool share)
Create copy during cloning.
const Gecode::PropCond PC_FLOAT_BND
Propagate when minimum or maximum of a view changes.
void sqr(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
Post propagator for SetVar SetOpType SetVar SetRelType SetVar z
bool same(const Item &i, const Item &j)
Whether two items are the same.
Base-class for both propagators and branchers.
Sqr(Space &home, bool share, Sqr &p)
Constructor for cloning p.
Sqrt(Space &home, bool share, Sqrt &p)
Constructor for cloning p.
SqrPlus(Home home, VA x0, VB x1)
Constructor for posting.
Propagator for bounds consistent square operator
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
Gecode toplevel namespace
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Home class for posting propagators
void sqrt(Home home, FloatVar x0, FloatVar x1)
Post propagator for .
Post propagator for SetVar SetOpType SetVar SetRelType r
Floating point rounding policy.
static ExecStatus post(Home home, A x0, B x1)
Post propagator for .
@ ES_FIX
Propagation has computed fixpoint.
Bounds consistent positive square propagator.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
FloatVal hull(const FloatVal &x, const FloatVal &y)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home, bool share)
Create copy during cloning.
@ ES_FAILED
Execution has resulted in failure.
static ExecStatus post(Home home, View x0, View x1)
Post propagator for .
int ModEventDelta
Modification event deltas.
@ ES_NOFIX
Propagation has not computed fixpoint.
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
@ ES_OK
Execution is okay.
int p
Number of positive literals for node type.