34namespace Gecode {
namespace Int {
namespace Channel {
37 LinkMulti::LinkMulti(Home home, ViewArray<BoolView>&
x, IntView
y,
int o0)
39 (home,
x,
y),
c(home), status(S_NONE), o(o0) {
40 x.subscribe(home,*
new (home) Advisor(home,*
this,c));
45 LinkMulti::LinkMulti(Space& home, LinkMulti&
p)
47 (home,
p), status(S_NONE), o(
p.o) {
48 assert(
p.status == S_NONE);
64 for (
int i=0; i<j; i++)
66 for (
int i=j+1; i<
n; i++)
69 for (
int i=0; i<
n; i++)
71 for (
int j=0; j<i; j++)
73 for (
int j=i+1; j<
n; j++)
77 }
else if (
x[i].zero()) {
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
Node * x
Pointer to corresponding Boolean expression node.
Home class for posting propagators
Link propagator for multiple Boolean views.
Integer view for integer variables.
bool assigned(void) const
Test whether view is assigned.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
const Gecode::PropCond PC_BOOL_NONE
Propagation condition to be ignored (convenience)
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar y
@ ES_OK
Execution is okay.
Post propagator for SetVar x
Gecode::FloatVal c(-8, 8)