|
PPL
0.12.1
|
A generic Opposite Floating Point Expression. More...
#include <ppl.hh>

Public Member Functions | |
| bool | linearize (const FP_Interval_Abstract_Store &int_store, const FP_Linear_Form_Abstract_Store &lf_store, FP_Linear_Form &result) const |
| Linearizes the expression in a given astract store. | |
| void | m_swap (Opposite_Floating_Point_Expression &y) |
Swaps *this with y. | |
Constructors and Destructor | |
| Opposite_Floating_Point_Expression (Floating_Point_Expression< FP_Interval_Type, FP_Format > *const op) | |
Constructor with one parameter: builds the opposite floating point expression op. | |
| ~Opposite_Floating_Point_Expression () | |
| Destructor. | |
Related Functions | |
(Note that these are not member functions.) | |
| template<typename FP_Interval_Type , typename FP_Format > | |
| void | swap (Opposite_Floating_Point_Expression< FP_Interval_Type, FP_Format > &x, Opposite_Floating_Point_Expression< FP_Interval_Type, FP_Format > &y) |
Swaps x with y. | |
| template<typename FP_Interval_Type , typename FP_Format > | |
| void | swap (Opposite_Floating_Point_Expression< FP_Interval_Type, FP_Format > &x, Opposite_Floating_Point_Expression< FP_Interval_Type, FP_Format > &y) |
A generic Opposite Floating Point Expression.
FP_Interval_Type represents the type of the intervals used in the abstract domain.FP_Format represents the floating point format used in the concrete domain.Let
be an interval linear form and let
be a sound unary operator on linear forms such that:
Given a floating point expression
and a composite abstract store
, we construct the interval linear form
as follows:
|
inlinevirtual |
Linearizes the expression in a given astract store.
Makes result become the linearization of *this in the given composite abstract store.
| int_store | The interval abstract store. |
| lf_store | The linear form abstract store. |
| result | The modified linear form. |
true if the linearization succeeded, false otherwise.Note that all variables occuring in the expression represented by operand MUST have an associated value in int_store. If this precondition is not met, calling the method causes an undefined behavior.
See the class description for a detailed explanation of how result is computed.
Implements Parma_Polyhedra_Library::Floating_Point_Expression< FP_Interval_Type, FP_Format >.
|
related |
Swaps x with y.
|
related |