24 #ifndef SOM_DISTANCE_H
25 #define SOM_DISTANCE_H
34 template <
typename std::
size_t ND>
44 <<
"for this type of distance";
48 template <
typename std::
size_t ND>
52 virtual ~L2() =
default;
57 result += (left[i] - right[i]) * (left[i] - right[i]);
66 double up = (left[i] - right[i]) * (left[i] - right[i]);
67 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