1 #ifndef theplu_yat_statistics_euclidean_distance_h
2 #define theplu_yat_statistics_euclidean_distance_h
26 #include "AveragerPair.h"
27 #include "AveragerPairWeighted.h"
28 #include "yat/utility/iterator_traits.h"
34 namespace statistics {
63 template <
typename ForwardIterator1,
typename ForwardIterator2>
64 double operator()(ForwardIterator1 beg1, ForwardIterator1 end1,
65 ForwardIterator2 beg2)
const
68 typename weighted_if_any2<ForwardIterator1,ForwardIterator2>::type tag;
69 return this->distance(beg1, end1, beg2, tag);
73 template <
typename Iter1,
typename Iter2>
74 double distance (Iter1 beg1,Iter1 end1, Iter2 beg2,
78 add(ap,beg1,end1,beg2);
82 template <
typename Iter1,
typename Iter2>
83 double distance (Iter1 beg1,Iter1 end1, Iter2 beg2,
86 AveragerPairWeighted ap;
87 add(ap,beg1,end1,beg2);
88 return sqrt(std::distance(beg1,end1)*ap.msd());
Definition: iterator_traits.h:47
Calculates the Euclidean distance between two points given by elements of ranges. ...
Definition: EuclideanDistance.h:43
double sum_squared_deviation(void) const
Class for taking care of mean and covariance of two variables.
Definition: AveragerPair.h:46
Definition: iterator_traits.h:55
double operator()(ForwardIterator1 beg1, ForwardIterator1 end1, ForwardIterator2 beg2) const
Calculates the Euclidean distance between elements of two ranges.
Definition: EuclideanDistance.h:64
void add(T &o, ForwardIterator first, ForwardIterator last, const classifier::Target &target)
Definition: utility.h:282
Definition: iterator_traits.h:159