mlpack  2.0.1
edge_pair.hpp
Go to the documentation of this file.
1 
16 #ifndef __MLPACK_METHODS_EMST_EDGE_PAIR_HPP
17 #define __MLPACK_METHODS_EMST_EDGE_PAIR_HPP
18 
19 #include <mlpack/core.hpp>
20 
21 #include "union_find.hpp"
22 
23 namespace mlpack {
24 namespace emst {
25 
30 class EdgePair
31 {
32  private:
34  size_t lesser;
36  size_t greater;
38  double distance;
39 
40  public:
47  EdgePair(const size_t lesser, const size_t greater, const double dist) :
48  lesser(lesser), greater(greater), distance(dist)
49  {
50  Log::Assert(lesser != greater,
51  "EdgePair::EdgePair(): indices cannot be equal.");
52  }
53 
55  size_t Lesser() const { return lesser; }
57  size_t& Lesser() { return lesser; }
58 
60  size_t Greater() const { return greater; }
62  size_t& Greater() { return greater; }
63 
65  double Distance() const { return distance; }
67  double& Distance() { return distance; }
68 
69 }; // class EdgePair
70 
71 } // namespace emst
72 } // namespace mlpack
73 
74 #endif // __MLPACK_METHODS_EMST_EDGE_PAIR_HPP
An edge pair is simply two indices and a distance.
Definition: edge_pair.hpp:30
Linear algebra utility functions, generally performed on matrices or vectors.
size_t & Greater()
Modify the greater index.
Definition: edge_pair.hpp:62
size_t Lesser() const
Get the lesser index.
Definition: edge_pair.hpp:55
static void Assert(bool condition, const std::string &message="Assert Failed.")
Checks if the specified condition is true.
size_t greater
Greater index.
Definition: edge_pair.hpp:36
EdgePair(const size_t lesser, const size_t greater, const double dist)
Initialize an EdgePair with two indices and a distance.
Definition: edge_pair.hpp:47
size_t Greater() const
Get the greater index.
Definition: edge_pair.hpp:60
Include all of the base components required to write MLPACK methods, and the main MLPACK Doxygen docu...
double & Distance()
Modify the distance.
Definition: edge_pair.hpp:67
size_t lesser
Lesser index.
Definition: edge_pair.hpp:34
double Distance() const
Get the distance.
Definition: edge_pair.hpp:65
size_t & Lesser()
Modify the lesser index.
Definition: edge_pair.hpp:57
double distance
Distance between two indices.
Definition: edge_pair.hpp:38