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 ![]() | |
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> | |
Actor * | eqtobin (Space *home, bool share, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val c) |
Rewriting of equality to binary propagators. | |
template<class Val> | |
Actor * | eqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &y, Val c) |
template<class Val> | |
Actor * | eqtobin (Space *home, bool share, Propagator &p, ViewArray< NoView > &x, ViewArray< IntView > &y, Val c) |
template<class Val> | |
Actor * | eqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
template<class Val, class P, class N> | |
Actor * | eqtoter (Space *home, bool share, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val c) |
Rewriting of equality to ternary propagators. | |
template<class Val> | |
Actor * | eqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &y, Val c) |
template<class Val> | |
Actor * | eqtoter (Space *home, bool share, Propagator &p, ViewArray< NoView > &x, ViewArray< IntView > &y, Val c) |
template<class Val> | |
Actor * | eqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
template<class Val, class P, class N> | |
Actor * | nqtobin (Space *home, bool share, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val c) |
Rewriting of disequality to binary propagators. | |
template<class Val> | |
Actor * | nqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &y, Val c) |
template<class Val> | |
Actor * | nqtobin (Space *home, bool share, Propagator &p, ViewArray< NoView > &x, ViewArray< IntView > &y, Val c) |
template<class Val> | |
Actor * | nqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
template<class Val, class P, class N> | |
Actor * | nqtoter (Space *home, bool share, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val c) |
Rewriting of disequality to ternary propagators. | |
template<class Val> | |
Actor * | nqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &y, Val c) |
template<class Val> | |
Actor * | nqtoter (Space *home, bool share, Propagator &p, ViewArray< NoView > &x, ViewArray< IntView > &y, Val c) |
template<class Val> | |
Actor * | nqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
template<class Val, class P, class N> | |
Actor * | lqtobin (Space *home, bool share, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val c) |
Rewriting of inequality to binary propagators. | |
template<class Val> | |
Actor * | lqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &y, Val c) |
template<class Val> | |
Actor * | lqtobin (Space *home, bool share, Propagator &p, ViewArray< NoView > &x, ViewArray< IntView > &y, Val c) |
template<class Val> | |
Actor * | lqtobin (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
template<class Val, class P, class N> | |
Actor * | lqtoter (Space *home, bool share, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val c) |
Rewriting of inequality to ternary propagators. | |
template<class Val> | |
Actor * | lqtoter (Space *home, bool share, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &y, Val c) |
template<class Val> | |
Actor * | lqtoter (Space *home, bool share, Propagator &p, ViewArray< NoView > &x, ViewArray< IntView > &y, Val c) |
template<class Val> | |
Actor * | lqtoter (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] |
template<>
bool Gecode::Int::Linear::isunit | ( | ViewArray< IntView > & | x, | |
ViewArray< IntView > & | y | |||
) | [inline] |
template<>
bool Gecode::Int::Linear::isunit | ( | ViewArray< IntView > & | x, | |
ViewArray< NoView > & | y | |||
) | [inline] |
template<>
bool Gecode::Int::Linear::isunit | ( | ViewArray< NoView > & | x, | |
ViewArray< IntView > & | y | |||
) | [inline] |
template<class Val, class View>
void Gecode::Int::Linear::bounds_p | ( | const Propagator * | p, | |
ViewArray< View > & | x, | |||
Val & | c, | |||
Val & | sl, | |||
Val & | su | |||
) | [related] |
template<class Val, class View>
void Gecode::Int::Linear::bounds_n | ( | const Propagator * | p, | |
ViewArray< View > & | y, | |||
Val & | c, | |||
Val & | sl, | |||
Val & | su | |||
) | [related] |
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 | |||
) |
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] |
template<class Val>
Actor* Gecode::Int::Linear::eqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< NoView > & | y, | |||
Val | c | |||
) | [inline] |
template<class Val>
Actor* Gecode::Int::Linear::eqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< NoView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
template<class Val>
Actor* Gecode::Int::Linear::eqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
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] |
template<class Val>
Actor* Gecode::Int::Linear::eqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< NoView > & | y, | |||
Val | c | |||
) | [inline] |
template<class Val>
Actor* Gecode::Int::Linear::eqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< NoView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
template<class Val>
Actor* Gecode::Int::Linear::eqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
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] |
template<class Val>
Actor* Gecode::Int::Linear::nqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< NoView > & | y, | |||
Val | c | |||
) | [inline] |
template<class Val>
Actor* Gecode::Int::Linear::nqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< NoView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
template<class Val>
Actor* Gecode::Int::Linear::nqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
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] |
template<class Val>
Actor* Gecode::Int::Linear::nqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< NoView > & | y, | |||
Val | c | |||
) | [inline] |
template<class Val>
Actor* Gecode::Int::Linear::nqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< NoView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
template<class Val>
Actor* Gecode::Int::Linear::nqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
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] |
template<class Val>
Actor* Gecode::Int::Linear::lqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< NoView > & | y, | |||
Val | c | |||
) | [inline] |
template<class Val>
Actor* Gecode::Int::Linear::lqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< NoView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
template<class Val>
Actor* Gecode::Int::Linear::lqtobin | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
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] |
template<class Val>
Actor* Gecode::Int::Linear::lqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< NoView > & | y, | |||
Val | c | |||
) | [inline] |
template<class Val>
Actor* Gecode::Int::Linear::lqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< NoView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
template<class Val>
Actor* Gecode::Int::Linear::lqtoter | ( | Space * | home, | |
bool | share, | |||
Propagator & | p, | |||
ViewArray< IntView > & | x, | |||
ViewArray< IntView > & | y, | |||
Val | c | |||
) | [inline] |
bool Gecode::Int::Linear::preprocess | ( | Term | e[], | |
int & | n, | |||
IntRelType & | r, | |||
int & | c, | |||
int & | n_p, | |||
int & | n_n | |||
) |
bool Gecode::Int::Linear::int_precision | ( | Term | e[], | |
int | n, | |||
int | c | |||
) |
template<class Val, class View>
void Gecode::Int::Linear::post_nary | ( | Space * | home, | |
ViewArray< View > & | x, | |||
ViewArray< View > & | y, | |||
IntRelType | r, | |||
Val | c | |||
) | [inline] |
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] |