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 <ppl.hh>
|  | 
| 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 intoresult.  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 intoresult.  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 intoresult.  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 intoresult.  More...
 | 
|  | 
template<typename Target, typename FP_Interval_Type>
class Parma_Polyhedra_Library::FP_Oracle< Target, FP_Interval_Type >
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. 
- Template type parameters
- The class template parameter Targetspecifies the implementation of Concrete_Expression to be used.
- The class template parameter FP_Interval_Typerepresents the type of the intervals used in the abstract domain. The interval bounds should have a floating point type.
template<typename Target , typename FP_Interval_Type > 
 
Asks the external analyzer for an interval that correctly approximates the floating point entity referenced by dim. Result is stored into result. 
- Returns
- trueif the analyzer was able to find a correct approximation,- falseotherwise.
 
 
template<typename Target , typename FP_Interval_Type > 
 
Asks the external analyzer for an interval that correctly approximates the value of floating point constant expr. Result is stored into result. 
- Returns
- trueif the analyzer was able to find a correct approximation,- falseotherwise.
 
 
template<typename Target , typename FP_Interval_Type > 
 
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. 
- Returns
- trueif the analyzer was able to find a correct approximation,- falseotherwise.
 
 
template<typename Target , typename FP_Interval_Type > 
 
Asks the external analyzer for the possible space dimensions that are associated to the approximable reference expr. Result is stored into result. 
- Returns
- trueif the analyzer was able to return the (possibly empty!) set,- falseotherwise.
The resulting set MUST NOT contain not_a_dimension(). 
 
 
The documentation for this class was generated from the following file: