*/
static struct EXTEND ten_powers[] = { /* representation of 10 ** i */
- { 0, 0, 0x80000000, 0 },
- { 0, 3, 0xA0000000, 0 },
- { 0, 6, 0xC8000000, 0 },
- { 0, 9, 0xFA000000, 0 },
- { 0, 13, 0x9C400000, 0 },
- { 0, 16, 0xC3500000, 0 },
- { 0, 19, 0xF4240000, 0 },
- { 0, 23, 0x98968000, 0 },
- { 0, 26, 0xBEBC2000, 0 },
- { 0, 29, 0xEE6B2800, 0 },
- { 0, 33, 0x9502F900, 0 },
- { 0, 36, 0xBA43B740, 0 },
- { 0, 39, 0xE8D4A510, 0 },
- { 0, 43, 0x9184E72A, 0 },
- { 0, 46, 0xB5E620F4, 0x80000000 },
- { 0, 49, 0xE35FA931, 0xA0000000 },
- { 0, 53, 0x8E1BC9BF, 0x04000000 },
- { 0, 56, 0xB1A2BC2E, 0xC5000000 },
- { 0, 59, 0xDE0B6B3A, 0x76400000 },
- { 0, 63, 0x8AC72304, 0x89E80000 },
- { 0, 66, 0xAD78EBC5, 0xAC620000 },
- { 0, 69, 0xD8D726B7, 0x177A8000 },
- { 0, 73, 0x87867832, 0x6EAC9000 },
- { 0, 76, 0xA968163F, 0x0A57B400 },
- { 0, 79, 0xD3C21BCE, 0xCCEDA100 },
- { 0, 83, 0x84595161, 0x401484A0 },
- { 0, 86, 0xA56FA5B9, 0x9019A5C8 },
- { 0, 89, 0xCECB8F27, 0xF4200F3A }
+ { 0, 0, { 0x80000000, 0 } },
+ { 0, 3, { 0xA0000000, 0 } },
+ { 0, 6, { 0xC8000000, 0 } },
+ { 0, 9, { 0xFA000000, 0 } },
+ { 0, 13, { 0x9C400000, 0 } },
+ { 0, 16, { 0xC3500000, 0 } },
+ { 0, 19, { 0xF4240000, 0 } },
+ { 0, 23, { 0x98968000, 0 } },
+ { 0, 26, { 0xBEBC2000, 0 } },
+ { 0, 29, { 0xEE6B2800, 0 } },
+ { 0, 33, { 0x9502F900, 0 } },
+ { 0, 36, { 0xBA43B740, 0 } },
+ { 0, 39, { 0xE8D4A510, 0 } },
+ { 0, 43, { 0x9184E72A, 0 } },
+ { 0, 46, { 0xB5E620F4, 0x80000000 } },
+ { 0, 49, { 0xE35FA931, 0xA0000000 } },
+ { 0, 53, { 0x8E1BC9BF, 0x04000000 } },
+ { 0, 56, { 0xB1A2BC2E, 0xC5000000 } },
+ { 0, 59, { 0xDE0B6B3A, 0x76400000 } },
+ { 0, 63, { 0x8AC72304, 0x89E80000 } },
+ { 0, 66, { 0xAD78EBC5, 0xAC620000 } },
+ { 0, 69, { 0xD8D726B7, 0x177A8000 } },
+ { 0, 73, { 0x87867832, 0x6EAC9000 } },
+ { 0, 76, { 0xA968163F, 0x0A57B400 } },
+ { 0, 79, { 0xD3C21BCE, 0xCCEDA100 } },
+ { 0, 83, { 0x84595161, 0x401484A0 } },
+ { 0, 86, { 0xA56FA5B9, 0x9019A5C8 } },
+ { 0, 89, { 0xCECB8F27, 0xF4200F3A } }
};
+
static struct EXTEND big_ten_powers[] = { /* representation of 10 ** (28*i) */
- { 0, 0, 0x80000000, 0 },
- { 0, 93, 0x813F3978, 0xF8940984 },
- { 0, 186, 0x82818F12, 0x81ED44A0 },
- { 0, 279, 0x83C7088E, 0x1AAB65DB },
- { 0, 372, 0x850FADC0, 0x9923329E },
- { 0, 465, 0x865B8692, 0x5B9BC5C2 },
- { 0, 558, 0x87AA9AFF, 0x79042287 },
- { 0, 651, 0x88FCF317, 0xF22241E2 },
- { 0, 744, 0x8A5296FF, 0xE33CC930 },
- { 0, 837, 0x8BAB8EEF, 0xB6409C1A },
- { 0, 930, 0x8D07E334, 0x55637EB3 },
- { 0, 1023, 0x8E679C2F, 0x5E44FF8F },
- { 0, 1116, 0x8FCAC257, 0x558EE4E6 },
- { 0, 1209, 0x91315E37, 0xDB165AA9 },
- { 0, 1302, 0x929B7871, 0xDE7F22B9 },
- { 0, 1395, 0x940919BB, 0xD4620B6D },
- { 0, 1488, 0x957A4AE1, 0xEBF7F3D4 },
- { 0, 1581, 0x96EF14C6, 0x454AA840 },
- { 0, 1674, 0x98678061, 0x27ECE4F5 },
- { 0, 1767, 0x99E396C1, 0x3A3ACFF2 }
+ { 0, 0, { 0x80000000, 0 } },
+ { 0, 93, { 0x813F3978, 0xF8940984 } },
+ { 0, 186, { 0x82818F12, 0x81ED44A0 } },
+ { 0, 279, { 0x83C7088E, 0x1AAB65DB } },
+ { 0, 372, { 0x850FADC0, 0x9923329E } },
+ { 0, 465, { 0x865B8692, 0x5B9BC5C2 } },
+ { 0, 558, { 0x87AA9AFF, 0x79042287 } },
+ { 0, 651, { 0x88FCF317, 0xF22241E2 } },
+ { 0, 744, { 0x8A5296FF, 0xE33CC930 } },
+ { 0, 837, { 0x8BAB8EEF, 0xB6409C1A } },
+ { 0, 930, { 0x8D07E334, 0x55637EB3 } },
+ { 0, 1023, { 0x8E679C2F, 0x5E44FF8F } },
+ { 0, 1116, { 0x8FCAC257, 0x558EE4E6 } },
+ { 0, 1209, { 0x91315E37, 0xDB165AA9 } },
+ { 0, 1302, { 0x929B7871, 0xDE7F22B9 } },
+ { 0, 1395, { 0x940919BB, 0xD4620B6D } },
+ { 0, 1488, { 0x957A4AE1, 0xEBF7F3D4 } },
+ { 0, 1581, { 0x96EF14C6, 0x454AA840 } },
+ { 0, 1674, { 0x98678061, 0x27ECE4F5 } },
+ { 0, 1767, { 0x99E396C1, 0x3A3ACFF2 } }
};
static struct EXTEND r_ten_powers[] = { /* representation of 10 ** -i */
- { 0, 0, 0x80000000, 0 },
- { 0, -4, 0xCCCCCCCC, 0xCCCCCCCD },
- { 0, -7, 0xA3D70A3D, 0x70A3D70A },
- { 0, -10, 0x83126E97, 0x8D4FDF3B },
- { 0, -14, 0xD1B71758, 0xE219652C },
- { 0, -17, 0xA7C5AC47, 0x1B478423 },
- { 0, -20, 0x8637BD05, 0xAF6C69B6 },
- { 0, -24, 0xD6BF94D5, 0xE57A42BC },
- { 0, -27, 0xABCC7711, 0x8461CEFD },
- { 0, -30, 0x89705F41, 0x36B4A597 },
- { 0, -34, 0xDBE6FECE, 0xBDEDD5BF },
- { 0, -37, 0xAFEBFF0B, 0xCB24AAFF },
- { 0, -40, 0x8CBCCC09, 0x6F5088CC },
- { 0, -44, 0xE12E1342, 0x4BB40E13 },
- { 0, -47, 0xB424DC35, 0x095CD80F },
- { 0, -50, 0x901D7CF7, 0x3AB0ACD9 },
- { 0, -54, 0xE69594BE, 0xC44DE15B },
- { 0, -57, 0xB877AA32, 0x36A4B449 },
- { 0, -60, 0x9392EE8E, 0x921D5D07 },
- { 0, -64, 0xEC1E4A7D, 0xB69561A5 },
- { 0, -67, 0xBCE50864, 0x92111AEB },
- { 0, -70, 0x971DA050, 0x74DA7BEF },
- { 0, -74, 0xF1C90080, 0xBAF72CB1 },
- { 0, -77, 0xC16D9A00, 0x95928A27 },
- { 0, -80, 0x9ABE14CD, 0x44753B53 },
- { 0, -84, 0xF79687AE, 0xD3EEC551 },
- { 0, -87, 0xC6120625, 0x76589DDB },
- { 0, -90, 0x9E74D1B7, 0x91E07E48 }
+ { 0, 0, { 0x80000000, 0 } },
+ { 0, -4, { 0xCCCCCCCC, 0xCCCCCCCD } },
+ { 0, -7, { 0xA3D70A3D, 0x70A3D70A } },
+ { 0, -10, { 0x83126E97, 0x8D4FDF3B } },
+ { 0, -14, { 0xD1B71758, 0xE219652C } },
+ { 0, -17, { 0xA7C5AC47, 0x1B478423 } },
+ { 0, -20, { 0x8637BD05, 0xAF6C69B6 } },
+ { 0, -24, { 0xD6BF94D5, 0xE57A42BC } },
+ { 0, -27, { 0xABCC7711, 0x8461CEFD } },
+ { 0, -30, { 0x89705F41, 0x36B4A597 } },
+ { 0, -34, { 0xDBE6FECE, 0xBDEDD5BF } },
+ { 0, -37, { 0xAFEBFF0B, 0xCB24AAFF } },
+ { 0, -40, { 0x8CBCCC09, 0x6F5088CC } },
+ { 0, -44, { 0xE12E1342, 0x4BB40E13 } },
+ { 0, -47, { 0xB424DC35, 0x095CD80F } },
+ { 0, -50, { 0x901D7CF7, 0x3AB0ACD9 } },
+ { 0, -54, { 0xE69594BE, 0xC44DE15B } },
+ { 0, -57, { 0xB877AA32, 0x36A4B449 } },
+ { 0, -60, { 0x9392EE8E, 0x921D5D07 } },
+ { 0, -64, { 0xEC1E4A7D, 0xB69561A5 } },
+ { 0, -67, { 0xBCE50864, 0x92111AEB } },
+ { 0, -70, { 0x971DA050, 0x74DA7BEF } },
+ { 0, -74, { 0xF1C90080, 0xBAF72CB1 } },
+ { 0, -77, { 0xC16D9A00, 0x95928A27 } },
+ { 0, -80, { 0x9ABE14CD, 0x44753B53 } },
+ { 0, -84, { 0xF79687AE, 0xD3EEC551 } },
+ { 0, -87, { 0xC6120625, 0x76589DDB } },
+ { 0, -90, { 0x9E74D1B7, 0x91E07E48 } }
};
static struct EXTEND r_big_ten_powers[] = { /* representation of 10 ** -(28*i) */
- { 0, 0, 0x80000000, 0 },
- { 0, -94, 0xFD87B5F2, 0x8300CA0E },
- { 0, -187, 0xFB158592, 0xBE068D2F },
- { 0, -280, 0xF8A95FCF, 0x88747D94 },
- { 0, -373, 0xF64335BC, 0xF065D37D },
- { 0, -466, 0xF3E2F893, 0xDEC3F126 },
- { 0, -559, 0xF18899B1, 0xBC3F8CA2 },
- { 0, -652, 0xEF340A98, 0x172AACE5 },
- { 0, -745, 0xECE53CEC, 0x4A314EBE },
- { 0, -838, 0xEA9C2277, 0x23EE8BCB },
- { 0, -931, 0xE858AD24, 0x8F5C22CA },
- { 0, -1024, 0xE61ACF03, 0x3D1A45DF },
- { 0, -1117, 0xE3E27A44, 0x4D8D98B8 },
- { 0, -1210, 0xE1AFA13A, 0xFBD14D6E },
- { 0, -1303, 0xDF82365C, 0x497B5454 },
- { 0, -1396, 0xDD5A2C3E, 0xAB3097CC },
- { 0, -1489, 0xDB377599, 0xB6074245 },
- { 0, -1582, 0xD91A0545, 0xCDB51186 },
- { 0, -1675, 0xD701CE3B, 0xD387BF48 },
- { 0, -1768, 0xD4EEC394, 0xD6258BF8 }
+ { 0, 0, { 0x80000000, 0 } },
+ { 0, -94, { 0xFD87B5F2, 0x8300CA0E } },
+ { 0, -187, { 0xFB158592, 0xBE068D2F } },
+ { 0, -280, { 0xF8A95FCF, 0x88747D94 } },
+ { 0, -373, { 0xF64335BC, 0xF065D37D } },
+ { 0, -466, { 0xF3E2F893, 0xDEC3F126 } },
+ { 0, -559, { 0xF18899B1, 0xBC3F8CA2 } },
+ { 0, -652, { 0xEF340A98, 0x172AACE5 } },
+ { 0, -745, { 0xECE53CEC, 0x4A314EBE } },
+ { 0, -838, { 0xEA9C2277, 0x23EE8BCB } },
+ { 0, -931, { 0xE858AD24, 0x8F5C22CA } },
+ { 0, -1024, { 0xE61ACF03, 0x3D1A45DF } },
+ { 0, -1117, { 0xE3E27A44, 0x4D8D98B8 } },
+ { 0, -1210, { 0xE1AFA13A, 0xFBD14D6E } },
+ { 0, -1303, { 0xDF82365C, 0x497B5454 } },
+ { 0, -1396, { 0xDD5A2C3E, 0xAB3097CC } },
+ { 0, -1489, { 0xDB377599, 0xB6074245 } },
+ { 0, -1582, { 0xD91A0545, 0xCDB51186 } },
+ { 0, -1675, { 0xD701CE3B, 0xD387BF48 } },
+ { 0, -1768, { 0xD4EEC394, 0xD6258BF8 } }
};
#define TP (int)(sizeof(ten_powers)/sizeof(ten_powers[0]))
int exp = 0;
if (ss) *ss = (char *)s;
- while (isspace(*s)) s++;
+ while (isspace((unsigned char) *s)) s++;
e->sign = 0;
e->exp = 0;