Generated on Wed Nov 1 15:04:57 2006 for Gecode by doxygen 1.4.5

# Integer propagators [Other available functionality]

Collaboration diagram for Integer propagators:

## Detailed Description

This module contains a description of all predefined integer propagators. They can be reused, for example, for rewriting newly defined integer propagators into already available propagators.

## Classes

class  Gecode::Int::Arithmetic::AbsBnd< View >
Bounds-consistent absolute value propagator. More...
class  Gecode::Int::Arithmetic::AbsDom< View >
Domain-consistent absolute value propagator. More...
class  Gecode::Int::Arithmetic::Max< View >
Bounds-consistent ternary maximum propagator. More...
class  Gecode::Int::Arithmetic::NaryMax< View >
Bounds-consistent n-ary maximum propagator. More...
class  Gecode::Int::Arithmetic::Square< View >
Bounds-consistent square propagator. More...
class  Gecode::Int::Arithmetic::Mult< View >
Bounds-consistent multiplication propagator. More...
class  Gecode::Int::Bool::Eq< BVA, BVB >
Boolean equality propagator. More...
class  Gecode::Int::Bool::OrTrue< BVA, BVB >
Boolean disjunction propagator (true). More...
class  Gecode::Int::Bool::Or< BVA, BVB, BVC >
Boolean disjunction propagator. More...
class  Gecode::Int::Bool::NaryOr< View >
Boolean n-ary disjunction propagator. More...
class  Gecode::Int::Bool::NaryOrTrue< View >
Boolean n-ary disjunction propagator (true). More...
class  Gecode::Int::Bool::Eqv< BVA, BVB, BVC >
Boolean equivalence propagator. More...
class  Gecode::Int::Channel::Val< View >
Naive channel propagator. More...
class  Gecode::Int::Channel::Dom< View >
Domain-consistent channel propagator. More...
class  Gecode::Int::Count::EqInt< VX, VY >
Propagator for counting views (equal integer to number of equal views) More...
class  Gecode::Int::Count::GqInt< VX, VY >
Propagator for counting views (greater or equal integer to number of equal views) More...
class  Gecode::Int::Count::LqInt< VX, VY >
Propagator for counting views (less or equal integer to number of equal views) More...
class  Gecode::Int::Count::NqInt< VX, VY >
Propagator for counting views (not equal integer to number of equal views) More...
class  Gecode::Int::Count::EqView< VX, VY, VZ, shr >
Propagator for counting views (equal to number of equal views) More...
class  Gecode::Int::Count::NqView< VX, VY, VZ, shr >
Propagator for counting views (different from number of equal views) More...
class  Gecode::Int::Count::LqView< VX, VY, VZ, shr >
Propagator for counting views (less or equal to number of equal views) More...
class  Gecode::Int::Count::GqView< VX, VY, VZ, shr >
Propagator for counting views (greater or equal to number of equal views) More...
class  Gecode::Int::Cumulatives::Val< ViewM, ViewD, ViewH, View >
Propagator for the cumulatives constraint. More...
class  Gecode::Int::Distinct::Val< View >
Naive value distinct propagator. More...
class  Gecode::Int::Distinct::Bnd< View >
Bounds-consistent distinct propagator. More...
class  Gecode::Int::Distinct::DomCtrl< View >
Propagation controller for domain-consistent distinct. More...
class  Gecode::Int::Distinct::Dom< View >
Domain-consistent distinct propagator. More...
class  Gecode::Int::Distinct::TerDom< View >
Ternary domain-consistent distinct propagator. More...
class  Gecode::Int::Dom::ReRange< View >
Reified range dom-propagator. More...
class  Gecode::Int::Dom::ReIntSet< View >
Reified domain dom-propagator. More...
class  Gecode::Int::Element::Int< ViewA, ViewB >
Element propagator for array of integers More...
class  Gecode::Int::Element::ViewBnd< ViewA, ViewB >
Bounds-consistent element propagator for array of views. More...
class  Gecode::Int::Element::ViewDom< ViewA, ViewB >
Domain-consistent element propagator for array of views. More...
class  Gecode::Int::GCC::Bnd< View, Card, isView >
Bounds-consistent global cardinality propagator. More...
class  Gecode::Int::GCC::Dom< View, Card, isView >
Domain-consistent global cardinality propagator. More...
class  Gecode::Int::GCC::Val< View, Card, isView >
Value consistent global cardinality propagator. More...
class  Gecode::Int::Linear::EqBin< Val, A, B >
Propagator for bounds-consistent binary linear equality More...
class  Gecode::Int::Linear::ReEqBin< Val, A, B, Ctrl >
Propagator for reified bounds-consistent binary linear equality More...
class  Gecode::Int::Linear::NqBin< Val, A, B >
Propagator for bounds-consistent binary linear disequality More...
class  Gecode::Int::Linear::LqBin< Val, A, B >
Propagator for bounds-consistent binary linear less or equal More...
class  Gecode::Int::Linear::GqBin< Val, A, B >
Propagator for bounds-consistent binary linear greater or equal More...
class  Gecode::Int::Linear::ReLqBin< Val, A, B >
Propagator for reified bounds-consistent binary linear less or equal More...
class  Gecode::Int::Linear::EqTer< Val, A, B, C >
Propagator for bounds-consistent ternary linear equality More...
class  Gecode::Int::Linear::NqTer< Val, A, B, C >
Propagator for bounds-consistent ternary linear disquality More...
class  Gecode::Int::Linear::LqTer< Val, A, B, C >
Propagator for bounds-consistent ternary linear less or equal More...
class  Gecode::Int::Linear::Eq< Val, P, N >
Propagator for bounds-consistent n-ary linear equality More...
class  Gecode::Int::Linear::DomEq< Val, View >
Propagator for domain-consistent n-ary linear equality More...
class  Gecode::Int::Linear::ReEq< Val, P, N, Ctrl >
Propagator for reified bounds-consistent n-ary linear equality More...
class  Gecode::Int::Linear::Nq< Val, P, N >
Propagator for bounds-consistent n-ary linear disequality More...
class  Gecode::Int::Linear::Lq< Val, P, N >
Propagator for bounds-consistent n-ary linear less or equal More...
class  Gecode::Int::Linear::ReLq< Val, P, N >
Propagator for reified bounds-consistent n-ary linear less or equal More...
class  Gecode::Int::Linear::EqBoolInt< VX >
Propagator for integer equal to Boolean sum (cardinality) More...
class  Gecode::Int::Linear::GqBoolInt< VX >
Propagator for integer less or equal to Boolean sum (cardinality) More...
class  Gecode::Int::Linear::NqBoolInt< VX >
Propagator for integer disequal to Boolean sum (cardinality) More...
class  Gecode::Int::Linear::EqBoolView< XV, YV >
Propagator for equality to Boolean sum (cardinality) More...
class  Gecode::Int::Linear::NqBoolView< XV, YV >
Propagator for disequality to Boolean sum (cardinality) More...
class  Gecode::Int::Linear::GqBoolView< XV, YV >
Propagator for greater or equal to Boolean sum (cardinality) More...
class  Gecode::Int::Regular::Dom< View >
Domain-consistent regular propagator. More...
class  Gecode::Int::Rel::EqDom< View0, View1 >
Binary domain-consistent equality propagator. More...
class  Gecode::Int::Rel::EqBnd< View0, View1 >
Binary bounds-consistent equality propagator. More...
class  Gecode::Int::Rel::NaryEqDom< View >
n-ary domain-consistent equality propagator More...
class  Gecode::Int::Rel::NaryEqBnd< View >
n-ary bounds-consistent equality propagator More...
class  Gecode::Int::Rel::ReEqDom< View, CtrlView >
Reified binary domain-consistent equality propagator. More...
class  Gecode::Int::Rel::ReEqBnd< View, CtrlView >
Reified binary bounds-consistent equality propagator. More...
class  Gecode::Int::Rel::ReEqDomInt< View, CtrlView >
Reified domain-consistent equality with integer propagator. More...
class  Gecode::Int::Rel::ReEqBndInt< View, CtrlView >
Reified bounds-consistent equality with integer propagator. More...
class  Gecode::Int::Rel::Nq< View >
Binary disequality propagator. More...
class  Gecode::Int::Rel::Lq< View >
Less or equal propagator. More...
class  Gecode::Int::Rel::Le< View >
Less propagator. More...
class  Gecode::Int::Rel::ReLq< View, CtrlView >
Reified less or equal propagator. More...
class  Gecode::Int::Rel::ReLqInt< View, CtrlView >
Reified less or equal with integer propagator. More...
class  Gecode::Int::Rel::Lex< View >
Lexical ordering propagator. More...
class  Gecode::Int::Rel::NaryNq< View >
Propagator for n-ary disequlaity More...
class  Gecode::Int::Sortedness::Sortedness< View, Tuple, Perm >
Bounds consistent sortedness propagator. More...

