diff options
author | Arne Juul <arnej@verizonmedia.com> | 2020-08-16 10:31:16 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2020-08-16 10:31:16 +0000 |
commit | b56bbda633a26e1bbdeb710efd89fcfd669ad1df (patch) | |
tree | 8e07bf1bf8b1cc2823a5cd86cb91ac925832d8c8 /searchlib | |
parent | e98b5a77300eda52f082b9c17b9cf4915b3fe4b0 (diff) |
use km as unit for distances from geo-degrees metric
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/tests/tensor/distance_functions/distance_functions_test.cpp | 4 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/tensor/distance_functions.h | 4 |
2 files changed, 4 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 082d04f104b..9d240bc688a 100644 --- a/searchlib/src/tests/tensor/distance_functions/distance_functions_test.cpp +++ b/searchlib/src/tests/tensor/distance_functions/distance_functions_test.cpp @@ -25,7 +25,7 @@ void verify_geo_miles(const DistanceFunction *dist_fun, double abstract_distance = dist_fun->calc(t1, t2); double raw_score = dist_fun->to_rawscore(abstract_distance); double m = ((1.0/raw_score)-1.0); - double d_miles = m / 1609.344; + double d_miles = m / 1.609344; EXPECT_GE(d_miles, exp_miles*0.99); EXPECT_LE(d_miles, exp_miles*1.01); } @@ -159,7 +159,7 @@ TEST(GeoDegreesTest, gives_expected_score) double g63_a = geodeg->calc(t(g6_trd), t(g3_osl)); double g63_r = geodeg->to_rawscore(g63_a); - double g63_km = ((1.0/g63_r)-1.0) *.001; + double g63_km = ((1.0/g63_r)-1.0); EXPECT_GT(g63_km, 350); EXPECT_LT(g63_km, 375); diff --git a/searchlib/src/vespa/searchlib/tensor/distance_functions.h b/searchlib/src/vespa/searchlib/tensor/distance_functions.h index 7e75920619f..f88b239885f 100644 --- a/searchlib/src/vespa/searchlib/tensor/distance_functions.h +++ b/searchlib/src/vespa/searchlib/tensor/distance_functions.h @@ -165,8 +165,8 @@ public: } double to_rawscore(double distance) const override { double hav_diff = sqrt(distance); - // distance in meters: - double d = 2 * asin(hav_diff) * 6371008.8; // Earth mean radius + // distance in kilometers: + double d = 2 * asin(hav_diff) * 6371.0088; // Earth mean radius return 1.0 / (1.0 + d); } double calc_with_limit(const vespalib::tensor::TypedCells& lhs, |