Hyper-rectangle bound for an L-metric. More...

Public Member Functions | |
| HRectBound () | |
| Empty constructor; creates a bound of dimensionality 0. More... | |
| HRectBound (const size_t dimension) | |
| Initializes to specified dimensionality with each dimension the empty set. More... | |
| HRectBound (const HRectBound &other) | |
| Copy constructor; necessary to prevent memory leaks. More... | |
| HRectBound (HRectBound &&other) | |
| Move constructor: take possession of another bound's information. More... | |
| ~HRectBound () | |
| Destructor: clean up memory. More... | |
| void | Center (arma::Col< ElemType > ¢er) const |
| Calculates the center of the range, placing it into the given vector. More... | |
| void | Clear () |
| Resets all dimensions to the empty set (so that this bound contains nothing). More... | |
template < typename VecType > | |
| bool | Contains (const VecType &point) const |
| Determines if a point is within this bound. More... | |
| bool | Contains (const HRectBound &bound) const |
| Determines if this bound partially contains a bound. More... | |
| ElemType | Diameter () const |
| Returns the diameter of the hyperrectangle (that is, the longest diagonal). More... | |
| size_t | Dim () const |
| Gets the dimensionality. More... | |
template < typename VecType > | |
| ElemType | MaxDistance (const VecType &point, typename std::enable_if_t< IsVector< VecType >::value > *=0) const |
| Calculates maximum bound-to-point squared distance. More... | |
| ElemType | MaxDistance (const HRectBound &other) const |
| Computes maximum distance. More... | |
| const MetricType & | Metric () const |
| Get the instantiated metric associated with the bound. More... | |
| MetricType & | Metric () |
| Modify the instantiated metric associated with the bound. More... | |
template < typename VecType > | |
| ElemType | MinDistance (const VecType &point, typename std::enable_if_t< IsVector< VecType >::value > *=0) const |
| Calculates minimum bound-to-point distance. More... | |
| ElemType | MinDistance (const HRectBound &other) const |
| Calculates minimum bound-to-bound distance. More... | |
| ElemType | MinWidth () const |
| Get the minimum width of the bound. More... | |
| ElemType & | MinWidth () |
| Modify the minimum width of the bound. More... | |
| HRectBound | operator & (const HRectBound &bound) const |
| Returns the intersection of this bound and another. More... | |
| HRectBound & | operator &= (const HRectBound &bound) |
| Intersects this bound with another. More... | |
| HRectBound & | operator= (const HRectBound &other) |
| Same as copy constructor; necessary to prevent memory leaks. More... | |
| HRectBound & | operator= (HRectBound &&other) |
| Move assignment operator. More... | |
| math::RangeType< ElemType > & | operator[] (const size_t i) |
| Get the range for a particular dimension. More... | |
| const math::RangeType< ElemType > & | operator[] (const size_t i) const |
| Modify the range for a particular dimension. No bounds checking. More... | |
template < typename MatType > | |
| HRectBound & | operator|= (const MatType &data) |
| Expands this region to include new points. More... | |
| HRectBound & | operator|= (const HRectBound &other) |
| Expands this region to encompass another bound. More... | |
| ElemType | Overlap (const HRectBound &bound) const |
| Returns the volume of overlap of this bound and another. More... | |
| math::RangeType< ElemType > | RangeDistance (const HRectBound &other) const |
| Calculates minimum and maximum bound-to-bound distance. More... | |
template < typename VecType > | |
| math::RangeType< ElemType > | RangeDistance (const VecType &point, typename std::enable_if_t< IsVector< VecType >::value > *=0) const |
| Calculates minimum and maximum bound-to-point distance. More... | |
template < typename Archive > | |
| void | serialize (Archive &ar, const uint32_t version) |
| Serialize the bound object. More... | |
| ElemType | Volume () const |
| Calculate the volume of the hyperrectangle. More... | |
Hyper-rectangle bound for an L-metric.
This should be used in conjunction with the LMetric class. Be sure to use the same template parameters for LMetric as you do for HRectBound – otherwise odd results may occur.
| MetricType | Type of metric to use; must be of type LMetric. |
| ElemType | Element type (double/float/int/etc.). |
Definition at line 54 of file hrectbound.hpp.
| HRectBound | ( | ) |
Empty constructor; creates a bound of dimensionality 0.
| HRectBound | ( | const size_t | dimension | ) |
Initializes to specified dimensionality with each dimension the empty set.
| dimension | Dimensionality of bound. |
| HRectBound | ( | const HRectBound< MetricType, ElemType > & | other | ) |
Copy constructor; necessary to prevent memory leaks.
| HRectBound | ( | HRectBound< MetricType, ElemType > && | other | ) |
Move constructor: take possession of another bound's information.
| ~HRectBound | ( | ) |
Destructor: clean up memory.
| void Center | ( | arma::Col< ElemType > & | center | ) | const |
Calculates the center of the range, placing it into the given vector.
| center | Vector which the center will be written to. |
Referenced by RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::Center(), and Octree< MetricType, StatisticType, MatType >::Center().
| void Clear | ( | ) |
Resets all dimensions to the empty set (so that this bound contains nothing).
| bool Contains | ( | const VecType & | point | ) | const |
Determines if a point is within this bound.
| point | Point to check the condition. |
| bool Contains | ( | const HRectBound< MetricType, ElemType > & | bound | ) | const |
Determines if this bound partially contains a bound.
| bound | Bound to check the condition. |
| ElemType Diameter | ( | ) | const |
Returns the diameter of the hyperrectangle (that is, the longest diagonal).
|
inline |
Gets the dimensionality.
Definition at line 96 of file hrectbound.hpp.
| ElemType MaxDistance | ( | const VecType & | point, |
| typename std::enable_if_t< IsVector< VecType >::value > * | = 0 |
||
| ) | const |
Calculates maximum bound-to-point squared distance.
| point | Point to which the maximum distance is requested. |
Referenced by RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::MaxDistance().
| ElemType MaxDistance | ( | const HRectBound< MetricType, ElemType > & | other | ) | const |
Computes maximum distance.
| other | Bound to which the maximum distance is requested. |
|
inline |
Get the instantiated metric associated with the bound.
Definition at line 111 of file hrectbound.hpp.
|
inline |
Modify the instantiated metric associated with the bound.
Definition at line 113 of file hrectbound.hpp.
| ElemType MinDistance | ( | const VecType & | point, |
| typename std::enable_if_t< IsVector< VecType >::value > * | = 0 |
||
| ) | const |
Calculates minimum bound-to-point distance.
| point | Point to which the minimum distance is requested. |
Referenced by RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::MinDistance().
| ElemType MinDistance | ( | const HRectBound< MetricType, ElemType > & | other | ) | const |
Calculates minimum bound-to-bound distance.
| other | Bound to which the minimum distance is requested. |
|
inline |
Get the minimum width of the bound.
Definition at line 106 of file hrectbound.hpp.
Referenced by RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::MinimumBoundDistance().
|
inline |
Modify the minimum width of the bound.
Definition at line 108 of file hrectbound.hpp.
| HRectBound operator& | ( | const HRectBound< MetricType, ElemType > & | bound | ) | const |
Returns the intersection of this bound and another.
| HRectBound& operator&= | ( | const HRectBound< MetricType, ElemType > & | bound | ) |
Intersects this bound with another.
| HRectBound& operator= | ( | const HRectBound< MetricType, ElemType > & | other | ) |
Same as copy constructor; necessary to prevent memory leaks.
| HRectBound& operator= | ( | HRectBound< MetricType, ElemType > && | other | ) |
Move assignment operator.
|
inline |
Get the range for a particular dimension.
No bounds checking. Be careful: this may make MinWidth() invalid.
Definition at line 100 of file hrectbound.hpp.
|
inline |
Modify the range for a particular dimension. No bounds checking.
Definition at line 102 of file hrectbound.hpp.
| HRectBound& operator|= | ( | const MatType & | data | ) |
Expands this region to include new points.
| MatType | Type of matrix; could be Mat, SpMat, a subview, or just a vector. |
| data | Data points to expand this region to include. |
| HRectBound& operator|= | ( | const HRectBound< MetricType, ElemType > & | other | ) |
Expands this region to encompass another bound.
| ElemType Overlap | ( | const HRectBound< MetricType, ElemType > & | bound | ) | const |
Returns the volume of overlap of this bound and another.
| math::RangeType<ElemType> RangeDistance | ( | const HRectBound< MetricType, ElemType > & | other | ) | const |
Calculates minimum and maximum bound-to-bound distance.
| other | Bound to which the minimum and maximum distances are requested. |
Referenced by RectangleTree< MetricType, StatisticType, MatType, SplitType, DescentType, AuxiliaryInformationType >::RangeDistance().
| math::RangeType<ElemType> RangeDistance | ( | const VecType & | point, |
| typename std::enable_if_t< IsVector< VecType >::value > * | = 0 |
||
| ) | const |
Calculates minimum and maximum bound-to-point distance.
| point | Point to which the minimum and maximum distances are requested. |
| void serialize | ( | Archive & | ar, |
| const uint32_t | version | ||
| ) |
Serialize the bound object.
| ElemType Volume | ( | ) | const |
Calculate the volume of the hyperrectangle.