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.
ValSelGq(Space &home, const ValBranch &vb)
Constructor for initialization.
FloatNumBranch val(const Space &home, FloatView x, int i)
Return value of view x at position i.
ValSelLq(Space &home, const ValBranch &vb)
Constructor for initialization.
Value selection class for values smaller than median of view.
FloatNum n
The middle value for branching.
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.
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.
Node * x
Pointer to corresponding Boolean expression node.
FloatNum med(void) const
Return median of domain (closest representation)
ValSelRnd(Space &home, const ValBranch &vb)
Constructor for initialization.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
Archive & operator<<(Archive &e, FloatNumBranch nl)
bool shared(const ConstView< ViewA > &, const ConstView< ViewB > &)
Test whether views share same variable.
Gecode toplevel namespace
Base class for value selection.