Linear expressions over integer variables. More...
#include <minimodel.hh>
Classes | |
class | Node |
Nodes for linear expressions. More... |
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 245 of file minimodel.hh.
Type of linear expression.
Enumerator | |
---|---|
NT_CONST | Integer constant. |
NT_VAR_INT | Linear term with integer variable. |
NT_VAR_BOOL | Linear term with Boolean variable. |
NT_NONLIN | Non-linear expression. |
NT_SUM_INT | Sum of integer variables. |
NT_SUM_BOOL | Sum of Boolean variables. |
NT_ADD | Addition of linear terms. |
NT_SUB | Subtraction of linear terms. |
NT_MUL | Multiplication by coefficient. |
Definition at line 255 of file minimodel.hh.
Gecode::LinIntExpr::LinIntExpr | ( | void | ) |
Default constructor.
Definition at line 363 of file int-expr.cpp.
Gecode::LinIntExpr::LinIntExpr | ( | int | c | ) |
Create expression for constant c.
Definition at line 371 of file int-expr.cpp.
Gecode::LinIntExpr::LinIntExpr | ( | const IntVar & | x, |
int | a = 1 ) |
Create expression.
Definition at line 381 of file int-expr.cpp.
Gecode::LinIntExpr::LinIntExpr | ( | const BoolVar & | x, |
int | a = 1 ) |
Create expression.
Definition at line 391 of file int-expr.cpp.
|
explicit |
Create sum expression.
Definition at line 401 of file int-expr.cpp.
Gecode::LinIntExpr::LinIntExpr | ( | const IntArgs & | a, |
const IntVarArgs & | x ) |
Create sum expression.
Definition at line 416 of file int-expr.cpp.
|
explicit |
Create sum expression.
Definition at line 433 of file int-expr.cpp.
Gecode::LinIntExpr::LinIntExpr | ( | const IntArgs & | a, |
const BoolVarArgs & | x ) |
Create sum expression.
Definition at line 448 of file int-expr.cpp.
Gecode::LinIntExpr::LinIntExpr | ( | const LinIntExpr & | e | ) |
Copy constructor.
Definition at line 140 of file int-expr.cpp.
Gecode::LinIntExpr::LinIntExpr | ( | const LinIntExpr & | e0, |
NodeType | t, | ||
const LinIntExpr & | e1 ) |
Create expression for type and subexpressions.
Definition at line 465 of file int-expr.cpp.
Gecode::LinIntExpr::LinIntExpr | ( | const LinIntExpr & | e0, |
NodeType | t, | ||
int | c ) |
Create expression for type and subexpression.
Definition at line 474 of file int-expr.cpp.
Gecode::LinIntExpr::LinIntExpr | ( | int | a, |
const LinIntExpr & | e ) |
Create expression for multiplication.
Definition at line 484 of file int-expr.cpp.
|
explicit |
Create non-linear expression.
Definition at line 494 of file int-expr.cpp.
Gecode::LinIntExpr::~LinIntExpr | ( | void | ) |
Destructor.
Definition at line 514 of file int-expr.cpp.
const LinIntExpr & Gecode::LinIntExpr::operator= | ( | const LinIntExpr & | e | ) |
Assignment operator.
Definition at line 505 of file int-expr.cpp.
void Gecode::LinIntExpr::post | ( | Home | home, |
IntRelType | irt, | ||
const IntPropLevels & | ipls ) const |
Post propagator.
Definition at line 156 of file int-expr.cpp.
void Gecode::LinIntExpr::post | ( | Home | home, |
IntRelType | irt, | ||
const BoolVar & | b, | ||
const IntPropLevels & | ipls ) const |
Post reified propagator.
Definition at line 229 of file int-expr.cpp.
IntVar Gecode::LinIntExpr::post | ( | Home | home, |
const IntPropLevels & | ipls ) const |
Post propagator and return variable for value.
Definition at line 292 of file int-expr.cpp.
NonLinIntExpr * Gecode::LinIntExpr::nle | ( | void | ) | const |
Return non-linear expression inside, or null if not non-linear.
Definition at line 359 of file int-expr.cpp.