14#ifndef MLPACK_CORE_TREE_RECTANGLE_TREE_R_PLUS_TREE_SPLIT_POLICY_HPP
15#define MLPACK_CORE_TREE_RECTANGLE_TREE_R_PLUS_TREE_SPLIT_POLICY_HPP
47 template<
typename TreeType>
50 const typename TreeType::ElemType cut)
52 if (child.Bound()[axis].Hi() <= cut)
54 else if (child.Bound()[axis].Lo() >= cut)
67 template<
typename TreeType>
Hyper-rectangle bound for an L-metric.
The RPlusPlusTreeSplitPolicy helps to determine the subtree into which we should insert a child of an...
static const int AssignToFirstTree
Indicate that the child should be inserted to the first subtree.
static const bound::HRectBound< metric::EuclideanDistance, typename TreeType::ElemType > & Bound(const TreeType &node)
Return the minimum bounding rectangle of the node.
static const int SplitRequired
Indicate that the child should be split.
static const int AssignToSecondTree
Indicate that the child should be inserted to the second subtree.
static int GetSplitPolicy(const TreeType &child, const size_t axis, const typename TreeType::ElemType cut)
This method returns SplitRequired if a child of an intermediate node should be split,...
Linear algebra utility functions, generally performed on matrices or vectors.