Generated on Sat Feb 7 2015 02:01:47 for Gecode by doxygen 1.8.9.1
Gecode::Int::Distinct Namespace Reference

Distinct propagators More...

Classes

class  Bnd
 Bounds consistent distinct propagator. More...
 
class  Dom
 Domain consistent distinct propagator. More...
 
class  DomCtrl
 Propagation controller for domain consistent distinct. More...
 
class  Graph
 View-value graph for propagation. More...
 
class  HallInfo
 Information on Hall intervals. More...
 
class  MaxIncIdx
 Sort-order by increasing maximum (by index) More...
 
class  MinInc
 Sort-order by increasing minimum (direct) More...
 
class  MinIncIdx
 Sort-order by increasing minimum (by index) More...
 
class  Rank
 Rank information More...
 
class  TerDom
 Ternary domain consistent distinct propagator. More...
 
class  Val
 Naive value distinct propagator. More...
 

Functions

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

Detailed Description

Distinct propagators

Function Documentation

template<class IntType >
void Gecode::Int::Distinct::pathset_t ( HallInfo< IntType >  hall[],
IntType  start,
IntType  end,
IntType  to 
)
inline

Definition at line 143 of file bnd.hpp.

template<class IntType >
void Gecode::Int::Distinct::pathset_h ( HallInfo< IntType >  hall[],
IntType  start,
IntType  end,
IntType  to 
)
inline

Definition at line 153 of file bnd.hpp.

template<class IntType >
IntType Gecode::Int::Distinct::pathmin_h ( const HallInfo< IntType >  hall[],
IntType  i 
)
inline

Definition at line 163 of file bnd.hpp.

template<class IntType >
IntType Gecode::Int::Distinct::pathmin_t ( const HallInfo< IntType >  hall[],
IntType  i 
)
inline

Definition at line 171 of file bnd.hpp.

template<class IntType >
IntType Gecode::Int::Distinct::pathmax_h ( const HallInfo< IntType >  hall[],
IntType  i 
)
inline

Definition at line 179 of file bnd.hpp.

template<class IntType >
IntType Gecode::Int::Distinct::pathmax_t ( const HallInfo< IntType >  hall[],
IntType  i 
)
inline

Definition at line 187 of file bnd.hpp.

template<class View , class IntType >
ExecStatus Gecode::Int::Distinct::prop_bnd ( Space home,
ViewArray< View > &  x,
int *  minsorted,
int *  maxsorted 
)
inline

Definition at line 195 of file bnd.hpp.

template<class View >
ExecStatus Gecode::Int::Distinct::prop_bnd ( Space home,
ViewArray< View > &  x,
int &  min_x,
int &  max_x 
)
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.

Definition at line 306 of file bnd.hpp.

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

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.

Definition at line 368 of file bnd.hpp.

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

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.hpp.