PPL
1.2
|
An abstract class to be implemented by an external analyzer such as ECLAIR in order to provide to the PPL the necessary information for performing the analysis of floating point computations. More...
#include <Float_defs.hh>
Public Member Functions | |
virtual bool | get_interval (dimension_type dim, FP_Interval_Type &result) const =0 |
Asks the external analyzer for an interval that correctly approximates the floating point entity referenced by dim . Result is stored into result . More... | |
virtual bool | get_fp_constant_value (const Floating_Point_Constant< Target > &expr, FP_Interval_Type &result) const =0 |
Asks the external analyzer for an interval that correctly approximates the value of floating point constant expr . Result is stored into result . More... | |
virtual bool | get_integer_expr_value (const Concrete_Expression< Target > &expr, FP_Interval_Type &result) const =0 |
Asks the external analyzer for an interval that correctly approximates the value of expr , which must be of integer type. Result is stored into result . More... | |
virtual bool | get_associated_dimensions (const Approximable_Reference< Target > &expr, std::set< dimension_type > &result) const =0 |
Asks the external analyzer for the possible space dimensions that are associated to the approximable reference expr . Result is stored into result . More... | |
An abstract class to be implemented by an external analyzer such as ECLAIR in order to provide to the PPL the necessary information for performing the analysis of floating point computations.
Target
specifies the implementation of Concrete_Expression to be used.FP_Interval_Type
represents the type of the intervals used in the abstract domain. The interval bounds should have a floating point type. Definition at line 399 of file Float_defs.hh.
|
pure virtual |
Asks the external analyzer for the possible space dimensions that are associated to the approximable reference expr
. Result is stored into result
.
true
if the analyzer was able to return the (possibly empty!) set, false
otherwise.The resulting set MUST NOT contain not_a_dimension()
.
Referenced by Parma_Polyhedra_Library::Concrete_Expression< Target >::linearize().
|
pure virtual |
Asks the external analyzer for an interval that correctly approximates the value of floating point constant expr
. Result is stored into result
.
true
if the analyzer was able to find a correct approximation, false
otherwise. Referenced by Parma_Polyhedra_Library::Concrete_Expression< Target >::linearize().
|
pure virtual |
Asks the external analyzer for an interval that correctly approximates the value of expr
, which must be of integer type. Result is stored into result
.
true
if the analyzer was able to find a correct approximation, false
otherwise. Referenced by Parma_Polyhedra_Library::Concrete_Expression< Target >::cast_linearize().
|
pure virtual |
Asks the external analyzer for an interval that correctly approximates the floating point entity referenced by dim
. Result is stored into result
.
true
if the analyzer was able to find a correct approximation, false
otherwise. Referenced by Parma_Polyhedra_Library::Linear_Form< C >::intervalize(), and Parma_Polyhedra_Library::Concrete_Expression< Target >::linearize().