template struct cvflann::MinkowskiDistance
Overview
#include <dist.h> template <class T> struct MinkowskiDistance { // typedefs typedef T ElementType; typedef True is_kdtree_distance; typedef True is_vector_space_distance; typedef Accumulator<T>::Type ResultType; // fields int order; // construction MinkowskiDistance(int order_); // methods template < typename U, typename V > ResultType accum_dist( const U& a, const V& b, int ) const; template < typename Iterator1, typename Iterator2 > ResultType operator()( Iterator1 a, Iterator2 b, size_t size, ResultType worst_dist = -1 ) const; };
Detailed Documentation
Methods
template < typename U, typename V > ResultType accum_dist( const U& a, const V& b, int ) const
Partial distance, used by the kd-tree.
template < typename Iterator1, typename Iterator2 > ResultType operator()( Iterator1 a, Iterator2 b, size_t size, ResultType worst_dist = -1 ) const
Compute the Minkowsky (L_p) distance between two vectors.
This is highly optimised, with loop unrolling, as it is one of the most expensive inner loops.
The computation of squared root at the end is omitted for efficiency.