50 L[0] = L[1] = L[2] = L[3] = 0;
54 L[_1] = (bits[1] >> 21 | bits[2] << 11) & (
ULong)0xffffffffL;
56 bits[2] >> 21 | (bits[3] << 11 & 0xfffff) | (
unsigned)((exp + 0x3ff + 105) << 20);
58 if(bits[1] &= 0x1fffff)
74 bits[1] = bits[1] << i | bits[0] >> (32 - i);
75 bits[0] = bits[0] << i & (
ULong)0xffffffffL;
94 bits[1] = bits[0] >> (32 - i);
95 bits[0] = bits[0] << i & (
ULong)0xffffffffL;
99 bits[1] = bits[0] << (i - 32);
109 L[2 + _0] = (bits[1] & 0xfffff) | (
unsigned)(exp << 20);
125 if(bits[1] & 0xffe00000)
140 L[_0] = ((bits[3] << i | bits[2] >> j) & 0xfffff) | (unsigned)((65 - i) << 20);
141 L[_1] = (bits[2] << i | bits[1] >> j) & 0xffffffffL;
142 L[2 + _0] = bits[1] & ((
ULong)1L << j) - 1;
152 L[_0] = (bits[2] >> j & 0xfffff) | (
unsigned)((33 + j) << 20);
153 L[_1] = (bits[2] << i | bits[1] >> j) & 0xffffffffL;
154 L[2 + _0] = bits[1] & ((
ULong)1L << j) - 1;
160 L[_0] = (bits[2] & 0xfffff) | 33 << 20;
167 L[_0] = ((bits[2] << i | bits[1] >> j) & 0xfffff) | (unsigned)((j + 1) << 20);
168 L[_1] = (bits[1] << i | bits[0] >> j) & 0xffffffffL;
170 L[2 + _1] = bits[0] & (1L << j) - 1;
176 L[_0] = (bits[1] >> j & 0xfffff) | (
unsigned)((j + 1) << 20);
177 L[_1] = (bits[1] << i | bits[0] >> j) & 0xffffffffL;
179 L[2 + _1] = bits[0] & ((
ULong)1L << j) - 1;
183 L[_0] = L[2 + _0] = 0x7ff00000;
184 L[_1] = L[2 + _1] = 0;
188 L[0] = L[2] = d_QNAN0;
189 L[1] = L[3] = d_QNAN1;
193 L[_1] = (bits[1] >> 21 | bits[2] << 11) & (
ULong)0xffffffffL;
194 L[_0] = bits[2] >> 21 | bits[3] << 11 | (
ULong)0x7ff00000L;
196 L[2 + _0] = bits[1] | (
ULong)0x7ff00000L;
200 L[_0] |= 0x80000000L;
201 L[2 + _0] |= 0x80000000L;
215 #ifdef Sudden_Underflow 216 static FPI fpi0 = {106, 1 - 1023, 2046 - 1023 - 106 + 1, 1, 1};
218 static FPI fpi0 = {106, 1 - 1023 - 53 + 1, 2046 - 1023 - 106 + 1, 1, 0};
229 fpi1.rounding = rounding;
232 k =
strtodg(s, sp, fpi, &exp, bits);
void ULtodd(ULong *L, ULong *bits, Long exp, int k)
int strtordd(CONST char *s, char **sp, int rounding, double *dd)
int strtodg(CONST char *s00, char **se, FPI *fpi, Long *exp, ULong *bits)