24 #ifndef SOM_DISTANCE_H
25 #define SOM_DISTANCE_H
36 template <
typename std::
size_t ND>
47 <<
"for this type of distance";
51 template <
typename std::
size_t ND>
55 virtual ~L2() =
default;
60 result += (left[i] - right[i]) * (left[i] - right[i]);
69 double up = (left[i] - right[i]) * (left[i] - right[i]);
70 double down = uncertainties[i] * uncertainties[i];
virtual ~Interface()=default
virtual double distance(const std::array< double, ND > &left, const std::array< double, ND > &right) const =0
virtual double distance(const std::array< double, ND > &, const std::array< double, ND > &, const std::array< double, ND > &) const
double distance(const std::array< double, ND > &left, const std::array< double, ND > &right) const override
double distance(const std::array< double, ND > &left, const std::array< double, ND > &right, const std::array< double, ND > &uncertainties) const override