44 return e << nl.
n << nl.
l;
49 return e >> nl.
n >> nl.
l;
54 namespace Gecode {
namespace Float {
namespace Branch {
65 nl.
n =
x.med(); nl.
l =
true;
78 nl.
n =
x.med(); nl.
l =
false;
93 nl.
n =
x.med(); nl.
l = (
r(2U) == 0U);
Value selection class for random value of view.
Rnd r
The used random number generator.
FloatNumBranch val(const Space &home, FloatView x, int i)
Return value of view x at position i.
Value selection class for values smaller than median of view.
FloatNum n
The middle value for branching.
ValSelLq(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
Value description class for branching.
FloatNumBranch val(const Space &home, FloatView x, int i)
Return value of view x at position i.
FloatNumBranch val(const Space &home, FloatView x, int i)
Return value of view x at position i.
bool l
Whether to try the lower or upper half first.
void dispose(Space &home)
Delete value selection.
Float view for float variables.
Post propagator for SetVar SetOpType SetVar SetRelType r
Value selection class for values smaller than median of view.
void update(Space &home, bool share, SharedHandle &sh)
Updating during cloning.
Archive & operator>>(Archive &e, FloatNumBranch &nl)
Value branching information.
Post propagator for SetVar x
Archive & operator<<(Archive &e, FloatNumBranch nl)
bool shared(const ConstView< ViewA > &, const ConstView< ViewB > &)
Test whether views share same variable.
Gecode toplevel namespace
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
ValSelRnd(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
Base class for value selection.
ValSelGq(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.