summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2021-05-01 21:46:57 +0200
committerTor Egge <Tor.Egge@online.no>2021-05-01 21:46:57 +0200
commit6a5806c58948413f5cd15e10c5dec50a9fa25c3e (patch)
tree4f20e7e34f81beddc3005e3f5b7592e8c4759341 /searchlib
parent8c8580de8455cad37883dd04bca0044e4ad0cb05 (diff)
Allow more rounding errors for small (zero) distances.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/tests/tensor/distance_functions/distance_functions_test.cpp13
1 files changed, 9 insertions, 4 deletions
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);
+ }
}