[PPL-devel] [GIT] ppl/ppl(floating_point): Added some more documentation.

Fabio Bossi bossi at cs.unipr.it
Mon Sep 21 15:38:03 CEST 2009


Module: ppl/ppl
Branch: floating_point
Commit: e382dfd1d7fa78031d49b05b7bbc0fac51ca3aa9
URL:    http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=e382dfd1d7fa78031d49b05b7bbc0fac51ca3aa9

Author: Fabio Bossi <bossi at cs.unipr.it>
Date:   Mon Sep 21 15:41:16 2009 +0200

Added some more documentation.

---

 src/Polyhedron.defs.hh |   60 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/src/Polyhedron.defs.hh b/src/Polyhedron.defs.hh
index 3c3a9d5..7ecc2cf 100644
--- a/src/Polyhedron.defs.hh
+++ b/src/Polyhedron.defs.hh
@@ -2628,6 +2628,25 @@ protected:
   //@} // Exception Throwers
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
+  //! Helper function that overapproximates an interval linear form.
+  /*!
+    \param lf
+    The linear form on intervals with floating point boundaries to approximate.
+
+    \param lf_dimension
+    Must be the space dimension of \p lf.
+
+    \param store
+    The interval abstract store in which the approximation is performed.
+
+    \param result
+    Used to store the result.
+
+    This function makes \p result become a linear form that is a correct
+    approximation of \p lf in \p store. The resulting linear form has the
+    property that all of its variable coefficients have a non-significative
+    upper bound and can thus be considered as singletons.
+  */
   template <typename FP_Format, typename Interval_Info>
   static void overapproximate_linear_form(
   const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,
@@ -2635,12 +2654,53 @@ protected:
   const std::map< dimension_type, Interval<FP_Format, Interval_Info> >& store,
   Linear_Form<Interval <FP_Format, Interval_Info> >& result);
 
+  /*! \brief
+    Helper function that makes \p result become a Linear_Expression obtained
+    by normalizing the denominators in \p lf.
+
+    \param lf
+    The linear form on intervals with floating point boundarie to normalize.
+    It should be the result of an application of static method
+    <CODE>overapproximate_linear_form</CODE>.
+
+    \param l_dimension
+    Must be the space dimension of \p lf.
+
+    \param result
+    Used to store the result.
+
+    This function ignores the upper bound of intervals in \p lf,
+    so that in fact the result can be seen as \p lf multiplied by a proper
+    normalization constant.
+  */
   template <typename FP_Format, typename Interval_Info>
   static void convert_to_integer_expression(
 	      const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,
               const dimension_type lf_dimension,
               Linear_Expression& result);
 
+  //! Normalization helper function.
+  /*!
+    \param lf
+    The linear form on intervals with floating point boundaries to normalize.
+    It should be the result of an application of static method
+    <CODE>overapproximate_linear_form</CODE>.
+
+    \param lf_dimension
+    Must be the space dimension of \p lf.
+
+    \param res
+    Stores the normalized linear form, except its inhomogeneous term.
+
+    \param res_low_coeff
+    Stores the lower boundary of the inhomogeneous term of the result.
+
+    \param res_hi_coeff
+    Stores the higher boundary of the inhomogeneous term of the result.
+
+    Results are obtained by normalizing denominators in \p lf, ignoring
+    the upper bounds of variable coefficients in \p lf.
+  */
   template <typename FP_Format, typename Interval_Info>
   static void convert_to_integer_expressions(
 	      const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,




More information about the PPL-devel mailing list