MLPACK
1.0.4
|
00001 00024 #ifndef __MLPACK_METHODS_EMST_EDGE_PAIR_HPP 00025 #define __MLPACK_METHODS_EMST_EDGE_PAIR_HPP 00026 00027 #include <mlpack/core.hpp> 00028 00029 #include "union_find.hpp" 00030 00031 namespace mlpack { 00032 namespace emst { 00033 00038 class EdgePair 00039 { 00040 private: 00042 size_t lesser; 00044 size_t greater; 00046 double distance; 00047 00048 public: 00055 EdgePair(const size_t lesser, const size_t greater, const double dist) : 00056 lesser(lesser), greater(greater), distance(dist) 00057 { 00058 Log::Assert(lesser != greater, 00059 "EdgePair::EdgePair(): indices cannot be equal."); 00060 } 00061 00063 size_t Lesser() const { return lesser; } 00065 size_t& Lesser() { return lesser; } 00066 00068 size_t Greater() const { return greater; } 00070 size_t& Greater() { return greater; } 00071 00073 double Distance() const { return distance; } 00075 double& Distance() { return distance; } 00076 00077 }; // class EdgePair 00078 00079 }; // namespace emst 00080 }; // namespace mlpack 00081 00082 #endif // __MLPACK_METHODS_EMST_EDGE_PAIR_HPP