Generated on Thu Jul 6 07:07:03 2006 for Gecode by doxygen 1.4.7

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  LinBool
 Base-class for Boolean linear propagators. More...
class  EqBool
 Propagator for equality to Boolean sum (cardinality) More...
class  NqBool
 Propagator for disequality to Boolean sum (cardinality) More...
class  LqBool
 Propagator for less or equal to Boolean sum (cardinality) More...
class  GqBool
 Propagator for greater or equal to Boolean sum (cardinality) More...
class  Term
 Class for describing linear term $a\cdot x$. 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.


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 374 of file post.cc.