pub fn cosine_similarity(a: &[f32], b: &[f32]) -> f32Expand description
Compute cosine similarity between two vectors
Returns a value in [-1, 1] where:
- 1 = identical direction
- 0 = orthogonal
- -1 = opposite direction
§Arguments
a- First vectorb- Second vector (must be same length asa)
§Returns
Cosine similarity score, or 0.0 if vectors are empty or different lengths
§Example
use ruvector_data_framework::utils::cosine_similarity;
let a = vec![1.0, 0.0, 0.0];
let b = vec![1.0, 0.0, 0.0];
assert!((cosine_similarity(&a, &b) - 1.0).abs() < 1e-6);
let c = vec![0.0, 1.0, 0.0];
assert!(cosine_similarity(&a, &c).abs() < 1e-6);