24 #ifndef __MLPACK_METHODS_RANN_RA_SEARCH_RULES_HPP
25 #define __MLPACK_METHODS_RANN_RA_SEARCH_RULES_HPP
27 #include "../neighbor_search/ns_traversal_info.hpp"
33 template<
typename SortPolicy,
typename MetricType,
typename TreeType>
43 const double alpha = 0.95,
44 const bool naive =
false,
51 double BaseCase(
const size_t queryIndex,
const size_t referenceIndex);
75 double Score(
const size_t queryIndex, TreeType& referenceNode);
100 double Score(
const size_t queryIndex,
101 TreeType& referenceNode,
102 const double baseCaseResult);
121 double Rescore(
const size_t queryIndex,
122 TreeType& referenceNode,
123 const double oldScore);
143 double Score(TreeType& queryNode, TreeType& referenceNode);
165 double Score(TreeType& queryNode,
166 TreeType& referenceNode,
167 const double baseCaseResult);
191 double Rescore(TreeType& queryNode,
192 TreeType& referenceNode,
193 const double oldScore);
260 const size_t neighbor,
261 const double distance);
275 const double alpha)
const;
289 const size_t t)
const;
301 const size_t rangeUpperBound,
302 arma::uvec& distinctSamples)
const;
307 double Score(
const size_t queryIndex,
308 TreeType& referenceNode,
309 const double distance,
310 const double bestDistance);
315 double Score(TreeType& queryNode,
316 TreeType& referenceNode,
317 const double distance,
318 const double bestDistance);
323 friend class RASearch<SortPolicy, MetricType, TreeType>;
330 #include "ra_search_rules_impl.hpp"
332 #endif // __MLPACK_METHODS_RANN_RA_SEARCH_RULES_HPP