13 #ifndef MLPACK_CORE_TREE_RECTANGLE_TREE_MINIMAL_COVERAGE_SWEEP_HPP 14 #define MLPACK_CORE_TREE_RECTANGLE_TREE_MINIMAL_COVERAGE_SWEEP_HPP 29 template<
typename SplitPolicy>
34 template<
typename TreeType>
37 typedef typename TreeType::ElemType
type;
48 template<
typename TreeType>
52 typename TreeType::ElemType& axisCut);
62 template<
typename TreeType>
66 typename TreeType::ElemType& axisCut);
76 template<
typename TreeType,
typename ElemType>
89 template<
typename TreeType,
typename ElemType>
99 #include "minimal_coverage_sweep_impl.hpp" 101 #endif // MLPACK_CORE_TREE_RECTANGLE_TREE_MINIMAL_COVERAGE_SWEEP_HPP static TreeType::ElemType SweepNonLeafNode(const size_t axis, const TreeType *node, typename TreeType::ElemType &axisCut)
Find a suitable partition of a non-leaf node along the provided axis.
A struct that provides the type of the sweep cost.
Linear algebra utility functions, generally performed on matrices or vectors.
static bool CheckNonLeafSweep(const TreeType *node, const size_t cutAxis, const ElemType cut)
Check if an intermediate node can be split along the axis at the provided coordinate.
static TreeType::ElemType SweepLeafNode(const size_t axis, const TreeType *node, typename TreeType::ElemType &axisCut)
Find a suitable partition of a leaf node along the provided axis.
The MinimalCoverageSweep class finds a partition along which we can split a node according to the cov...
static bool CheckLeafSweep(const TreeType *node, const size_t cutAxis, const ElemType cut)
Check if a leaf node can be split along the axis at the provided coordinate.