Trait SimilarityCalculator

Source
pub trait SimilarityCalculator: Send + Sync {
    // Required methods
    fn calculate_similarity(
        &self,
        a: &[f32],
        b: &[f32],
    ) -> Result<f32, VectorError>;
    fn metric(&self) -> SimilarityMetric;

    // Provided method
    fn normalize_vector(&self, _vector: &mut [f32]) -> Result<(), VectorError> { ... }
}
Expand description

Trait for vector similarity calculation

Required Methods§

Source

fn calculate_similarity(&self, a: &[f32], b: &[f32]) -> Result<f32, VectorError>

Calculate similarity between two vectors

Source

fn metric(&self) -> SimilarityMetric

Get the similarity metric used

Provided Methods§

Source

fn normalize_vector(&self, _vector: &mut [f32]) -> Result<(), VectorError>

Normalize a vector if required by the metric

Implementors§