21 #ifndef OTAWA_ILP_EXPRESSION_H_
22 #define OTAWA_ILP_EXPRESSION_H_
24 #include <elm/genstruct/SLList.h>
26 namespace otawa {
namespace ilp {
An expression allows to represent a sum of terms and may be used to represent the value of an aliased...
Definition: Expression.h:43
Expression(const Expression *expr)
Build an expression by cloning the given one.
Definition: Expression.h:46
coef_t snd
Definition: Expression.h:40
void sub(const Term &t)
Definition: Expression.h:51
Term(coef_t c, Var *v=0)
Definition: Expression.h:37
double coef_t
Definition: Expression.h:31
Expression(void)
Build an empty expression.
Definition: Expression.h:45
inst mul(int d, int a, int b)
Definition: inst.h:172
void sub(coef_t coef, ilp::Var *var=0)
Subtract a term to the expression.
Definition: Expression.h:49
Iterator & operator=(const Iterator &iter)
Definition: Expression.h:65
Definition: Expression.h:61
Term(Var *v, coef_t c=1.)
Definition: Expression.h:38
void add(const Term &t)
Definition: Expression.h:50
genstruct::SLList< Term > terms
Definition: Expression.h:69
Definition: Expression.h:35
Iterator(const Expression *expr)
Definition: Expression.h:63
inst add(int d, int a, int b)
Definition: inst.h:163
inst sub(int d, int a, int b)
Definition: inst.h:164
Iterator(const Iterator &iter)
Definition: Expression.h:64
Var * fst
Definition: Expression.h:39
A variable is an identifier used for performing ILP computation.
Definition: Var.h:36
An ILP system is a colletion of ILP constraint that may maximize or minimize some object function...
Definition: System.h:42
Encapsulation for ilp::Var pointers for {ilp} expr user-fiendly interface.
Definition: expr.h:29
inst div(int d, int a, int b)
Definition: inst.h:174