Constraint generated by AbstractSystem.
More...
#include <otawa/ilp/AbstractSystem.h>
Constraint generated by AbstractSystem.
Provided publicly to allow extension of AbstractSystem.
Enumerator |
---|
UNDEF |
|
LT |
|
LE |
|
EQ |
|
GE |
|
GT |
|
otawa::ilp::AbstractConstraint::AbstractConstraint |
( |
string |
label, |
|
|
comparator_t |
comp, |
|
|
double |
cst |
|
) |
| |
Build an abstract constraint.
- Parameters
-
label | Associated label. |
comp | Constraint comparator. |
cst | Numeric constant put to the right of the constraint. |
otawa::ilp::AbstractConstraint::~AbstractConstraint |
( |
void |
| ) |
|
|
virtual |
void otawa::ilp::AbstractConstraint::add |
( |
double |
coef, |
|
|
Var * |
var = 0 |
|
) |
| |
|
virtual |
Add a term to the constraint to the left part of constraint.
If var is null, sum the coefficient to the right part of the constraint.
- Parameters
-
coef | Coefficient of the factor. |
var | Variable of the factor. When null, modify the constant. |
Implements otawa::ilp::Constraint.
References _cst, _expr, and otawa::ilp::Expression::add().
void otawa::ilp::Constraint::add |
( |
const Term & |
t | ) |
|
|
inlineinherited |
void otawa::ilp::Constraint::add |
( |
const Expression & |
e | ) |
|
|
inherited |
void otawa::ilp::Constraint::addLeft |
( |
double |
coef, |
|
|
Var * |
var = 0 |
|
) |
| |
|
inlineinherited |
Add a factor on the left side.
- Parameters
-
coef | Coefficient of the factor. |
var | Variable of the factor. |
References otawa::ilp::Constraint::add().
Referenced by otawa::ccg::ConstraintBuilder::addConstraintHeader(), otawa::etime::EdgeTimeBuilder::contributeSplit(), otawa::etime::StandardEventBuilder::handleVariableBranchPred(), otawa::ipet::CachePenaltiesObjectFunctionBuilder::processBB(), otawa::branch::OnlyConsBuilder::processBB(), otawa::ipet::FlowFactConstraintBuilder::processBB(), otawa::tsim::Delta::processBBPath(), otawa::cat::CATConstraintBuilder::processLBlockSet(), otawa::ccg::ConstraintBuilder::processLBlockSet(), otawa::EdgeCAT2ConstraintBuilder::processWorkSpace(), otawa::CAT2OnlyConstraintBuilder::processWorkSpace(), and otawa::dcache::CatConstraintBuilder::processWorkSpace().
void otawa::ilp::Constraint::addRight |
( |
double |
coef, |
|
|
Var * |
var = 0 |
|
) |
| |
|
inlineinherited |
Add a factor on the right side.
- Parameters
-
coef | Coefficient of the factor. |
var | Variable of the factor. |
References otawa::ilp::Constraint::add().
Referenced by otawa::ccg::ConstraintBuilder::addConstraintHeader(), otawa::etime::EdgeTimeBuilder::contributeSplit(), otawa::etime::StandardEventBuilder::handleVariableBranchPred(), otawa::etime::EventCollector::make(), otawa::ipet::CachePenaltiesObjectFunctionBuilder::processBB(), otawa::branch::OnlyConsBuilder::processBB(), otawa::ipet::FlowFactConstraintBuilder::processBB(), otawa::tsim::Delta::processBBPath(), otawa::cat::CATConstraintBuilder::processLBlockSet(), otawa::ccg::ConstraintBuilder::processLBlockSet(), otawa::EdgeCAT2ConstraintBuilder::processWorkSpace(), otawa::CAT2OnlyConstraintBuilder::processWorkSpace(), and otawa::dcache::CatConstraintBuilder::processWorkSpace().
double otawa::ilp::AbstractConstraint::coefficient |
( |
Var * |
var = 0 | ) |
const |
|
virtual |
Get the coefficient for the given variable.
- Parameters
-
var | Variable to get the coefficent of. Null variable allows getting the constant part. |
- Returns
- Variable coefficient.
Implements otawa::ilp::Constraint.
References _expr, and constant().
double otawa::ilp::AbstractConstraint::constant |
( |
void |
| ) |
const |
|
virtual |
const string & otawa::ilp::AbstractConstraint::label |
( |
void |
| ) |
const |
|
virtual |
void otawa::ilp::AbstractConstraint::setComparator |
( |
comparator_t |
comp | ) |
|
|
virtual |
virtual void otawa::ilp::Constraint::setComparator |
( |
comparator_t |
comp | ) |
|
|
pure virtualinherited |
void otawa::ilp::AbstractConstraint::setLabel |
( |
const string & |
label | ) |
|
|
virtual |
void otawa::ilp::AbstractConstraint::sub |
( |
double |
coef, |
|
|
Var * |
var = 0 |
|
) |
| |
|
virtual |
void otawa::ilp::Constraint::sub |
( |
const Term & |
t | ) |
|
|
inlineinherited |
void otawa::ilp::Constraint::sub |
( |
const Expression & |
e | ) |
|
|
inherited |
double otawa::ilp::AbstractConstraint::_cst |
|
private |
int otawa::ilp::AbstractConstraint::_idx |
|
private |
string otawa::ilp::AbstractConstraint::_label |
|
private |
The documentation for this class was generated from the following files: