summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-05-01 23:30:24 +0200
committerGitHub <noreply@github.com>2021-05-01 23:30:24 +0200
commitb0e2a381a48fac01f24a51dacfefc13530e4630e (patch)
tree4f20e7e34f81beddc3005e3f5b7592e8c4759341 /searchlib
parent8c8580de8455cad37883dd04bca0044e4ad0cb05 (diff)
parent6a5806c58948413f5cd15e10c5dec50a9fa25c3e (diff)
Merge pull request #17701 from vespa-engine/toregge/allow-more-rounding-errors
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);
+ }
}