From 6a5806c58948413f5cd15e10c5dec50a9fa25c3e Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Sat, 1 May 2021 21:46:57 +0200 Subject: Allow more rounding errors for small (zero) distances. --- .../tensor/distance_functions/distance_functions_test.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'searchlib/src/tests/tensor') diff --git a/searchlib/src/tests/tensor/distance_functions/distance_functions_test.cpp b/searchlib/src/tests/tensor/distance_functions/distance_functions_test.cpp index 701f4c91ff2..6e88cf5a115 100644 --- a/searchlib/src/tests/tensor/distance_functions/distance_functions_test.cpp +++ b/searchlib/src/tests/tensor/distance_functions/distance_functions_test.cpp @@ -28,10 +28,15 @@ void verify_geo_miles(const DistanceFunction *dist_fun, double raw_score = dist_fun->to_rawscore(abstract_distance); double km = ((1.0/raw_score)-1.0); double d_miles = km / 1.609344; - EXPECT_GE(d_miles, exp_miles*0.99); - EXPECT_LE(d_miles, exp_miles*1.01); - double threshold = dist_fun->convert_threshold(km); - EXPECT_DOUBLE_EQ(threshold, abstract_distance); + if (exp_miles != 0.0) { + EXPECT_GE(d_miles, exp_miles*0.99); + EXPECT_LE(d_miles, exp_miles*1.01); + double threshold = dist_fun->convert_threshold(km); + EXPECT_DOUBLE_EQ(threshold, abstract_distance); + } else { + EXPECT_LE(d_miles, 7e-13); + EXPECT_LE(abstract_distance, 6e-33); + } } -- cgit v1.2.3