georust / geo

Geospatial primitives and algorithms for Rust
https://crates.io/crates/geo
Other
1.49k stars 194 forks source link

Fix wrapping of longitudes in HaversineDestination #1091

Closed apendleton closed 9 months ago

apendleton commented 9 months ago

Note: the wrapping logic is branchless so it's nice and speedy, but a drawback is that it slightly twiddles some floating-point results out like 10 places after the decimal, even for longitudes that don't need wrapping, which required adding some epsilon = whatever to some existing tests. If a branch-y version that only touches out of bounds longitudes is preferred, let me know, and I can make the swap (probably in this branch and also in #1090 , which uses the same new function).

fixes #1074