#include <IbexFunction.h>
Public Member Functions | |
| Assign (const ExtendedSymbol &symbol, const Expr &right) | |
| void | forward (Space &space) const |
| void | backward (Space &space) const |
Public Attributes | |
| const ExtendedSymbol & | symbol |
| const Expr & | right |
| Evaluator | evl |
Assignment is a particular class of equalities where the left part is necessarily a symbol. This class is only used inside the definition of a function. The main difference between an equality constraint is in the evaluation mechanism. An assignment has "inputs " and one "output" (the symbol y on the left side). This means that the forward function does not intersect the domain of the left symbol (just as an intermediate node inside an expression), since this is the output of the expression. Furthermore, the order of assignments in a function definition plays an important role since evaluation through assignments should amount to the evaluation of a DAG.
| ibex::Assign::Assign | ( | const ExtendedSymbol & | symbol, | |
| const Expr & | right | |||
| ) |
Create a new assignment symbol=right.
| void ibex::Assign::forward | ( | Space & | space | ) | const |
Forward evaluation.
| void ibex::Assign::backward | ( | Space & | space | ) | const |
Backward evaluation. May throw ibex::UnfeasibilityException.
The left side symbol y.
| const Expr& ibex::Assign::right |
The right side expression f(x).
| Evaluator ibex::Assign::evl |
Evaluator
1.5.5