diff options
Diffstat (limited to '')
-rw-r--r-- | libtellurian_meridan_radius_radians.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libtellurian_meridan_radius_radians.c b/libtellurian_meridan_radius_radians.c new file mode 100644 index 0000000..0a832e5 --- /dev/null +++ b/libtellurian_meridan_radius_radians.c @@ -0,0 +1,14 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" + + +double +libtellurian_meridan_radius_radians(double latitude) +{ + double a = LIBTELLURIAN_EQUATORIAL_RADIUS; + double b = LIBTELLURIAN_POLAR_RADIUS; + double f = 1.0 - b / a; + double neg_e2 = (f - 2.0) * f; + double s = sin(latitude); + return fma(a, neg_e2, a) / pow(fma(neg_e2, s * s, 1.0), 1.5); +} |