Gecode::Int::Linear Namespace Reference
Linear propagators More...
Classes | |
| class | BoolNegTraits< BoolView > |
| Traits for Boolean negation view. More... | |
| class | BoolNegTraits< NegBoolView > |
| Traits for Boolean negation view. More... | |
| 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 | TermByView |
| Sort linear terms by view. More... | |
| class | TermBySizePos |
| Sort linear terms by coefficient size and original position. 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 | ReLinBoolInt |
| Baseclass for reified integer Boolean sum. More... | |
| class | BoolNegTraits |
| Traits for Boolean negation view. More... | |
| class | ReGqBoolInt |
| Propagator for reified integer less or equal to Boolean sum (cardinality) More... | |
| class | ReEqBoolInt |
| Propagator for reified integer equal 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 | ScaleBool |
| Coefficient and Boolean view. More... | |
| class | ScaleBoolArray |
| Array of scale Boolean views. More... | |
| class | EmptyScaleBoolArray |
| Empty array of scale Boolean views. More... | |
| class | LinBoolScale |
| Base class for linear Boolean constraints with coefficients. More... | |
| class | EqBoolScale |
| Propagator for equality to Boolean sum with coefficients More... | |
| class | LqBoolScale |
| Propagator for inequality to Boolean sum with coefficients More... | |
| class | NqBoolScale |
| Propagator for disequality to Boolean sum with coefficients More... | |
| class | Term |
Class for describing linear term . 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 | |
| void | eliminate (Term< BoolView > *t, int &n, long long int &d) |
| Eliminate assigned views. | |
| void | rewrite (IntRelType &r, long long int &d) |
| Rewrite non-strict relations. | |
| void | post_pos_unit (Home home, Term< BoolView > *t_p, int n_p, IntRelType irt, IntView y, int c) |
| void | post_pos_unit (Home home, Term< BoolView > *t_p, int n_p, IntRelType irt, ZeroIntView, int c) |
| void | post_pos_unit (Home home, Term< BoolView > *t_p, int n_p, IntRelType irt, int c, Reify r, IntPropLevel) |
| void | post_neg_unit (Home home, Term< BoolView > *t_n, int n_n, IntRelType irt, IntView y, int c) |
| void | post_neg_unit (Home home, Term< BoolView > *t_n, int n_n, IntRelType irt, ZeroIntView, int c) |
| void | post_neg_unit (Home home, Term< BoolView > *t_n, int n_n, IntRelType irt, int c, Reify r, IntPropLevel) |
| void | post_mixed (Home home, Term< BoolView > *t_p, int n_p, Term< BoolView > *t_n, int n_n, IntRelType irt, IntView y, int c) |
| void | post_mixed (Home home, Term< BoolView > *t_p, int n_p, Term< BoolView > *t_n, int n_n, IntRelType irt, ZeroIntView y, int c) |
| template<class View > | |
| void | post_all (Home home, Term< BoolView > *t, int n, IntRelType irt, View x, int c) |
| void | post (Home home, Term< BoolView > *t, int n, IntRelType irt, IntView y, int c=0, IntPropLevel=IPL_DEF) |
| Post propagator for linear constraint over Booleans. | |
| void | post (Home home, Term< BoolView > *t, int n, IntRelType irt, int c, IntPropLevel=IPL_DEF) |
| Post propagator for linear constraint over Booleans. | |
| void | post (Home home, Term< BoolView > *t, int n, IntRelType irt, IntView y, Reify r, IntPropLevel=IPL_DEF) |
| Post propagator for reified linear constraint over Booleans. | |
| void | post (Home home, Term< BoolView > *t, int n, IntRelType irt, int c, Reify r, IntPropLevel=IPL_DEF) |
| Post propagator for reified linear constraint over Booleans. | |
| template<class P , class N > | |
| bool | isunit (ViewArray< P > &, ViewArray< N > &) |
| Test if only unit-coefficient arrays used. | |
| template<> | |
| bool | isunit (ViewArray< IntView > &, ViewArray< IntView > &) |
| template<> | |
| bool | isunit (ViewArray< IntView > &, ViewArray< NoView > &) |
| template<> | |
| bool | isunit (ViewArray< NoView > &, ViewArray< IntView > &) |
| template<class Val , class View > | |
| void | bounds_p (ModEventDelta med, ViewArray< View > &x, Val &c, Val &sl, Val &su) |
| template<class Val , class View > | |
| void | bounds_n (ModEventDelta med, ViewArray< View > &y, Val &c, Val &sl, Val &su) |
| template<class Val , class P , class N > | |
| ExecStatus | prop_bnd (Space &home, ModEventDelta med, Propagator &p, ViewArray< P > &x, ViewArray< N > &y, Val &c) |
| template<class Val , class P , class N > | |
| Actor * | eqtobin (Space &, Propagator &, ViewArray< P > &, ViewArray< N > &, Val) |
| Rewriting of equality to binary propagators. | |
| template<class Val > | |
| Actor * | eqtobin (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &, Val c) |
| template<class Val > | |
| Actor * | eqtobin (Space &home, Propagator &p, ViewArray< NoView > &, ViewArray< IntView > &y, Val c) |
| template<class Val > | |
| Actor * | eqtobin (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
| template<class Val , class P , class N > | |
| Actor * | eqtoter (Space &, Propagator &, ViewArray< P > &, ViewArray< N > &, Val) |
| Rewriting of equality to ternary propagators. | |
| template<class Val > | |
| Actor * | eqtoter (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &, Val c) |
| template<class Val > | |
| Actor * | eqtoter (Space &home, Propagator &p, ViewArray< NoView > &, ViewArray< IntView > &y, Val c) |
| template<class Val > | |
| Actor * | eqtoter (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
| template<class Val , class P , class N > | |
| Actor * | nqtobin (Space &, Propagator &, ViewArray< P > &, ViewArray< N > &, Val) |
| Rewriting of disequality to binary propagators. | |
| template<class Val > | |
| Actor * | nqtobin (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &, Val c) |
| template<class Val > | |
| Actor * | nqtobin (Space &home, Propagator &p, ViewArray< NoView > &, ViewArray< IntView > &y, Val c) |
| template<class Val > | |
| Actor * | nqtobin (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
| template<class Val , class P , class N > | |
| Actor * | nqtoter (Space &, Propagator &, ViewArray< P > &, ViewArray< N > &, Val) |
| Rewriting of disequality to ternary propagators. | |
| template<class Val > | |
| Actor * | nqtoter (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &, Val c) |
| template<class Val > | |
| Actor * | nqtoter (Space &home, Propagator &p, ViewArray< NoView > &, ViewArray< IntView > &y, Val c) |
| template<class Val > | |
| Actor * | nqtoter (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
| template<class Val , class P , class N > | |
| Actor * | lqtobin (Space &, Propagator &, ViewArray< P > &, ViewArray< N > &, Val) |
| Rewriting of inequality to binary propagators. | |
| template<class Val > | |
| Actor * | lqtobin (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &, Val c) |
| template<class Val > | |
| Actor * | lqtobin (Space &home, Propagator &p, ViewArray< NoView > &, ViewArray< IntView > &y, Val c) |
| template<class Val > | |
| Actor * | lqtobin (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
| template<class Val , class P , class N > | |
| Actor * | lqtoter (Space &, Propagator &, ViewArray< P > &, ViewArray< N > &, Val) |
| Rewriting of inequality to ternary propagators. | |
| template<class Val > | |
| Actor * | lqtoter (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< NoView > &, Val c) |
| template<class Val > | |
| Actor * | lqtoter (Space &home, Propagator &p, ViewArray< NoView > &, ViewArray< IntView > &y, Val c) |
| template<class Val > | |
| Actor * | lqtoter (Space &home, Propagator &p, ViewArray< IntView > &x, ViewArray< IntView > &y, Val c) |
| void | eliminate (Term< IntView > *t, int &n, long long int &d) |
| Eliminate assigned views. | |
| void | rewrite (IntRelType &irt, long long int &d, Term< IntView > *&t_p, int &n_p, Term< IntView > *&t_n, int &n_n) |
| Rewrite all inequations in terms of IRT_LQ. | |
| bool | precision (Term< IntView > *t_p, int n_p, Term< IntView > *t_n, int n_n, long long int d) |
| Decide the required precision and check for overflow. | |
| template<class Val , class View > | |
| void | post_nary (Home home, ViewArray< View > &x, ViewArray< View > &y, IntRelType irt, Val c) |
| Posting n-ary propagators. | |
| void | post (Home home, Term< IntView > *t, int n, IntRelType irt, int c, IntPropLevel=IPL_DEF) |
| Post propagator for linear constraint over integers. | |
| template<class Val , class View > | |
| void | post_nary (Home home, ViewArray< View > &x, ViewArray< View > &y, IntRelType irt, Val c, Reify r) |
| Posting reified n-ary propagators. | |
| template<class CtrlView > | |
| void | posteqint (Home home, IntView &x, int c, CtrlView b, ReifyMode rm, IntPropLevel ipl) |
| void | post (Home home, Term< IntView > *t, int n, IntRelType irt, int c, Reify r, IntPropLevel=IPL_DEF) |
| Post reified propagator for linear constraint. | |
| template<class View > | |
| void | estimate (Term< View > *t, int n, int c, int &l, int &u) |
| Estimate lower and upper bounds. | |
| int | gcd (int a, int b) |
| Compute the greatest common divisor of a and b. | |
| template<class View > | |
| bool | normalize (Term< View > *t, int &n, Term< View > *&t_p, int &n_p, Term< View > *&t_n, int &n_n, int &g) |
| Normalize linear integer constraints. | |
Detailed Description
Linear propagators
Enumeration Type Documentation
Describe which view has been modified how.
Definition at line 171 of file int-bin.hpp.
Describe which view has been modified how.
Definition at line 128 of file int-ter.hpp.
Function Documentation
| void Gecode::Int::Linear::eliminate | ( | Term< BoolView > * | t, | |
| int & | n, | |||
| long long int & | d | |||
| ) | [inline] |
Eliminate assigned views.
Definition at line 43 of file bool-post.cpp.
| void Gecode::Int::Linear::rewrite | ( | IntRelType & | r, | |
| long long int & | d | |||
| ) | [inline] |
Rewrite non-strict relations.
Definition at line 55 of file bool-post.cpp.
| void Gecode::Int::Linear::post_pos_unit | ( | Home | home, | |
| Term< BoolView > * | t_p, | |||
| int | n_p, | |||
| IntRelType | irt, | |||
| IntView | y, | |||
| int | c | |||
| ) | [inline] |
Definition at line 69 of file bool-post.cpp.
| void Gecode::Int::Linear::post_pos_unit | ( | Home | home, | |
| Term< BoolView > * | t_p, | |||
| int | n_p, | |||
| IntRelType | irt, | |||
| ZeroIntView | , | |||
| int | c | |||
| ) | [inline] |
Definition at line 115 of file bool-post.cpp.
| void Gecode::Int::Linear::post_pos_unit | ( | Home | home, | |
| Term< BoolView > * | t_p, | |||
| int | n_p, | |||
| IntRelType | irt, | |||
| int | c, | |||
| Reify | r, | |||
| IntPropLevel | ||||
| ) | [inline] |
Definition at line 156 of file bool-post.cpp.
| void Gecode::Int::Linear::post_neg_unit | ( | Home | home, | |
| Term< BoolView > * | t_n, | |||
| int | n_n, | |||
| IntRelType | irt, | |||
| IntView | y, | |||
| int | c | |||
| ) | [inline] |
Definition at line 255 of file bool-post.cpp.
| void Gecode::Int::Linear::post_neg_unit | ( | Home | home, | |
| Term< BoolView > * | t_n, | |||
| int | n_n, | |||
| IntRelType | irt, | |||
| ZeroIntView | , | |||
| int | c | |||
| ) | [inline] |
Definition at line 303 of file bool-post.cpp.
| void Gecode::Int::Linear::post_neg_unit | ( | Home | home, | |
| Term< BoolView > * | t_n, | |||
| int | n_n, | |||
| IntRelType | irt, | |||
| int | c, | |||
| Reify | r, | |||
| IntPropLevel | ||||
| ) | [inline] |
Definition at line 344 of file bool-post.cpp.
| void Gecode::Int::Linear::post_mixed | ( | Home | home, | |
| Term< BoolView > * | t_p, | |||
| int | n_p, | |||
| Term< BoolView > * | t_n, | |||
| int | n_n, | |||
| IntRelType | irt, | |||
| IntView | y, | |||
| int | c | |||
| ) | [inline] |
Definition at line 443 of file bool-post.cpp.
| void Gecode::Int::Linear::post_mixed | ( | Home | home, | |
| Term< BoolView > * | t_p, | |||
| int | n_p, | |||
| Term< BoolView > * | t_n, | |||
| int | n_n, | |||
| IntRelType | irt, | |||
| ZeroIntView | y, | |||
| int | c | |||
| ) | [inline] |
Definition at line 488 of file bool-post.cpp.
| void Gecode::Int::Linear::post_all | ( | Home | home, | |
| Term< BoolView > * | t, | |||
| int | n, | |||
| IntRelType | irt, | |||
| View | x, | |||
| int | c | |||
| ) | [inline] |
All coefficients are 1
Definition at line 534 of file bool-post.cpp.
| bool Gecode::Int::Linear::isunit | ( | ViewArray< P > & | , | |
| ViewArray< N > & | ||||
| ) | [inline] |
Test if only unit-coefficient arrays used.
Definition at line 44 of file int-nary.hpp.
| bool Gecode::Int::Linear::isunit | ( | ViewArray< IntView > & | , | |
| ViewArray< IntView > & | ||||
| ) | [inline] |
Definition at line 47 of file int-nary.hpp.
| bool Gecode::Int::Linear::isunit | ( | ViewArray< IntView > & | , | |
| ViewArray< NoView > & | ||||
| ) | [inline] |
Definition at line 50 of file int-nary.hpp.
| bool Gecode::Int::Linear::isunit | ( | ViewArray< NoView > & | , | |
| ViewArray< IntView > & | ||||
| ) | [inline] |
Definition at line 53 of file int-nary.hpp.
| void Gecode::Int::Linear::bounds_p | ( | ModEventDelta | med, | |
| ViewArray< View > & | x, | |||
| Val & | c, | |||
| Val & | sl, | |||
| Val & | su | |||
| ) | [related] |
Definition at line 140 of file int-nary.hpp.
| void Gecode::Int::Linear::bounds_n | ( | ModEventDelta | med, | |
| ViewArray< View > & | y, | |||
| Val & | c, | |||
| Val & | sl, | |||
| Val & | su | |||
| ) | [related] |
Definition at line 161 of file int-nary.hpp.
| ExecStatus Gecode::Int::Linear::prop_bnd | ( | Space & | home, | |
| ModEventDelta | med, | |||
| Propagator & | p, | |||
| ViewArray< P > & | x, | |||
| ViewArray< N > & | y, | |||
| Val & | c | |||
| ) | [inline] |
Definition at line 183 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::eqtobin | ( | Space & | , | |
| Propagator & | , | |||
| ViewArray< P > & | , | |||
| ViewArray< N > & | , | |||
| Val | ||||
| ) | [inline] |
Rewriting of equality to binary propagators.
Definition at line 304 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::eqtobin | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< IntView > & | x, | |||
| ViewArray< NoView > & | , | |||
| Val | c | |||
| ) | [inline] |
Definition at line 309 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::eqtobin | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< NoView > & | , | |||
| ViewArray< IntView > & | y, | |||
| Val | c | |||
| ) | [inline] |
Definition at line 317 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::eqtobin | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< IntView > & | x, | |||
| ViewArray< IntView > & | y, | |||
| Val | c | |||
| ) | [inline] |
Definition at line 325 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::eqtoter | ( | Space & | , | |
| Propagator & | , | |||
| ViewArray< P > & | , | |||
| ViewArray< N > & | , | |||
| Val | ||||
| ) | [inline] |
Rewriting of equality to ternary propagators.
Definition at line 343 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::eqtoter | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< IntView > & | x, | |||
| ViewArray< NoView > & | , | |||
| Val | c | |||
| ) | [inline] |
Definition at line 348 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::eqtoter | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< NoView > & | , | |||
| ViewArray< IntView > & | y, | |||
| Val | c | |||
| ) | [inline] |
Definition at line 356 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::eqtoter | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< IntView > & | x, | |||
| ViewArray< IntView > & | y, | |||
| Val | c | |||
| ) | [inline] |
Definition at line 364 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::nqtobin | ( | Space & | , | |
| Propagator & | , | |||
| ViewArray< P > & | , | |||
| ViewArray< N > & | , | |||
| Val | ||||
| ) | [inline] |
Rewriting of disequality to binary propagators.
Definition at line 506 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::nqtobin | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< IntView > & | x, | |||
| ViewArray< NoView > & | , | |||
| Val | c | |||
| ) | [inline] |
Definition at line 511 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::nqtobin | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< NoView > & | , | |||
| ViewArray< IntView > & | y, | |||
| Val | c | |||
| ) | [inline] |
Definition at line 519 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::nqtobin | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< IntView > & | x, | |||
| ViewArray< IntView > & | y, | |||
| Val | c | |||
| ) | [inline] |
Definition at line 527 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::nqtoter | ( | Space & | , | |
| Propagator & | , | |||
| ViewArray< P > & | , | |||
| ViewArray< N > & | , | |||
| Val | ||||
| ) | [inline] |
Rewriting of disequality to ternary propagators.
Definition at line 545 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::nqtoter | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< IntView > & | x, | |||
| ViewArray< NoView > & | , | |||
| Val | c | |||
| ) | [inline] |
Definition at line 550 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::nqtoter | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< NoView > & | , | |||
| ViewArray< IntView > & | y, | |||
| Val | c | |||
| ) | [inline] |
Definition at line 558 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::nqtoter | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< IntView > & | x, | |||
| ViewArray< IntView > & | y, | |||
| Val | c | |||
| ) | [inline] |
Definition at line 566 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::lqtobin | ( | Space & | , | |
| Propagator & | , | |||
| ViewArray< P > & | , | |||
| ViewArray< N > & | , | |||
| Val | ||||
| ) | [inline] |
Rewriting of inequality to binary propagators.
Definition at line 655 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::lqtobin | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< IntView > & | x, | |||
| ViewArray< NoView > & | , | |||
| Val | c | |||
| ) | [inline] |
Definition at line 660 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::lqtobin | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< NoView > & | , | |||
| ViewArray< IntView > & | y, | |||
| Val | c | |||
| ) | [inline] |
Definition at line 668 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::lqtobin | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< IntView > & | x, | |||
| ViewArray< IntView > & | y, | |||
| Val | c | |||
| ) | [inline] |
Definition at line 676 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::lqtoter | ( | Space & | , | |
| Propagator & | , | |||
| ViewArray< P > & | , | |||
| ViewArray< N > & | , | |||
| Val | ||||
| ) | [inline] |
Rewriting of inequality to ternary propagators.
Definition at line 694 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::lqtoter | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< IntView > & | x, | |||
| ViewArray< NoView > & | , | |||
| Val | c | |||
| ) | [inline] |
Definition at line 699 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::lqtoter | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< NoView > & | , | |||
| ViewArray< IntView > & | y, | |||
| Val | c | |||
| ) | [inline] |
Definition at line 707 of file int-nary.hpp.
| Actor* Gecode::Int::Linear::lqtoter | ( | Space & | home, | |
| Propagator & | p, | |||
| ViewArray< IntView > & | x, | |||
| ViewArray< IntView > & | y, | |||
| Val | c | |||
| ) | [inline] |
Definition at line 715 of file int-nary.hpp.
| void Gecode::Int::Linear::eliminate | ( | Term< IntView > * | t, | |
| int & | n, | |||
| long long int & | d | |||
| ) | [inline] |
Eliminate assigned views.
Definition at line 44 of file int-post.cpp.
| void Gecode::Int::Linear::rewrite | ( | IntRelType & | irt, | |
| long long int & | d, | |||
| Term< IntView > *& | t_p, | |||
| int & | n_p, | |||
| Term< IntView > *& | t_n, | |||
| int & | n_n | |||
| ) | [inline] |
Rewrite all inequations in terms of IRT_LQ.
Definition at line 56 of file int-post.cpp.
| bool Gecode::Int::Linear::precision | ( | Term< IntView > * | t_p, | |
| int | n_p, | |||
| Term< IntView > * | t_n, | |||
| int | n_n, | |||
| long long int | d | |||
| ) | [inline] |
Decide the required precision and check for overflow.
Definition at line 79 of file int-post.cpp.
| void Gecode::Int::Linear::post_nary | ( | Home | home, | |
| ViewArray< View > & | x, | |||
| ViewArray< View > & | y, | |||
| IntRelType | irt, | |||
| Val | c | |||
| ) | [inline] |
Posting n-ary propagators.
Definition at line 158 of file int-post.cpp.
| void Gecode::Int::Linear::post_nary | ( | Home | home, | |
| ViewArray< View > & | x, | |||
| ViewArray< View > & | y, | |||
| IntRelType | irt, | |||
| Val | c, | |||
| Reify | r | |||
| ) | [inline] |
Posting reified n-ary propagators.
Definition at line 416 of file int-post.cpp.
| void Gecode::Int::Linear::posteqint | ( | Home | home, | |
| IntView & | x, | |||
| int | c, | |||
| CtrlView | b, | |||
| ReifyMode | rm, | |||
| IntPropLevel | ipl | |||
| ) | [inline] |
Definition at line 480 of file int-post.cpp.
| void Gecode::Int::Linear::estimate | ( | Term< View > * | t, | |
| int | n, | |||
| int | c, | |||
| int & | l, | |||
| int & | u | |||
| ) | [inline] |
Estimate lower and upper bounds.
Estimates the boundaries for a linear expression
. If the boundaries exceed the limits as defined in Limits::Int, these boundaries are returned.
- Parameters:
-
t array of linear terms n size of array c constant l lower bound u upper bound
| int Gecode::Int::Linear::gcd | ( | int | a, | |
| int | b | |||
| ) | [inline] |
| bool Gecode::Int::Linear::normalize | ( | Term< View > * | t, | |
| int & | n, | |||
| Term< View > *& | t_p, | |||
| int & | n_p, | |||
| Term< View > *& | t_n, | |||
| int & | n_n, | |||
| int & | g | |||
| ) | [inline] |
Normalize linear integer constraints.
- Parameters:
-
t array of linear terms n size of array t_p array of linear terms over integers with positive coefficients n_p number of postive terms t_n array of linear terms over integers with negative coefficients n_n number of negative terms gcd greatest common divisor of all coefficients
Replaces all negative coefficients by positive coefficients.
- 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. - Divides all coefficients by their greatest common divisor and returns the gcd g
Returns true, if all coefficients are unit coefficients

.