aboutsummaryrefslogtreecommitdiffstats
path: root/libtellurian_end_point_radians.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libtellurian_end_point_radians.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/libtellurian_end_point_radians.c b/libtellurian_end_point_radians.c
index 79e759f..c512b59 100644
--- a/libtellurian_end_point_radians.c
+++ b/libtellurian_end_point_radians.c
@@ -1,5 +1,6 @@
/* See LICENSE file for copyright and license details. */
#include "common.h"
+#ifndef TEST
/* TODO complete the implementation */
@@ -55,17 +56,18 @@ libtellurian_end_point_radians(double latitude1, double longitude1, double azimu
/* } repeat until sigma converges */
- if (latitude2_out || azimuth2_out)
+ if (latitude2_out || azimuth2_out) {
x0 = fma(cos_sigma * cos_alpha1, cos_u1, -sin_u1 * sin_alpha);
- if (latitude2_out) {
- y = fma(sin_sigma * cos_alpha1, cos_u1, sin_u1 * cos_sigma);
- x = sqrt(fma(sin_alpha, sin_alpha, x0 * x0)) * c;
- *latitude2_out = atan2(y, x);
- }
+ if (latitude2_out) {
+ y = fma(sin_sigma * cos_alpha1, cos_u1, sin_u1 * cos_sigma);
+ x = sqrt(fma(sin_alpha, sin_alpha, x0 * x0)) * c;
+ *latitude2_out = atan2(y, x);
+ }
- if (azimuth2_out)
- *azimuth2_out = atan2(sin_alpha, x0);
+ if (azimuth2_out)
+ *azimuth2_out = atan2(sin_alpha, x0);
+ }
if (longitude2_out) {
C = fma(fma(-0.75, cos2_alpha, 1.0), f, 1.0) * cos2_alpha * f / 4.0;
@@ -77,3 +79,8 @@ libtellurian_end_point_radians(double latitude1, double longitude1, double azimu
*longitude2_out = longitude1 + L;
}
}
+
+
+#else
+TODO_TEST
+#endif