Generated on Wed Nov 1 15:05:18 2006 for Gecode by doxygen 1.4.5

Gecode::Int::Linear Namespace Reference


Detailed Description

Linear propagators


Classes

class  SupportSet
 Set for support information. More...
class  SupportIter
 Base-class for support-based iterator. More...
class  PosSupportIter
 Support-based iterator for positive view. More...
class  NegSupportIter
 Support-based iterator for negative view. More...
class  NoView
 No view serves as filler for empty view arrays. More...
class  TermLess
 Sort linear terms by view. More...
class  LinBin
 Base-class for binary linear propagators. More...
class  ReLinBin
 Base-class for reified binary linear propagators. More...
class  EqBin
 Propagator for bounds-consistent binary linear equality More...
class  ReEqBin
 Propagator for reified bounds-consistent binary linear equality More...
class  NqBin
 Propagator for bounds-consistent binary linear disequality More...
class  LqBin
 Propagator for bounds-consistent binary linear less or equal More...
class  GqBin
 Propagator for bounds-consistent binary linear greater or equal More...
class  ReLqBin
 Propagator for reified bounds-consistent binary linear less or equal More...
class  LinTer
 Base-class for ternary linear propagators. More...
class  EqTer
 Propagator for bounds-consistent ternary linear equality More...
class  NqTer
 Propagator for bounds-consistent ternary linear disquality More...
class  LqTer
 Propagator for bounds-consistent ternary linear less or equal More...
class  Lin
 Base-class for n-ary linear propagators. More...
class  ReLin
 Base-class for reified n-ary linear propagators. More...
class  Eq
 Propagator for bounds-consistent n-ary linear equality More...
class  DomEq
 Propagator for domain-consistent n-ary linear equality More...
class  ReEq
 Propagator for reified bounds-consistent n-ary linear equality More...
class  Nq
 Propagator for bounds-consistent n-ary linear disequality More...
class  Lq
 Propagator for bounds-consistent n-ary linear less or equal More...
class  ReLq
 Propagator for reified bounds-consistent n-ary linear less or equal More...
class  LinBoolInt
 Baseclass for integer Boolean sum. More...
class  EqBoolInt
 Propagator for integer equal to Boolean sum (cardinality) More...
class  GqBoolInt
 Propagator for integer less or equal to Boolean sum (cardinality) More...
class  NqBoolInt
 Propagator for integer disequal to Boolean sum (cardinality) More...
class  LinBoolView
 Base-class for Boolean linear propagators. More...
class  EqBoolView
 Propagator for equality to Boolean sum (cardinality) More...
class  NqBoolView
 Propagator for disequality to Boolean sum (cardinality) More...
class  GqBoolView
 Propagator for greater or equal to Boolean sum (cardinality) More...
class  Term
 Class for describing linear term $a\cdot x$. More...

Enumerations

enum  BinMod {
  BM_X0_MIN = 1<<0, BM_X0_MAX = 1<<1, BM_X1_MIN = 1<<2, BM_X1_MAX = 1<<3,
  BM_ALL = BM_X0_MIN|BM_X0_MAX|BM_X1_MIN|BM_X1_MAX
}
 Describe which view has been modified how. More...
enum  TerMod {
  TM_X0_MIN = 1<<0, TM_X0_MAX = 1<<1, TM_X1_MIN = 1<<2, TM_X1_MAX = 1<<3,
  TM_X2_MIN = 1<<4, TM_X2_MAX = 1<<5, TM_ALL = TM_X0_MIN|TM_X0_MAX|TM_X1_MIN|TM_X1_MAX|TM_X2_MIN|TM_X2_MAX
}
 Describe which view has been modified how. More...

Functions

template<class P, class N>
bool isunit (ViewArray< P > &x, ViewArray< N > &y)
 Test if only unit-coefficient arrays used.
template<>
bool isunit (ViewArray< IntView > &x, ViewArray< IntView > &y)
template<>
bool isunit (ViewArray< IntView > &x, ViewArray< NoView > &y)
template<>
bool isunit (ViewArray< NoView > &x, ViewArray< IntView > &y)
template<class Val, class View>
void bounds_p (const Propagator *p, ViewArray< View > &x, Val &c, Val &sl, Val &su)
template<class Val, class View>
void bounds_n (const Propagator *p, ViewArray< View > &y, Val &c, Val &sl, Val &su)
template<class Val, class P, class N>
ExecStatus prop_bnd (const Propagator *p, Space *home, ViewArray< P > &x, ViewArray< N > &y, Val &c)
template<class Val, class P, class N>
Actoreqtobin (Space *home, bool share, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val c)
 Rewriting of equality to binary propagators.
template<class Val>
Actoreqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &y, Val c)
template<class Val>
Actoreqtobin (Space *home, bool share, Propagator &p, ViewArray< NoView > &x, ViewArray< IntView > &y, Val c)
template<class Val>
Actoreqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c)
template<class Val, class P, class N>
Actoreqtoter (Space *home, bool share, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val c)
 Rewriting of equality to ternary propagators.
