Template Struct L2_Adaptor

Struct Documentation

template<class T, class DataSource, typename _DistanceType = T, typename IndexType = uint32_t>
struct L2_Adaptor

Squared Euclidean distance functor (generic version, optimized for high-dimensionality data sets). Corresponding distance traits: nanoflann::metric_L2

Template Parameters:
  • T – Type of the elements (e.g. double, float, uint8_t)

  • DataSource – Source of the data, i.e. where the vectors are stored

  • _DistanceType – Type of distance variables (must be signed)

  • IndexType – Type of the arguments with which the data can be accessed (e.g. float, double, int64_t, T*)

Public Types

using ElementType = T
using DistanceType = _DistanceType

Public Functions

inline L2_Adaptor(const DataSource &_data_source)
inline DistanceType evalMetric(const T *a, const IndexType b_idx, size_t size, DistanceType worst_dist = -1) const
template<typename U, typename V>
inline DistanceType accum_dist(const U a, const V b, const size_t) const

Public Members

const DataSource &data_source