[][src]Trait hnsw::Distance

pub trait Distance {
    fn distance(lhs: &Self, rhs: &Self) -> u32;
}

This is the primary trait used by the HNSW. This is also implemented for FloatingDistance. If your features have a floating point distance, please implement the distance using FloatingDistance. Implementing FloatingDistance implements Distance so long as you satisfy its conditions.

Required methods

fn distance(lhs: &Self, rhs: &Self) -> u32

This must compute the distance between two Self as a u32.

Loading content...

Implementors

impl Distance for Hamming<[u128x4; 2]>[src]

impl Distance for Hamming<[u128x4; 4]>[src]

impl Distance for Hamming<[u128x4; 8]>[src]

impl Distance for Hamming<u128>[src]

impl Distance for Hamming<u16>[src]

impl Distance for Hamming<u32>[src]

impl Distance for Hamming<u64>[src]

impl Distance for Hamming<u8>[src]

impl Distance for Hamming<u128x2>[src]

impl Distance for Hamming<u128x4>[src]

impl<'_> Distance for Hamming<&'_ [u8]>[src]

impl<T> Distance for T where
    T: FloatingDistance
[src]

This impl requires the float to not be negative, infinite, or NaN. The tradeoff is that it performs equally as well as unsigned integer distance.

Loading content...