template<class Val>
Actoreqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &y, Val c)
template<class Val>
Actoreqtoter (Space *home, bool share, Propagator &p, ViewArray< NoView > &x, ViewArray< IntView > &y, Val c)
template<class Val>
Actoreqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c)
template<class Val, class P, class N>
Actornqtobin (Space *home, bool share, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val c)
 Rewriting of disequality to binary propagators.
template<class Val>
Actornqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &y, Val c)
template<class Val>
Actornqtobin (Space *home, bool share, Propagator &p, ViewArray< NoView > &x, ViewArray< IntView > &y, Val c)
template<class Val>
Actornqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c)
template<class Val, class P, class N>
Actornqtoter (Space *home, bool share, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val c)
 Rewriting of disequality to ternary propagators.
template<class Val>
Actornqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &y, Val c)
template<class Val>
Actornqtoter (Space *home, bool share, Propagator &p, ViewArray< NoView > &x, ViewArray< IntView > &y, Val c)
template<class Val>
Actornqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c)
template<class Val, class P, class N>
Actorlqtobin (Space *home, bool share, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val c)
 Rewriting of inequality to binary propagators.
template<class Val>
Actorlqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &y, Val c)
template<class Val>
Actorlqtobin (Space *home, bool share, Propagator &p, ViewArray< NoView > &x, ViewArray< IntView > &y, Val c)
template<class Val>
Actorlqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c)
template<class Val, class P, class N>
Actorlqtoter (Space *home, bool share, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val c)
 Rewriting of inequality to ternary propagators.
template<class Val>
Actorlqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &y, Val c)
template<class Val>
Actorlqtoter (Space *home, bool share, Propagator &p, ViewArray< NoView > &x, ViewArray< IntView > &y, Val c)
template<class Val>
Actorlqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c)
bool preprocess (Term e[], int &n, IntRelType &r, int &c, int &n_p, int &n_n)
bool int_precision (Term e[], int n, int c)
template<class Val, class View>
void post_nary (Space *home, ViewArray< View > &x, ViewArray< View > &y, IntRelType r, Val c)
void post (Space *home, Term t[], int n, IntRelType r, int c, IntConLevel=ICL_DEF)
 Post propagator for linear constraint.
template<class Val, class View>
void post_nary (Space *home, ViewArray< View > &x, ViewArray< View > &y, IntRelType r, Val c, BoolView b)
void post (Space *home, Term t[], int n, IntRelType r, int c, BoolView b)
 Post reified propagator for linear constraint.


Enumeration Type Documentation

enum Gecode::Int::Linear::BinMod
 

Describe which view has been modified how.

Enumerator:
BM_X0_MIN 
BM_X0_MAX 
BM_X1_MIN 
BM_X1_MAX 
BM_ALL 

Definition at line 147 of file binary.icc.

enum Gecode::Int::Linear::TerMod
 

Describe which view has been modified how.

Enumerator:
TM_X0_MIN 
TM_X0_MAX 
TM_X1_MIN 
TM_X1_MAX 
TM_X2_MIN 
TM_X2_MAX 
TM_ALL 

Definition at line 110 of file ternary.icc.


Function Documentation

template<class P, class N>
bool Gecode::Int::Linear::isunit ViewArray< P > &  x,
ViewArray< N > &  y
[inline]
 

Test if only unit-coefficient arrays used.

Definition at line 32 of file nary.icc.

template<>
bool Gecode::Int::Linear::isunit ViewArray< IntView > &  x,
ViewArray< IntView > &  y
[inline]
 

Definition at line 35 of file nary.icc.

template<>
bool Gecode::Int::Linear::isunit ViewArray< IntView > &  x,
ViewArray< NoView > &  y
[inline]
 

Definition at line 38 of file nary.icc.

template<>
bool Gecode::Int::Linear::isunit ViewArray< NoView > &  x,
ViewArray< IntView > &  y
[inline]
 

Definition at line 41 of file nary.icc.

template<class Val, class View>
void Gecode::Int::Linear::bounds_p const Propagator *  p,
ViewArray< View > &  x,
Val &  c,
Val &  sl,
Val &  su
[related]
 

Definition at line 117 of file nary.icc.

template<class Val, class View>
void Gecode::Int::Linear::bounds_n const Propagator *  p,
ViewArray< View > &  y,
Val &  c,
Val &  sl,
Val &  su
[related]
 

Definition at line 139 of file nary.icc.

template<class Val, class P, class N>
ExecStatus Gecode::Int::Linear::prop_bnd const Propagator *  p,
Space *  home,
ViewArray< P > &  x,
ViewArray< N > &  y,
Val &  c
 

Definition at line 162 of file nary.icc.

template<class Val, class P, class N>
Actor* Gecode::Int::Linear::eqtobin Space *  home,
bool  share,
Propagator &  p,
ViewArray< P > &  x,
ViewArray< N > &  y,
Val  c
[inline]
 

Rewriting of equality to binary propagators.

Definition at line 280 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::eqtobin Space *  home,
bool  share,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< NoView > &  y,
Val  c
[inline]
 

Definition at line 286 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::eqtobin Space *  home,
bool  share,
Propagator &  p,
ViewArray< NoView > &  x,
ViewArray< IntView > &  y,
Val  c
[inline]
 

