[mlpack-svn] r10827 - in mlpack/trunk/src/mlpack/core: math tree

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Thu Dec 15 02:50:12 EST 2011


Author: rcurtin
Date: 2011-12-15 02:50:12 -0500 (Thu, 15 Dec 2011)
New Revision: 10827

Modified:
   mlpack/trunk/src/mlpack/core/math/range.hpp
   mlpack/trunk/src/mlpack/core/tree/hrectbound_impl.hpp
   mlpack/trunk/src/mlpack/core/tree/periodichrectbound_impl.hpp
Log:
Use accessors and mutators for math::Range.


Modified: mlpack/trunk/src/mlpack/core/math/range.hpp
===================================================================
--- mlpack/trunk/src/mlpack/core/math/range.hpp	2011-12-15 07:44:03 UTC (rev 10826)
+++ mlpack/trunk/src/mlpack/core/math/range.hpp	2011-12-15 07:50:12 UTC (rev 10827)
@@ -15,10 +15,11 @@
  */
 class Range
 {
- public:
+ private:
   double lo; /// The lower bound.
   double hi; /// The upper bound.
 
+ public:
   /** Initialize to an empty set (where lo > hi). */
   Range();
 
@@ -38,6 +39,16 @@
    */
   Range(const double lo, const double hi);
 
+  //! Get the lower bound.
+  const double& Lo() const { return lo; }
+  //! Modify the lower bound.
+  double& Lo() { return lo; }
+
+  //! Get the upper bound.
+  const double& Hi() const { return hi; }
+  //! Modify the upper bound.
+  double& Hi() { return hi; }
+
   /**
    * Gets the span of the range (hi - lo).
    */

Modified: mlpack/trunk/src/mlpack/core/tree/hrectbound_impl.hpp
===================================================================
--- mlpack/trunk/src/mlpack/core/tree/hrectbound_impl.hpp	2011-12-15 07:44:03 UTC (rev 10826)
+++ mlpack/trunk/src/mlpack/core/tree/hrectbound_impl.hpp	2011-12-15 07:50:12 UTC (rev 10827)
@@ -136,8 +136,8 @@
   double lower, higher;
   for (size_t d = 0; d < dim; d++)
   {
-    lower = bounds[d].lo - point[d];
-    higher = point[d] - bounds[d].hi;
+    lower = bounds[d].Lo() - point[d];
+    higher = point[d] - bounds[d].Hi();
 
     // Since only one of 'lower' or 'higher' is negative, if we add each's
     // absolute value to itself and then sum those two, our result is the
@@ -168,8 +168,8 @@
   double lower, higher;
   for (size_t d = 0; d < dim; d++)
   {
-    lower = obound->lo - mbound->hi;
-    higher = mbound->lo - obound->hi;
+    lower = obound->Lo() - mbound->Hi();
+    higher = mbound->Lo() - obound->Hi();
     // We invoke the following:
     //   x + fabs(x) = max(x * 2, 0)
     //   (x * 2)^2 / 4 = x^2
@@ -196,8 +196,8 @@
 
   for (size_t d = 0; d < dim; d++)
   {
-    double v = fabs(std::max(point[d] - bounds[d].lo,
-                             bounds[d].hi - point[d]));
+    double v = fabs(std::max(point[d] - bounds[d].Lo(),
+                             bounds[d].Hi() - point[d]));
     sum += pow(v, (double) t_pow);
   }
 
@@ -217,8 +217,8 @@
   double v;
   for (size_t d = 0; d < dim; d++)
   {
-    v = fabs(std::max(other.bounds[d].hi - bounds[d].lo,
-                      bounds[d].hi - other.bounds[d].lo));
+    v = fabs(std::max(other.bounds[d].Hi() - bounds[d].Lo(),
+                      bounds[d].Hi() - other.bounds[d].Lo()));
     sum += pow(v, (double) t_pow); // v is non-negative.
   }
 
@@ -239,8 +239,8 @@
   double v1, v2, vLo, vHi;
   for (size_t d = 0; d < dim; d++)
   {
-    v1 = other.bounds[d].lo - bounds[d].hi;
-    v2 = bounds[d].lo - other.bounds[d].hi;
+    v1 = other.bounds[d].Lo() - bounds[d].Hi();
+    v2 = bounds[d].Lo() - other.bounds[d].Hi();
     // One of v1 or v2 is negative.
     if (v1 >= v2)
     {
@@ -276,10 +276,10 @@
   double v1, v2, vLo, vHi;
   for (size_t d = 0; d < dim; d++)
   {
-    v1 = bounds[d].lo - point[d]; // Negative if point[d] > lo.
-    v2 = point[d] - bounds[d].hi; // Negative if point[d] < hi.
+    v1 = bounds[d].Lo() - point[d]; // Negative if point[d] > lo.
+    v2 = point[d] - bounds[d].Hi(); // Negative if point[d] < hi.
     // One of v1 or v2 (or both) is negative.
-    if (v1 >= 0) // point[d] <= bounds_[d].lo.
+    if (v1 >= 0) // point[d] <= bounds_[d].Lo().
     {
       vHi = -v2; // v2 will be larger but must be negated.
       vLo = v1;

Modified: mlpack/trunk/src/mlpack/core/tree/periodichrectbound_impl.hpp
===================================================================
--- mlpack/trunk/src/mlpack/core/tree/periodichrectbound_impl.hpp	2011-12-15 07:44:03 UTC (rev 10826)
+++ mlpack/trunk/src/mlpack/core/tree/periodichrectbound_impl.hpp	2011-12-15 07:50:12 UTC (rev 10827)
@@ -127,9 +127,9 @@
   {
     double a = point[d];
     double v = 0, bh;
-    bh = bounds_[d].hi - bounds_[d].lo;
+    bh = bounds_[d].Hi() - bounds_[d].Lo();
     bh = bh - floor(bh / box_[d]) * box_[d];
-    a = a - bounds_[d].lo;
+    a = a - bounds_[d].Lo();
     a = a - floor(a / box_[d]) * box_[d];
 
     if (bh > a)
@@ -156,18 +156,18 @@
 
   for (size_t d = 0; d < dim_; d++){
     double v = 0, d1, d2, d3;
-    d1 = ((bounds_[d].hi > bounds_[d].lo) |
-          (other.bounds_[d].hi > other.bounds_[d].lo)) *
-        std::min(other.bounds_[d].lo - bounds_[d].hi,
-                 bounds_[d].lo - other.bounds_[d].hi);
-    d2 = ((bounds_[d].hi > bounds_[d].lo) &
-          (other.bounds_[d].hi > other.bounds_[d].lo)) *
-        std::min(other.bounds_[d].lo - bounds_[d].hi,
-                 bounds_[d].lo - other.bounds_[d].hi + box_[d]);
-    d3 = ((bounds_[d].hi > bounds_[d].lo) &
-          (other.bounds_[d].hi > other.bounds_[d].lo)) *
-        std::min(other.bounds_[d].lo - bounds_[d].hi + box_[d],
-                 bounds_[d].lo - other.bounds_[d].hi);
+    d1 = ((bounds_[d].Hi() > bounds_[d].Lo()) |
+          (other.bounds_[d].Hi() > other.bounds_[d].Lo())) *
+        std::min(other.bounds_[d].Lo() - bounds_[d].Hi(),
+                 bounds_[d].Lo() - other.bounds_[d].Hi());
+    d2 = ((bounds_[d].Hi() > bounds_[d].Lo()) &
+          (other.bounds_[d].Hi() > other.bounds_[d].Lo())) *
+        std::min(other.bounds_[d].Lo() - bounds_[d].Hi(),
+                 bounds_[d].Lo() - other.bounds_[d].Hi() + box_[d]);
+    d3 = ((bounds_[d].Hi() > bounds_[d].Lo()) &
+          (other.bounds_[d].Hi() > other.bounds_[d].Lo())) *
+        std::min(other.bounds_[d].Lo() - bounds_[d].Hi() + box_[d],
+                 bounds_[d].Lo() - other.bounds_[d].Hi());
 
     v = (d1 + fabs(d1)) + (d2 + fabs(d2)) + (d3 + fabs(d3));
 
@@ -191,7 +191,7 @@
     double v = box_[d] / 2.0;
     double ah, al;
 
-    ah = bounds_[d].hi - b;
+    ah = bounds_[d].Hi() - b;
     ah = ah - floor(ah / box_[d]) * box_[d];
 
     if (ah < v)
@@ -200,7 +200,7 @@
     }
     else
     {
-      al = bounds_[d].lo - b;
+      al = bounds_[d].Lo() - b;
       al = al - floor(al / box_[d]) * box_[d];
 
       if (al > v)
@@ -229,9 +229,9 @@
     double v = box_[d] / 2.0;
     double dh, dl;
 
-    dh = bounds_[d].hi - other.bounds_[d].lo;
+    dh = bounds_[d].Hi() - other.bounds_[d].Lo();
     dh = dh - floor(dh / box_[d]) * box_[d];
-    dl = other.bounds_[d].hi - bounds_[d].lo;
+    dl = other.bounds_[d].Hi() - bounds_[d].Lo();
     dl = dl - floor(dl / box_[d]) * box_[d];
     v = fabs(std::max(std::min(dh, v), std::min(dl, v)));
 
@@ -256,8 +256,8 @@
   double v1, v2, v_lo, v_hi;
   for (size_t d = 0; d < dim_; d++)
   {
-    v1 = bounds_[d].lo - point[d];
-    v2 = point[d] - bounds_[d].hi;
+    v1 = bounds_[d].Lo() - point[d];
+    v2 = point[d] - bounds_[d].Hi();
     // One of v1 or v2 is negative.
     if (v1 >= 0)
     {
@@ -293,8 +293,8 @@
   double v1, v2, v_lo, v_hi;
   for (size_t d = 0; d < dim_; d++)
   {
-    v1 = other.bounds_[d].lo - bounds_[d].hi;
-    v2 = bounds_[d].lo - other.bounds_[d].hi;
+    v1 = other.bounds_[d].Lo() - bounds_[d].Hi();
+    v2 = bounds_[d].Lo() - other.bounds_[d].Hi();
     // One of v1 or v2 is negative.
     if(v1 >= v2)
     {




More information about the mlpack-svn mailing list