/* See LICENSE file for copyright and license details. */ #include "common.h" #ifndef TEST void libtellurian_azimuth_radians(double latitude1, double longitude1, double latitude2, double longitude2, double *azimuth1_out, double *azimuth2_out) { libtellurian_vincenty_inverse__(latitude1, longitude1, latitude2, longitude2, NULL, azimuth1_out, azimuth2_out); } #else #if 1 TODO_TEST #else static int check(double a, double b, double c, double d) { double az1_ref = 1, az2_ref = 2, az1 = 3, az2 = 4, az1b = 5, az2b = 6; double s; s = libtellurian_distance_radians(a, b, c, d, &az1_ref, &az2_ref); (void) s; libtellurian_azimuth_radians(a, b, c, d, &az1, &az2); libtellurian_azimuth_radians(a, b, c, d, &az1b, NULL); libtellurian_azimuth_radians(a, b, c, d, NULL, &az2b); libtellurian_azimuth_radians(a, b, c, d, NULL, NULL); return az1 == az1_ref && az2 == az2_ref && az1 == az1b && az2 == az2b; } int main(void) { ASSERT(check(1, 2, 3, 4)); ASSERT(check(2, 3, 4, 5)); ASSERT(check(3, 4, 5, 6)); ASSERT(check(7, 8, 7, 8)); ASSERT(check(0, 0, 0, 0)); ASSERT(check(D90, D90, D90, D90)); return 0; } #endif #endif