diff options
Diffstat (limited to 'contrib/gdtoa/strtodI.c')
-rw-r--r-- | contrib/gdtoa/strtodI.c | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/contrib/gdtoa/strtodI.c b/contrib/gdtoa/strtodI.c index 163f363..98f8891 100644 --- a/contrib/gdtoa/strtodI.c +++ b/contrib/gdtoa/strtodI.c @@ -26,14 +26,8 @@ THIS SOFTWARE. ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" @@ -61,11 +55,7 @@ strtodI(s, sp, dd) CONST char *s; char **sp; double *dd; strtodI(CONST char *s, char **sp, double *dd) #endif { -#ifdef Sudden_Underflow - static FPI fpi = { 53, 1-1023-53+1, 2046-1023-53+1, 1, 1 }; -#else - static FPI fpi = { 53, 1-1023-53+1, 2046-1023-53+1, 1, 0 }; -#endif + static FPI fpi = { 53, 1-1023-53+1, 2046-1023-53+1, 1, SI }; ULong bits[2], sign; Long exp; int j, k; @@ -165,8 +155,8 @@ strtodI(CONST char *s, char **sp, double *dd) break; case STRTOG_NaN: - u->L[_0] = u->L[2+_0] = 0x7fffffff | sign; - u->L[_1] = u->L[2+_1] = (ULong)-1; + u->L[0] = u->L[2] = d_QNAN0; + u->L[1] = u->L[3] = d_QNAN1; break; case STRTOG_NaNbits: |