diff options
author | das <das@FreeBSD.org> | 2007-01-03 04:58:54 +0000 |
---|---|---|
committer | das <das@FreeBSD.org> | 2007-01-03 04:58:54 +0000 |
commit | 5bc737f35262327ca86ef96a7cbc6680c8eeb2ea (patch) | |
tree | 5f657cd7247cc76d6a32a0ea1f51ec09f8b25661 /contrib/gdtoa/strtodI.c | |
parent | 2b54587e529691da13ad420858ce167f84023ce5 (diff) | |
download | FreeBSD-src-5bc737f35262327ca86ef96a7cbc6680c8eeb2ea.zip FreeBSD-src-5bc737f35262327ca86ef96a7cbc6680c8eeb2ea.tar.gz |
Import of the latest gdtoa sources, which include fixes for minor
problems relating to NaNs and rounding.
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: |