21 #ifndef OTAWA_ILP_ABSTRACTSYSTEM_H_
22 #define OTAWA_ILP_ABSTRACTSYSTEM_H_
24 #include <elm/genstruct/FragTable.h>
28 namespace otawa {
namespace ilp {
39 virtual double coefficient(
Var *
var = 0)
const;
40 virtual double constant(
void)
const;
42 virtual const string& label(
void)
const;
43 virtual void add(
double coef,
Var *
var = 0);
44 virtual void sub(
double coef,
Var *
var = 0);
47 virtual void setLabel(
const string& label);
69 inline int index(
void)
const {
return _idx; }
81 virtual void addObjectFunction(
double coef,
Var *
var);
82 virtual Var *newVar(
const string&
name);
83 virtual int countVars(
void);
84 virtual int countConstraints(
void);
101 }
while(!ended() && !item());
112 }
while(!ended() && !item());
genstruct::FragTable< AbstractVar * > vars
Definition: AbstractSystem.h:123
ConstIter(AbstractSystem *sys)
Definition: AbstractSystem.h:96
An expression allows to represent a sum of terms and may be used to represent the value of an aliased...
Definition: Expression.h:43
comparator_t
Definition: Constraint.h:36
AbstractSystem * _sys
Definition: AbstractSystem.h:72
Constraint generated by AbstractSystem.
Definition: AbstractSystem.h:34
Definition: AbstractSystem.h:65
bool cleaning
Definition: AbstractSystem.h:126
Expression obj
Definition: AbstractSystem.h:125
Definition: AbstractSystem.h:105
Definition: Expression.h:61
int index(void) const
Definition: AbstractSystem.h:69
Definition: AbstractSystem.h:49
This class provides a convenient way to handle ILP systems in OTAWA.
Definition: AbstractSystem.h:64
Expression _expr
Definition: AbstractSystem.h:57
double _cst
Definition: AbstractSystem.h:59
string _label
Definition: AbstractSystem.h:56
TermIter(AbstractConstraint *cons)
Definition: AbstractSystem.h:51
sys::SystemOutStream & out
This class is used to represent constraints in an ILP system with the following form: ...
Definition: Constraint.h:33
comparator_t _comp
Definition: AbstractSystem.h:58
int _idx
Definition: AbstractSystem.h:73
inst add(int d, int a, int b)
Definition: inst.h:163
inst sub(int d, int a, int b)
Definition: inst.h:164
AbstractSystem * _sys
Definition: AbstractSystem.h:61
Definition: AbstractSystem.h:94
VarIter(AbstractSystem *sys)
Definition: AbstractSystem.h:107
cstring name
Definition: odisasm.cpp:107
void next(void)
Definition: AbstractSystem.h:98
int _idx
Definition: AbstractSystem.h:60
Encapsulation for ilp::Constraint pointers for {ilp} expr user-fiendly interface. ...
Definition: expr.h:46
genstruct::FragTable< AbstractConstraint * > conss
Definition: AbstractSystem.h:124
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
const Type & type(void)
Definition: type.h:163
Encapsulation for ilp::Var pointers for {ilp} expr user-fiendly interface.
Definition: expr.h:29
type_t
Type of an ILP variable.
Definition: Var.h:38
void next(void)
Definition: AbstractSystem.h:109