21 #ifndef __MLPACK_CORE_TREE_BINARY_SPACE_TREE_BINARY_SPACE_TREE_HPP
22 #define __MLPACK_CORE_TREE_BINARY_SPACE_TREE_BINARY_SPACE_TREE_HPP
26 #include "../statistic.hpp"
49 template<
typename BoundType,
51 typename MatType = arma::mat>
86 template<
typename RuleType>
90 template<
typename RuleType>
113 std::vector<size_t>& oldFromNew,
130 std::vector<size_t>& oldFromNew,
131 std::vector<size_t>& newFromOld,
172 std::vector<size_t>& oldFromNew,
200 std::vector<size_t>& oldFromNew,
201 std::vector<size_t>& newFromOld,
294 typename BoundType::MetricType
Metric()
const {
return bound.Metric(); }
346 size_t Point(
const size_t index)
const;
369 return bound.MinDistance(point);
375 return bound.MaxDistance(point);
381 return bound.RangeDistance(point);
455 void SplitNode(MatType& data, std::vector<size_t>& oldFromNew);
465 size_t GetSplitIndex(MatType& data,
int splitDim,
double splitVal);
477 size_t GetSplitIndex(MatType& data,
int splitDim,
double splitVal,
478 std::vector<size_t>& oldFromNew);
491 #include "binary_space_tree_impl.hpp"