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] |
void Gecode::Int::Distinct::pathset_h | ( | HallInfo | hall[], | |
int | start, | |||
int | end, | |||
int | to | |||
) | [inline] |
int Gecode::Int::Distinct::pathmin_h | ( | const HallInfo | hall[], | |
int | i | |||
) | [inline] |
int Gecode::Int::Distinct::pathmin_t | ( | const HallInfo | hall[], | |
int | i | |||
) | [inline] |
int Gecode::Int::Distinct::pathmax_h | ( | const HallInfo | hall[], | |
int | i | |||
) | [inline] |
int Gecode::Int::Distinct::pathmax_t | ( | const HallInfo | hall[], | |
int | i | |||
) | [inline] |
template<class View>
ExecStatus Gecode::Int::Distinct::prop_bnd | ( | Space * | home, | |
ViewArray< View > & | x | |||
) | [inline] |
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.
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.