Definition at line 294 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::eqtobin Space *  home,
bool  share,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< IntView > &  y,
Val  c
[inline]
 

Definition at line 302 of file nary.icc.

template<class Val, class P, class N>
Actor* Gecode::Int::Linear::eqtoter Space *  home,
bool  share,
Propagator &  p,
ViewArray< P > &  x,
ViewArray< N > &  y,
Val  c
[inline]
 

Rewriting of equality to ternary propagators.

Definition at line 320 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::eqtoter Space *  home,
bool  share,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< NoView > &  y,
Val  c
[inline]
 

Definition at line 326 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::eqtoter Space *  home,
bool  share,
Propagator &  p,
ViewArray< NoView > &  x,
ViewArray< IntView > &  y,
Val  c
[inline]
 

Definition at line 334 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::eqtoter Space *  home,
bool  share,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< IntView > &  y,
Val  c
[inline]
 

Definition at line 342 of file nary.icc.

template<class Val, class P, class N>
Actor* Gecode::Int::Linear::nqtobin Space *  home,
bool  share,
Propagator &  p,
ViewArray< P > &  x,
ViewArray< N > &  y,
Val  c
[inline]
 

Rewriting of disequality to binary propagators.

Definition at line 477 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::nqtobin Space *  home,
bool  share,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< NoView > &  y,
Val  c
[inline]
 

Definition at line 483 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::nqtobin Space *  home,
bool  share,
Propagator &  p,
ViewArray< NoView > &  x,
ViewArray< IntView > &  y,
Val  c
[inline]
 

Definition at line 491 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::nqtobin Space *  home,
bool  share,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< IntView > &  y,
Val  c
[inline]
 

Definition at line 499 of file nary.icc.

template<class Val, class P, class N>
Actor* Gecode::Int::Linear::nqtoter Space *  home,
bool  share,
Propagator &  p,
ViewArray< P > &  x,
ViewArray< N > &  y,
Val  c
[inline]
 

Rewriting of disequality to ternary propagators.

Definition at line 517 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::nqtoter Space *  home,
bool  share,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< NoView > &  y,
Val  c
[inline]
 

Definition at line 523 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::nqtoter Space *  home,
bool  share,
Propagator &  p,
ViewArray< NoView > &  x,
ViewArray< IntView > &  y,
Val  c
[inline]
 

Definition at line 531 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::nqtoter Space *  home,
bool  share,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< IntView > &  y,
Val  c
[inline]
 

Definition at line 539 of file nary.icc.

template<class Val, class P, class N>
Actor* Gecode::Int::Linear::lqtobin Space *  home,
bool  share,
Propagator &  p,
ViewArray< P > &  x,
ViewArray< N > &  y,
Val  c
[inline]
 

Rewriting of inequality to binary propagators.

Definition at line 627 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::lqtobin Space *  home,
bool  share,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< NoView > &  y,
Val  c
[inline]
 

Definition at line 633 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::lqtobin Space *  home,
bool  share,
Propagator &  p,
ViewArray< NoView > &  x,
ViewArray< IntView > &  y,
Val  c
[inline]
 

Definition at line 641 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::lqtobin Space *  home,
bool  share,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< IntView > &  y,
Val  c
[inline]
 

Definition at line 649 of file nary.icc.

template<class Val, class P, class N>
Actor* Gecode::Int::Linear::lqtoter Space *  home,
bool  share,
Propagator &  p,
ViewArray< P > &  x,
ViewArray< N > &  y,
Val  c
[inline]
 

Rewriting of inequality to ternary propagators.

Definition at line 667 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::lqtoter Space *  home,
bool  share,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< NoView > &  y,
Val  c
[inline]
 

Definition at line 673 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::lqtoter Space *  home,
bool  share,
Propagator &  p,
ViewArray< NoView > &  x,
ViewArray< IntView > &  y,
Val  c
[inline]
 

Definition at line 681 of file nary.icc.

template<class Val>
Actor* Gecode::Int::Linear::lqtoter Space *  home,
bool  share,
Propagator &  p,
ViewArray< IntView > &  x,
ViewArray< IntView > &  y,
Val  c
[inline]
 

Definition at line 689 of file nary.icc.

bool Gecode::Int::Linear::preprocess Term  e[],
int &  n,
IntRelType r,
int &  c,
int &  n_p,
int &  n_n
 

Definition at line 42 of file post.cc.

bool Gecode::Int::Linear::int_precision Term  e[],
int  n,
int  c
 

Definition at line 113 of file post.cc.

template<class Val, class View>
void Gecode::Int::Linear::post_nary Space *  home,
ViewArray< View > &  x,
ViewArray< View > &  y,
IntRelType  r,
Val  c
[inline]
 

Definition at line 141 of file post.cc.

template<class Val, class View>
void Gecode::Int::Linear::post_nary Space *  home,
ViewArray< View > &  x,
ViewArray< View > &  y,
IntRelType  r,
Val  c,
BoolView  b
[inline]
 

Definition at line 365 of file post.cc.