Deleted Added
full compact
strtodI.c (112158) strtodI.c (165743)
1/****************************************************************
2
3The author of this software is David M. Gay.
4
5Copyright (C) 1998, 2000 by Lucent Technologies
6All Rights Reserved
7
8Permission to use, copy, modify, and distribute this software and

--- 12 unchanged lines hidden (view full) ---

21SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
23IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25THIS SOFTWARE.
26
27****************************************************************/
28
1/****************************************************************
2
3The author of this software is David M. Gay.
4
5Copyright (C) 1998, 2000 by Lucent Technologies
6All Rights Reserved
7
8Permission to use, copy, modify, and distribute this software and

--- 12 unchanged lines hidden (view full) ---

21SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
23IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25THIS SOFTWARE.
26
27****************************************************************/
28
29/* Please send bug reports to
30 David M. Gay
31 Bell Laboratories, Room 2C-463
32 600 Mountain Avenue
33 Murray Hill, NJ 07974-0636
34 U.S.A.
35 dmg@bell-labs.com
36 */
29/* Please send bug reports to David M. Gay (dmg at acm dot org,
30 * with " at " changed at "@" and " dot " changed to "."). */
37
38#include "gdtoaimp.h"
39
40 static double
41#ifdef KR_headers
42ulpdown(d) double *d;
43#else
44ulpdown(double *d)

--- 11 unchanged lines hidden (view full) ---

56
57 int
58#ifdef KR_headers
59strtodI(s, sp, dd) CONST char *s; char **sp; double *dd;
60#else
61strtodI(CONST char *s, char **sp, double *dd)
62#endif
63{
31
32#include "gdtoaimp.h"
33
34 static double
35#ifdef KR_headers
36ulpdown(d) double *d;
37#else
38ulpdown(double *d)

--- 11 unchanged lines hidden (view full) ---

50
51 int
52#ifdef KR_headers
53strtodI(s, sp, dd) CONST char *s; char **sp; double *dd;
54#else
55strtodI(CONST char *s, char **sp, double *dd)
56#endif
57{
64#ifdef Sudden_Underflow
65 static FPI fpi = { 53, 1-1023-53+1, 2046-1023-53+1, 1, 1 };
66#else
67 static FPI fpi = { 53, 1-1023-53+1, 2046-1023-53+1, 1, 0 };
68#endif
58 static FPI fpi = { 53, 1-1023-53+1, 2046-1023-53+1, 1, SI };
69 ULong bits[2], sign;
70 Long exp;
71 int j, k;
72 typedef union {
73 double d[2];
74 ULong L[4];
75 } U;
76 U *u;

--- 83 unchanged lines hidden (view full) ---

160 else {
161 u->L[_0] = 0x7fefffffL;
162 u->L[_1] = 0xffffffffL;
163 }
164 }
165 break;
166
167 case STRTOG_NaN:
59 ULong bits[2], sign;
60 Long exp;
61 int j, k;
62 typedef union {
63 double d[2];
64 ULong L[4];
65 } U;
66 U *u;

--- 83 unchanged lines hidden (view full) ---

150 else {
151 u->L[_0] = 0x7fefffffL;
152 u->L[_1] = 0xffffffffL;
153 }
154 }
155 break;
156
157 case STRTOG_NaN:
168 u->L[_0] = u->L[2+_0] = 0x7fffffff | sign;
169 u->L[_1] = u->L[2+_1] = (ULong)-1;
158 u->L[0] = u->L[2] = d_QNAN0;
159 u->L[1] = u->L[3] = d_QNAN1;
170 break;
171
172 case STRTOG_NaNbits:
173 u->L[_0] = u->L[2+_0] = 0x7ff00000 | sign | bits[1];
174 u->L[_1] = u->L[2+_1] = bits[0];
175 }
176 return k;
177 }
160 break;
161
162 case STRTOG_NaNbits:
163 u->L[_0] = u->L[2+_0] = 0x7ff00000 | sign | bits[1];
164 u->L[_1] = u->L[2+_1] = bits[0];
165 }
166 return k;
167 }