24 #ifndef PPL_Variable_Floating_Point_Expression_inlines_hh
25 #define PPL_Variable_Floating_Point_Expression_inlines_hh 1
31 template <
typename FP_Interval_Type,
typename FP_Format>
35 : variable_index(v_index) {}
37 template <
typename FP_Interval_Type,
typename FP_Format>
42 template <
typename FP_Interval_Type,
typename FP_Format>
50 template <
typename FP_Interval_Type,
typename FP_Format>
56 typename FP_Linear_Form_Abstract_Store::const_iterator
57 variable_value = lf_store.find(variable_index);
59 if (variable_value == lf_store.end()) {
65 return !this->overflows(result);
68 template <
typename FP_Interval_Type,
typename FP_Format>
73 for (
typename FP_Linear_Form_Abstract_Store::iterator
74 i = lf_store.begin(); i != lf_store.end(); ) {
75 if ((i->second).coefficient(
Variable(variable_index)) != 0) {
76 i = lf_store.erase(i);
82 lf_store[variable_index] = lf;
87 template <
typename FP_Interval_Type,
typename FP_Format>
96 #endif // !defined(PPL_Variable_Floating_Point_Expression_inlines_hh)
void swap(CO_Tree &x, CO_Tree &y)
size_t dimension_type
An unsigned integral type for representing space dimensions.
void linear_form_assign(const FP_Linear_Form &lf, FP_Linear_Form_Abstract_Store &lf_store) const
Assigns a linear form to the variable with the same index of *this in a given linear form abstract st...
A generic Variable Floating Point Expression.
A dimension of the vector space.
Variable_Floating_Point_Expression(const dimension_type v_index)
Constructor with a parameter: builds the variable floating point expression corresponding to the vari...
A not necessarily closed, iso-oriented hyperrectangle.
~Variable_Floating_Point_Expression()
Destructor.
The entire library is confined to this namespace.
void swap(Variable_Floating_Point_Expression< FP_Interval_Type, FP_Format > &x, Variable_Floating_Point_Expression< FP_Interval_Type, FP_Format > &y)
dimension_type variable_index
The index of the variable.
void m_swap(Variable_Floating_Point_Expression &y)
Swaps *this with y.
std::map< dimension_type, FP_Linear_Form > FP_Linear_Form_Abstract_Store
Alias for a map that associates a variable index to a linear form.
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 abstract store.