[PPL-devel] [GIT] ppl/ppl(floating_point): Added some (and corrected some of the) documentation.

Fabio Bossi bossi at cs.unipr.it
Mon Sep 21 14:57:37 CEST 2009


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

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

Added some (and corrected some of the) documentation.

---

 src/Octagonal_Shape.defs.hh |   18 ++++++++++-----
 src/Polyhedron.defs.hh      |   51 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+), 6 deletions(-)

diff --git a/src/Octagonal_Shape.defs.hh b/src/Octagonal_Shape.defs.hh
index b5a6055..60f7f58 100644
--- a/src/Octagonal_Shape.defs.hh
+++ b/src/Octagonal_Shape.defs.hh
@@ -993,17 +993,19 @@ public:
     the constraint expressed by \p left \f$\leq\f$ \p right.
 
     \param left
-    The linear form on intervals with floating point coefficients that
-    is on the left of the comparison operator. All of its coefficients
+    The linear form on intervals with floating point boundaries that
+    is at the left of the comparison operator. All of its coefficients
     MUST be bounded.
 
     \param right
-    The linear form on intervals with floating point coefficients that
-    is on the right of the comparison operator. All of its coefficients
+    The linear form on intervals with floating point boundaries that
+    is at the right of the comparison operator. All of its coefficients
     MUST be bounded.
 
     \exception std::invalid_argument
     Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
+
+    
   */
   template <typename Interval_Info>
   void refine_with_linear_form_inequality(
@@ -1139,12 +1141,16 @@ public:
     The variable to which the affine expression is assigned.
 
     \param lf
-    The linear form on intervals with floating point coefficients that
-    defines the affine expression. ALL of its coefficients MUST be boundend.
+    The linear form on intervals with floating point boundaries that
+    defines the affine expression(s). ALL of its coefficients MUST be bounded.
 
     \exception std::invalid_argument
     Thrown if \p lf and \p *this are dimension-incompatible or if \p var
     is not a dimension of \p *this.
+
+    This function is used in abstract interpretation to model an assignment
+    of a value that is correctly overapproximated by \p lf to the
+    floating point variable represented by \p var.
   */
   template <typename Interval_Info>
   void affine_image(const Variable& var,
diff --git a/src/Polyhedron.defs.hh b/src/Polyhedron.defs.hh
index 0ef020c..3c3a9d5 100644
--- a/src/Polyhedron.defs.hh
+++ b/src/Polyhedron.defs.hh
@@ -979,6 +979,32 @@ public:
   */
   void refine_with_congruences(const Congruence_System& cgs);
 
+  /*!
+    Refines \p *this with the constraint expressed by \p left \f$\leq\f$
+    \p right.
+
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is on the left of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is on the right of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param store
+    The interval abstract store in which the test defining the filter is
+    performed. All variables that occur in \p left or \p right MUST have
+    an associated value in it.
+
+    \exception std::invalid_argument
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
+
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
+  */
   template <typename FP_Format, typename Interval_Info>
   void refine_with_linear_form_inequality(
   const Linear_Form< Interval<FP_Format, Interval_Info> >& left,
@@ -1151,6 +1177,31 @@ public:
 		    Coefficient_traits::const_reference denominator
 		      = Coefficient_one());
 
+  /*!
+    Assigns to \p *this the
+    \ref Single_Update_Affine_Functions "affine image"
+    of \p *this under the function mapping variable \p var into the
+    affine expression(s) specified by \p lf.
+
+    \param var
+    The variable to which the affine expression is assigned.
+
+    \param lf
+    The linear form on intervals with floating point boundaries that
+    defines the affine expression(s). ALL of its coefficients MUST be bounded.
+
+    \param store
+    The interval abstract store in which the variable assignment is performed.
+    All variables that occur in \p lf MUST have an associated value in it.
+
+    \exception std::invalid_argument
+    Thrown if \p lf and \p *this are dimension-incompatible or if \p var is
+    not a space dimension of \p *this.
+
+    This function is used in abstract interpretation to model an assignment
+    of a value that is correctly overapproximated by \p lf to the
+    floating point variable represented by \p var.
+  */
   template <typename FP_Format, typename Interval_Info>
   void affine_image(const Variable& var,
   const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,




More information about the PPL-devel mailing list