40 namespace Gecode {
namespace Int {
namespace Channel {
65 while ((i<x.
size()) && !x[i].zero())
81 }
while ((i<x.
size()) && !x[i].zero());
87 return new (home)
LinkMulti(home,share,*
this);
130 assert((
y.
min()-o >= 0) && (
y.
max()-o <
n));
136 for (
int i=0;
i<j;
i++)
138 for (
int i=j+1;
i<
n;
i++)
144 if (status == S_ONE) {
146 for (
int i=0;
true;
i++)
148 for (
int j=0; j<
i; j++)
150 for (
int j=
i+1; j<
n; j++)
178 while ((
i <
n) &&
x[
i].zero())
i++;
187 while ((
i >= 0) &&
x[
i].zero())
i--;
207 assert((
n >= 2) &&
x[0].none() &&
x[
n-1].none());
208 assert((
y.
min()-o == 0) && (
y.
max()-o ==
n-1));
225 }
while (
v() && (
i <
n));
int val(void) const
Return assigned value (only if assigned)
virtual void reschedule(Space &home)
Schedule function.
static PropCost linear(PropCost::Mod m, unsigned int n)
Linear complexity for modifier pcm and size measure n.
ExecStatus ES_SUBSUMED(Propagator &p)
bool one(const Gecode::FloatValArgs &a)
Check whether has only one coefficients.
ModEvent eq(Space &home, int n)
Restrict domain values to be equal to n.
bool one(void) const
Test whether view is assigned to be one.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
virtual ExecStatus advise(Space &home, Advisor &a, const Delta &d)
Give advice to propagator.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Class to iterate over advisors of a council.
ViewArray< BoolView > x
Array of views.
void reschedule(Space &home, Propagator &p, PropCond pc)
Re-schedule propagator p with propagation condition pc.
Propagation has computed fixpoint.
bool operator()(void) const
Test whether further values available.
static PropCost unary(PropCost::Mod m)
Single variable for modifier pcm.
Base-class for both propagators and branchers.
ModEvent minus_v(Space &home, I &i, bool depends=true)
Remove from domain the values described by i.
Gecode::IntArgs i(4, 1, 2, 3, 4)
void drop_lst(int i)
Drop views from positions i+1 to size()-1 from array.
int n
Number of negative literals for node type.
void operator++(void)
Move to the next value.
Execution has resulted in failure.
ModEvent lq(Space &home, int n)
Restrict domain values to be less or equal than n.
const Gecode::ModEvent ME_INT_VAL
Domain operation has resulted in a value (assigned variable)
ModEventDelta med
A set of modification events (used during propagation)
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
int min(void) const
Return minimum of domain.
const Gecode::ModEvent ME_INT_BND
Domain operation has changed the minimum or maximum of the domain.
void drop_fst(int i)
Drop views from positions 0 to i-1 from array.
void cancel(Space &home, Propagator &p, PropCond pc)
Cancel subscription of propagator p with propagation condition pc to all views.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
bool assigned(void) const
Test whether view is assigned.
int val(void) const
Return value.
Generic domain change information to be supplied to advisors.
const Gecode::ModEvent ME_INT_DOM
Domain operation has changed the domain.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
Iterates the values to be removed as defined by an array of Boolean views.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (low unary if y is assigned, low linear otherwise)
static ModEvent me(const ModEventDelta &med)
Return modification event for view type in med.
ModEvent gq(Space &home, int n)
Restrict domain values to be greater or equal than n.
Post propagator for SetVar x
BoolIter(const ViewArray< BoolView > &x0, int o0)
Initialize iterator.
Propagation has not computed fixpoint.
Gecode toplevel namespace
int max(void) const
Return maximum of domain.
Link propagator for multiple Boolean views.
static void schedule(Space &home, Propagator &p, ModEvent me)
Schedule propagator p with modification event me.
int ModEventDelta
Modification event deltas.
int size(void) const
Return size of array (number of elements)
#define GECODE_NEVER
Assert that this command is never executed.
A & advisor(void) const
Return advisor.
const Gecode::ModEvent ME_BOOL_VAL
Domain operation has resulted in a value (assigned variable)