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§
Sourcefn calculate_similarity(&self, a: &[f32], b: &[f32]) -> Result<f32, VectorError>
fn calculate_similarity(&self, a: &[f32], b: &[f32]) -> Result<f32, VectorError>
Calculate similarity between two vectors
Sourcefn metric(&self) -> SimilarityMetric
fn metric(&self) -> SimilarityMetric
Get the similarity metric used
Provided Methods§
Sourcefn normalize_vector(&self, _vector: &mut [f32]) -> Result<(), VectorError>
fn normalize_vector(&self, _vector: &mut [f32]) -> Result<(), VectorError>
Normalize a vector if required by the metric