Integer propagators
[Other available functionality]
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::MaxBnd< View > 
Bounds consistent ternary maximum propagator. More...  
class  Gecode::Int::Arithmetic::NaryMaxBnd< View > 
Bounds consistent nary maximum propagator. More...  
class  Gecode::Int::Arithmetic::MaxDom< View > 
Domain consistent ternary maximum propagator. More...  
class  Gecode::Int::Arithmetic::NaryMaxDom< View > 
Domain consistent nary maximum propagator. More...  
class  Gecode::Int::Arithmetic::SqrBnd< View > 
Bounds consistent square propagator. More...  
class  Gecode::Int::Arithmetic::SqrDom< View > 
Domain consistent square propagator. More...  
class  Gecode::Int::Arithmetic::SqrtBnd< View > 
Bounds consistent square root propagator. More...  
class  Gecode::Int::Arithmetic::SqrtDom< View > 
Domain consistent square root propagator. More...  
class  Gecode::Int::Arithmetic::MultZeroOne< View, pc > 
Bounds or domain consistent propagator for . More...  
class  Gecode::Int::Arithmetic::MultBnd< View > 
Bounds consistent multiplication propagator. More...  
class  Gecode::Int::Arithmetic::MultDom< View > 
Domain consistent multiplication propagator. More...  
class  Gecode::Int::Arithmetic::DivBnd< View > 
Bounds consistent division propagator. More...  
class  Gecode::Int::Arithmetic::DivMod< View > 
Integer division/modulo propagator. More...  
class  Gecode::Int::Bool::Eq< BVA, BVB > 
Boolean equality propagator. More...  
class  Gecode::Int::Bool::NaryEq< BV > 
nary Boolean equality propagator More...  
class  Gecode::Int::Bool::Lq< BV > 
Boolean less or equal propagator. More...  
class  Gecode::Int::Bool::Le< BV > 
Boolean less propagator. More...  
class  Gecode::Int::Bool::BinOrTrue< BVA, BVB > 
Binary Boolean disjunction propagator (true). More...  
class  Gecode::Int::Bool::TerOrTrue< BV > 
Ternary Boolean disjunction propagator (true). More...  
class  Gecode::Int::Bool::QuadOrTrue< BV > 
Quarternary Boolean disjunction propagator (true). More...  
class  Gecode::Int::Bool::Or< BVA, BVB, BVC > 
Boolean disjunction propagator. More...  
class  Gecode::Int::Bool::NaryOr< BV > 
Boolean nary disjunction propagator. More...  
class  Gecode::Int::Bool::NaryOrTrue< BV > 
Boolean nary disjunction propagator (true). More...  
class  Gecode::Int::Bool::Eqv< BVA, BVB, BVC > 
Boolean equivalence propagator. More...  
class  Gecode::Int::Channel::Val< View, shared > 
Naive channel propagator. More...  
class  Gecode::Int::Channel::Dom< View, shared > 
Domain consistent channel propagator. More...  
class  Gecode::Int::Channel::LinkSingle 
Link propagator for a single Boolean view. More...  
class  Gecode::Int::Channel::LinkMulti 
Link propagator for multiple Boolean views. More...  
class  Gecode::Int::Circuit::Val< View > 
"Valueconsistent" circuit propagator More...  
class  Gecode::Int::Circuit::Dom< View > 
"Domain consistent" circuit 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 dompropagator. More...  
class  Gecode::Int::Dom::ReIntSet< View > 
Reified domain dompropagator. More...  
class  Gecode::Int::Element::Int< ViewA, ViewB > 
Element propagator for array of integers More...  
class  Gecode::Int::Element::ViewBnd< VA, VB, VC > 
Bounds consistent element propagator for array of views. More...  
class  Gecode::Int::Element::ViewDom< VA, VB, VC > 
Domain consistent element propagator for array of views. More...  
class  Gecode::Int::Extensional::LayeredGraph< View > 
Domain consistent layered graph (regular) propagator. More...  
class  Gecode::Int::Extensional::Base< View, subscribe > 
Base for domain consistent extensional propagation. More...  
class  Gecode::Int::Extensional::Basic< View > 
Domain consistent extensional propagator. More...  
class  Gecode::Int::Extensional::Incremental< View > 
Domain consistent extensional propagator. 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 nary linear equality More...  
class  Gecode::Int::Linear::DomEq< Val, View > 
Propagator for domain consistent nary linear equality More...  
class  Gecode::Int::Linear::ReEq< Val, P, N, Ctrl > 
Propagator for reified bounds consistent nary linear equality More...  
class  Gecode::Int::Linear::Nq< Val, P, N > 
Propagator for bounds consistent nary linear disequality More...  
class  Gecode::Int::Linear::Lq< Val, P, N > 
Propagator for bounds consistent nary linear less or equal More...  
class  Gecode::Int::Linear::ReLq< Val, P, N > 
Propagator for reified bounds consistent nary 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::Linear::ReEqBoolView< XV, YV, BV > 
Propagator for reified equality to Boolean sum (cardinality) More...  
class  Gecode::Int::Linear::ReGqBoolView< XV, YV, BV > 
Propagator for reified greater or equal to Boolean sum (cardinality) More...  
class  Gecode::Int::Linear::EqBoolScale< SBAP, SBAN, VX > 
Propagator for equality to Boolean sum with coefficients More...  
class  Gecode::Int::Linear::LqBoolScale< SBAP, SBAN, VX > 
Propagator for inequality to Boolean sum with coefficients More...  
class  Gecode::Int::Linear::NqBoolScale< SBAP, SBAN, VX > 
Propagator for disequality to Boolean sum with coefficients 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 > 
nary domain consistent equality propagator More...  
class  Gecode::Int::Rel::NaryEqBnd< View > 
nary 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::Sorted::Sorted< View, Perm > 
Bounds consistent sortedness propagator. More...  
class  Gecode::Int::SupportValues< View > 
Support value iterator and recorder. More...  
Functions  
void  Gecode::Int::Linear::post (Space *home, Term< IntView > *t, int n, IntRelType r, int c, IntConLevel=ICL_DEF, PropKind pk=PK_DEF) 
Post propagator for linear constraint over integers.  
void  Gecode::Int::Linear::post (Space *home, Term< IntView > *t, int n, IntRelType r, int c, BoolView b, IntConLevel=ICL_DEF, PropKind pk=PK_DEF) 
Post reified propagator for linear constraint.  
void  Gecode::Int::Linear::post (Space *home, Term< BoolView > *t, int n, IntRelType r, int c, IntConLevel=ICL_DEF, PropKind=PK_DEF) 
Post propagator for linear constraint over Booleans.  
void  Gecode::Int::Linear::post (Space *home, Term< BoolView > *t, int n, IntRelType r, int c, BoolView b, IntConLevel=ICL_DEF, PropKind=PK_DEF) 
Post propagator for reified linear constraint over Booleans.  
void  Gecode::Int::Linear::post (Space *home, Term< BoolView > *t, int n, IntRelType r, IntView y, int c=0, IntConLevel=ICL_DEF, PropKind=PK_DEF) 
Post propagator for linear constraint over Booleans.  
void  Gecode::Int::Linear::post (Space *home, Term< BoolView > *t, int n, IntRelType r, IntView y, BoolView b, IntConLevel=ICL_DEF, PropKind=PK_DEF) 
Post propagator for reified linear constraint over Booleans. 
Function Documentation
void Gecode::Int::Linear::post  (  Space *  home,  
Term< IntView > *  t,  
int  n,  
IntRelType  r,  
int  c,  
IntConLevel  = ICL_DEF , 

PropKind  pk = PK_DEF  
) 
Post propagator for linear constraint over integers.
 Parameters:

