Public Types | Public Member Functions
cvflann::L2< T > Struct Template Reference

#include <dist.h>

List of all members.

Public Types

typedef True is_kdtree_distance
typedef True is_vector_space_distance
typedef T ElementType
typedef Accumulator< T >::Type ResultType

Public Member Functions

template<typename Iterator1 , typename Iterator2 >
ResultType operator() (Iterator1 a, Iterator2 b, size_t size, ResultType worst_dist=-1) const
template<typename U , typename V >
ResultType accum_dist (const U &a, const V &b, int) const

Detailed Description

template<class T>
struct cvflann::L2< T >

Squared Euclidean distance functor, optimized version


Member Typedef Documentation

template<class T>
typedef True cvflann::L2< T >::is_kdtree_distance
template<class T>
typedef True cvflann::L2< T >::is_vector_space_distance
template<class T>
typedef T cvflann::L2< T >::ElementType
template<class T>
typedef Accumulator<T>::Type cvflann::L2< T >::ResultType

Member Function Documentation

template<class T>
template<typename Iterator1 , typename Iterator2 >
ResultType cvflann::L2< T >::operator() ( Iterator1  a,
Iterator2  b,
size_t  size,
ResultType  worst_dist = -1 
) const

Compute the squared Euclidean 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.

template<class T>
template<typename U , typename V >
ResultType cvflann::L2< T >::accum_dist ( const U a,
const V b,
int   
) const

Partial euclidean distance, using just one dimension. This is used by the kd-tree when computing partial distances while traversing the tree.

Squared root is omitted for efficiency.


The documentation for this struct was generated from the following file: