MLPACK
1.0.8
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
mlpack
methods
neighbor_search
neighbor_search_rules.hpp
Go to the documentation of this file.
1
23
#ifndef __MLPACK_METHODS_NEIGHBOR_SEARCH_NEIGHBOR_SEARCH_RULES_HPP
24
#define __MLPACK_METHODS_NEIGHBOR_SEARCH_NEIGHBOR_SEARCH_RULES_HPP
25
26
namespace
mlpack {
27
namespace
neighbor {
28
29
template
<
typename
SortPolicy,
typename
MetricType,
typename
TreeType>
30
class
NeighborSearchRules
31
{
32
public
:
33
NeighborSearchRules
(
const
arma::mat&
referenceSet
,
34
const
arma::mat&
querySet
,
35
arma::Mat<size_t>&
neighbors
,
36
arma::mat&
distances
,
37
MetricType&
metric
);
38
39
double
BaseCase
(
const
size_t
queryIndex,
const
size_t
referenceIndex);
40
49
double
Score
(
const
size_t
queryIndex, TreeType& referenceNode);
50
62
double
Rescore
(
const
size_t
queryIndex,
63
TreeType& referenceNode,
64
const
double
oldScore)
const
;
65
74
double
Score
(TreeType& queryNode, TreeType& referenceNode);
75
87
double
Rescore
(TreeType& queryNode,
88
TreeType& referenceNode,
89
const
double
oldScore)
const
;
90
91
private
:
93
const
arma::mat&
referenceSet
;
94
96
const
arma::mat&
querySet
;
97
99
arma::Mat<size_t>&
neighbors
;
100
102
arma::mat&
distances
;
103
105
MetricType&
metric
;
106
108
size_t
lastQueryIndex
;
110
size_t
lastReferenceIndex
;
112
double
lastBaseCase
;
113
117
double
CalculateBound
(TreeType& queryNode)
const
;
118
128
void
InsertNeighbor
(
const
size_t
queryIndex,
129
const
size_t
pos,
130
const
size_t
neighbor,
131
const
double
distance);
132
};
133
134
};
// namespace neighbor
135
};
// namespace mlpack
136
137
// Include implementation.
138
#include "neighbor_search_rules_impl.hpp"
139
140
#endif // __MLPACK_METHODS_NEIGHBOR_SEARCH_NEIGHBOR_SEARCH_RULES_HPP
Generated by
1.8.3.1