diff options
| author | Kurt Schwehr <schwehr@google.com> | 2018-03-22 09:06:03 -0700 |
|---|---|---|
| committer | Kurt Schwehr <schwehr@google.com> | 2018-03-22 09:06:03 -0700 |
| commit | ec494f12d10412d389733a196ec58a4d0c4beffa (patch) | |
| tree | 18c14fc778dc65d0272535a0576ee0cb068a6f36 /src/nad_intr.c | |
| parent | 3c59dad1b6502963bfc8ee74700101f631d3e302 (diff) | |
| download | PROJ-ec494f12d10412d389733a196ec58a4d0c4beffa.tar.gz PROJ-ec494f12d10412d389733a196ec58a4d0c4beffa.zip | |
Handle nan float cast overflow in PJ_robin.c and nad_intr.c
Uses the new pj_is_nan to avoid x == x checks.
Removes an assignment from an arg list
Diffstat (limited to 'src/nad_intr.c')
| -rw-r--r-- | src/nad_intr.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/nad_intr.c b/src/nad_intr.c index b385410f..dc245831 100644 --- a/src/nad_intr.c +++ b/src/nad_intr.c @@ -1,6 +1,8 @@ /* Determine nad table correction value */ #define PJ_LIB__ +#include "proj_internal.h" #include "projects.h" + LP nad_intr(LP t, struct CTABLE *ct) { LP val, frct; @@ -10,8 +12,11 @@ nad_intr(LP t, struct CTABLE *ct) { long index; int in; - indx.lam = (int)floor(t.lam /= ct->del.lam); - indx.phi = (int)floor(t.phi /= ct->del.phi); + t.lam /= ct->del.lam; + indx.lam = pj_is_nan(t.lam) ? 0 : (int)floor(t.lam); + t.phi /= ct->del.phi; + indx.phi = pj_is_nan(t.phi) ? 0 : (int)floor(t.phi); + frct.lam = t.lam - indx.lam; frct.phi = t.phi - indx.phi; val.lam = val.phi = HUGE_VAL; |
