MLPACK
1.0.10
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
#include "
ns_traversal_info.hpp
"
27
28
namespace
mlpack {
29
namespace
neighbor {
30
31
template
<
typename
SortPolicy,
typename
MetricType,
typename
TreeType>
32
class
NeighborSearchRules
33
{
34
public
:
35
NeighborSearchRules
(
const
typename
TreeType::Mat&
referenceSet
,
36
const
typename
TreeType::Mat&
querySet
,
37
arma::Mat<size_t>&
neighbors
,
38
arma::mat&
distances
,
39
MetricType&
metric
);
48
double
BaseCase
(
const
size_t
queryIndex,
const
size_t
referenceIndex);
49
58
double
Score
(
const
size_t
queryIndex, TreeType& referenceNode);
59
71
double
Rescore
(
const
size_t
queryIndex,
72
TreeType& referenceNode,
73
const
double
oldScore)
const
;
74
83
double
Score
(TreeType& queryNode, TreeType& referenceNode);
84
96
double
Rescore
(TreeType& queryNode,
97
TreeType& referenceNode,
98
const
double
oldScore)
const
;
99
101
size_t
BaseCases
()
const
{
return
baseCases
; }
103
size_t
&
BaseCases
() {
return
baseCases
; }
104
106
size_t
Scores
()
const
{
return
scores
; }
108
size_t
&
Scores
() {
return
scores
; }
109
111
typedef
NeighborSearchTraversalInfo<TreeType>
TraversalInfoType
;
112
114
const
TraversalInfoType
&
TraversalInfo
()
const
{
return
traversalInfo
; }
116
TraversalInfoType
&
TraversalInfo
() {
return
traversalInfo
; }
117
118
private
:
120
const
typename
TreeType::Mat&
referenceSet
;
121
123
const
typename
TreeType::Mat&
querySet
;
124
126
arma::Mat<size_t>&
neighbors
;
127
129
arma::mat&
distances
;
130
132
MetricType&
metric
;
133
135
size_t
lastQueryIndex
;
137
size_t
lastReferenceIndex
;
139
double
lastBaseCase
;
140
142
size_t
baseCases
;
144
size_t
scores
;
145
148
TraversalInfoType
traversalInfo
;
149
153
double
CalculateBound
(TreeType& queryNode)
const
;
154
164
void
InsertNeighbor
(
const
size_t
queryIndex,
165
const
size_t
pos,
166
const
size_t
neighbor,
167
const
double
distance);
168
};
169
170
};
// namespace neighbor
171
};
// namespace mlpack
172
173
// Include implementation.
174
#include "neighbor_search_rules_impl.hpp"
175
176
#endif // __MLPACK_METHODS_NEIGHBOR_SEARCH_NEIGHBOR_SEARCH_RULES_HPP
Generated by
1.8.3.1