38 #ifndef __GECODE_INT_NVALUES_HH__ 39 #define __GECODE_INT_NVALUES_HH__ 49 namespace Gecode {
namespace Int {
namespace NValues {
80 int pos(
int x,
int y)
const;
85 bool get(
int x,
int y)
const;
87 void set(
int x,
int y);
97 namespace Gecode {
namespace Int {
namespace NValues {
108 int size(
void)
const;
127 namespace Gecode {
namespace Int {
namespace NValues {
290 namespace Gecode {
namespace Int {
namespace NValues {
ExecStatus prune_lower(Space &home, int *dis, int n_dis)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static const int VS_ONE
View status: a one has already been encountered.
Greater or equal to number of values propagator for integer views.
Event for range-based overlap analysis.
void add(Space &home)
Add values of assigned views to value set.
virtual PropCost cost(const Space &, const ModEventDelta &) const
Cost function.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
int n_matched
Number of matched edges.
static ExecStatus post(Home home, ViewArray< BoolView > &x, VY y)
Post propagator for .
Less or equal to number of values propagator for Boolean views.
GqInt(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
virtual void reschedule(Space &home)
Schedule function.
Graph(void)
Construct graph as not yet initialized.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Mixed (n+1)-ary propagator.
EqInt(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
LqInt(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
int size(Space &home) const
Return a size estimate based on the union of all values.
Equal to number of values propagator for integer views.
Base-class for propagators.
int val
The value for the range (first or last value, depending on type)
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
LqBool(Home home, int status, ViewArray< BoolView > &x, VY y)
Constructor for posting.
void eliminate(Space &home)
Eliminate subsumed views (all values included in the value set vs)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
ViewArray< IntView > x
Array of views.
int pos(int x, int y) const
Return position in matrix.
EqBool(Home home, int status, ViewArray< BoolView > &x, VY y)
Constructor for posting.
Base-class for both propagators and branchers.
int status
Status information about the views.
static ExecStatus post(Home home, ViewArray< BoolView > &x, VY y)
Post propagator for .
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
VY y
The view for counting the number of values.
struct Gecode::@579::NNF::@61::@63 a
For atomic nodes.
ExecStatus all_in_valset(Space &home)
Propagate that all views must take values from value set.
int p
Number of positive literals for node type.
virtual ExecStatus advise(Space &home, Advisor &a, const Delta &d)
Give advice to propagator.
IntBase(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
ExecStatus prune_upper(Space &home, Graph &g)
ModEventDelta med
A set of modification events (used during propagation)
int view
Which view does this range belong to.
Number of values propagator for Boolean views base class.
static ExecStatus post(Home home, ViewArray< BoolView > &x, VY y)
Post propagator for .
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
virtual Propagator * copy(Space &home, bool share)
Copy propagator during cloning.
GqBool(Home home, int status, ViewArray< BoolView > &x, VY y)
Constructor for posting.
static const int VS_ZERO
View status: a zero has already been encountered.
static ExecStatus post(Home home, ViewArray< IntView > &x, VY y)
Post propagator for .
View-value graph for propagation of upper bound.
virtual Propagator * copy(Space &home, bool share)
Copy propagator during cloning.
View-value graph base class.
ValSet vs
Value set storing the values of already assigned views.
void sync(Space &home)
Synchronize graph with new view domains.
RangeEventType
Event type for range-based overlap analysis.
void set(int x, int y)
Set bit at position x, y.
Post propagator for SetVar SetOpType SetVar SetRelType r
Less or equal to number of values propagator for integer views.
void disjoint(Space &home, Region &r, int *&dis, int &n_dis)
bool operator<(RangeEvent re) const
Order events: first by val, then by event type.
Post propagator for SetVar SetOpType SetVar y
RangeEventType ret
The event type.
Generic domain change information to be supplied to advisors.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Symmetric diagonal bit matrix.
Greater or equal to number of values propagator for Boolean views.
int size(void) const
Return size of maximal matching (excluding assigned views)
Post propagator for SetVar x
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Class for storing values of already assigned views.
SymBitMatrix(Region &r, int n)
Initialize matrix for dimension n by n.
Equal to number of values propagator for Boolean views.
Gecode toplevel namespace
BoolBase(Home home, int status, ViewArray< BoolView > &x, VY y)
Constructor for posting.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Number of values propagator for integer views base class.
int ModEventDelta
Modification event deltas.
Council< ViewAdvisor< BoolView > > c
The advisor council.
Home class for posting propagators
virtual size_t dispose(Space &home)
Delete propagator and return its size.
bool get(int x, int y) const
Is bit at position x, y set?
static ExecStatus post(Home home, ViewArray< IntView > &x, VY y)
Post propagator for .
static ExecStatus post(Home home, ViewArray< IntView > &x, VY y)
Post propagator for .
void init(Space &home, const ValSet &vs, const ViewArray< IntView > &x)
Initialize graph including values in vs.
virtual Propagator * copy(Space &home, bool share)
Copy propagator during cloning.
ExecStatus prune(Space &home)
Prune all values corresponding to unused edges.