21 #ifndef OTAWA_ILP_EXPR_H_
22 #define OTAWA_ILP_EXPR_H_
26 namespace otawa {
namespace ilp {
34 inline operator Var *(void)
const {
return _v; }
74 inline void free(
void) {
delete c;
c = 0; }
88 inline operator System *(void)
const {
return _s; }
An expression allows to represent a sum of terms and may be used to represent the value of an aliased...
Definition: Expression.h:43
cons(Constraint *cc)
Definition: expr.h:49
cons operator+=(const Term &t)
Definition: expr.h:56
cons operator==(const Term &t)
Definition: expr.h:61
cons operator+=(const Expression &e)
Definition: expr.h:58
comparator_t
Definition: Constraint.h:36
System * operator->(void) const
Definition: expr.h:87
double coef_t
Definition: Expression.h:31
var(System *sys, Var::type_t t=Var::INT, string name="")
Definition: expr.h:32
Expression operator-(const Term &t1, const Term &t2)
Definition: expr.h:96
var x(Var *v)
Convert an ilp::Var * to a var.
Definition: expr.h:40
Definition: Constraint.h:38
void set(Constraint::comparator_t comp)
Definition: expr.h:76
void sub(coef_t coef, ilp::Var *var=0)
Subtract a term to the expression.
Definition: Expression.h:49
cons operator<=(const Term &t)
Definition: expr.h:63
virtual void setComparator(comparator_t comp)=0
Definition: Constraint.h:42
cons operator==(const Expression &f)
Definition: expr.h:62
Definition: features.h:42
virtual void add(double coef, Var *var=0)=0
Add a term to the constraint to the left part of constraint.
Term operator*(coef_t c, var v)
Definition: expr.h:41
Definition: Constraint.h:37
System * _s
Definition: expr.h:90
Definition: Constraint.h:40
bool l
Definition: expr.h:77
cons operator+(const Term &t)
Definition: expr.h:51
cons operator>=(const Expression &f)
Definition: expr.h:68
cons operator()(const string &label) const
Definition: expr.h:85
System * operator&(void) const
Definition: expr.h:86
cons operator>=(const Term &t)
Definition: expr.h:67
var(Var *v)
Definition: expr.h:33
cons(void)
Definition: expr.h:48
virtual Constraint * newConstraint(Constraint::comparator_t comp, double constant=0)=0
Build a new constraint that may be initialized by the user.
Constraint * c
Definition: expr.h:78
Constraint * operator->(void) const
Definition: expr.h:73
virtual void setLabel(const string &label)=0
cons operator-(const Expression &e)
Definition: expr.h:54
cons operator-(const Term &t)
Definition: expr.h:52
cons operator<(const Term &t)
Definition: expr.h:65
Var * _v
Definition: expr.h:37
This class is used to represent constraints in an ILP system with the following form: ...
Definition: Constraint.h:33
Definition: Expression.h:35
var(System &sys, Var::type_t t=Var::INT, string name="")
Definition: expr.h:31
model(System *s)
Definition: expr.h:83
cons operator+(const Expression &e)
Definition: expr.h:53
cons operator>(const Term &t)
Definition: expr.h:69
virtual void sub(double coef, Var *var=0)=0
Substact a factor from the constraint.
cons operator-=(const Expression &e)
Definition: expr.h:59
cstring name
Definition: odisasm.cpp:107
Constraint * operator&(void) const
Definition: expr.h:72
void free(void)
Definition: expr.h:74
Definition: Constraint.h:41
cons operator<=(const Expression &f)
Definition: expr.h:64
Encapsulation for ilp::Constraint pointers for {ilp} expr user-fiendly interface. ...
Definition: expr.h:46
cons operator-=(const Term &t)
Definition: expr.h:57
void add(coef_t coef, ilp::Var *var=0)
Add a term to the expression.
Definition: ilp_Expression.cpp:55
Integer (default) type for ILP variable.
Definition: Var.h:40
A variable is an identifier used for performing ILP computation.
Definition: Var.h:36
Encapsulation for ilp::System pointers for {ilp} expr user-fiendly interface.
Definition: expr.h:81
cons operator<(const Expression &f)
Definition: expr.h:66
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
Expression operator+(const Term &t1, const Term &t2)
Definition: expr.h:95
cons operator>(const Expression &f)
Definition: expr.h:70
cons operator()(void) const
Definition: expr.h:84
type_t
Type of an ILP variable.
Definition: Var.h:38
Definition: Constraint.h:39