Trait MeasureDistanceBuilder

pub trait MeasureDistanceBuilder {
    type Measure<'a>: MeasureDistance + 'a;

    // Required method
    fn new(target: VectorInner<&[OrderedFloat<f32>]>) -> Self::Measure<'_>;

    // Provided method
    fn distance(
        target: VectorInner<&[OrderedFloat<f32>]>,
        other: VectorInner<&[OrderedFloat<f32>]>,
    ) -> f64
       where Self: Sized { ... }
}

Required Associated Types§

type Measure<'a>: MeasureDistance + 'a

Required Methods§

fn new(target: VectorInner<&[OrderedFloat<f32>]>) -> Self::Measure<'_>

Provided Methods§

fn distance( target: VectorInner<&[OrderedFloat<f32>]>, other: VectorInner<&[OrderedFloat<f32>]>, ) -> f64
where Self: Sized,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

§

impl MeasureDistanceBuilder for CosineDistance

§

type Measure<'a> = CosineDistanceMeasure<'a>

§

impl MeasureDistanceBuilder for InnerProductDistance

§

type Measure<'a> = InnerProductDistanceMeasure<'a>

§

impl MeasureDistanceBuilder for L1Distance

§

type Measure<'a> = L1DistanceMeasure<'a>

§

impl MeasureDistanceBuilder for L2SqrDistance

§

type Measure<'a> = L2SqrDistanceMeasure<'a>