[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