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