Generated on Mon Aug 25 11:35:51 2008 for Gecode by doxygen 1.5.6

Gecode::Int::Distinct Namespace Reference


Detailed Description

Distinct propagators


Classes

class  Rank
 Rank information. More...
class  MaxInc
 Sort-order by increasing maximum. More...
class  MinInc
 Sort-order by increasing minimum. More...
class  HallInfo
 Information on Hall intervals. More...
class  CombPtrFlag
 Class for combining two pointers with a flag. More...
class  BiLink
 Bidirectional links for both edges and anchors in nodes of view-value graph. More...
class  Node
 Base-class for nodes (both view and value nodes). More...
class  ValNode
 Value nodes in view-value graph. More...
class  ViewNode
 View nodes in view-value graph. More...
class  Edge
 Edges in view-value graph. More...
class  PruneVal
 Prunes the values read from a view node. More...
class  Val
 Naive value distinct propagator. More...
class  Bnd
 Bounds consistent distinct propagator. More...
class  DomCtrl
 Propagation controller for domain consistent distinct. More...
class  Dom
 Domain consistent distinct propagator. More...
class  TerDom
 Ternary domain consistent distinct propagator. More...

Functions

void pathset_t (HallInfo hall[], int start, int end, int to)
void pathset_h (HallInfo hall[], int start, int end, int to)
int pathmin_h (const HallInfo hall[], int i)
int pathmin_t (const HallInfo hall[], int i)
int pathmax_h (const HallInfo hall[], int i)
int pathmax_t (const HallInfo hall[], int i)
template<class View>
ExecStatus prop_bnd (Space *home, ViewArray< View > &x)
template<class View, bool complete>
ExecStatus prop_val (Space *home, ViewArray< View > &)
 Eliminate singletons by naive value propagation.
template<class View>
ExecStatus prop_bnd (Space *home, ViewArray< View > &x, int m)
 Perform bounds consistent distinct propagation.


Function Documentation

void Gecode::Int::Distinct::pathset_t ( HallInfo  hall[],
int  start,
int  end,
int  to 
) [inline]

Definition at line 132 of file bnd.icc.

void Gecode::Int::Distinct::pathset_h ( HallInfo  hall[],
int  start,
int  end,
int  to 
) [inline]

Definition at line 140 of file bnd.icc.

int Gecode::Int::Distinct::pathmin_h ( const HallInfo  hall[],
int  i 
) [inline]

Definition at line 148 of file bnd.icc.

int Gecode::Int::Distinct::pathmin_t ( const HallInfo  hall[],
int  i 
) [inline]

Definition at line 155 of file bnd.icc.

int Gecode::Int::Distinct::pathmax_h ( const HallInfo  hall[],
int  i 
) [inline]

Definition at line 162 of file bnd.icc.

int Gecode::Int::Distinct::pathmax_t ( const HallInfo  hall[],
int  i 
) [inline]

Definition at line 169 of file bnd.icc.

template<class View>
ExecStatus Gecode::Int::Distinct::prop_bnd ( Space *  home,
ViewArray< View > &  x 
) [inline]

Definition at line 180 of file bnd.icc.

template<class View, bool complete>
ExecStatus Gecode::Int::Distinct::prop_val ( Space *  home,
ViewArray< View > &   
) [inline]

Eliminate singletons by naive value propagation.

This is actually the propagation algorithm for Distinct::Val. It is available as separate function as it is reused for both bounds consistent and domain consistent distinct propagators.

If complete is true, computes fixpoint, otherwise might not compute fixpoint. This can be helpful when used together with bounds or domain propagation to protect from pathological cases which can be handled more efficiently with bounds propagation.

Definition at line 46 of file val.icc.

template<class View>
ExecStatus Gecode::Int::Distinct::prop_bnd ( Space *  home,
ViewArray< View > &  x,
int  m 
) [inline]

Perform bounds consistent distinct propagation.

This is actually the propagation algorithm for Distinct::Bnd. It is available as separate function as it is reused for both bounds consistent and domain consistent distinct propagators.