[PPL-devel] [GIT] ppl/ppl(floating_point): Corrected the interface of method linearize.

Fabio Bossi bossi at cs.unipr.it
Tue Sep 1 09:59:08 CEST 2009


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

Author: Fabio Bossi <bossi at cs.unipr.it>
Date:   Tue Sep  1 09:43:30 2009 +0200

Corrected the interface of method linearize.

---

 src/Constant_Floating_Point_Expression.defs.hh    |    8 +++++---
 src/Constant_Floating_Point_Expression.inlines.hh |    6 ++++--
 src/Floating_Point_Expression.defs.hh             |    5 +++--
 3 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/Constant_Floating_Point_Expression.defs.hh b/src/Constant_Floating_Point_Expression.defs.hh
index bfe4aa6..74bb678 100644
--- a/src/Constant_Floating_Point_Expression.defs.hh
+++ b/src/Constant_Floating_Point_Expression.defs.hh
@@ -1,4 +1,5 @@
-/* Declarations for the Constant_Floating_Point_Expression class and its constituents.
+/* Declarations for the Constant_Floating_Point_Expression class and
+   its constituents.
    Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
@@ -56,12 +57,13 @@ public:
 
   ~Constant_Floating_Point_Expression();
 
-  FP_Linear_Form linearize(FP_Interval_Abstract_Store store);
+  FP_Linear_Form linearize(const FP_Interval_Abstract_Store& store) const;
 
 private:
 
+  // FIXME: this is a temporary solution: we should find a way to convert
+  // a floating point with an arbitrary format to an interval.
   boundary_type l_bound;
-
   boundary_type u_bound;
 
 }; // class Constant_Floating_Point_Expression
diff --git a/src/Constant_Floating_Point_Expression.inlines.hh b/src/Constant_Floating_Point_Expression.inlines.hh
index 9bca950..3ddbf40 100644
--- a/src/Constant_Floating_Point_Expression.inlines.hh
+++ b/src/Constant_Floating_Point_Expression.inlines.hh
@@ -41,8 +41,10 @@ Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
 ~Constant_Floating_Point_Expression() {}
 
 template <typename FP_Interval_Type, typename FP_Format>
-inline typename Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>::FP_Linear_Form
-Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>::linearize(FP_Interval_Abstract_Store store) {
+inline typename Constant_Floating_Point_Expression<FP_Interval_Type,
+                                                   FP_Format>::FP_Linear_Form
+Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>::linearize(
+const FP_Interval_Abstract_Store& store) const {
 
   FP_Interval_Type result_interval(l_bound);
   FP_Interval_Type result_upper_bound(u_bound);
diff --git a/src/Floating_Point_Expression.defs.hh b/src/Floating_Point_Expression.defs.hh
index cebc46d..f702d78 100644
--- a/src/Floating_Point_Expression.defs.hh
+++ b/src/Floating_Point_Expression.defs.hh
@@ -30,7 +30,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
-  template <typename FP_Interval_Type, typename FP_Format>
+template <typename FP_Interval_Type, typename FP_Format>
 class Floating_Point_Expression {
 
 public:
@@ -45,7 +45,8 @@ public:
 
   virtual ~Floating_Point_Expression();
 
-  virtual FP_Linear_Form linearize(FP_Interval_Abstract_Store store) = 0;
+  virtual FP_Linear_Form linearize(
+                         const FP_Interval_Abstract_Store& store) const = 0;
 
 }; // class Floating_Point_Expression
 




More information about the PPL-devel mailing list