Trait vpsearch::MetricSpace [] [src]

pub trait MetricSpace {
    type UserData;
    type Distance: Copy + PartialOrd + Bounded + Add<Output=Self::Distance> + Sub<Output=Self::Distance>;
    fn distance(&self,
                other: &Self,
                user_data: &Self::UserData)
                -> Self::Distance; }

Associated Types

Required Methods

This function must return distance between two items that meets triangle inequality. Specifically, it can't return squared distance (you must use sqrt if you use Euclidean distance)

@param user_data Whatever you want. Passed from new_with_user_data()

Implementors