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(); }
352 size_t Point(
const size_t index)
const;
375 return bound.MinDistance(point);
381 return bound.MaxDistance(point);
387 return bound.RangeDistance(point);
461 void SplitNode(MatType& data, std::vector<size_t>& oldFromNew);
471 size_t GetSplitIndex(MatType& data,
int splitDim,
double splitVal);
483 size_t GetSplitIndex(MatType& data,
int splitDim,
double splitVal,
484 std::vector<size_t>& oldFromNew);
497 #include "binary_space_tree_impl.hpp"