$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r76913 - sandbox/e_float/libs/e_float/src/utility
From: e_float_at_[hidden]
Date: 2012-02-06 14:24:34
Author: christopher_kormanyos
Date: 2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
New Revision: 76913
URL: http://svn.boost.org/trac/boost/changeset/76913
Log:
- Cleaned up utility classes (mostly order of access controls).
Text files modified: 
   sandbox/e_float/libs/e_float/src/utility/util_alternating_sum.h           |    18 ++++++------                            
   sandbox/e_float/libs/e_float/src/utility/util_coefficient_expansion.h     |    31 ++++++++++----------                    
   sandbox/e_float/libs/e_float/src/utility/util_find_root_base.h            |    11 +++----                                 
   sandbox/e_float/libs/e_float/src/utility/util_find_root_bisect.h          |    15 ++++------                              
   sandbox/e_float/libs/e_float/src/utility/util_find_root_newton_raphson.h  |    18 ++++-------                             
   sandbox/e_float/libs/e_float/src/utility/util_function.h                  |    20 ++++--------                            
   sandbox/e_float/libs/e_float/src/utility/util_function_derivative.h       |    59 +++++++++++++-------------------------- 
   sandbox/e_float/libs/e_float/src/utility/util_function_operation.h        |    15 +++------                               
   sandbox/e_float/libs/e_float/src/utility/util_interpolate.h               |     4 ++                                      
   sandbox/e_float/libs/e_float/src/utility/util_noncopyable.h               |     4 --                                      
   sandbox/e_float/libs/e_float/src/utility/util_numeric_cast.h              |     6 ++-                                     
   sandbox/e_float/libs/e_float/src/utility/util_point.h                     |    10 ++++--                                  
   sandbox/e_float/libs/e_float/src/utility/util_power_x_pow_n.h             |     3 +                                       
   sandbox/e_float/libs/e_float/src/utility/util_ranged_function_operation.h |    13 +++-----                                
   sandbox/e_float/libs/e_float/src/utility/util_timer.h                     |     2                                         
   sandbox/e_float/libs/e_float/src/utility/util_trapezoid.h                 |    22 ++++++++++----                          
   16 files changed, 112 insertions(+), 139 deletions(-)
Modified: sandbox/e_float/libs/e_float/src/utility/util_alternating_sum.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_alternating_sum.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_alternating_sum.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -13,17 +13,11 @@
 
   namespace Util
   {
-    template<typename T1, typename T2 = T1> struct alternating_sum
+    template<typename T1,
+             typename T2 = T1>
+    struct alternating_sum
     {
-    private:
-
-      const alternating_sum& operator=(const alternating_sum&);
-
-      bool b_neg_term;
-      const T2 initial;
-
     public:
-
       alternating_sum(const bool b_neg = false, const T2& init = T2(0)) : b_neg_term(b_neg),
                                                                           initial   (init) { }
                                                                           
@@ -33,6 +27,12 @@
         b_neg_term = !b_neg_term;
         return the_sum + initial;
       }
+
+    private:
+      bool b_neg_term;
+      const T2 initial;
+
+      const alternating_sum& operator=(const alternating_sum&);
     };
   }
 
Modified: sandbox/e_float/libs/e_float/src/utility/util_coefficient_expansion.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_coefficient_expansion.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_coefficient_expansion.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -13,23 +13,10 @@
 
   namespace Util
   {
-    template<typename T1, typename T2 = T1> struct coefficient_expansion
+    template<typename T1,
+             typename T2 = T1>
+    struct coefficient_expansion
     {
-    private:
-
-      const T1 x_expand;
-      T1       x_expand_pow_k;
-
-    private:
-
-      const coefficient_expansion& operator=(const coefficient_expansion&);
-
-      static const T2& one_t2(void)
-      {
-        static const T2 val_t2(1);
-        return val_t2;
-      }
-
     public:
 
       coefficient_expansion(const T1& expand, const T2& init = one_t2()) : x_expand      (expand),
@@ -43,6 +30,18 @@
 
         return sum + ck_x_pow_k;
       }
+
+    private:
+      const T1 x_expand;
+      T1       x_expand_pow_k;
+
+      const coefficient_expansion& operator=(const coefficient_expansion&);
+
+      static const T2& one_t2(void)
+      {
+        static const T2 val_t2(1);
+        return val_t2;
+      }
     };
   }
 
