use crate::models;
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum DistanceMetric {
#[serde(rename = "euclidean")]
Euclidean,
#[serde(rename = "cosine")]
Cosine,
#[serde(rename = "manhattan")]
Manhattan,
#[serde(rename = "dot")]
Dot,
}
impl ToString for DistanceMetric {
fn to_string(&self) -> String {
match self {
Self::Euclidean => String::from("euclidean"),
Self::Cosine => String::from("cosine"),
Self::Manhattan => String::from("manhattan"),
Self::Dot => String::from("dot"),
}
}
}
impl Default for DistanceMetric {
fn default() -> DistanceMetric {
Self::Euclidean
}
}