#[doc(hidden)]
pub use std::cmp::Ordering;
use crate::*;
impl Metric {
pub fn compare<S>(&self, d0: &S, d1: &S) -> Option<Ordering>
where
S: FloatingPoint,
{
match self {
Metric::Cosine => (-*d0).partial_cmp(&-*d1),
Metric::Euclidean => d0.partial_cmp(d1),
Metric::InnerProduct => (-*d0).partial_cmp(&-*d1),
Metric::Manhattan => d0.partial_cmp(d1),
}
}
}