diff options
Diffstat (limited to '')
-rw-r--r-- | libtellurian_coarse_distance_radians.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libtellurian_coarse_distance_radians.c b/libtellurian_coarse_distance_radians.c new file mode 100644 index 0000000..eb9cac0 --- /dev/null +++ b/libtellurian_coarse_distance_radians.c @@ -0,0 +1,13 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" + + +double +libtellurian_coarse_distance_radians(double latitude1, double longitude1, + double latitude2, double longitude2) +{ + double h = fma(haversin(longitude2 - longitude1), + cos(latitude1) * cos(latitude2), + haversin(latitude2 - latitude1)); + return 2.0 * LIBTELLURIAN_AUTHALIC_RADIUS * asin(sqrt(h)); +} |