xref: /haiku/src/system/libroot/posix/glibc/stdlib/fpioconst.c (revision 5af32e752606778be5dd7379f319fe43cb3f6b8c)
1*5af32e75SAxel Dörfler /* Table of MP integer constants 10^(2^i), used for floating point <-> decimal.
2*5af32e75SAxel Dörfler    Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
3*5af32e75SAxel Dörfler    This file is part of the GNU C Library.
4*5af32e75SAxel Dörfler 
5*5af32e75SAxel Dörfler    The GNU C Library is free software; you can redistribute it and/or
6*5af32e75SAxel Dörfler    modify it under the terms of the GNU Lesser General Public
7*5af32e75SAxel Dörfler    License as published by the Free Software Foundation; either
8*5af32e75SAxel Dörfler    version 2.1 of the License, or (at your option) any later version.
9*5af32e75SAxel Dörfler 
10*5af32e75SAxel Dörfler    The GNU C Library is distributed in the hope that it will be useful,
11*5af32e75SAxel Dörfler    but WITHOUT ANY WARRANTY; without even the implied warranty of
12*5af32e75SAxel Dörfler    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13*5af32e75SAxel Dörfler    Lesser General Public License for more details.
14*5af32e75SAxel Dörfler 
15*5af32e75SAxel Dörfler    You should have received a copy of the GNU Lesser General Public
16*5af32e75SAxel Dörfler    License along with the GNU C Library; if not, write to the Free
17*5af32e75SAxel Dörfler    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18*5af32e75SAxel Dörfler    02111-1307 USA.  */
19*5af32e75SAxel Dörfler 
20*5af32e75SAxel Dörfler #include "fpioconst.h"
21*5af32e75SAxel Dörfler #include <gmp-mparam.h>		/* This defines BITS_PER_MP_LIMB.  */
22*5af32e75SAxel Dörfler 
23*5af32e75SAxel Dörfler /* First page	: 32-bit limbs
24*5af32e75SAxel Dörfler    Second page	: 64-bit limbs
25*5af32e75SAxel Dörfler    Last page	: table of pointers
26*5af32e75SAxel Dörfler  */
27*5af32e75SAxel Dörfler 
28*5af32e75SAxel Dörfler #if BITS_PER_MP_LIMB == 32
29*5af32e75SAxel Dörfler 
30*5af32e75SAxel Dörfler /* Table with constants of 10^(2^i), i=0..12 for 32-bit limbs.	*/
31*5af32e75SAxel Dörfler 
32*5af32e75SAxel Dörfler const mp_limb_t __tens[] =
33*5af32e75SAxel Dörfler {
34*5af32e75SAxel Dörfler #define TENS_P0_IDX	0
35*5af32e75SAxel Dörfler #define TENS_P0_SIZE	3
36*5af32e75SAxel Dörfler   [TENS_P0_IDX] = 0x00000000, 0x00000000, 0x0000000a,
37*5af32e75SAxel Dörfler 
38*5af32e75SAxel Dörfler #define TENS_P1_IDX	(TENS_P0_IDX + TENS_P0_SIZE)
39*5af32e75SAxel Dörfler #define TENS_P1_SIZE	3
40*5af32e75SAxel Dörfler   [TENS_P1_IDX] = 0x00000000, 0x00000000, 0x00000064,
41*5af32e75SAxel Dörfler 
42*5af32e75SAxel Dörfler #define TENS_P2_IDX	(TENS_P1_IDX + TENS_P1_SIZE)
43*5af32e75SAxel Dörfler #define TENS_P2_SIZE	3
44*5af32e75SAxel Dörfler   [TENS_P2_IDX] = 0x00000000, 0x00000000, 0x00002710,
45*5af32e75SAxel Dörfler 
46*5af32e75SAxel Dörfler #define TENS_P3_IDX	(TENS_P2_IDX + TENS_P2_SIZE)
47*5af32e75SAxel Dörfler #define TENS_P3_SIZE	3
48*5af32e75SAxel Dörfler   [TENS_P3_IDX] = 0x00000000, 0x00000000, 0x05f5e100,
49*5af32e75SAxel Dörfler 
50*5af32e75SAxel Dörfler #define TENS_P4_IDX	(TENS_P3_IDX + TENS_P3_SIZE)
51*5af32e75SAxel Dörfler #define TENS_P4_SIZE	4
52*5af32e75SAxel Dörfler   [TENS_P4_IDX] = 0x00000000, 0x00000000, 0x6fc10000, 0x002386f2,
53*5af32e75SAxel Dörfler 
54*5af32e75SAxel Dörfler #define TENS_P5_IDX	(TENS_P4_IDX + TENS_P4_SIZE)
55*5af32e75SAxel Dörfler #define TENS_P5_SIZE	6
56*5af32e75SAxel Dörfler   [TENS_P5_IDX] = 0x00000000, 0x00000000, 0x00000000, 0x85acef81, 0x2d6d415b,
57*5af32e75SAxel Dörfler   0x000004ee,
58*5af32e75SAxel Dörfler 
59*5af32e75SAxel Dörfler #define TENS_P6_IDX	(TENS_P5_IDX + TENS_P5_SIZE)
60*5af32e75SAxel Dörfler #define TENS_P6_SIZE	9
61*5af32e75SAxel Dörfler   [TENS_P6_IDX] = 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xbf6a1f01,
62*5af32e75SAxel Dörfler   0x6e38ed64, 0xdaa797ed, 0xe93ff9f4, 0x00184f03,
63*5af32e75SAxel Dörfler 
64*5af32e75SAxel Dörfler #define TENS_P7_IDX	(TENS_P6_IDX + TENS_P6_SIZE)
65*5af32e75SAxel Dörfler #define TENS_P7_SIZE	16
66*5af32e75SAxel Dörfler   [TENS_P7_IDX] = 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
67*5af32e75SAxel Dörfler   0x00000000, 0x2e953e01, 0x03df9909, 0x0f1538fd, 0x2374e42f, 0xd3cff5ec,
68*5af32e75SAxel Dörfler   0xc404dc08, 0xbccdb0da, 0xa6337f19, 0xe91f2603, 0x0000024e,
69*5af32e75SAxel Dörfler 
70*5af32e75SAxel Dörfler #define TENS_P8_IDX	(TENS_P7_IDX + TENS_P7_SIZE)
71*5af32e75SAxel Dörfler #define TENS_P8_SIZE	29
72*5af32e75SAxel Dörfler   [TENS_P8_IDX] = 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
73*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x982e7c01,
74*5af32e75SAxel Dörfler   0xbed3875b, 0xd8d99f72, 0x12152f87, 0x6bde50c6, 0xcf4a6e70, 0xd595d80f,
75*5af32e75SAxel Dörfler   0x26b2716e, 0xadc666b0, 0x1d153624, 0x3c42d35a, 0x63ff540e, 0xcc5573c0,
76*5af32e75SAxel Dörfler   0x65f9ef17, 0x55bc28f2, 0x80dcc7f7, 0xf46eeddc, 0x5fdcefce, 0x000553f7,
77*5af32e75SAxel Dörfler 
78*5af32e75SAxel Dörfler #ifndef __NO_LONG_DOUBLE_MATH
79*5af32e75SAxel Dörfler # define TENS_P9_IDX	(TENS_P8_IDX + TENS_P8_SIZE)
80*5af32e75SAxel Dörfler # define TENS_P9_SIZE	56
81*5af32e75SAxel Dörfler   [TENS_P9_IDX] = 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
82*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
83*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
84*5af32e75SAxel Dörfler   0x00000000, 0xfc6cf801, 0x77f27267, 0x8f9546dc, 0x5d96976f, 0xb83a8a97,
85*5af32e75SAxel Dörfler   0xc31e1ad9, 0x46c40513, 0x94e65747, 0xc88976c1, 0x4475b579, 0x28f8733b,
86*5af32e75SAxel Dörfler   0xaa1da1bf, 0x703ed321, 0x1e25cfea, 0xb21a2f22, 0xbc51fb2e, 0x96e14f5d,
87*5af32e75SAxel Dörfler   0xbfa3edac, 0x329c57ae, 0xe7fc7153, 0xc3fc0695, 0x85a91924, 0xf95f635e,
88*5af32e75SAxel Dörfler   0xb2908ee0, 0x93abade4, 0x1366732a, 0x9449775c, 0x69be5b0e, 0x7343afac,
89*5af32e75SAxel Dörfler   0xb099bc81, 0x45a71d46, 0xa2699748, 0x8cb07303, 0x8a0b1f13, 0x8cab8a97,
90*5af32e75SAxel Dörfler   0xc1d238d9, 0x633415d4, 0x0000001c,
91*5af32e75SAxel Dörfler 
92*5af32e75SAxel Dörfler # define TENS_P10_IDX	(TENS_P9_IDX + TENS_P9_SIZE)
93*5af32e75SAxel Dörfler # define TENS_P10_SIZE	109
94*5af32e75SAxel Dörfler   [TENS_P10_IDX] = 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
95*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
96*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
97*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
98*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
99*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x2919f001,
100*5af32e75SAxel Dörfler   0xf55b2b72, 0x6e7c215b, 0x1ec29f86, 0x991c4e87, 0x15c51a88, 0x140ac535,
101*5af32e75SAxel Dörfler   0x4c7d1e1a, 0xcc2cd819, 0x0ed1440e, 0x896634ee, 0x7de16cfb, 0x1e43f61f,
102*5af32e75SAxel Dörfler   0x9fce837d, 0x231d2b9c, 0x233e55c7, 0x65dc60d7, 0xf451218b, 0x1c5cd134,
103*5af32e75SAxel Dörfler   0xc9635986, 0x922bbb9f, 0xa7e89431, 0x9f9f2a07, 0x62be695a, 0x8e1042c4,
104*5af32e75SAxel Dörfler   0x045b7a74, 0x1abe1de3, 0x8ad822a5, 0xba34c411, 0xd814b505, 0xbf3fdeb3,
105*5af32e75SAxel Dörfler   0x8fc51a16, 0xb1b896bc, 0xf56deeec, 0x31fb6bfd, 0xb6f4654b, 0x101a3616,
106*5af32e75SAxel Dörfler   0x6b7595fb, 0xdc1a47fe, 0x80d98089, 0x80bda5a5, 0x9a202882, 0x31eb0f66,
107*5af32e75SAxel Dörfler   0xfc8f1f90, 0x976a3310, 0xe26a7b7e, 0xdf68368a, 0x3ce3a0b8, 0x8e4262ce,
108*5af32e75SAxel Dörfler   0x75a351a2, 0x6cb0b6c9, 0x44597583, 0x31b5653f, 0xc356e38a, 0x35faaba6,
109*5af32e75SAxel Dörfler   0x0190fba0, 0x9fc4ed52, 0x88bc491b, 0x1640114a, 0x005b8041, 0xf4f3235e,
110*5af32e75SAxel Dörfler   0x1e8d4649, 0x36a8de06, 0x73c55349, 0xa7e6bd2a, 0xc1a6970c, 0x47187094,
111*5af32e75SAxel Dörfler   0xd2db49ef, 0x926c3f5b, 0xae6209d4, 0x2d433949, 0x34f4a3c6, 0xd4305d94,
112*5af32e75SAxel Dörfler   0xd9d61a05, 0x00000325,
113*5af32e75SAxel Dörfler 
114*5af32e75SAxel Dörfler # define TENS_P11_IDX	(TENS_P10_IDX + TENS_P10_SIZE)
115*5af32e75SAxel Dörfler # define TENS_P11_SIZE	215
116*5af32e75SAxel Dörfler   [TENS_P11_IDX] = 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
117*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
118*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
119*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
120*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
121*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
122*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
123*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
124*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
125*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
126*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
127*5af32e75SAxel Dörfler   0x00000000, 0x1333e001, 0xe3096865, 0xb27d4d3f, 0x49e28dcf, 0xec2e4721,
128*5af32e75SAxel Dörfler   0xee87e354, 0xb6067584, 0x368b8abb, 0xa5e5a191, 0x2ed56d55, 0xfd827773,
129*5af32e75SAxel Dörfler   0xea50d142, 0x51b78db2, 0x98342c9e, 0xc850dabc, 0x866ed6f1, 0x19342c12,
130*5af32e75SAxel Dörfler   0x92794987, 0xd2f869c2, 0x66912e4a, 0x71c7fd8f, 0x57a7842d, 0x235552eb,
131*5af32e75SAxel Dörfler   0xfb7fedcc, 0xf3861ce0, 0x38209ce1, 0x9713b449, 0x34c10134, 0x8c6c54de,
132*5af32e75SAxel Dörfler   0xa7a8289c, 0x2dbb6643, 0xe3cb64f3, 0x8074ff01, 0xe3892ee9, 0x10c17f94,
133*5af32e75SAxel Dörfler   0xa8f16f92, 0xa8281ed6, 0x967abbb3, 0x5a151440, 0x9952fbed, 0x13b41e44,
134*5af32e75SAxel Dörfler   0xafe609c3, 0xa2bca416, 0xf111821f, 0xfb1264b4, 0x91bac974, 0xd6c7d6ab,
135*5af32e75SAxel Dörfler   0x8e48ff35, 0x4419bd43, 0xc4a65665, 0x685e5510, 0x33554c36, 0xab498697,
136*5af32e75SAxel Dörfler   0x0dbd21fe, 0x3cfe491d, 0x982da466, 0xcbea4ca7, 0x9e110c7b, 0x79c56b8a,
137*5af32e75SAxel Dörfler   0x5fc5a047, 0x84d80e2e, 0x1aa9f444, 0x730f203c, 0x6a57b1ab, 0xd752f7a6,
138*5af32e75SAxel Dörfler   0x87a7dc62, 0x944545ff, 0x40660460, 0x77c1a42f, 0xc9ac375d, 0xe866d7ef,
139*5af32e75SAxel Dörfler   0x744695f0, 0x81428c85, 0xa1fc6b96, 0xd7917c7b, 0x7bf03c19, 0x5b33eb41,
140*5af32e75SAxel Dörfler   0x5715f791, 0x8f6cae5f, 0xdb0708fd, 0xb125ac8e, 0x785ce6b7, 0x56c6815b,
141*5af32e75SAxel Dörfler   0x6f46eadb, 0x4eeebeee, 0x195355d8, 0xa244de3c, 0x9d7389c0, 0x53761abd,
142*5af32e75SAxel Dörfler   0xcf99d019, 0xde9ec24b, 0x0d76ce39, 0x70beb181, 0x2e55ecee, 0xd5f86079,
143*5af32e75SAxel Dörfler   0xf56d9d4b, 0xfb8886fb, 0x13ef5a83, 0x408f43c5, 0x3f3389a4, 0xfad37943,
144*5af32e75SAxel Dörfler   0x58ccf45c, 0xf82df846, 0x415c7f3e, 0x2915e818, 0x8b3d5cf4, 0x6a445f27,
145*5af32e75SAxel Dörfler   0xf8dbb57a, 0xca8f0070, 0x8ad803ec, 0xb2e87c34, 0x038f9245, 0xbedd8a6c,
146*5af32e75SAxel Dörfler   0xc7c9dee0, 0x0eac7d56, 0x2ad3fa14, 0xe0de0840, 0xf775677c, 0xf1bd0ad5,
147*5af32e75SAxel Dörfler   0x92be221e, 0x87fa1fb9, 0xce9d04a4, 0xd2c36fa9, 0x3f6f7024, 0xb028af62,
148*5af32e75SAxel Dörfler   0x907855ee, 0xd83e49d6, 0x4efac5dc, 0xe7151aab, 0x77cd8c6b, 0x0a753b7d,
149*5af32e75SAxel Dörfler   0x0af908b4, 0x8c983623, 0xe50f3027, 0x94222771, 0x1d08e2d6, 0xf7e928e6,
150*5af32e75SAxel Dörfler   0xf2ee5ca6, 0x1b61b93c, 0x11eb962b, 0x9648b21c, 0xce2bcba1, 0x34f77154,
151*5af32e75SAxel Dörfler   0x7bbebe30, 0xe526a319, 0x8ce329ac, 0xde4a74d2, 0xb5dc53d5, 0x0009e8b3,
152*5af32e75SAxel Dörfler 
153*5af32e75SAxel Dörfler # define TENS_P12_IDX	(TENS_P11_IDX + TENS_P11_SIZE)
154*5af32e75SAxel Dörfler # define TENS_P12_SIZE	428
155*5af32e75SAxel Dörfler   [TENS_P12_IDX] = 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
156*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
157*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
158*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
159*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
160*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
161*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
162*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
163*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
164*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
165*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
166*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
167*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
168*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
169*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
170*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
171*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
172*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
173*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
174*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
175*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
176*5af32e75SAxel Dörfler   0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x2a67c001,
177*5af32e75SAxel Dörfler   0xd4724e8d, 0x8efe7ae7, 0xf89a1e90, 0xef084117, 0x54e05154, 0x13b1bb51,
178*5af32e75SAxel Dörfler   0x506be829, 0xfb29b172, 0xe599574e, 0xf0da6146, 0x806c0ed3, 0xb86ae5be,
179*5af32e75SAxel Dörfler   0x45155e93, 0xc0591cc2, 0x7e1e7c34, 0x7c4823da, 0x1d1f4cce, 0x9b8ba1e8,
180*5af32e75SAxel Dörfler   0xd6bfdf75, 0xe341be10, 0xc2dfae78, 0x016b67b2, 0x0f237f1a, 0x3dbeabcd,
181*5af32e75SAxel Dörfler   0xaf6a2574, 0xcab3e6d7, 0x142e0e80, 0x61959127, 0x2c234811, 0x87009701,
182*5af32e75SAxel Dörfler   0xcb4bf982, 0xf8169c84, 0x88052f8c, 0x68dde6d4, 0xbc131761, 0xff0b0905,
183*5af32e75SAxel Dörfler   0x54ab9c41, 0x7613b224, 0x1a1c304e, 0x3bfe167b, 0x441c2d47, 0x4f6cea9c,
184*5af32e75SAxel Dörfler   0x78f06181, 0xeb659fb8, 0x30c7ae41, 0x947e0d0e, 0xa1ebcad7, 0xd97d9556,
185*5af32e75SAxel Dörfler   0x2130504d, 0x1a8309cb, 0xf2acd507, 0x3f8ec72a, 0xfd82373a, 0x95a842bc,
186*5af32e75SAxel Dörfler   0x280f4d32, 0xf3618ac0, 0x811a4f04, 0x6dc3a5b4, 0xd3967a1b, 0x15b8c898,
187*5af32e75SAxel Dörfler   0xdcfe388f, 0x454eb2a0, 0x8738b909, 0x10c4e996, 0x2bd9cc11, 0x3297cd0c,
188*5af32e75SAxel Dörfler   0x655fec30, 0xae0725b1, 0xf4090ee8, 0x037d19ee, 0x398c6fed, 0x3b9af26b,
189*5af32e75SAxel Dörfler   0xc994a450, 0xb5341743, 0x75a697b2, 0xac50b9c1, 0x3ccb5b92, 0xffe06205,
190*5af32e75SAxel Dörfler   0xa8329761, 0xdfea5242, 0xeb83cadb, 0xe79dadf7, 0x3c20ee69, 0x1e0a6817,
191*5af32e75SAxel Dörfler   0x7021b97a, 0x743074fa, 0x176ca776, 0x77fb8af6, 0xeca19beb, 0x92baf1de,
192*5af32e75SAxel Dörfler   0xaf63b712, 0xde35c88b, 0xa4eb8f8c, 0xe137d5e9, 0x40b464a0, 0x87d1cde8,
193*5af32e75SAxel Dörfler   0x42923bbd, 0xcd8f62ff, 0x2e2690f3, 0x095edc16, 0x59c89f1b, 0x1fa8fd5d,
194*5af32e75SAxel Dörfler   0x5138753d, 0x390a2b29, 0x80152f18, 0x2dd8d925, 0xf984d83e, 0x7a872e74,
195*5af32e75SAxel Dörfler   0xc19e1faf, 0xed4d542d, 0xecf9b5d0, 0x9462ea75, 0xc53c0adf, 0x0caea134,
196*5af32e75SAxel Dörfler   0x37a2d439, 0xc8fa2e8a, 0x2181327e, 0x6e7bb827, 0x2d240820, 0x50be10e0,
197*5af32e75SAxel Dörfler   0x5893d4b8, 0xab312bb9, 0x1f2b2322, 0x440b3f25, 0xbf627ede, 0x72dac789,
198*5af32e75SAxel Dörfler   0xb608b895, 0x78787e2a, 0x86deb3f0, 0x6fee7aab, 0xbb9373f4, 0x27ecf57b,
199*5af32e75SAxel Dörfler   0xf7d8b57e, 0xfca26a9f, 0x3d04e8d2, 0xc9df13cb, 0x3172826a, 0xcd9e8d7c,
200*5af32e75SAxel Dörfler   0xa8fcd8e0, 0xb2c39497, 0x307641d9, 0x1cc939c1, 0x2608c4cf, 0xb6d1c7bf,
201*5af32e75SAxel Dörfler   0x3d326a7e, 0xeeaf19e6, 0x8e13e25f, 0xee63302b, 0x2dfe6d97, 0x25971d58,
202*5af32e75SAxel Dörfler   0xe41d3cc4, 0x0a80627c, 0xab8db59a, 0x9eea37c8, 0xe90afb77, 0x90ca19cf,
203*5af32e75SAxel Dörfler   0x9ee3352c, 0x3613c850, 0xfe78d682, 0x788f6e50, 0x5b060904, 0xb71bd1a4,
204*5af32e75SAxel Dörfler   0x3fecb534, 0xb32c450c, 0x20c33857, 0xa6e9cfda, 0x0239f4ce, 0x48497187,
205*5af32e75SAxel Dörfler   0xa19adb95, 0xb492ed8a, 0x95aca6a8, 0x4dcd6cd9, 0xcf1b2350, 0xfbe8b12a,
206*5af32e75SAxel Dörfler   0x1a67778c, 0x38eb3acc, 0xc32da383, 0xfb126ab1, 0xa03f40a8, 0xed5bf546,
207*5af32e75SAxel Dörfler   0xe9ce4724, 0x4c4a74fd, 0x73a130d8, 0xd9960e2d, 0xa2ebd6c1, 0x94ab6feb,
208*5af32e75SAxel Dörfler   0x6f233b7c, 0x49126080, 0x8e7b9a73, 0x4b8c9091, 0xd298f999, 0x35e836b5,
209*5af32e75SAxel Dörfler   0xa96ddeff, 0x96119b31, 0x6b0dd9bc, 0xc6cc3f8d, 0x282566fb, 0x72b882e7,
210*5af32e75SAxel Dörfler   0xd6769f3b, 0xa674343d, 0x00fc509b, 0xdcbf7789, 0xd6266a3f, 0xae9641fd,
211*5af32e75SAxel Dörfler   0x4e89541b, 0x11953407, 0x53400d03, 0x8e0dd75a, 0xe5b53345, 0x108f19ad,
212*5af32e75SAxel Dörfler   0x108b89bc, 0x41a4c954, 0xe03b2b63, 0x437b3d7f, 0x97aced8e, 0xcbd66670,
213*5af32e75SAxel Dörfler   0x2c5508c2, 0x650ebc69, 0x5c4f2ef0, 0x904ff6bf, 0x9985a2df, 0x9faddd9e,
214*5af32e75SAxel Dörfler   0x5ed8d239, 0x25585832, 0xe3e51cb9, 0x0ff4f1d4, 0x56c02d9a, 0x8c4ef804,
215*5af32e75SAxel Dörfler   0xc1a08a13, 0x13fd01c8, 0xe6d27671, 0xa7c234f4, 0x9d0176cc, 0xd0d73df2,
216*5af32e75SAxel Dörfler   0x4d8bfa89, 0x544f10cd, 0x2b17e0b2, 0xb70a5c7d, 0xfd86fe49, 0xdf373f41,
217*5af32e75SAxel Dörfler   0x214495bb, 0x84e857fd, 0x00d313d5, 0x0496fcbe, 0xa4ba4744, 0xe8cac982,
218*5af32e75SAxel Dörfler   0xaec29e6e, 0x87ec7038, 0x7000a519, 0xaeee333b, 0xff66e42c, 0x8afd6b25,
219*5af32e75SAxel Dörfler   0x03b4f63b, 0xbd7991dc, 0x5ab8d9c7, 0x2ed4684e, 0x48741a6c, 0xaf06940d,
220*5af32e75SAxel Dörfler   0x2fdc6349, 0xb03d7ecd, 0xe974996f, 0xac7867f9, 0x52ec8721, 0xbcdd9d4a,
221*5af32e75SAxel Dörfler   0x8edd2d00, 0x3557de06, 0x41c759f8, 0x3956d4b9, 0xa75409f2, 0x123cd8a1,
222*5af32e75SAxel Dörfler   0xb6100fab, 0x3e7b21e2, 0x2e8d623b, 0x92959da2, 0xbca35f77, 0x200c03a5,
223*5af32e75SAxel Dörfler   0x35fcb457, 0x1bb6c6e4, 0xf74eb928, 0x3d5d0b54, 0x87cc1d21, 0x4964046f,
224*5af32e75SAxel Dörfler   0x18ae4240, 0xd868b275, 0x8bd2b496, 0x1c5563f4, 0xc234d8f5, 0xf868e970,
225*5af32e75SAxel Dörfler   0xf9151fff, 0xae7be4a2, 0x271133ee, 0xbb0fd922, 0x25254932, 0xa60a9fc0,
226*5af32e75SAxel Dörfler   0x104bcd64, 0x30290145, 0x00000062
227*5af32e75SAxel Dörfler #endif	/* !__NO_LONG_DOUBLE_MATH */
228*5af32e75SAxel Dörfler };
229*5af32e75SAxel Dörfler 
230*5af32e75SAxel Dörfler #elif BITS_PER_MP_LIMB == 64
231*5af32e75SAxel Dörfler 
232*5af32e75SAxel Dörfler /* Table with constants of 10^(2^i), i=0..12 for 64-bit limbs.	*/
233*5af32e75SAxel Dörfler 
234*5af32e75SAxel Dörfler const mp_limb_t __tens[] =
235*5af32e75SAxel Dörfler {
236*5af32e75SAxel Dörfler #define TENS_P0_IDX	0
237*5af32e75SAxel Dörfler #define TENS_P0_SIZE	2
238*5af32e75SAxel Dörfler   [TENS_P0_IDX] = 0x0000000000000000, 0x000000000000000a,
239*5af32e75SAxel Dörfler 
240*5af32e75SAxel Dörfler #define TENS_P1_IDX	(TENS_P0_IDX + TENS_P0_SIZE)
241*5af32e75SAxel Dörfler #define TENS_P1_SIZE	2
242*5af32e75SAxel Dörfler   [TENS_P1_IDX] = 0x0000000000000000, 0x0000000000000064,
243*5af32e75SAxel Dörfler 
244*5af32e75SAxel Dörfler #define TENS_P2_IDX	(TENS_P1_IDX + TENS_P1_SIZE)
245*5af32e75SAxel Dörfler #define TENS_P2_SIZE	2
246*5af32e75SAxel Dörfler   [TENS_P2_IDX] = 0x0000000000000000, 0x0000000000002710,
247*5af32e75SAxel Dörfler 
248*5af32e75SAxel Dörfler #define TENS_P3_IDX	(TENS_P2_IDX + TENS_P2_SIZE)
249*5af32e75SAxel Dörfler #define TENS_P3_SIZE	2
250*5af32e75SAxel Dörfler   [TENS_P3_IDX] = 0x0000000000000000, 0x0000000005f5e100,
251*5af32e75SAxel Dörfler 
252*5af32e75SAxel Dörfler #define TENS_P4_IDX	(TENS_P3_IDX + TENS_P3_SIZE)
253*5af32e75SAxel Dörfler #define TENS_P4_SIZE	2
254*5af32e75SAxel Dörfler   [TENS_P4_IDX] = 0x0000000000000000, 0x002386f26fc10000,
255*5af32e75SAxel Dörfler 
256*5af32e75SAxel Dörfler #define TENS_P5_IDX	(TENS_P4_IDX + TENS_P4_SIZE)
257*5af32e75SAxel Dörfler #define TENS_P5_SIZE	3
258*5af32e75SAxel Dörfler   [TENS_P5_IDX] = 0x0000000000000000, 0x85acef8100000000, 0x000004ee2d6d415b,
259*5af32e75SAxel Dörfler 
260*5af32e75SAxel Dörfler #define TENS_P6_IDX	(TENS_P5_IDX + TENS_P5_SIZE)
261*5af32e75SAxel Dörfler #define TENS_P6_SIZE	5
262*5af32e75SAxel Dörfler   [TENS_P6_IDX] = 0x0000000000000000, 0x0000000000000000, 0x6e38ed64bf6a1f01,
263*5af32e75SAxel Dörfler   0xe93ff9f4daa797ed, 0x0000000000184f03,
264*5af32e75SAxel Dörfler 
265*5af32e75SAxel Dörfler #define TENS_P7_IDX	(TENS_P6_IDX + TENS_P6_SIZE)
266*5af32e75SAxel Dörfler #define TENS_P7_SIZE	8
267*5af32e75SAxel Dörfler   [TENS_P7_IDX] = 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
268*5af32e75SAxel Dörfler   0x03df99092e953e01, 0x2374e42f0f1538fd, 0xc404dc08d3cff5ec,
269*5af32e75SAxel Dörfler   0xa6337f19bccdb0da, 0x0000024ee91f2603,
270*5af32e75SAxel Dörfler 
271*5af32e75SAxel Dörfler #define TENS_P8_IDX	(TENS_P7_IDX + TENS_P7_SIZE)
272*5af32e75SAxel Dörfler #define TENS_P8_SIZE	15
273*5af32e75SAxel Dörfler   [TENS_P8_IDX] = 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
274*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0xbed3875b982e7c01,
275*5af32e75SAxel Dörfler   0x12152f87d8d99f72, 0xcf4a6e706bde50c6, 0x26b2716ed595d80f,
276*5af32e75SAxel Dörfler   0x1d153624adc666b0, 0x63ff540e3c42d35a, 0x65f9ef17cc5573c0,
277*5af32e75SAxel Dörfler   0x80dcc7f755bc28f2, 0x5fdcefcef46eeddc, 0x00000000000553f7,
278*5af32e75SAxel Dörfler #ifndef __NO_LONG_DOUBLE_MATH
279*5af32e75SAxel Dörfler # define TENS_P9_IDX	(TENS_P8_IDX + TENS_P8_SIZE)
280*5af32e75SAxel Dörfler # define TENS_P9_SIZE	28
281*5af32e75SAxel Dörfler   [TENS_P9_IDX] = 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
282*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
283*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
284*5af32e75SAxel Dörfler   0x77f27267fc6cf801, 0x5d96976f8f9546dc, 0xc31e1ad9b83a8a97,
285*5af32e75SAxel Dörfler   0x94e6574746c40513, 0x4475b579c88976c1, 0xaa1da1bf28f8733b,
286*5af32e75SAxel Dörfler   0x1e25cfea703ed321, 0xbc51fb2eb21a2f22, 0xbfa3edac96e14f5d,
287*5af32e75SAxel Dörfler   0xe7fc7153329c57ae, 0x85a91924c3fc0695, 0xb2908ee0f95f635e,
288*5af32e75SAxel Dörfler   0x1366732a93abade4, 0x69be5b0e9449775c, 0xb099bc817343afac,
289*5af32e75SAxel Dörfler   0xa269974845a71d46, 0x8a0b1f138cb07303, 0xc1d238d98cab8a97,
290*5af32e75SAxel Dörfler   0x0000001c633415d4,
291*5af32e75SAxel Dörfler 
292*5af32e75SAxel Dörfler # define TENS_P10_IDX	(TENS_P9_IDX + TENS_P9_SIZE)
293*5af32e75SAxel Dörfler # define TENS_P10_SIZE	55
294*5af32e75SAxel Dörfler   [TENS_P10_IDX] = 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
295*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
296*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
297*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
298*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
299*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0xf55b2b722919f001,
300*5af32e75SAxel Dörfler   0x1ec29f866e7c215b, 0x15c51a88991c4e87, 0x4c7d1e1a140ac535,
301*5af32e75SAxel Dörfler   0x0ed1440ecc2cd819, 0x7de16cfb896634ee, 0x9fce837d1e43f61f,
302*5af32e75SAxel Dörfler   0x233e55c7231d2b9c, 0xf451218b65dc60d7, 0xc96359861c5cd134,
303*5af32e75SAxel Dörfler   0xa7e89431922bbb9f, 0x62be695a9f9f2a07, 0x045b7a748e1042c4,
304*5af32e75SAxel Dörfler   0x8ad822a51abe1de3, 0xd814b505ba34c411, 0x8fc51a16bf3fdeb3,
305*5af32e75SAxel Dörfler   0xf56deeecb1b896bc, 0xb6f4654b31fb6bfd, 0x6b7595fb101a3616,
306*5af32e75SAxel Dörfler   0x80d98089dc1a47fe, 0x9a20288280bda5a5, 0xfc8f1f9031eb0f66,
307*5af32e75SAxel Dörfler   0xe26a7b7e976a3310, 0x3ce3a0b8df68368a, 0x75a351a28e4262ce,
308*5af32e75SAxel Dörfler   0x445975836cb0b6c9, 0xc356e38a31b5653f, 0x0190fba035faaba6,
309*5af32e75SAxel Dörfler   0x88bc491b9fc4ed52, 0x005b80411640114a, 0x1e8d4649f4f3235e,
310*5af32e75SAxel Dörfler   0x73c5534936a8de06, 0xc1a6970ca7e6bd2a, 0xd2db49ef47187094,
311*5af32e75SAxel Dörfler   0xae6209d4926c3f5b, 0x34f4a3c62d433949, 0xd9d61a05d4305d94,
312*5af32e75SAxel Dörfler   0x0000000000000325,
313*5af32e75SAxel Dörfler 
314*5af32e75SAxel Dörfler # define TENS_P11_IDX	(TENS_P10_IDX + TENS_P10_SIZE)
315*5af32e75SAxel Dörfler # define TENS_P11_SIZE	108
316*5af32e75SAxel Dörfler   [TENS_P11_IDX] = 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
317*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
318*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
319*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
320*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
321*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
322*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
323*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
324*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
325*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
326*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
327*5af32e75SAxel Dörfler   0xe30968651333e001, 0x49e28dcfb27d4d3f, 0xee87e354ec2e4721,
328*5af32e75SAxel Dörfler   0x368b8abbb6067584, 0x2ed56d55a5e5a191, 0xea50d142fd827773,
329*5af32e75SAxel Dörfler   0x98342c9e51b78db2, 0x866ed6f1c850dabc, 0x9279498719342c12,
330*5af32e75SAxel Dörfler   0x66912e4ad2f869c2, 0x57a7842d71c7fd8f, 0xfb7fedcc235552eb,
331*5af32e75SAxel Dörfler   0x38209ce1f3861ce0, 0x34c101349713b449, 0xa7a8289c8c6c54de,
332*5af32e75SAxel Dörfler   0xe3cb64f32dbb6643, 0xe3892ee98074ff01, 0xa8f16f9210c17f94,
333*5af32e75SAxel Dörfler   0x967abbb3a8281ed6, 0x9952fbed5a151440, 0xafe609c313b41e44,
334*5af32e75SAxel Dörfler   0xf111821fa2bca416, 0x91bac974fb1264b4, 0x8e48ff35d6c7d6ab,
335*5af32e75SAxel Dörfler   0xc4a656654419bd43, 0x33554c36685e5510, 0x0dbd21feab498697,
336*5af32e75SAxel Dörfler   0x982da4663cfe491d, 0x9e110c7bcbea4ca7, 0x5fc5a04779c56b8a,
337*5af32e75SAxel Dörfler   0x1aa9f44484d80e2e, 0x6a57b1ab730f203c, 0x87a7dc62d752f7a6,
338*5af32e75SAxel Dörfler   0x40660460944545ff, 0xc9ac375d77c1a42f, 0x744695f0e866d7ef,
339*5af32e75SAxel Dörfler   0xa1fc6b9681428c85, 0x7bf03c19d7917c7b, 0x5715f7915b33eb41,
340*5af32e75SAxel Dörfler   0xdb0708fd8f6cae5f, 0x785ce6b7b125ac8e, 0x6f46eadb56c6815b,
341*5af32e75SAxel Dörfler   0x195355d84eeebeee, 0x9d7389c0a244de3c, 0xcf99d01953761abd,
342*5af32e75SAxel Dörfler   0x0d76ce39de9ec24b, 0x2e55ecee70beb181, 0xf56d9d4bd5f86079,
343*5af32e75SAxel Dörfler   0x13ef5a83fb8886fb, 0x3f3389a4408f43c5, 0x58ccf45cfad37943,
344*5af32e75SAxel Dörfler   0x415c7f3ef82df846, 0x8b3d5cf42915e818, 0xf8dbb57a6a445f27,
345*5af32e75SAxel Dörfler   0x8ad803ecca8f0070, 0x038f9245b2e87c34, 0xc7c9dee0bedd8a6c,
346*5af32e75SAxel Dörfler   0x2ad3fa140eac7d56, 0xf775677ce0de0840, 0x92be221ef1bd0ad5,
347*5af32e75SAxel Dörfler   0xce9d04a487fa1fb9, 0x3f6f7024d2c36fa9, 0x907855eeb028af62,
348*5af32e75SAxel Dörfler   0x4efac5dcd83e49d6, 0x77cd8c6be7151aab, 0x0af908b40a753b7d,
349*5af32e75SAxel Dörfler   0xe50f30278c983623, 0x1d08e2d694222771, 0xf2ee5ca6f7e928e6,
350*5af32e75SAxel Dörfler   0x11eb962b1b61b93c, 0xce2bcba19648b21c, 0x7bbebe3034f77154,
351*5af32e75SAxel Dörfler   0x8ce329ace526a319, 0xb5dc53d5de4a74d2, 0x000000000009e8b3,
352*5af32e75SAxel Dörfler 
353*5af32e75SAxel Dörfler # define TENS_P12_IDX	(TENS_P11_IDX + TENS_P11_SIZE)
354*5af32e75SAxel Dörfler # define TENS_P12_SIZE	214
355*5af32e75SAxel Dörfler   [TENS_P12_IDX] = 0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
356*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
357*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
358*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
359*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
360*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
361*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
362*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
363*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
364*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
365*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
366*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
367*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
368*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
369*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
370*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
371*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
372*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
373*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
374*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
375*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0x0000000000000000,
376*5af32e75SAxel Dörfler   0x0000000000000000, 0x0000000000000000, 0xd4724e8d2a67c001,
377*5af32e75SAxel Dörfler   0xf89a1e908efe7ae7, 0x54e05154ef084117, 0x506be82913b1bb51,
378*5af32e75SAxel Dörfler   0xe599574efb29b172, 0x806c0ed3f0da6146, 0x45155e93b86ae5be,
379*5af32e75SAxel Dörfler   0x7e1e7c34c0591cc2, 0x1d1f4cce7c4823da, 0xd6bfdf759b8ba1e8,
380*5af32e75SAxel Dörfler   0xc2dfae78e341be10, 0x0f237f1a016b67b2, 0xaf6a25743dbeabcd,
381*5af32e75SAxel Dörfler   0x142e0e80cab3e6d7, 0x2c23481161959127, 0xcb4bf98287009701,
382*5af32e75SAxel Dörfler   0x88052f8cf8169c84, 0xbc13176168dde6d4, 0x54ab9c41ff0b0905,
383*5af32e75SAxel Dörfler   0x1a1c304e7613b224, 0x441c2d473bfe167b, 0x78f061814f6cea9c,
384*5af32e75SAxel Dörfler   0x30c7ae41eb659fb8, 0xa1ebcad7947e0d0e, 0x2130504dd97d9556,
385*5af32e75SAxel Dörfler   0xf2acd5071a8309cb, 0xfd82373a3f8ec72a, 0x280f4d3295a842bc,
386*5af32e75SAxel Dörfler   0x811a4f04f3618ac0, 0xd3967a1b6dc3a5b4, 0xdcfe388f15b8c898,
387*5af32e75SAxel Dörfler   0x8738b909454eb2a0, 0x2bd9cc1110c4e996, 0x655fec303297cd0c,
388*5af32e75SAxel Dörfler   0xf4090ee8ae0725b1, 0x398c6fed037d19ee, 0xc994a4503b9af26b,
389*5af32e75SAxel Dörfler   0x75a697b2b5341743, 0x3ccb5b92ac50b9c1, 0xa8329761ffe06205,
390*5af32e75SAxel Dörfler   0xeb83cadbdfea5242, 0x3c20ee69e79dadf7, 0x7021b97a1e0a6817,
391*5af32e75SAxel Dörfler   0x176ca776743074fa, 0xeca19beb77fb8af6, 0xaf63b71292baf1de,
392*5af32e75SAxel Dörfler   0xa4eb8f8cde35c88b, 0x40b464a0e137d5e9, 0x42923bbd87d1cde8,
393*5af32e75SAxel Dörfler   0x2e2690f3cd8f62ff, 0x59c89f1b095edc16, 0x5138753d1fa8fd5d,
394*5af32e75SAxel Dörfler   0x80152f18390a2b29, 0xf984d83e2dd8d925, 0xc19e1faf7a872e74,
395*5af32e75SAxel Dörfler   0xecf9b5d0ed4d542d, 0xc53c0adf9462ea75, 0x37a2d4390caea134,
396*5af32e75SAxel Dörfler   0x2181327ec8fa2e8a, 0x2d2408206e7bb827, 0x5893d4b850be10e0,
397*5af32e75SAxel Dörfler   0x1f2b2322ab312bb9, 0xbf627ede440b3f25, 0xb608b89572dac789,
398*5af32e75SAxel Dörfler   0x86deb3f078787e2a, 0xbb9373f46fee7aab, 0xf7d8b57e27ecf57b,
399*5af32e75SAxel Dörfler   0x3d04e8d2fca26a9f, 0x3172826ac9df13cb, 0xa8fcd8e0cd9e8d7c,
400*5af32e75SAxel Dörfler   0x307641d9b2c39497, 0x2608c4cf1cc939c1, 0x3d326a7eb6d1c7bf,
401*5af32e75SAxel Dörfler   0x8e13e25feeaf19e6, 0x2dfe6d97ee63302b, 0xe41d3cc425971d58,
402*5af32e75SAxel Dörfler   0xab8db59a0a80627c, 0xe90afb779eea37c8, 0x9ee3352c90ca19cf,
403*5af32e75SAxel Dörfler   0xfe78d6823613c850, 0x5b060904788f6e50, 0x3fecb534b71bd1a4,
404*5af32e75SAxel Dörfler   0x20c33857b32c450c, 0x0239f4cea6e9cfda, 0xa19adb9548497187,
405*5af32e75SAxel Dörfler   0x95aca6a8b492ed8a, 0xcf1b23504dcd6cd9, 0x1a67778cfbe8b12a,
406*5af32e75SAxel Dörfler   0xc32da38338eb3acc, 0xa03f40a8fb126ab1, 0xe9ce4724ed5bf546,
407*5af32e75SAxel Dörfler   0x73a130d84c4a74fd, 0xa2ebd6c1d9960e2d, 0x6f233b7c94ab6feb,
408*5af32e75SAxel Dörfler   0x8e7b9a7349126080, 0xd298f9994b8c9091, 0xa96ddeff35e836b5,
409*5af32e75SAxel Dörfler   0x6b0dd9bc96119b31, 0x282566fbc6cc3f8d, 0xd6769f3b72b882e7,
410*5af32e75SAxel Dörfler   0x00fc509ba674343d, 0xd6266a3fdcbf7789, 0x4e89541bae9641fd,
411*5af32e75SAxel Dörfler   0x53400d0311953407, 0xe5b533458e0dd75a, 0x108b89bc108f19ad,
412*5af32e75SAxel Dörfler   0xe03b2b6341a4c954, 0x97aced8e437b3d7f, 0x2c5508c2cbd66670,
413*5af32e75SAxel Dörfler   0x5c4f2ef0650ebc69, 0x9985a2df904ff6bf, 0x5ed8d2399faddd9e,
414*5af32e75SAxel Dörfler   0xe3e51cb925585832, 0x56c02d9a0ff4f1d4, 0xc1a08a138c4ef804,
415*5af32e75SAxel Dörfler   0xe6d2767113fd01c8, 0x9d0176cca7c234f4, 0x4d8bfa89d0d73df2,
416*5af32e75SAxel Dörfler   0x2b17e0b2544f10cd, 0xfd86fe49b70a5c7d, 0x214495bbdf373f41,
417*5af32e75SAxel Dörfler   0x00d313d584e857fd, 0xa4ba47440496fcbe, 0xaec29e6ee8cac982,
418*5af32e75SAxel Dörfler   0x7000a51987ec7038, 0xff66e42caeee333b, 0x03b4f63b8afd6b25,
419*5af32e75SAxel Dörfler   0x5ab8d9c7bd7991dc, 0x48741a6c2ed4684e, 0x2fdc6349af06940d,
420*5af32e75SAxel Dörfler   0xe974996fb03d7ecd, 0x52ec8721ac7867f9, 0x8edd2d00bcdd9d4a,
421*5af32e75SAxel Dörfler   0x41c759f83557de06, 0xa75409f23956d4b9, 0xb6100fab123cd8a1,
422*5af32e75SAxel Dörfler   0x2e8d623b3e7b21e2, 0xbca35f7792959da2, 0x35fcb457200c03a5,
423*5af32e75SAxel Dörfler   0xf74eb9281bb6c6e4, 0x87cc1d213d5d0b54, 0x18ae42404964046f,
424*5af32e75SAxel Dörfler   0x8bd2b496d868b275, 0xc234d8f51c5563f4, 0xf9151ffff868e970,
425*5af32e75SAxel Dörfler   0x271133eeae7be4a2, 0x25254932bb0fd922, 0x104bcd64a60a9fc0,
426*5af32e75SAxel Dörfler   0x0000006230290145
427*5af32e75SAxel Dörfler #endif
428*5af32e75SAxel Dörfler };
429*5af32e75SAxel Dörfler 
430*5af32e75SAxel Dörfler #else
431*5af32e75SAxel Dörfler # error "mp_limb_t size " BITS_PER_MP_LIMB "not accounted for"
432*5af32e75SAxel Dörfler #endif
433*5af32e75SAxel Dörfler 
434*5af32e75SAxel Dörfler /* Each of array variable above defines one mpn integer which is a power of 10.
435*5af32e75SAxel Dörfler    This table points to those variables, indexed by the exponent.  */
436*5af32e75SAxel Dörfler 
437*5af32e75SAxel Dörfler const struct mp_power _fpioconst_pow10[LDBL_MAX_10_EXP_LOG + 1] =
438*5af32e75SAxel Dörfler {
439*5af32e75SAxel Dörfler   { TENS_P0_IDX, TENS_P0_SIZE,		4,	     },
440*5af32e75SAxel Dörfler   { TENS_P1_IDX, TENS_P1_SIZE,		7,	   4 },
441*5af32e75SAxel Dörfler   { TENS_P2_IDX, TENS_P2_SIZE,		14,	  10 },
442*5af32e75SAxel Dörfler   { TENS_P3_IDX, TENS_P3_SIZE,		27,	  24 },
443*5af32e75SAxel Dörfler   { TENS_P4_IDX, TENS_P4_SIZE,		54,	  50 },
444*5af32e75SAxel Dörfler   { TENS_P5_IDX, TENS_P5_SIZE,		107,	 103 },
445*5af32e75SAxel Dörfler   { TENS_P6_IDX, TENS_P6_SIZE,		213,	 210 },
446*5af32e75SAxel Dörfler   { TENS_P7_IDX, TENS_P7_SIZE,		426,	 422 },
447*5af32e75SAxel Dörfler   { TENS_P8_IDX, TENS_P8_SIZE,  	851,	 848 },
448*5af32e75SAxel Dörfler #ifndef __NO_LONG_DOUBLE_MATH
449*5af32e75SAxel Dörfler   { TENS_P9_IDX, TENS_P9_SIZE,	 	1701,	1698 },
450*5af32e75SAxel Dörfler   { TENS_P10_IDX, TENS_P10_SIZE,	3402,	3399 },
451*5af32e75SAxel Dörfler   { TENS_P11_IDX, TENS_P11_SIZE,	6804,	6800 },
452*5af32e75SAxel Dörfler   { TENS_P12_IDX, TENS_P12_SIZE, 	13607, 13604 }
453*5af32e75SAxel Dörfler #endif
454*5af32e75SAxel Dörfler };
455*5af32e75SAxel Dörfler 
456*5af32e75SAxel Dörfler #if LAST_POW10 > _LAST_POW10
457*5af32e75SAxel Dörfler # error "Need to expand 10^(2^i) table for i up to" LAST_POW10
458*5af32e75SAxel Dörfler #endif
459