t array of linear terms over integers n size of array r type of relation c result of linear constraint
 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 195 of file intpost.cc.
void Gecode::Int::Linear::post  (  Space *  home,  
Term< IntView > *  t,  
int  n,  
IntRelType  r,  
int  c,  
BoolView  b,  
IntConLevel  = ICL_DEF , 

PropKind  pk = PK_DEF  
) 
Post reified propagator for linear constraint.
 Parameters:

t array of linear terms n size of array r type of relation c result of linear constraint b Boolean control view
 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 331 of file intpost.cc.
void Gecode::Int::Linear::post  (  Space *  home,  
Term< BoolView > *  t,  
int  n,  
IntRelType  r,  
int  c,  
IntConLevel  = ICL_DEF , 

PropKind  = PK_DEF  
) 
Post propagator for linear constraint over Booleans.
 Parameters:

t array of linear terms over Booleans n size of array r type of relation c result of linear constraint
 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 integers 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 401 of file boolpost.cc.
void Gecode::Int::Linear::post  (  Space *  home,  
Term< BoolView > *  t,  
int  n,  
IntRelType  r,  
int  c,  
BoolView  b,  
IntConLevel  = ICL_DEF , 

PropKind  = PK_DEF  
) 
Post propagator for reified linear constraint over Booleans.
 Parameters:

t array of linear terms over Booleans n size of array r type of relation c result of linear constraint b Boolean control varaible
 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 integers 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 420 of file boolpost.cc.
void Gecode::Int::Linear::post  (  Space *  home,  
Term< BoolView > *  t,  
int  n,  
IntRelType  r,  
IntView  y,  
int  c = 0 , 

IntConLevel  = ICL_DEF , 

PropKind  = PK_DEF  
) 
Post propagator for linear constraint over Booleans.
 Parameters:

t array of linear terms over Booleans n size of array r type of relation y variable right hand side of linear constraint c constant right hand side of linear constraint
 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 integers 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 394 of file boolpost.cc.
void Gecode::Int::Linear::post  (  Space *  home,  
Term< BoolView > *  t,  
int  n,  
IntRelType  r,  
IntView  y,  
BoolView  b,  
IntConLevel  = ICL_DEF , 

PropKind  = PK_DEF  
) 
Post propagator for reified linear constraint over Booleans.
 Parameters:

t array of linear terms over Booleans n size of array r type of relation y variable right hand side of linear constraint b Boolean control variable
 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 integers 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 409 of file boolpost.cc.