aboutsummaryrefslogtreecommitdiffstats
path: root/libtellurian_effective_gravity.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libtellurian_effective_gravity.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/libtellurian_effective_gravity.c b/libtellurian_effective_gravity.c
new file mode 100644
index 0000000..fe8270e
--- /dev/null
+++ b/libtellurian_effective_gravity.c
@@ -0,0 +1,41 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+double
+libtellurian_effective_gravity(double gravity, double latitude)
+{
+ latitude = radians(latitude);
+ return libtellurian_effective_gravity_radians(gravity, latitude);
+}
+
+
+#else
+
+
+static int
+approx(double a, double b)
+{
+ return fabs(a - b) <= 1e-8 * (0.5 * (a + b));
+}
+
+int
+main(void)
+{
+ ASSERT(libtellurian_effective_gravity(9.1234, 0) == libtellurian_effective_gravity_radians(9.1234, 0));
+ ASSERT(approx(libtellurian_effective_gravity(9.1234, 180), libtellurian_effective_gravity_radians(9.1234, 0)));
+ ASSERT(approx(libtellurian_effective_gravity(9.1234, 360), libtellurian_effective_gravity_radians(9.1234, 0)));
+ ASSERT(approx(libtellurian_effective_gravity(9.1234, 90), libtellurian_effective_gravity(9.1234, -90)));
+ ASSERT(approx(libtellurian_effective_gravity(9.1234, 90), libtellurian_effective_gravity(9.1234, 270)));
+ ASSERT(approx(libtellurian_effective_gravity(9.1234, 45), libtellurian_effective_gravity(9.1234, -45)));
+ ASSERT(approx(libtellurian_effective_gravity(9.1234, 135), libtellurian_effective_gravity(9.1234, 45)));
+ ASSERT(approx(libtellurian_effective_gravity(9.1234, -135), libtellurian_effective_gravity(9.1234, 135)));
+ ASSERT(libtellurian_effective_gravity(9.1234, 90) == libtellurian_effective_gravity_radians(9.1234, D90));
+ ASSERT(libtellurian_effective_gravity(9.1234, 45) == libtellurian_effective_gravity_radians(9.1234, D45));
+ ASSERT(libtellurian_effective_gravity(9.1234, 30) == libtellurian_effective_gravity_radians(9.1234, D30));
+ return 0;
+}
+
+
+#endif