aboutsummaryrefslogtreecommitdiff
path: root/src/geodtest.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/geodtest.c')
-rw-r--r--src/geodtest.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/geodtest.c b/src/geodtest.c
index 5fd00cb8..7b36f64b 100644
--- a/src/geodtest.c
+++ b/src/geodtest.c
@@ -336,9 +336,13 @@ static int GeodSolve12() {
static int GeodSolve14() {
/* Check fix for inverse ignoring lon12 = nan */
- double azi1, azi2, s12, nan = sqrt(-1.0);
+ double azi1, azi2, s12, nan;
struct geod_geodesic g;
int result = 0;
+ {
+ double minus1 = -1.0;
+ nan = sqrt(minus1);
+ }
geod_init(&g, wgs84_a, wgs84_f);
geod_inverse(&g, 0, 0, 1, nan, &s12, &azi1, &azi2);
result += azi1 == azi1 ? 1 : 0;
@@ -473,9 +477,13 @@ static int GeodSolve33() {
static int GeodSolve55() {
/* Check fix for nan + point on equator or pole not returning all nans in
* Geodesic::Inverse, found 2015-09-23. */
- double azi1, azi2, s12, nan = sqrt(-1.0);
+ double azi1, azi2, s12, nan;
struct geod_geodesic g;
int result = 0;
+ {
+ double minus1 = -1.0;
+ nan = sqrt(minus1);
+ }
geod_init(&g, wgs84_a, wgs84_f);
geod_inverse(&g, nan, 0, 0, 90, &s12, &azi1, &azi2);
result += azi1 == azi1 ? 1 : 0;