From 9dac7e00ba1b1c25ba50f401a87d01a1719afd68 Mon Sep 17 00:00:00 2001 From: Nikita Sivukhin Date: Tue, 14 Oct 2025 22:19:19 +0400 Subject: [PATCH 1/2] relax check in the vector test - fixes https://github.com/tursodatabase/turso/issues/3732 --- core/vector/vector_types.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/core/vector/vector_types.rs b/core/vector/vector_types.rs index a5551a453..15d015b5d 100644 --- a/core/vector/vector_types.rs +++ b/core/vector/vector_types.rs @@ -444,11 +444,26 @@ pub(crate) mod tests { /// - The distance must be between 0 and 2 fn test_vector_distance(v1: &Vector, v2: &Vector) -> bool { match operations::distance_cos::vector_distance_cos(v1, v2) { - Ok(distance) => distance.is_nan() || (0.0..=2.0).contains(&distance), + Ok(distance) => distance.is_nan() || (0.0 - 1e-6..=2.0 + 1e-6).contains(&distance), Err(_) => true, } } + #[test] + fn test_vector_some_cosine_dist() { + let a = Vector { + vector_type: VectorType::Float32Dense, + dims: 2, + data: vec![0, 0, 0, 0, 52, 208, 106, 63], + }; + let b = Vector { + vector_type: VectorType::Float32Dense, + dims: 2, + data: vec![0, 0, 0, 0, 58, 100, 45, 192], + }; + assert!((operations::distance_cos::vector_distance_cos(&a, &b).unwrap() - 2.0).abs() <= 1e-6); + } + #[test] fn parse_string_vector_zero_length() { let vector = operations::text::vector_from_text(VectorType::Float32Dense, "[]").unwrap(); From 427a1456632ad83e57b5ec1c79e80603776b302b Mon Sep 17 00:00:00 2001 From: Nikita Sivukhin Date: Tue, 14 Oct 2025 22:22:14 +0400 Subject: [PATCH 2/2] fmt --- core/vector/vector_types.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/vector/vector_types.rs b/core/vector/vector_types.rs index 15d015b5d..dafa2ca23 100644 --- a/core/vector/vector_types.rs +++ b/core/vector/vector_types.rs @@ -461,7 +461,9 @@ pub(crate) mod tests { dims: 2, data: vec![0, 0, 0, 0, 58, 100, 45, 192], }; - assert!((operations::distance_cos::vector_distance_cos(&a, &b).unwrap() - 2.0).abs() <= 1e-6); + assert!( + (operations::distance_cos::vector_distance_cos(&a, &b).unwrap() - 2.0).abs() <= 1e-6 + ); } #[test]