trieve-client 0.11.7

Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
Documentation
/*
 * Trieve API
 *
 * Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
 *
 * The version of the OpenAPI document: 0.11.7
 * Contact: developers@trieve.ai
 * Generated by: https://openapi-generator.tech
 */

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
    }
}