## Functions

void Gecode::Int::Linear::post (Space *home, Term t[], int n, IntRelType r, int c, IntConLevel=ICL_DEF)
Post propagator for linear constraint.
void Gecode::Int::Linear::post (Space *home, Term t[], int n, IntRelType r, int c, BoolView b)
Post reified propagator for linear constraint.

## Function Documentation

 void Gecode::Int::Linear::post ( Space * home, Term t[], int n, IntRelType r, int c, IntConLevel = ICL_DEF )

Post propagator for linear constraint.

Parameters:
 e array of linear terms n size of array r type of relation c result of linear constraint
All variants for linear constraints share the following properties:
• Only bounds-consistency is supported.
• Variables occuring multiply in the term array are replaced by a single occurence: for example, becomes .
• If in the above simplification the value for (or for and ) exceeds the limits for integers as defined in Limits::Int, an exception of type Int::NumericalOverflow is thrown.
• Assume linear terms for the constraint . If exceeds the limits for doubles as defined in Limits::Int, an exception of type Int::NumericalOverflow is thrown.
• In all other cases, the created propagators are accurate (that is, they will not silently overflow during propagation).

Requires

 #include "gecode/int/linear.hh"


Definition at line 161 of file post.cc.

 void Gecode::Int::Linear::post ( Space * home, Term t[], int n, IntRelType r, int c, BoolView b )

Post reified propagator for linear constraint.

Parameters:
 e array of linear terms n size of array r type of relation c result of linear constraint b Boolean control view
All variants for linear constraints share the following properties:
• Only bounds-consistency is supported.
• Variables occuring multiply in the term array are replaced by a single occurence: for example, becomes .
• If in the above simplification the value for (or for and ) exceeds the limits for integers as defined in Limits::Int, an exception of type Int::NumericalOverflow is thrown.
• Assume linear terms for the constraint . If exceeds the limits for doubles as defined in Limits::Int, an exception of type Int::NumericalOverflow is thrown.
• In all other cases, the created propagators are accurate (that is, they will not silently overflow during propagation).

Requires

 #include "gecode/int/linear.hh"


Definition at line 388 of file post.cc.