mlpack 3.4.2
neighbor_search_stat.hpp
Go to the documentation of this file.
1
13#ifndef MLPACK_METHODS_NEIGHBOR_SEARCH_NEIGHBOR_SEARCH_STAT_HPP
14#define MLPACK_METHODS_NEIGHBOR_SEARCH_NEIGHBOR_SEARCH_STAT_HPP
15
16#include <mlpack/prereqs.hpp>
17
18namespace mlpack {
19namespace neighbor {
20
25template<typename SortPolicy>
27{
28 private:
31 double firstBound;
36 double secondBound;
39 double auxBound;
41 double lastDistance;
42
43 public:
49 firstBound(SortPolicy::WorstDistance()),
50 secondBound(SortPolicy::WorstDistance()),
51 auxBound(SortPolicy::WorstDistance()),
52 lastDistance(0.0) { }
53
58 template<typename TreeType>
59 NeighborSearchStat(TreeType& /* node */) :
60 firstBound(SortPolicy::WorstDistance()),
61 secondBound(SortPolicy::WorstDistance()),
62 auxBound(SortPolicy::WorstDistance()),
63 lastDistance(0.0) { }
64
68 void Reset()
69 {
70 firstBound = SortPolicy::WorstDistance();
71 secondBound = SortPolicy::WorstDistance();
72 auxBound = SortPolicy::WorstDistance();
73 lastDistance = 0.0;
74 }
75
77 double FirstBound() const { return firstBound; }
79 double& FirstBound() { return firstBound; }
81 double SecondBound() const { return secondBound; }
83 double& SecondBound() { return secondBound; }
85 double AuxBound() const { return auxBound; }
87 double& AuxBound() { return auxBound; }
89 double LastDistance() const { return lastDistance; }
91 double& LastDistance() { return lastDistance; }
92
94 template<typename Archive>
95 void serialize(Archive& ar, const unsigned int /* version */)
96 {
97 ar & BOOST_SERIALIZATION_NVP(firstBound);
98 ar & BOOST_SERIALIZATION_NVP(secondBound);
99 ar & BOOST_SERIALIZATION_NVP(auxBound);
100 ar & BOOST_SERIALIZATION_NVP(lastDistance);
101 }
102};
103
104} // namespace neighbor
105} // namespace mlpack
106
107#endif
Extra data for each node in the tree.
double & SecondBound()
Modify the second bound.
double FirstBound() const
Get the first bound.
double AuxBound() const
Get the aux bound.
void Reset()
Reset statistic parameters to initial values.
double SecondBound() const
Get the second bound.
double & FirstBound()
Modify the first bound.
NeighborSearchStat(TreeType &)
Initialization for a fully initialized node.
double & LastDistance()
Modify the last distance calculation.
double LastDistance() const
Get the last distance calculation.
double & AuxBound()
Modify the aux bound.
NeighborSearchStat()
Initialize the statistic with the worst possible distance according to our sorting policy.
void serialize(Archive &ar, const unsigned int)
Serialize the statistic to/from an archive.
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
The core includes that mlpack expects; standard C++ includes and Armadillo.