[GIT] ppl/ppl(floating_point): Added more documentation

Module: ppl/ppl Branch: floating_point Commit: da78c30d4893169e3a095e9b91fd0a411fb00947 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=da78c30d48931...
Author: Fabio Biselli fabio.biselli@studenti.unipr.it Date: Fri Sep 4 19:05:11 2009 +0200
Added more documentation
---
src/Constant_Floating_Point_Expression.defs.hh | 11 ++++++++++- src/Difference_Floating_Point_Expression.defs.hh | 15 ++++++++++++++- src/Floating_Point_Expression.defs.hh | 19 ++++++++++++++++--- ...ultiplication_Floating_Point_Expression.defs.hh | 11 ++++++++++- src/Opposite_Floating_Point_Expression.defs.hh | 5 ++++- src/Sum_Floating_Point_Expression.defs.hh | 15 ++++++++++++++- src/Variable_Floating_Point_Expression.defs.hh | 9 ++++++--- 7 files changed, 74 insertions(+), 11 deletions(-)
diff --git a/src/Constant_Floating_Point_Expression.defs.hh b/src/Constant_Floating_Point_Expression.defs.hh index b189dcf..5301c17 100644 --- a/src/Constant_Floating_Point_Expression.defs.hh +++ b/src/Constant_Floating_Point_Expression.defs.hh @@ -101,9 +101,18 @@ public:
//@} // Constructors and Destructor
- // TODO: comment + // FIXME: Modify documentation when exceptions are fixed + /* \brief + Returns a linear form in the abstract store \p store corresponding to + an inhomogenous term which over-approximates the value of + <CODE>this</CODE> argument. + + \exception Parma_Polyhedra_Library::Linearization_Failed + Thrown if the method <CODE>linearize</CODE> fails. + */ FP_Linear_Form linearize(const FP_Interval_Abstract_Store& store) const;
+ //! Swaps \p *this with \p y. void swap(Constant_Floating_Point_Expression& y);
private: diff --git a/src/Difference_Floating_Point_Expression.defs.hh b/src/Difference_Floating_Point_Expression.defs.hh index 397191b..ac7240f 100644 --- a/src/Difference_Floating_Point_Expression.defs.hh +++ b/src/Difference_Floating_Point_Expression.defs.hh @@ -105,7 +105,20 @@ public:
//@} // Constructors and Destructor
- //TODO: comment + // FIXME: Modify documentation when exceptions are fixed + /* \brief + Returns a linear form in the abstract store \p store constructed by + adding the following linear forms: + + - the linearization of the <CODE>first_operand</CODE> minus the + linearization of the <CODE>second_operand</CODE>; + - the relative error related to the <CODE>first_operand</CODE>; + - the relative error related to the <CODE>second_operand</CODE>; + - the absolute error. + + \exception Parma_Polyhedra_Library::Linearization_Failed + Thrown if the method <CODE>linearize</CODE> fails. + */ FP_Linear_Form linearize(const FP_Interval_Abstract_Store& store) const;
//! Swaps \p *this with \p y. diff --git a/src/Floating_Point_Expression.defs.hh b/src/Floating_Point_Expression.defs.hh index 5513daa..48de2a8 100644 --- a/src/Floating_Point_Expression.defs.hh +++ b/src/Floating_Point_Expression.defs.hh @@ -96,6 +96,11 @@ public: const FP_Interval_Abstract_Store& store) const = 0;
//! Absolute error. + /* \brief + Initialized by computing the smallest non-zero positive + number in the less precise format between the analyzer and the analyzed + format. + */ static boundary_type absolute_error;
/* \brief @@ -104,14 +109,22 @@ public: */ // FIXME: this may not be the best place for them. static bool overflows(const FP_Linear_Form& lf);
- static FP_Linear_Form relative_error(const FP_Linear_Form&); + /* \brief + Returns a linear form that is used by <CODE>linearize</CODE> to account + for the relative errors on \p lf. + */ + static FP_Linear_Form relative_error(const FP_Linear_Form& lf);
- static FP_Interval_Type intervalize(const FP_Linear_Form&, + /* \brief + Returns an interval that over approximates the range of \p lf in + the apstract store \p store. + */ + static FP_Interval_Type intervalize(const FP_Linear_Form& lf, const FP_Interval_Abstract_Store& store);
}; // class Floating_Point_Expression
-//! Initialize static members of the class. + template <typename FP_Interval_Type, typename FP_Format> typename Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type Floating_Point_Expression<FP_Interval_Type, FP_Format>::absolute_error = diff --git a/src/Multiplication_Floating_Point_Expression.defs.hh b/src/Multiplication_Floating_Point_Expression.defs.hh index d574dd1..a46ca0d 100644 --- a/src/Multiplication_Floating_Point_Expression.defs.hh +++ b/src/Multiplication_Floating_Point_Expression.defs.hh @@ -105,7 +105,16 @@ public:
//@} // Constructors and Destructor.
- // TODO: comment + // FIXME: Modify documentation when exceptions are fixed + // FIXME: Add complete description of method + /* \brief + Returns a linear form in the abstract store \p store constructed by + adding the following linear forms: + + + \exception Parma_Polyhedra_Library::Linearization_Failed + Thrown if the method <CODE>linearize</CODE> fails. + */ FP_Linear_Form linearize(const FP_Interval_Abstract_Store& store) const;
//! Swaps \p *this with \p y. diff --git a/src/Opposite_Floating_Point_Expression.defs.hh b/src/Opposite_Floating_Point_Expression.defs.hh index f2660b5..7ad2991 100644 --- a/src/Opposite_Floating_Point_Expression.defs.hh +++ b/src/Opposite_Floating_Point_Expression.defs.hh @@ -102,7 +102,10 @@ public:
//@} // Constructors and Destructor
- // TODO: comment + /* \brief + Returns a linear form in the abstract store \p store that simply + represents the opposite of the operand linearization. + */ FP_Linear_Form linearize(const FP_Interval_Abstract_Store& store) const;
//! Swaps \p *this with \p y. diff --git a/src/Sum_Floating_Point_Expression.defs.hh b/src/Sum_Floating_Point_Expression.defs.hh index 92d9d6d..c359526 100644 --- a/src/Sum_Floating_Point_Expression.defs.hh +++ b/src/Sum_Floating_Point_Expression.defs.hh @@ -103,7 +103,20 @@ public:
//@} // Constructors and Destructor
- // TODO: comment + // FIXME: Modify documentation when exceptions are fixed + /* \brief + Returns a linear form in the abstract store \p store constructed by + adding the following linear forms: + + - the linearization of the <CODE>first_operand</CODE>; + - the linearization of the <CODE>second_operand</CODE>; + - the relative error related to the <CODE>first_operand</CODE>; + - the relative error related to the <CODE>second_operand</CODE>; + - the absolute error. + + \exception Parma_Polyhedra_Library::Linearization_Failed + Thrown if the method <CODE>linearize</CODE> fails. + */ FP_Linear_Form linearize(const FP_Interval_Abstract_Store& store) const;
//! Swaps \p *this with \p y. diff --git a/src/Variable_Floating_Point_Expression.defs.hh b/src/Variable_Floating_Point_Expression.defs.hh index 0dc0038..bc8e5a5 100644 --- a/src/Variable_Floating_Point_Expression.defs.hh +++ b/src/Variable_Floating_Point_Expression.defs.hh @@ -89,8 +89,8 @@ public: //! \name Constructors and Destructor //@{ /*! \brief - Constructor with a parameter: builds the variable floating point expression - from \p v_index corresponding to the variable index. + Constructor with a parameter: builds the variable floating point + expression from \p v_index corresponding to the variable index. */ explicit Variable_Floating_Point_Expression(const dimension_type v_index);
@@ -99,7 +99,10 @@ public:
//@} // Constructors and Destructor
- // TODO: comment + /* \brief + Returns a linear form in the abstract store \p store corresponding to + <CODE>this</CODE> variable with coefficent \f$[1,1]\f$. + */ FP_Linear_Form linearize(const FP_Interval_Abstract_Store& store) const;
//! Swaps \p *this with \p y.
participants (1)
-
Fabio Biselli