38 #ifndef __GECODE_SET_LDSB_HH__
39 #define __GECODE_SET_LDSB_HH__
48 namespace Gecode {
namespace Set {
namespace LDSB {
50 using namespace Int::LDSB;
60 template<
class View,
int n,
class Val,
unsigned int a>
66 typename View::VarType
x,
int i,
126 void updatePart1(
Space& home,
int choicePos);
131 namespace Gecode {
namespace Int {
namespace LDSB {
135 ::symmetric(Literal
l,
const ViewArray<Set::SetView>&
x)
const;
Symmetry-breaking brancher with generic view and value selection.
void post(Home home, Term *t, int n, FloatRelType frt, FloatVal c)
Post propagator for linear constraint over floats.
Base-class for both propagators and branchers.
ValueSymmetryImp< View > ** _copiedSyms
Copy of value symmetries from the first node where the current variable was branched on...
Gecode::FloatVal c(-8, 8)
int _nValueSymmetries
Number of value symmetries.
Gecode::IntArgs i(4, 1, 2, 3, 4)
int n
Number of negative literals for node type.
Implementation of a value symmetry.
int _nCopiedSyms
Number of copied symmetries.
Symmetry-breaking brancher with generic view and value selection.
int _nNonValueSymmetries
Number of non-value symmetries.
Implementation of a single symmetry.
Node * x
Pointer to corresponding Boolean expression node.
Choice for performing commit
virtual ArgArray< Literal > symmetric(Literal, const ViewArray< View > &) const
Compute symmetric literals.
bool(* SetBranchFilter)(const Space &home, SetVar x, int i)
Branch filter function type for set variables.
int _prevPos
Position of previous variable that was branched on.
IntSet _leftBranchValues
Set of values used on left branches for the current variable.
struct Gecode::@518::NNF::@57::@58 b
For binary nodes (and, or, eqv)
Gecode toplevel namespace
Home class for posting propagators
bool _stable
Is the state of the brancher "stable"?