Modified: sandbox/e_float/libs/e_float/src/utility/util_find_root_base.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_find_root_base.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_find_root_base.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -15,17 +15,16 @@
 
   namespace Util
   {
-    template<typename T> class FindRootBase : public RangedFunctionOperation<T>
+    template<typename T>
+    class FindRootBase : public RangedFunctionOperation<T>
     {
+    public:
+      virtual ~FindRootBase() { }
+
     protected:
-    
       FindRootBase(const T& lo,
                    const T& hi,
                    const T& tol) : RangedFunctionOperation<T>(lo, hi, tol) { }
-
-    public:
-
-      virtual ~FindRootBase() { }
     };
   }
 
Modified: sandbox/e_float/libs/e_float/src/utility/util_find_root_bisect.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_find_root_bisect.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_find_root_bisect.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -11,25 +11,22 @@
 #ifndef _UTIL_FIND_ROOT_BISECT_2009_10_31_H_
   #define _UTIL_FIND_ROOT_BISECT_2009_10_31_H_
 
-  #include <utility/util_find_root_base.h>
-  #include <boost/e_float/e_float.hpp>
+  #include "util_find_root_base.h"
 
   namespace Util
   {
-    template<typename T> class FindRootBisect : public FindRootBase<T>
+    template<typename T>
+    class FindRootBisect : public FindRootBase<T>
     {
+    public:
+      virtual ~FindRootBisect() { }
+
     protected:
-    
       FindRootBisect(const T& lo,
                      const T& hi,
                      const T& tol) : FindRootBase<T>(lo, hi, tol) { }
 
-    public:
-
-      virtual ~FindRootBisect() { }
-
     private:
-
       virtual T my_operation(void) const
       {
         // Bisection method as described in Numerical Recipes in C++ 2nd Ed., chapter 9.1.
Modified: sandbox/e_float/libs/e_float/src/utility/util_find_root_newton_raphson.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_find_root_newton_raphson.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_find_root_newton_raphson.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -15,24 +15,20 @@
 
   namespace Util
   {
-    template<typename T> class FindRootNewtonRaphson : public FindRootBase<T>
+    template<typename T>
+    class FindRootNewtonRaphson : public FindRootBase<T>
     {
-    protected:
-    
-      FindRootNewtonRaphson(const T& lo,
-                            const T& hi,
-                            const T& tol) : FindRootBase<T>(lo, hi, tol) { }
-
     public:
-
       virtual ~FindRootNewtonRaphson() { }
 
-    public:
-
       void function_derivative(const T& x, T& f, T& d) const { my_function_derivative(x, f, d); }
 
-    private:
+    protected:
+      FindRootNewtonRaphson(const T& lo,
+                            const T& hi,
+                            const T& tol) : FindRootBase<T>(lo, hi, tol) { }
 
+    private:
       virtual void my_function_derivative(const T& x, T& f, T& d) const = 0;
 
       virtual T my_operation(void) const
Modified: sandbox/e_float/libs/e_float/src/utility/util_function.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_function.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_function.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -13,28 +13,22 @@
 
   namespace Util
   {
-    template<typename T> class Function
+    template<typename T>
+    class Function
     {
-    private:
+    public:
+      virtual ~Function() { }
 
-      const Function& operator=(const Function&);
-      Function(const Function&);
+      T function(const T& x) const { return my_function(x); }
 
     protected:
-
       Function() { }
 
-    public:
-
-      virtual ~Function() { }
-
     private:
-
       virtual T my_function(const T&) const = 0;
 
-    public:
-
-      T function(const T& x) const { return my_function(x); }
+      const Function& operator=(const Function&);
+      Function(const Function&);
     };
   }
 
Modified: sandbox/e_float/libs/e_float/src/utility/util_function_derivative.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_function_derivative.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_function_derivative.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -14,56 +14,24 @@
   #include <string>
   #include <sstream>
 
-  #include <utility/util_function_operation.h>
-  #include <utility/util_lexical_cast.h>
+  #include "util_function_operation.h"
+  #include "util_lexical_cast.h"
+  #include "util_numeric_cast.h"
 
   namespace Util
   {
-    template<typename T> class FunctionDerivative : public FunctionOperation<T>
+    template<typename T>
+    class FunctionDerivative : public FunctionOperation<T>
     {
-    private:
-
-      static const T& my_tol(void)
-      {
-        static bool is_init = false;
-
-        static T val_tol;
-
-        if(!is_init)
-        {
-          is_init = true;
-
-          // Set the default tolerance to be approximately 10^[-(digits10 * 1.15)/5].
-          static const double      tx = (static_cast<double>(std::numeric_limits<T>::digits10) * 1.15) / 5.0;
-          static const std::size_t tn = static_cast<std::size_t>(tx + 0.5);
-
-          std::stringstream ss;
-
-          ss << "1E-" + Util::lexical_cast(tn);
-
-          ss >> val_tol;
-        }
-
-        static const T the_tol = val_tol;
-
-        return the_tol;
-      }
+    public:
+      virtual ~FunctionDerivative() { }
 
     protected:
-
       const T my_x;
       const T my_dx;
 
-    protected:
-
       FunctionDerivative(const T& x, const T& dx = my_tol()) : my_x(x), my_dx(dx) { }
 
-    public:
-
-      virtual ~FunctionDerivative() { }
-
-    protected:
-
       virtual T my_operation(void) const
       {
         FunctionOperation<T>::op_ok = true;
@@ -84,6 +52,19 @@
 
         return ((fifteen_m1 - six_m2) + m3) / ten_dx1;
       }
+
+    private:
+      static const T& my_tol(void)
+      {
+        // Set the default tolerance to be approximately 10^[-(digits10 * 1.15)/5].
+        static const double      tx = (static_cast<double>(std::numeric_limits<T>::digits10) * 1.15) / 5.0;
+        static const std::size_t tn = static_cast<std::size_t>(tx + 0.5);
+
+        static const std::string str_tol("1E-" + Util::lexical_cast(tn));
+        static const T val_tol(Util::numeric_cast<T>(str_tol));
+
+        return val_tol;
+      }
     };
   }
 
Modified: sandbox/e_float/libs/e_float/src/utility/util_function_operation.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_function_operation.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_function_operation.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -15,24 +15,19 @@
 
   namespace Util
   {
-    template<typename T> class FunctionOperation : public Function<T>
+    template<typename T>
+    class FunctionOperation : public Function<T>
     {
-    protected:
-
-      mutable bool op_ok;
-
-    protected:
-
-      FunctionOperation() : op_ok(false) { }
-
     public:
-
       virtual ~FunctionOperation() { }
 
       bool success(void) const { return op_ok; }
       T operation(void) const { return my_operation(); }
 
     protected:
+      mutable bool op_ok;
+
+      FunctionOperation() : op_ok(false) { }
 
       virtual T my_operation(void) const = 0;
     };
Modified: sandbox/e_float/libs/e_float/src/utility/util_interpolate.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_interpolate.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_interpolate.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -18,7 +18,9 @@
 
   namespace Util
   {
-    template<typename T1, typename T2 = T1> struct linear_interpolate
+    template<typename T1,
+             typename T2 = T1>
+    struct linear_interpolate
     {
       static T2 interpolate(const T1& x, const std::vector<Util::point<T1, T2> >& points)
       {
Modified: sandbox/e_float/libs/e_float/src/utility/util_noncopyable.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_noncopyable.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_noncopyable.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -17,12 +17,10 @@
     class noncopyable
     {
     protected:
-
       noncopyable() {}
-      virtual ~noncopyable() {}
+      ~noncopyable() {}
 
     private:  // emphasize the following members are private
-
       noncopyable(const noncopyable&);
       const noncopyable& operator=(const noncopyable&);
     };
Modified: sandbox/e_float/libs/e_float/src/utility/util_numeric_cast.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_numeric_cast.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_numeric_cast.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -16,7 +16,8 @@
 
   namespace Util
   {
-    template<typename T> inline T numeric_cast(const std::string& str)
+    template<typename T>
+    inline T numeric_cast(const std::string& str)
     {
       std::stringstream ss;
       ss << str;
@@ -25,7 +26,8 @@
       return t;
     }
 
-    template<typename T> inline T numeric_cast(const char* const s)
+    template<typename T>
+    inline T numeric_cast(const char* const s)
     {
       std::stringstream ss;
       ss << s;
Modified: sandbox/e_float/libs/e_float/src/utility/util_point.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_point.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_point.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -13,7 +13,9 @@
 
   namespace Util
   {
-    template<typename T1, typename T2 = T1> struct point
+    template<typename T1,
+             typename T2 = T1>
+    struct point
     {
       T1 x;
       T2 y;
@@ -21,9 +23,11 @@
       point(const T1& X = T1(), const T2& Y = T2()) : x(X), y(Y) { }
     };
 
-    template<typename T1, typename T2> bool inline operator<(const point<T1, T2>& left, const point<T1, T2>& right)
+    template<typename T1,
+             typename T2>
+    inline bool operator<(const point<T1, T2>& left, const point<T1, T2>& right)
     {
-      return left.x < right.x;
+      return (left.x < right.x);
     }
   }
 
Modified: sandbox/e_float/libs/e_float/src/utility/util_power_x_pow_n.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_power_x_pow_n.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_power_x_pow_n.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -13,7 +13,8 @@
 
   namespace Util
   {
-    template<typename T> inline T x_pow_n_template(const T& t, const INT64 p)
+    template<typename T>
+    inline T x_pow_n_template(const T& t, const INT64 p)
     {
       // Compute the pure power of typename T t^p. Binary splitting of the power is
       // used. The resulting computational complexity has the order of log2[abs(p)].
Modified: sandbox/e_float/libs/e_float/src/utility/util_ranged_function_operation.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_ranged_function_operation.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_ranged_function_operation.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -15,25 +15,22 @@
 
   namespace Util
   {
-    template<typename T> class RangedFunctionOperation : public FunctionOperation<T>
+    template<typename T>
+    class RangedFunctionOperation : public FunctionOperation<T>
     {
-    protected:
+    public:
+      virtual ~RangedFunctionOperation() { }
 
+    protected:
       const T xlo;
       const T xhi;
       const T eps;
 
-    protected:
-
       RangedFunctionOperation(const T& lo,
                               const T& hi,
                               const T& tol) : xlo(lo),
                                               xhi(hi),
                                               eps(tol) { }
-
-    public:
-
-      virtual ~RangedFunctionOperation() { }
     };
   }
 
Modified: sandbox/e_float/libs/e_float/src/utility/util_timer.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_timer.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_timer.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -15,7 +15,7 @@
 
   namespace Util
   {
-    struct timer : private noncopyable
+    struct timer : private Util::noncopyable
     {
     public:
       timer(const double ofs = 0.0) : offset(ofs),
Modified: sandbox/e_float/libs/e_float/src/utility/util_trapezoid.h
==============================================================================
--- sandbox/e_float/libs/e_float/src/utility/util_trapezoid.h	(original)
+++ sandbox/e_float/libs/e_float/src/utility/util_trapezoid.h	2012-02-06 14:24:33 EST (Mon, 06 Feb 2012)
@@ -11,22 +11,30 @@
 #ifndef _UTIL_TRAPEZOID_2008_09_06_H_
   #define _UTIL_TRAPEZOID_2008_09_06_H_
 
+  #include <limits>
   #include "util_ranged_function_operation.h"
+  #include "util_lexical_cast.h"
+  #include "util_numeric_cast.h"
 
   namespace Util
   {
-    template<typename T> class RecursiveTrapezoidRule : public RangedFunctionOperation<T>
+    template<typename T>
+    class RecursiveTrapezoidRule : public RangedFunctionOperation<T>
     {
-    protected:
+    public:
+      virtual ~RecursiveTrapezoidRule() { }
 
+    protected:
       RecursiveTrapezoidRule(const T& lo, const T& hi, const T& tol) : RangedFunctionOperation<T>(lo, hi, tol) { }
 
-    public:
-
-      virtual ~RecursiveTrapezoidRule() { }
+      static const T& my_tol(void)
+      {
+        static const std::string str_tol("1E-" + Util::lexical_cast(std::numeric_limits<T>::digits10 / 2));
+        static const T val(Util::numeric_cast<T>(str_tol));
+        return val;
+      }
 
     private:
-
       virtual T my_operation(void) const
       {
         INT32 n = static_cast<INT32>(1);
@@ -58,7 +66,7 @@
           const T ratio = I0 / I;
           const T delta = ((ratio > one) ? (ratio - one) : (one - ratio));
 
-          if((k > static_cast<INT32>(2)) && delta < RangedFunctionOperation<T>::eps)
+          if((k > static_cast<INT32>(3)) && (delta < RangedFunctionOperation<T>::eps))
           {
             FunctionOperation<T>::op_ok = true;
             break;