22 #ifndef __MLPACK_METHODS_RANGE_SEARCH_RANGE_SEARCH_RULES_HPP
23 #define __MLPACK_METHODS_RANGE_SEARCH_RANGE_SEARCH_RULES_HPP
29 template<
typename MetricType,
typename TreeType>
47 std::vector<std::vector<size_t> >&
neighbors,
48 std::vector<std::vector<double> >&
distances,
57 double BaseCase(
const size_t queryIndex,
const size_t referenceIndex);
67 double Score(
const size_t queryIndex, TreeType& referenceNode);
80 double Rescore(
const size_t queryIndex,
81 TreeType& referenceNode,
82 const double oldScore)
const;
92 double Score(TreeType& queryNode, TreeType& referenceNode);
105 double Rescore(TreeType& queryNode,
106 TreeType& referenceNode,
107 const double oldScore)
const;
137 TreeType& referenceNode);
144 #include "range_search_rules_impl.hpp"
const arma::mat & referenceSet
The reference set.
size_t lastReferenceIndex
The last reference index.
void AddResult(const size_t queryIndex, TreeType &referenceNode)
Add all the points in the given node to the results for the given query point.
RangeSearchRules(const arma::mat &referenceSet, const arma::mat &querySet, const math::Range &range, std::vector< std::vector< size_t > > &neighbors, std::vector< std::vector< double > > &distances, MetricType &metric)
Construct the RangeSearchRules object.
std::vector< std::vector< double > > & distances
The vector the resultant neighbor distances should be stored in.
double Score(const size_t queryIndex, TreeType &referenceNode)
Get the score for recursion order.
size_t lastQueryIndex
The last query index.
const arma::mat & querySet
The query set.
const math::Range & range
The range of distances for which we are searching.
double BaseCase(const size_t queryIndex, const size_t referenceIndex)
Compute the base case between the given query point and reference point.
double Rescore(const size_t queryIndex, TreeType &referenceNode, const double oldScore) const
Re-evaluate the score for recursion order.
MetricType & metric
The instantiated metric.
Simple real-valued range.
std::vector< std::vector< size_t > > & neighbors
The vector the resultant neighbor indices should be stored in.