Gecode::Int::GCC Namespace Reference

Global cardinality propagators (Counting). More...

## Classes

class | Val
| Value consistent global cardinality propagator. More...
class | Bnd
| Bounds consistent global cardinality propagator. More...
class | Dom
| Domain consistent global cardinality propagator. More...
class | UnReachable
| Class for computing unreachable values in the value GCC propagator. More...
class | Rank
| Maps domain bounds to their position in hall[].bounds. More...
class | MaxInc
| Compares two indices i, j of two views according to the ascending order of the views upper bounds. More...
class | MinInc
| Compares two indices i, j of two views according to the ascending order of the views lower bounds. More...
class | MinIdx
| Compares two cardinality views according to the index. More...
class | PartialSum
| Partial sum structure for constant time computation of the maximal capacity of an interval. More...
class | HallInfo
| Container class provding information about the Hall structure of the problem variables. More...
class | Node
| Base class for nodes in the variable-value-graph. More...
class | VarNode
| Variable node More...
class | ValNode
| Value node. More...
class | Edge
| Class for edges in the variable-value-graph. More...
class | VarValGraph
| Variable-value-graph used during propagation. More...
class | CardLess
| Sort by increasing cardinality More...
class | CardConst
| Constant view containing lower and upper cardinality bounds. More...
class | CardView
| Cardinality integer view. More...

## Enumerations

enum | BC { UBC = 1 , LBC = 0 }
| Bounds constraint (BC) type. More...

## Functions

template<class Card>
ExecStatus | prop_card (Space &home, ViewArray< IntView > &x, ViewArray< Card > &k)
| Bounds consistency check for cardinality variables.
template<class Card>
bool | card_consistent (ViewArray< IntView > &x, ViewArray< Card > &k)
| Consistency check, whether the cardinality values are feasible.
template<class Card>
ExecStatus | postSideConstraints (Home home, ViewArray< IntView > &x, ViewArray< Card > &k)
| Post side constraints for the GCC.
template<class Card>
bool | isDistinct (ViewArray< IntView > &x, ViewArray< Card > &k)
| Check if GCC is equivalent to distinct.
template<class Card>
ExecStatus | prop_val (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< Card > &k)
template<class T>
bool | lookupValue (T &a, int v, int &i)
| Return index of v in array a.

## Path compression

Each of the nodes on the path from start to end becomes a direct child of to.
void | pathset_ps (HallInfo hall[], int start, int end, int to)
| Path compression for potentially stable set structure.
void | pathset_s (HallInfo hall[], int start, int end, int to)
| Path compression for stable set structure.
void | pathset_t (HallInfo hall[], int start, int end, int to)
| Path compression for capacity pointer structure.
void | pathset_h (HallInfo hall[], int start, int end, int to)
| Path compression for hall pointer structure.

## Path minimum

Returns the smalles reachable index starting from i.
int | pathmin_h (const HallInfo hall[], int i)
| Path minimum for hall pointer structure.
int | pathmin_t (const HallInfo hall[], int i)
| Path minimum for capacity pointer structure.

## Path maximum

Returns the greatest reachable index starting from i.
int | pathmax_h (const HallInfo hall[], int i)
| Path maximum for hall pointer structure.
int | pathmax_t (const HallInfo hall[], int i)
| Path maximum for capacity pointer structure.
int | pathmax_s (const HallInfo hall[], int i)
| Path maximum for stable set pointer structure.
int | pathmax_ps (const HallInfo hall[], int i)
| Path maximum for potentially stable set pointer structure.

## Detailed Description

Global cardinality propagators (Counting).

## Enumeration Type Documentation

## BC

enum Gecode::Int::GCC::BC

Bounds constraint (BC) type.

If BC = UBC, then we argue about the Upper Bounds Constraint else we use the functions for the Lower Bounds Constraint

Enumerator
UBC |
LBC |

Definition at line 48 of file dom-sup.hpp.

## Function Documentation

## pathset_ps()

void Gecode::Int::GCC::pathset_ps | ( | HallInfo | hall[],
|  | int | start,
|  | int | end,
|  | int | to )

inline

Path compression for potentially stable set structure.

Definition at line 507 of file bnd-sup.hpp.

## pathset_s()

void Gecode::Int::GCC::pathset_s | ( | HallInfo | hall[],
|  | int | start,
|  | int | end,
|  | int | to )

inline

Path compression for stable set structure.

Definition at line 515 of file bnd-sup.hpp.

## pathset_t()

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

inline

Path compression for capacity pointer structure.

Definition at line 523 of file bnd-sup.hpp.

## pathset_h()

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

inline

Path compression for hall pointer structure.

Definition at line 531 of file bnd-sup.hpp.

## pathmin_h()

int Gecode::Int::GCC::pathmin_h | ( | const HallInfo | hall[],
|  | int | i )

inline

Path minimum for hall pointer structure.

Definition at line 549 of file bnd-sup.hpp.

## pathmin_t()

int Gecode::Int::GCC::pathmin_t | ( | const HallInfo | hall[],
|  | int | i )

inline

Path minimum for capacity pointer structure.

Definition at line 556 of file bnd-sup.hpp.

## pathmax_h()

int Gecode::Int::GCC::pathmax_h | ( | const HallInfo | hall[],
|  | int | i )

inline

Path maximum for hall pointer structure.

Definition at line 572 of file bnd-sup.hpp.

## pathmax_t()

int Gecode::Int::GCC::pathmax_t | ( | const HallInfo | hall[],
|  | int | i )

inline

Path maximum for capacity pointer structure.

Definition at line 579 of file bnd-sup.hpp.

## pathmax_s()

int Gecode::Int::GCC::pathmax_s | ( | const HallInfo | hall[],
|  | int | i )

inline

Path maximum for stable set pointer structure.

Definition at line 587 of file bnd-sup.hpp.

## pathmax_ps()

int Gecode::Int::GCC::pathmax_ps | ( | const HallInfo | hall[],
|  | int | i )

inline

Path maximum for potentially stable set pointer structure.

Definition at line 594 of file bnd-sup.hpp.

## postSideConstraints()

template<class Card>

ExecStatus Gecode::Int::GCC::postSideConstraints | ( | Home | home,
|  | ViewArray< IntView > & | x,
|  | ViewArray< Card > & | k )

Post side constraints for the GCC.

Definition at line 60 of file post.hpp.

## isDistinct()

template<class Card>

bool Gecode::Int::GCC::isDistinct | ( | ViewArray< IntView > & | x,
|  | ViewArray< Card > & | k )

inline

Check if GCC is equivalent to distinct.

Definition at line 138 of file post.hpp.

## prop_val()

template<class Card>

ExecStatus Gecode::Int::GCC::prop_val | ( | Space & | home,
|  | Propagator & | p,
|  | ViewArray< IntView > & | x,
|  | ViewArray< Card > & | k )

Definition at line 92 of file val.hpp.

## lookupValue()

template<class T>

bool Gecode::Int::GCC::lookupValue | ( | T & | a,
|  | int | v,
|  | int & | i )

inline

Return index of v in array a.

Definition at line 45 of file view.hpp.