Gecode::Int::Distinct Namespace Reference

Distinct propagators More...

## Classes

class | Val
| Naive value distinct propagator. More...
class | Bnd
| Bounds consistent distinct propagator. More...
class | Graph
| View-value graph for propagation. 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...
class | EqIte
| Equal-if-then-else domain-consistent propagator. More...
class | Rank
| Rank information More...
class | MaxIncIdx
| Sort-order by increasing maximum (by index). More...
class | MinIncIdx
| Sort-order by increasing minimum (by index). More...
class | MinInc
| Sort-order by increasing minimum (direct). More...
class | HallInfo
| Information on Hall intervals. More...

## Functions

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 &min_x, int &max_x)
| Perform bounds consistent distinct propagation.
template<class View>
ExecStatus | prop_bnd (Space &home, ViewArray< View > &x)
| Perform bounds consistent distinct propagation.
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)

## Detailed Description

Distinct propagators

## Function Documentation

## prop_val()

template<class View, bool complete>

ExecStatus Gecode::Int::Distinct::prop_val | ( | Space & | home,
|  | ViewArray< View > & | x )

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 42 of file val.hpp.

## prop_bnd() [1/3]

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 308 of file bnd.hpp.

## prop_bnd() [2/3]

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 370 of file bnd.hpp.

## pathset_t()

template<class IntType>

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

inline

Definition at line 145 of file bnd.hpp.

## pathset_h()

template<class IntType>

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

inline

Definition at line 155 of file bnd.hpp.

## pathmin_h()

template<class IntType>

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

inline

Definition at line 165 of file bnd.hpp.

## pathmin_t()

template<class IntType>

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

inline

Definition at line 173 of file bnd.hpp.

## pathmax_h()

template<class IntType>

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

inline

Definition at line 181 of file bnd.hpp.

## pathmax_t()

template<class IntType>

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

inline

Definition at line 189 of file bnd.hpp.

## prop_bnd() [3/3]

template<class View, class IntType>

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

inline

Definition at line 197 of file bnd.hpp.