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 
18 namespace mlpack {
19 namespace neighbor {
20 
25 template<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 & AuxBound()
Modify the aux bound.
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 & LastDistance()
Modify the last distance calculation.
NeighborSearchStat(TreeType &)
Initialization for a fully initialized node.
double & FirstBound()
Modify the first bound.
double LastDistance() const
Get the last distance calculation.
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.
The core includes that mlpack expects; standard C++ includes and Armadillo.