
Linear expressions over integer variables. More...
#include <gecode/minimodel.hh>
Public Types | |
| enum | NodeType { NT_CONST , NT_VAR_INT , NT_VAR_BOOL , NT_NONLIN , NT_SUM_INT , NT_SUM_BOOL , NT_ADD , NT_SUB , NT_MUL } |
| Type of linear expression. More... | |
Public Member Functions | |
| LinIntExpr (void) | |
| Default constructor. | |
| LinIntExpr (int c) | |
| Create expression for constant c. | |
| LinIntExpr (const IntVar &x, int a=1) | |
| Create expression. | |
| LinIntExpr (const BoolVar &x, int a=1) | |
| Create expression. | |
| LinIntExpr (const IntVarArgs &x) | |
| Create sum expression. | |
| LinIntExpr (const IntArgs &a, const IntVarArgs &x) | |
| Create sum expression. | |
| LinIntExpr (const BoolVarArgs &x) | |
| Create sum expression. | |
| LinIntExpr (const IntArgs &a, const BoolVarArgs &x) | |
| Create sum expression. | |
| LinIntExpr (const LinIntExpr &e) | |
| Copy constructor. | |
| LinIntExpr (const LinIntExpr &e0, NodeType t, const LinIntExpr &e1) | |
| Create expression for type and subexpressions. | |
| LinIntExpr (const LinIntExpr &e0, NodeType t, int c) | |
| Create expression for type and subexpression. | |
| LinIntExpr (int a, const LinIntExpr &e) | |
| Create expression for multiplication. | |
| LinIntExpr (NonLinIntExpr *e) | |
| Create non-linear expression. | |
| const LinIntExpr & | operator= (const LinIntExpr &e) |
| Assignment operator. | |
| void | post (Home home, IntRelType irt, const IntPropLevels &ipls) const |
| Post propagator. | |
| void | post (Home home, IntRelType irt, const BoolVar &b, const IntPropLevels &ipls) const |
| Post reified propagator. | |
| IntVar | post (Home home, const IntPropLevels &ipls) const |
| Post propagator and return variable for value. | |
| NonLinIntExpr * | nle (void) const |
| Return non-linear expression inside, or null if not non-linear. | |
| ~LinIntExpr (void) | |
| Destructor. | |
Linear expressions over integer variables.
Definition at line 257 of file minimodel.hh.
Type of linear expression.
Definition at line 268 of file minimodel.hh.
| Gecode::LinIntExpr::LinIntExpr | ( | void | ) |
Default constructor.
| Gecode::LinIntExpr::LinIntExpr | ( | int | c | ) |
Create expression for constant c.
| Gecode::LinIntExpr::LinIntExpr | ( | const IntVar & | x, |
| int | a = 1 ) |
Create expression.
| Gecode::LinIntExpr::LinIntExpr | ( | const BoolVar & | x, |
| int | a = 1 ) |
Create expression.
|
explicit |
Create sum expression.
| Gecode::LinIntExpr::LinIntExpr | ( | const IntArgs & | a, |
| const IntVarArgs & | x ) |
Create sum expression.
|
explicit |
Create sum expression.
| Gecode::LinIntExpr::LinIntExpr | ( | const IntArgs & | a, |
| const BoolVarArgs & | x ) |
Create sum expression.
| Gecode::LinIntExpr::LinIntExpr | ( | const LinIntExpr & | e | ) |
Copy constructor.
| Gecode::LinIntExpr::LinIntExpr | ( | const LinIntExpr & | e0, |
| NodeType | t, | ||
| const LinIntExpr & | e1 ) |
Create expression for type and subexpressions.
| Gecode::LinIntExpr::LinIntExpr | ( | const LinIntExpr & | e0, |
| NodeType | t, | ||
| int | c ) |
Create expression for type and subexpression.
| Gecode::LinIntExpr::LinIntExpr | ( | int | a, |
| const LinIntExpr & | e ) |
Create expression for multiplication.
|
explicit |
Create non-linear expression.
| Gecode::LinIntExpr::~LinIntExpr | ( | void | ) |
Destructor.
| const LinIntExpr & Gecode::LinIntExpr::operator= | ( | const LinIntExpr & | e | ) |
Assignment operator.
| void Gecode::LinIntExpr::post | ( | Home | home, |
| IntRelType | irt, | ||
| const IntPropLevels & | ipls ) const |
Post propagator.
| void Gecode::LinIntExpr::post | ( | Home | home, |
| IntRelType | irt, | ||
| const BoolVar & | b, | ||
| const IntPropLevels & | ipls ) const |
Post reified propagator.
| IntVar Gecode::LinIntExpr::post | ( | Home | home, |
| const IntPropLevels & | ipls ) const |
Post propagator and return variable for value.
| NonLinIntExpr * Gecode::LinIntExpr::nle | ( | void | ) | const |
Return non-linear expression inside, or null if not non-linear.