13 #ifndef MLPACK_NEIGHBOR_NEAREST_NEIGHBOR_SORT_IMPL_HPP 14 #define MLPACK_NEIGHBOR_NEAREST_NEIGHBOR_SORT_IMPL_HPP 19 template<
typename TreeType>
21 const TreeType* queryNode,
22 const TreeType* referenceNode)
26 return queryNode->MinDistance(*referenceNode);
29 template<
typename TreeType>
31 const TreeType* queryNode,
32 const TreeType* referenceNode,
33 const double centerToCenterDistance)
35 return queryNode->MinDistance(*referenceNode, centerToCenterDistance);
38 template<
typename TreeType>
40 const TreeType* queryNode,
42 const TreeType* referenceChildNode,
43 const double centerToCenterDistance)
45 return queryNode->MinDistance(*referenceChildNode, centerToCenterDistance) -
46 referenceChildNode->ParentDistance();
49 template<
typename VecType,
typename TreeType>
52 const TreeType* referenceNode)
56 return referenceNode->MinDistance(point);
59 template<
typename VecType,
typename TreeType>
62 const TreeType* referenceNode,
63 const double pointToCenterDistance)
65 return referenceNode->MinDistance(point, pointToCenterDistance);
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
static double BestPointToNodeDistance(const VecType &queryPoint, const TreeType *referenceNode)
Return the best possible distance between a node and a point.
Definition: nearest_neighbor_sort_impl.hpp:50
static double BestNodeToNodeDistance(const TreeType *queryNode, const TreeType *referenceNode)
Return the best possible distance between two nodes.
Definition: nearest_neighbor_sort_impl.hpp:20