aboutsummaryrefslogtreecommitdiff
path: root/src/PJ_eck3.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/PJ_eck3.c')
-rw-r--r--src/PJ_eck3.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/PJ_eck3.c b/src/PJ_eck3.c
index d70838d2..3fe5c49f 100644
--- a/src/PJ_eck3.c
+++ b/src/PJ_eck3.c
@@ -24,9 +24,14 @@ static XY s_forward (LP lp, PJ *P) { /* Spheroidal, forward */
static LP s_inverse (XY xy, PJ *P) { /* Spheroidal, inverse */
LP lp = {0.0,0.0};
struct pj_opaque *Q = P->opaque;
+ double denominator;
lp.phi = xy.y / Q->C_y;
- lp.lam = xy.x / (Q->C_x * (Q->A + asqrt(1. - Q->B * lp.phi * lp.phi)));
+ denominator = (Q->C_x * (Q->A + asqrt(1. - Q->B * lp.phi * lp.phi)));
+ if ( denominator == 0.0)
+ lp.lam = HUGE_VAL;
+ else
+ lp.lam = xy.x / denominator;
return lp;
}