42 namespace Gecode {
namespace Float {
namespace Branch {
54 if ((a == 0) == nl.
l) {
55 if ((x.
min() == nl.
n) || (x.
max() == nl.
n))
56 return x.
eq(home,x.
min());
58 return x.
lq(home,nl.
n);
60 if ((x.
min() == nl.
n) || (x.
max() == nl.
n))
61 return x.
eq(home,x.
max());
63 return x.
gq(home,nl.
n);
73 std::ostream& o)
const {
74 o <<
"var[" << i <<
"] "
75 << (((a == 0) == nl.
l) ?
"<=" :
">=") <<
"(" << nl.
n <<
")";
FloatNum min(void) const
Return minimum of domain.
ModEvent gq(Space &home, int n)
Restrict domain values to be greater or equal than n.
Value commit class for less or equal or greater or equal.
int ModEvent
Type for modification events.
ValCommitLqGq(Space &home, const ValBranch &vb)
Constructor for initialization.
ModEvent commit(Space &home, unsigned int a, FloatView x, int i, FloatNumBranch n)
Commit view x at position i to value n for alternative a.
ModEvent eq(Space &home, int n)
Restrict domain values to be equal to n.
void print(const Space &home, unsigned int a, FloatView x, int i, FloatNumBranch n, std::ostream &o) const
Print on o the alternative with view x at position i and value n.
Base class for value commit.
Gecode::IntArgs i(4, 1, 2, 3, 4)
FloatNum n
The middle value for branching.
Value description class for branching.
bool l
Whether to try the lower or upper half first.
Float view for float variables.
Value branching information.
Node * x
Pointer to corresponding Boolean expression node.
NGL * ngl(Space &home, unsigned int a, FloatView x, FloatNumBranch n) const
Create no-good literal for alternative a.
bool shared(const ConstView< ViewA > &, const ConstView< ViewB > &)
Test whether views share same variable.
FloatNum max(void) const
Return maximum of domain.
Gecode toplevel namespace
ModEvent lq(Space &home, int n)
Restrict domain values to be less or equal than n.
struct Gecode::@518::NNF::@57::@59 a
For atomic nodes.
No-good literal recorded during search.