42 namespace Gecode {
namespace Int {
namespace Unshare {
50 return a->varimp() <
b->varimp();
59 for (
int i=1;
i<
n;
i++)
64 for (
int i=1;
i<
n;
i++)
68 (void) es; assert(es ==
ES_OK);
71 (void) es; assert(es ==
ES_OK);
77 (void) es; assert(es ==
ES_OK);
80 (void) es; assert(es ==
ES_OK);
89 for (
int i=1;
i<
n;
i++)
94 for (
int i=1;
i<
n;
i++)
97 (void) es; assert(es ==
ES_OK);
101 (void) es; assert(es ==
ES_OK);
115 for (
int i=0;
i<
n;
i++)
119 Support::quicksort<Var*,VarPtrLess<Var> >(
y,
n,vpl);
122 for (
int i=0;
i<
n;) {
137 Int::Unshare::unshare<IntVar>(home,
x,
vbd(ipl));
142 Int::Unshare::unshare<BoolVar>(home,
x,
IPL_DEF);
int n
Number of negative literals for node type.
Node * x
Pointer to corresponding Boolean expression node.
struct Gecode::@602::NNF::@65::@67 a
For atomic nodes.
Passing Boolean variables.
Boolean integer variables.
Home class for posting propagators
bool failed(void) const
Check whether corresponding space is failed.
Passing integer variables.
static ExecStatus post(Home home, BVA x0, BVB x1)
Post propagator .
static ExecStatus post(Home home, ViewArray< BV > &x)
Post propagator .
static ExecStatus post(Home home, View0 x0, View1 x1)
Post bounds consistent propagator .
static ExecStatus post(Home home, View0 x0, View1 x1)
Post domain consistent propagator .
static ExecStatus post(Home home, ViewArray< View > &x)
Post bounds consistent propagator .
static ExecStatus post(Home home, ViewArray< View > &x)
Post domain consistent propagator .
Sort order for variables.
bool operator()(const Var *a, const Var *b)
Argument array for variables.
VarImp * varimp(void) const
Return variable implementation of variable.
Base class for variables.
@ ES_OK
Execution is okay.
Post propagator for SetVar SetOpType SetVar y
IntPropLevel
Propagation levels for integer propagators.
@ IPL_DOM
Domain propagation Options: basic versus advanced propagation.
@ IPL_DEF
Simple propagation levels.
IntPropLevel vbd(IntPropLevel ipl)
Extract value, bounds, or domain propagation from propagation level.
const FloatNum max
Largest allowed float value.
const FloatNum min
Smallest allowed float value.
bool assigned(View x, int v)
Whether x is assigned to value v.
void unshare(Home home, VarArgArray< Var > &x, IntPropLevel ipl)
Replace unassigned shared variables by fresh, yet equal variables.
void link(Home home, IntVar **x, int n, IntPropLevel ipl)
Replace by fresh yet equal integer variables.
Gecode::IntArgs i({1, 2, 3, 4})