pub trait MetricSpace: Sized {
    type Metric: BaseFloat;

    // Required method
    fn distance2(self, other: Self) -> Self::Metric;

    // Provided method
    fn distance(self, other: Self) -> Self::Metric { ... }
}
Expand description

A type with a distance function between values.

Examples are vectors, points, and quaternions.

Required Associated Types§

source

type Metric: BaseFloat

The metric to be returned by the distance function.

Required Methods§

source

fn distance2(self, other: Self) -> Self::Metric

Returns the squared distance.

This does not perform an expensive square root operation like in MetricSpace::distance method, and so can be used to compare distances more efficiently.

Provided Methods§

source

fn distance(self, other: Self) -> Self::Metric

The distance between two values.

Implementors§