]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgcc/config/libbid/bid_decimal_data.c
Makefile.in (dfp-filenames): Replace decimal_globals...
[thirdparty/gcc.git] / libgcc / config / libbid / bid_decimal_data.c
1 /* Copyright (C) 2007 Free Software Foundation, Inc.
2
3 This file is part of GCC.
4
5 GCC is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 2, or (at your option) any later
8 version.
9
10 In addition to the permissions in the GNU General Public License, the
11 Free Software Foundation gives you unlimited permission to link the
12 compiled version of this file into combinations with other programs,
13 and to distribute those combinations without any restriction coming
14 from the use of this file. (The General Public License restrictions
15 do apply in other respects; for example, they cover modification of
16 the file, and distribution when not linked into a combine
17 executable.)
18
19 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
20 WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with GCC; see the file COPYING. If not, write to the Free
26 Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
27 02110-1301, USA. */
28
29 #include "bid_internal.h"
30
31 UINT64 round_const_table[][19] = {
32 { // RN
33 0ull, // 0 extra digits
34 5ull, // 1 extra digits
35 50ull, // 2 extra digits
36 500ull, // 3 extra digits
37 5000ull, // 4 extra digits
38 50000ull, // 5 extra digits
39 500000ull, // 6 extra digits
40 5000000ull, // 7 extra digits
41 50000000ull, // 8 extra digits
42 500000000ull, // 9 extra digits
43 5000000000ull, // 10 extra digits
44 50000000000ull, // 11 extra digits
45 500000000000ull, // 12 extra digits
46 5000000000000ull, // 13 extra digits
47 50000000000000ull, // 14 extra digits
48 500000000000000ull, // 15 extra digits
49 5000000000000000ull, // 16 extra digits
50 50000000000000000ull, // 17 extra digits
51 500000000000000000ull // 18 extra digits
52 }
53 ,
54 { // RD
55 0ull, // 0 extra digits
56 0ull, // 1 extra digits
57 0ull, // 2 extra digits
58 00ull, // 3 extra digits
59 000ull, // 4 extra digits
60 0000ull, // 5 extra digits
61 00000ull, // 6 extra digits
62 000000ull, // 7 extra digits
63 0000000ull, // 8 extra digits
64 00000000ull, // 9 extra digits
65 000000000ull, // 10 extra digits
66 0000000000ull, // 11 extra digits
67 00000000000ull, // 12 extra digits
68 000000000000ull, // 13 extra digits
69 0000000000000ull, // 14 extra digits
70 00000000000000ull, // 15 extra digits
71 000000000000000ull, // 16 extra digits
72 0000000000000000ull, // 17 extra digits
73 00000000000000000ull // 18 extra digits
74 }
75 ,
76 { // round to Inf
77 0ull, // 0 extra digits
78 9ull, // 1 extra digits
79 99ull, // 2 extra digits
80 999ull, // 3 extra digits
81 9999ull, // 4 extra digits
82 99999ull, // 5 extra digits
83 999999ull, // 6 extra digits
84 9999999ull, // 7 extra digits
85 99999999ull, // 8 extra digits
86 999999999ull, // 9 extra digits
87 9999999999ull, // 10 extra digits
88 99999999999ull, // 11 extra digits
89 999999999999ull, // 12 extra digits
90 9999999999999ull, // 13 extra digits
91 99999999999999ull, // 14 extra digits
92 999999999999999ull, // 15 extra digits
93 9999999999999999ull, // 16 extra digits
94 99999999999999999ull, // 17 extra digits
95 999999999999999999ull // 18 extra digits
96 }
97 ,
98 { // RZ
99 0ull, // 0 extra digits
100 0ull, // 1 extra digits
101 0ull, // 2 extra digits
102 00ull, // 3 extra digits
103 000ull, // 4 extra digits
104 0000ull, // 5 extra digits
105 00000ull, // 6 extra digits
106 000000ull, // 7 extra digits
107 0000000ull, // 8 extra digits
108 00000000ull, // 9 extra digits
109 000000000ull, // 10 extra digits
110 0000000000ull, // 11 extra digits
111 00000000000ull, // 12 extra digits
112 000000000000ull, // 13 extra digits
113 0000000000000ull, // 14 extra digits
114 00000000000000ull, // 15 extra digits
115 000000000000000ull, // 16 extra digits
116 0000000000000000ull, // 17 extra digits
117 00000000000000000ull // 18 extra digits
118 }
119 ,
120 { // round ties away from 0
121 0ull, // 0 extra digits
122 5ull, // 1 extra digits
123 50ull, // 2 extra digits
124 500ull, // 3 extra digits
125 5000ull, // 4 extra digits
126 50000ull, // 5 extra digits
127 500000ull, // 6 extra digits
128 5000000ull, // 7 extra digits
129 50000000ull, // 8 extra digits
130 500000000ull, // 9 extra digits
131 5000000000ull, // 10 extra digits
132 50000000000ull, // 11 extra digits
133 500000000000ull, // 12 extra digits
134 5000000000000ull, // 13 extra digits
135 50000000000000ull, // 14 extra digits
136 500000000000000ull, // 15 extra digits
137 5000000000000000ull, // 16 extra digits
138 50000000000000000ull, // 17 extra digits
139 500000000000000000ull // 18 extra digits
140 }
141 ,
142 };
143
144 UINT128 round_const_table_128[][36] = {
145 { //RN
146 {{0ull, 0ull}
147 }
148 , // 0 extra digits
149 {{5ull, 0ull}
150 }
151 , // 1 extra digits
152 {{50ull, 0ull}
153 }
154 , // 2 extra digits
155 {{500ull, 0ull}
156 }
157 , // 3 extra digits
158 {{5000ull, 0ull}
159 }
160 , // 4 extra digits
161 {{50000ull, 0ull}
162 }
163 , // 5 extra digits
164 {{500000ull, 0ull}
165 }
166 , // 6 extra digits
167 {{5000000ull, 0ull}
168 }
169 , // 7 extra digits
170 {{50000000ull, 0ull}
171 }
172 , // 8 extra digits
173 {{500000000ull, 0ull}
174 }
175 , // 9 extra digits
176 {{5000000000ull, 0ull}
177 }
178 , // 10 extra digits
179 {{50000000000ull, 0ull}
180 }
181 , // 11 extra digits
182 {{500000000000ull, 0ull}
183 }
184 , // 12 extra digits
185 {{5000000000000ull, 0ull}
186 }
187 , // 13 extra digits
188 {{50000000000000ull, 0ull}
189 }
190 , // 14 extra digits
191 {{500000000000000ull, 0ull}
192 }
193 , // 15 extra digits
194 {{5000000000000000ull, 0ull}
195 }
196 , // 16 extra digits
197 {{50000000000000000ull, 0ull}
198 }
199 , // 17 extra digits
200 {{500000000000000000ull, 0ull}
201 }
202 , // 18 extra digits
203 {{5000000000000000000ull, 0ull}
204 }
205 , // 19 extra digits
206 {{0xb5e3af16b1880000ull, 2ull}
207 }
208 , //20
209 {{0x1ae4d6e2ef500000ull, 27ull}
210 }
211 , //21
212 {{0xcf064dd59200000ull, 271ull}
213 }
214 , //22
215 {{0x8163f0a57b400000ull, 2710ull}
216 }
217 , //23
218 {{0xde76676d0800000ull, 27105ull}
219 }
220 , //24
221 {{0x8b0a00a425000000ull, 0x422caull}
222 }
223 , //25
224 {{0x6e64066972000000ull, 0x295be9ull}
225 }
226 , //26
227 {{0x4fe8401e74000000ull, 0x19d971eull}
228 }
229 , //27
230 {{0x1f12813088000000ull, 0x1027e72full}
231 }
232 , //28
233 {{0x36b90be550000000ull, 0xa18f07d7ull}
234 }
235 , //29
236 {{0x233a76f520000000ull, 0x64f964e68ull}
237 }
238 , //30
239 {{0x6048a59340000000ull, 0x3f1bdf1011ull}
240 }
241 , //31
242 {{0xc2d677c080000000ull, 0x27716b6a0adull}
243 }
244 , //32
245 {{0x9c60ad8500000000ull, 0x18a6e32246c9ull}
246 }
247 , //33
248 {{0x1bc6c73200000000ull, 0xf684df56c3e0ull}
249 }
250 , //34
251 {{0x15c3c7f400000000ull, 0x9a130b963a6c1ull}
252 }
253 , //35
254 }
255 ,
256 { //RD
257 {{0ull, 0ull}
258 }
259 , // 0 extra digits
260 {{0ull, 0ull}
261 }
262 , // 1 extra digits
263 {{0ull, 0ull}
264 }
265 , // 2 extra digits
266 {{00ull, 0ull}
267 }
268 , // 3 extra digits
269 {{000ull, 0ull}
270 }
271 , // 4 extra digits
272 {{0000ull, 0ull}
273 }
274 , // 5 extra digits
275 {{00000ull, 0ull}
276 }
277 , // 6 extra digits
278 {{000000ull, 0ull}
279 }
280 , // 7 extra digits
281 {{0000000ull, 0ull}
282 }
283 , // 8 extra digits
284 {{00000000ull, 0ull}
285 }
286 , // 9 extra digits
287 {{000000000ull, 0ull}
288 }
289 , // 10 extra digits
290 {{0000000000ull, 0ull}
291 }
292 , // 11 extra digits
293 {{00000000000ull, 0ull}
294 }
295 , // 12 extra digits
296 {{000000000000ull, 0ull}
297 }
298 , // 13 extra digits
299 {{0000000000000ull, 0ull}
300 }
301 , // 14 extra digits
302 {{00000000000000ull, 0ull}
303 }
304 , // 15 extra digits
305 {{000000000000000ull, 0ull}
306 }
307 , // 16 extra digits
308 {{0000000000000000ull, 0ull}
309 }
310 , // 17 extra digits
311 {{00000000000000000ull, 0ull}
312 }
313 , // 18 extra digits
314 {{000000000000000000ull, 0ull}
315 }
316 , // 19 extra digits
317 {{0ull, 0ull}
318 }
319 , //20
320 {{0ull, 0ull}
321 }
322 , //21
323 {{0ull, 0ull}
324 }
325 , //22
326 {{0ull, 0ull}
327 }
328 , //23
329 {{0ull, 0ull}
330 }
331 , //24
332 {{0ull, 0ull}
333 }
334 , //25
335 {{0ull, 0ull}
336 }
337 , //26
338 {{0ull, 0ull}
339 }
340 , //27
341 {{0ull, 0ull}
342 }
343 , //28
344 {{0ull, 0ull}
345 }
346 , //29
347 {{0ull, 0ull}
348 }
349 , //30
350 {{0ull, 0ull}
351 }
352 , //31
353 {{0ull, 0ull}
354 }
355 , //32
356 {{0ull, 0ull}
357 }
358 , //33
359 {{0ull, 0ull}
360 }
361 , //34
362 {{0ull, 0ull}
363 }
364 , //35
365 }
366 ,
367 { //RU
368 {{0ull, 0ull}
369 }
370 , // 0 extra digits
371 {{9ull, 0ull}
372 }
373 , // 1 extra digits
374 {{99ull, 0ull}
375 }
376 , // 2 extra digits
377 {{999ull, 0ull}
378 }
379 , // 3 extra digits
380 {{9999ull, 0ull}
381 }
382 , // 4 extra digits
383 {{99999ull, 0ull}
384 }
385 , // 5 extra digits
386 {{999999ull, 0ull}
387 }
388 , // 6 extra digits
389 {{9999999ull, 0ull}
390 }
391 , // 7 extra digits
392 {{99999999ull, 0ull}
393 }
394 , // 8 extra digits
395 {{999999999ull, 0ull}
396 }
397 , // 9 extra digits
398 {{9999999999ull, 0ull}
399 }
400 , // 10 extra digits
401 {{99999999999ull, 0ull}
402 }
403 , // 11 extra digits
404 {{999999999999ull, 0ull}
405 }
406 , // 12 extra digits
407 {{9999999999999ull, 0ull}
408 }
409 , // 13 extra digits
410 {{99999999999999ull, 0ull}
411 }
412 , // 14 extra digits
413 {{999999999999999ull, 0ull}
414 }
415 , // 15 extra digits
416 {{9999999999999999ull, 0ull}
417 }
418 , // 16 extra digits
419 {{99999999999999999ull, 0ull}
420 }
421 , // 17 extra digits
422 {{999999999999999999ull, 0ull}
423 }
424 , // 18 extra digits
425 {{9999999999999999999ull, 0ull}
426 }
427 , // 19 extra digits
428 {{0x6BC75E2D630FFFFFull, 0x5ull}
429 }
430 , //20
431 {{0x35C9ADC5DE9FFFFFull, 0x36ull}
432 }
433 , //21
434 {{0x19E0C9BAB23FFFFFull, 0x21eull}
435 }
436 , //22
437 {{0x2C7E14AF67FFFFFull, 0x152dull}
438 }
439 , //23
440 {{0x1BCECCEDA0FFFFFFull, 0xd3c2ull}
441 }
442 , //24
443 {{0x1614014849FFFFFFull, 0x84595ull}
444 }
445 , //25
446 {{0xDCC80CD2E3FFFFFFull, 0x52b7d2ull}
447 }
448 , //26
449 {{0x9FD0803CE7FFFFFFull, 0x33B2E3Cull}
450 }
451 , //27
452 {{0x3E2502610FFFFFFFull, 0x204FCE5Eull}
453 }
454 , //28
455 {{0x6D7217CA9FFFFFFFull, 0x1431E0FAEull}
456 }
457 , //29
458 {{0x4674EDEA3FFFFFFFull, 0xC9F2C9CD0ull}
459 }
460 , //30
461 {{0xC0914B267FFFFFFFull, 0x7E37BE2022ull}
462 }
463 , //31
464 {{0x85ACEF80FFFFFFFFull, 0x4EE2D6D415Bull}
465 }
466 , //32
467 {{0x38c15b09ffffffffull, 0x314dc6448d93ull}
468 }
469 , //33
470 {{0x378d8e63ffffffffull, 0x1ed09bead87c0ull}
471 }
472 , //34
473 {{0x2b878fe7ffffffffull, 0x13426172c74d82ull}
474 }
475 , //35
476 }
477 ,
478 { //RZ
479 {{0ull, 0ull}
480 }
481 , // 0 extra digits
482 {{0ull, 0ull}
483 }
484 , // 1 extra digits
485 {{0ull, 0ull}
486 }
487 , // 2 extra digits
488 {{00ull, 0ull}
489 }
490 , // 3 extra digits
491 {{000ull, 0ull}
492 }
493 , // 4 extra digits
494 {{0000ull, 0ull}
495 }
496 , // 5 extra digits
497 {{00000ull, 0ull}
498 }
499 , // 6 extra digits
500 {{000000ull, 0ull}
501 }
502 , // 7 extra digits
503 {{0000000ull, 0ull}
504 }
505 , // 8 extra digits
506 {{00000000ull, 0ull}
507 }
508 , // 9 extra digits
509 {{000000000ull, 0ull}
510 }
511 , // 10 extra digits
512 {{0000000000ull, 0ull}
513 }
514 , // 11 extra digits
515 {{00000000000ull, 0ull}
516 }
517 , // 12 extra digits
518 {{000000000000ull, 0ull}
519 }
520 , // 13 extra digits
521 {{0000000000000ull, 0ull}
522 }
523 , // 14 extra digits
524 {{00000000000000ull, 0ull}
525 }
526 , // 15 extra digits
527 {{000000000000000ull, 0ull}
528 }
529 , // 16 extra digits
530 {{0000000000000000ull, 0ull}
531 }
532 , // 17 extra digits
533 {{00000000000000000ull, 0ull}
534 }
535 , // 18 extra digits
536 {{000000000000000000ull, 0ull}
537 }
538 , // 19 extra digits
539 {{0ull, 0ull}
540 }
541 , //20
542 {{0ull, 0ull}
543 }
544 , //21
545 {{0ull, 0ull}
546 }
547 , //22
548 {{0ull, 0ull}
549 }
550 , //23
551 {{0ull, 0ull}
552 }
553 , //24
554 {{0ull, 0ull}
555 }
556 , //25
557 {{0ull, 0ull}
558 }
559 , //26
560 {{0ull, 0ull}
561 }
562 , //27
563 {{0ull, 0ull}
564 }
565 , //28
566 {{0ull, 0ull}
567 }
568 , //29
569 {{0ull, 0ull}
570 }
571 , //30
572 {{0ull, 0ull}
573 }
574 , //31
575 {{0ull, 0ull}
576 }
577 , //32
578 {{0ull, 0ull}
579 }
580 , //33
581 {{0ull, 0ull}
582 }
583 , //34
584 {{0ull, 0ull}
585 }
586 , //35
587 }
588 ,
589 { //RN, ties away
590 {{0ull, 0ull}
591 }
592 , // 0 extra digits
593 {{5ull, 0ull}
594 }
595 , // 1 extra digits
596 {{50ull, 0ull}
597 }
598 , // 2 extra digits
599 {{500ull, 0ull}
600 }
601 , // 3 extra digits
602 {{5000ull, 0ull}
603 }
604 , // 4 extra digits
605 {{50000ull, 0ull}
606 }
607 , // 5 extra digits
608 {{500000ull, 0ull}
609 }
610 , // 6 extra digits
611 {{5000000ull, 0ull}
612 }
613 , // 7 extra digits
614 {{50000000ull, 0ull}
615 }
616 , // 8 extra digits
617 {{500000000ull, 0ull}
618 }
619 , // 9 extra digits
620 {{5000000000ull, 0ull}
621 }
622 , // 10 extra digits
623 {{50000000000ull, 0ull}
624 }
625 , // 11 extra digits
626 {{500000000000ull, 0ull}
627 }
628 , // 12 extra digits
629 {{5000000000000ull, 0ull}
630 }
631 , // 13 extra digits
632 {{50000000000000ull, 0ull}
633 }
634 , // 14 extra digits
635 {{500000000000000ull, 0ull}
636 }
637 , // 15 extra digits
638 {{5000000000000000ull, 0ull}
639 }
640 , // 16 extra digits
641 {{50000000000000000ull, 0ull}
642 }
643 , // 17 extra digits
644 {{500000000000000000ull, 0ull}
645 }
646 , // 18 extra digits
647 {{5000000000000000000ull, 0ull}
648 }
649 , // 19 extra digits
650 {{0xb5e3af16b1880000ull, 2ull}
651 }
652 , //20
653 {{0x1ae4d6e2ef500000ull, 27ull}
654 }
655 , //21
656 {{0xcf064dd59200000ull, 271ull}
657 }
658 , //22
659 {{0x8163f0a57b400000ull, 2710ull}
660 }
661 , //23
662 {{0xde76676d0800000ull, 27105ull}
663 }
664 , //24
665 {{0x8b0a00a425000000ull, 0x422caull}
666 }
667 , //25
668 {{0x6e64066972000000ull, 0x295be9ull}
669 }
670 , //26
671 {{0x4fe8401e74000000ull, 0x19d971eull}
672 }
673 , //27
674 {{0x1f12813088000000ull, 0x1027e72full}
675 }
676 , //28
677 {{0x36b90be550000000ull, 0xa18f07d7ull}
678 }
679 , //29
680 {{0x233a76f520000000ull, 0x64f964e68ull}
681 }
682 , //30
683 {{0x6048a59340000000ull, 0x3f1bdf1011ull}
684 }
685 , //31
686 {{0xc2d677c080000000ull, 0x27716b6a0adull}
687 }
688 , //32
689 {{0x9c60ad8500000000ull, 0x18a6e32246c9ull}
690 }
691 , //33
692 {{0x1bc6c73200000000ull, 0xf684df56c3e0ull}
693 }
694 , //34
695 {{0x15c3c7f400000000ull, 0x9a130b963a6c1ull}
696 }
697 , //35
698 }
699 };
700
701
702 UINT128 reciprocals10_128[] = {
703 {{0ull, 0ull}
704 }
705 , // 0 extra digits
706 {{0x3333333333333334ull, 0x3333333333333333ull}
707 }
708 , // 1 extra digit
709 {{0x51eb851eb851eb86ull, 0x051eb851eb851eb8ull}
710 }
711 , // 2 extra digits
712 {{0x3b645a1cac083127ull, 0x0083126e978d4fdfull}
713 }
714 , // 3 extra digits
715 {{0x4af4f0d844d013aaULL, 0x00346dc5d6388659ULL}
716 }
717 , // 10^(-4) * 2^131
718 {{0x08c3f3e0370cdc88ULL, 0x0029f16b11c6d1e1ULL}
719 }
720 , // 10^(-5) * 2^134
721 {{0x6d698fe69270b06dULL, 0x00218def416bdb1aULL}
722 }
723 , // 10^(-6) * 2^137
724 {{0xaf0f4ca41d811a47ULL, 0x0035afe535795e90ULL}
725 }
726 , // 10^(-7) * 2^141
727 {{0xbf3f70834acdaea0ULL, 0x002af31dc4611873ULL}
728 }
729 , // 10^(-8) * 2^144
730 {{0x65cc5a02a23e254dULL, 0x00225c17d04dad29ULL}
731 }
732 , // 10^(-9) * 2^147
733 {{0x6fad5cd10396a214ULL, 0x0036f9bfb3af7b75ULL}
734 }
735 , // 10^(-10) * 2^151
736 {{0xbfbde3da69454e76ULL, 0x002bfaffc2f2c92aULL}
737 }
738 , // 10^(-11) * 2^154
739 {{0x32fe4fe1edd10b92ULL, 0x00232f33025bd422ULL}
740 }
741 , // 10^(-12) * 2^157
742 {{0x84ca19697c81ac1cULL, 0x00384b84d092ed03ULL}
743 }
744 , // 10^(-13) * 2^161
745 {{0x03d4e1213067bce4ULL, 0x002d09370d425736ULL}
746 }
747 , // 10^(-14) * 2^164
748 {{0x3643e74dc052fd83ULL, 0x0024075f3dceac2bULL}
749 }
750 , // 10^(-15) * 2^167
751 {{0x56d30baf9a1e626bULL, 0x0039a5652fb11378ULL}
752 }
753 , // 10^(-16) * 2^171
754 {{0x12426fbfae7eb522ULL, 0x002e1dea8c8da92dULL}
755 }
756 , // 10^(-17) * 2^174
757 {{0x41cebfcc8b9890e8ULL, 0x0024e4bba3a48757ULL}
758 }
759 , // 10^(-18) * 2^177
760 {{0x694acc7a78f41b0dULL, 0x003b07929f6da558ULL}
761 }
762 , // 10^(-19) * 2^181
763 {{0xbaa23d2ec729af3eULL, 0x002f394219248446ULL}
764 }
765 , // 10^(-20) * 2^184
766 {{0xfbb4fdbf05baf298ULL, 0x0025c768141d369eULL}
767 }
768 , // 10^(-21) * 2^187
769 {{0x2c54c931a2c4b759ULL, 0x003c7240202ebdcbULL}
770 }
771 , // 10^(-22) * 2^191
772 {{0x89dd6dc14f03c5e1ULL, 0x00305b66802564a2ULL}
773 }
774 , // 10^(-23) * 2^194
775 {{0xd4b1249aa59c9e4eULL, 0x0026af8533511d4eULL}
776 }
777 , // 10^(-24) * 2^197
778 {{0x544ea0f76f60fd49ULL, 0x003de5a1ebb4fbb1ULL}
779 }
780 , // 10^(-25) * 2^201
781 {{0x76a54d92bf80caa1ULL, 0x00318481895d9627ULL}
782 }
783 , // 10^(-26) * 2^204
784 {{0x921dd7a89933d54eULL, 0x00279d346de4781fULL}
785 }
786 , // 10^(-27) * 2^207
787 {{0x8362f2a75b862215ULL, 0x003f61ed7ca0c032ULL}
788 }
789 , // 10^(-28) * 2^211
790 {{0xcf825bb91604e811ULL, 0x0032b4bdfd4d668eULL}
791 }
792 , // 10^(-29) * 2^214
793 {{0x0c684960de6a5341ULL, 0x00289097fdd7853fULL}
794 }
795 , // 10^(-30) * 2^217
796 {{0x3d203ab3e521dc34ULL, 0x002073accb12d0ffULL}
797 }
798 , // 10^(-31) * 2^220
799 {{0x2e99f7863b696053ULL, 0x0033ec47ab514e65ULL}
800 }
801 , // 10^(-32) * 2^224
802 {{0x587b2c6b62bab376ULL, 0x002989d2ef743eb7ULL}
803 }
804 , // 10^(-33) * 2^227
805 {{0xad2f56bc4efbc2c5ULL, 0x00213b0f25f69892ULL}
806 }
807 , // 10^(-34) * 2^230
808 {{0x0f2abc9d8c9689d1ull, 0x01a95a5b7f87a0efull}
809 }
810 , // 35 extra digits
811 };
812
813
814 int recip_scale[] = {
815 129 - 128, // 1
816 129 - 128, // 1/10
817 129 - 128, // 1/10^2
818 129 - 128, // 1/10^3
819 3, // 131 - 128
820 6, // 134 - 128
821 9, // 137 - 128
822 13, // 141 - 128
823 16, // 144 - 128
824 19, // 147 - 128
825 23, // 151 - 128
826 26, // 154 - 128
827 29, // 157 - 128
828 33, // 161 - 128
829 36, // 164 - 128
830 39, // 167 - 128
831 43, // 171 - 128
832 46, // 174 - 128
833 49, // 177 - 128
834 53, // 181 - 128
835 56, // 184 - 128
836 59, // 187 - 128
837 63, // 191 - 128
838
839 66, // 194 - 128
840 69, // 197 - 128
841 73, // 201 - 128
842 76, // 204 - 128
843 79, // 207 - 128
844 83, // 211 - 128
845 86, // 214 - 128
846 89, // 217 - 128
847 92, // 220 - 128
848 96, // 224 - 128
849 99, // 227 - 128
850 102, // 230 - 128
851 109, // 237 - 128, 1/10^35
852 };
853
854
855 // tables used in computation
856 int estimate_decimal_digits[129] = {
857 1, //2^0 =1 < 10^0
858 1, //2^1 =2 < 10^1
859 1, //2^2 =4 < 10^1
860 1, //2^3 =8 < 10^1
861 2, //2^4 =16 < 10^2
862 2, //2^5 =32 < 10^2
863 2, //2^6 =64 < 10^2
864 3, //2^7 =128 < 10^3
865 3, //2^8 =256 < 10^3
866 3, //2^9 =512 < 10^3
867 4, //2^10=1024 < 10^4
868 4, //2^11=2048 < 10^4
869 4, //2^12=4096 < 10^4
870 4, //2^13=8192 < 10^4
871 5, //2^14=16384 < 10^5
872 5, //2^15=32768 < 10^5
873
874 5, //2^16=65536 < 10^5
875 6, //2^17=131072 < 10^6
876 6, //2^18=262144 < 10^6
877 6, //2^19=524288 < 10^6
878 7, //2^20=1048576 < 10^7
879 7, //2^21=2097152 < 10^7
880 7, //2^22=4194304 < 10^7
881 7, //2^23=8388608 < 10^7
882 8, //2^24=16777216 < 10^8
883 8, //2^25=33554432 < 10^8
884 8, //2^26=67108864 < 10^8
885 9, //2^27=134217728 < 10^9
886 9, //2^28=268435456 < 10^9
887 9, //2^29=536870912 < 10^9
888 10, //2^30=1073741824< 10^10
889 10, //2^31=2147483648< 10^10
890
891 10, //2^32=4294967296 < 10^10
892 10, //2^33=8589934592 < 10^10
893 11, //2^34=17179869184 < 10^11
894 11, //2^35=34359738368 < 10^11
895 11, //2^36=68719476736 < 10^11
896 12, //2^37=137438953472 < 10^12
897 12, //2^38=274877906944 < 10^12
898 12, //2^39=549755813888 < 10^12
899 13, //2^40=1099511627776 < 10^13
900 13, //2^41=2199023255552 < 10^13
901 13, //2^42=4398046511104 < 10^13
902 13, //2^43=8796093022208 < 10^13
903 14, //2^44=17592186044416 < 10^14
904 14, //2^45=35184372088832 < 10^14
905 14, //2^46=70368744177664 < 10^14
906 15, //2^47=140737488355328< 10^15
907
908 15, //2^48=281474976710656 < 10^15
909 15, //2^49=562949953421312 < 10^15
910 16, //2^50=1125899906842624 < 10^16
911 16, //2^51=2251799813685248 < 10^16
912 16, //2^52=4503599627370496 < 10^16
913 16, //2^53=9007199254740992 < 10^16
914 17, //2^54=18014398509481984 < 10^17
915 17, //2^55=36028797018963968 < 10^17
916 17, //2^56=72057594037927936 < 10^17
917 18, //2^57=144115188075855872 < 10^18
918 18, //2^58=288230376151711744 < 10^18
919 18, //2^59=576460752303423488 < 10^18
920 19, //2^60=1152921504606846976< 10^19
921 19, //2^61=2305843009213693952< 10^19
922 19, //2^62=4611686018427387904< 10^19
923 19, //2^63=9223372036854775808< 10^19
924
925 20, //2^64=18446744073709551616
926 20, //2^65=36893488147419103232
927 20, //2^66=73786976294838206464
928 21, //2^67=147573952589676412928
929 21, //2^68=295147905179352825856
930 21, //2^69=590295810358705651712
931 22, //2^70=1180591620717411303424
932 22, //2^71=2361183241434822606848
933 22, //2^72=4722366482869645213696
934 22, //2^73=9444732965739290427392
935 23, //2^74=18889465931478580854784
936 23, //2^75=37778931862957161709568
937 23, //2^76=75557863725914323419136
938 24, //2^77=151115727451828646838272
939 24, //2^78=302231454903657293676544
940 24, //2^79=604462909807314587353088
941
942 25, //2^80=1208925819614629174706176
943 25, //2^81=2417851639229258349412352
944 25, //2^82=4835703278458516698824704
945 25, //2^83=9671406556917033397649408
946 26, //2^84=19342813113834066795298816
947 26, //2^85=38685626227668133590597632
948 26, //2^86=77371252455336267181195264
949 27, //2^87=154742504910672534362390528
950 27, //2^88=309485009821345068724781056
951 27, //2^89=618970019642690137449562112
952 28, //2^90=1237940039285380274899124224
953 28, //2^91=2475880078570760549798248448
954 28, //2^92=4951760157141521099596496896
955 28, //2^93=9903520314283042199192993792
956 29, //2^94=19807040628566084398385987584
957 29, //2^95=39614081257132168796771975168
958 29, //2^96=79228162514264337593543950336
959
960 30, //2^97=158456325028528675187087900672
961 30, //2^98=316912650057057350374175801344
962 30, //2^99=633825300114114700748351602688
963 31, //2^100=1267650600228229401496703205376
964 31, //2^101=2535301200456458802993406410752
965 31, //2^102=5070602400912917605986812821504
966 32, //2^103=10141204801825835211973625643008
967 32, //2^104=20282409603651670423947251286016
968 32, //2^105=40564819207303340847894502572032
969 32, //2^106=81129638414606681695789005144064
970 33, //2^107=162259276829213363391578010288128
971 33, // 2^108
972 33, // 2^109
973 34, // 2^110
974 34, // 2^111
975 34, // 2^112
976 35, // 2^113
977 35, // 2^114
978 35, // 2^115
979 35, // 2^116
980 36, // 2^117
981 36, // 2^118
982 36, // 2^119
983 37, // 2^120
984 37, // 2^121
985 37, // 2^122
986 38, // 2^123
987 38, // 2^124
988 38, // 2^125
989 38, // 2^126
990 39, // 2^127
991 39 // 2^128
992 };
993
994
995 UINT128 power10_table_128[] = {
996 {{0x0000000000000001ull, 0x0000000000000000ull}}, // 10^0
997 {{0x000000000000000aull, 0x0000000000000000ull}}, // 10^1
998 {{0x0000000000000064ull, 0x0000000000000000ull}}, // 10^2
999 {{0x00000000000003e8ull, 0x0000000000000000ull}}, // 10^3
1000 {{0x0000000000002710ull, 0x0000000000000000ull}}, // 10^4
1001 {{0x00000000000186a0ull, 0x0000000000000000ull}}, // 10^5
1002 {{0x00000000000f4240ull, 0x0000000000000000ull}}, // 10^6
1003 {{0x0000000000989680ull, 0x0000000000000000ull}}, // 10^7
1004 {{0x0000000005f5e100ull, 0x0000000000000000ull}}, // 10^8
1005 {{0x000000003b9aca00ull, 0x0000000000000000ull}}, // 10^9
1006 {{0x00000002540be400ull, 0x0000000000000000ull}}, // 10^10
1007 {{0x000000174876e800ull, 0x0000000000000000ull}}, // 10^11
1008 {{0x000000e8d4a51000ull, 0x0000000000000000ull}}, // 10^12
1009 {{0x000009184e72a000ull, 0x0000000000000000ull}}, // 10^13
1010 {{0x00005af3107a4000ull, 0x0000000000000000ull}}, // 10^14
1011 {{0x00038d7ea4c68000ull, 0x0000000000000000ull}}, // 10^15
1012 {{0x002386f26fc10000ull, 0x0000000000000000ull}}, // 10^16
1013 {{0x016345785d8a0000ull, 0x0000000000000000ull}}, // 10^17
1014 {{0x0de0b6b3a7640000ull, 0x0000000000000000ull}}, // 10^18
1015 {{0x8ac7230489e80000ull, 0x0000000000000000ull}}, // 10^19
1016 {{0x6bc75e2d63100000ull, 0x0000000000000005ull}}, // 10^20
1017 {{0x35c9adc5dea00000ull, 0x0000000000000036ull}}, // 10^21
1018 {{0x19e0c9bab2400000ull, 0x000000000000021eull}}, // 10^22
1019 {{0x02c7e14af6800000ull, 0x000000000000152dull}}, // 10^23
1020 {{0x1bcecceda1000000ull, 0x000000000000d3c2ull}}, // 10^24
1021 {{0x161401484a000000ull, 0x0000000000084595ull}}, // 10^25
1022 {{0xdcc80cd2e4000000ull, 0x000000000052b7d2ull}}, // 10^26
1023 {{0x9fd0803ce8000000ull, 0x00000000033b2e3cull}}, // 10^27
1024 {{0x3e25026110000000ull, 0x00000000204fce5eull}}, // 10^28
1025 {{0x6d7217caa0000000ull, 0x00000001431e0faeull}}, // 10^29
1026 {{0x4674edea40000000ull, 0x0000000c9f2c9cd0ull}}, // 10^30
1027 {{0xc0914b2680000000ull, 0x0000007e37be2022ull}}, // 10^31
1028 {{0x85acef8100000000ull, 0x000004ee2d6d415bull}}, // 10^32
1029 {{0x38c15b0a00000000ull, 0x0000314dc6448d93ull}}, // 10^33
1030 {{0x378d8e6400000000ull, 0x0001ed09bead87c0ull}}, // 10^34
1031 {{0x2b878fe800000000ull, 0x0013426172c74d82ull}}, // 10^35
1032 {{0xb34b9f1000000000ull, 0x00c097ce7bc90715ull}}, // 10^36
1033 {{0x00f436a000000000ull, 0x0785ee10d5da46d9ull}}, // 10^37
1034 {{0x098a224000000000ull, 0x4b3b4ca85a86c47aull}}, // 10^38
1035 };
1036
1037
1038 int estimate_bin_expon[] = {
1039 0, // 10^0
1040 3, // 10^1
1041 6, // 10^2
1042 9, // 10^3
1043 13, // 10^4
1044 16, // 10^5
1045 19, // 10^6
1046 23, // 10^7
1047 26, // 10^8
1048 29, // 10^9
1049 33, // 10^10
1050 36, // 10^11
1051 39, // 10^12
1052 43, // 10^13
1053 46, // 10^14
1054 49, // 10^15
1055 53 // 10^16
1056 };
1057
1058
1059 UINT64 power10_index_binexp[] = {
1060 0x000000000000000aull,
1061 0x000000000000000aull,
1062 0x000000000000000aull,
1063 0x000000000000000aull,
1064 0x0000000000000064ull,
1065 0x0000000000000064ull,
1066 0x0000000000000064ull,
1067 0x00000000000003e8ull,
1068 0x00000000000003e8ull,
1069 0x00000000000003e8ull,
1070 0x0000000000002710ull,
1071 0x0000000000002710ull,
1072 0x0000000000002710ull,
1073 0x0000000000002710ull,
1074 0x00000000000186a0ull,
1075 0x00000000000186a0ull,
1076 0x00000000000186a0ull,
1077 0x00000000000f4240ull,
1078 0x00000000000f4240ull,
1079 0x00000000000f4240ull,
1080 0x0000000000989680ull,
1081 0x0000000000989680ull,
1082 0x0000000000989680ull,
1083 0x0000000000989680ull,
1084 0x0000000005f5e100ull,
1085 0x0000000005f5e100ull,
1086 0x0000000005f5e100ull,
1087 0x000000003b9aca00ull,
1088 0x000000003b9aca00ull,
1089 0x000000003b9aca00ull,
1090 0x00000002540be400ull,
1091 0x00000002540be400ull,
1092 0x00000002540be400ull,
1093 0x00000002540be400ull,
1094 0x000000174876e800ull,
1095 0x000000174876e800ull,
1096 0x000000174876e800ull,
1097 0x000000e8d4a51000ull,
1098 0x000000e8d4a51000ull,
1099 0x000000e8d4a51000ull,
1100 0x000009184e72a000ull,
1101 0x000009184e72a000ull,
1102 0x000009184e72a000ull,
1103 0x000009184e72a000ull,
1104 0x00005af3107a4000ull,
1105 0x00005af3107a4000ull,
1106 0x00005af3107a4000ull,
1107 0x00038d7ea4c68000ull,
1108 0x00038d7ea4c68000ull,
1109 0x00038d7ea4c68000ull,
1110 0x002386f26fc10000ull,
1111 0x002386f26fc10000ull,
1112 0x002386f26fc10000ull,
1113 0x002386f26fc10000ull,
1114 0x016345785d8a0000ull,
1115 0x016345785d8a0000ull,
1116 0x016345785d8a0000ull,
1117 0x0de0b6b3a7640000ull,
1118 0x0de0b6b3a7640000ull,
1119 0x0de0b6b3a7640000ull,
1120 0x8ac7230489e80000ull,
1121 0x8ac7230489e80000ull,
1122 0x8ac7230489e80000ull,
1123 0x8ac7230489e80000ull
1124 };
1125
1126
1127 int short_recip_scale[] = {
1128 1,
1129 65 - 64,
1130 69 - 64,
1131 71 - 64,
1132 75 - 64,
1133 78 - 64,
1134 81 - 64,
1135 85 - 64,
1136 88 - 64,
1137 91 - 64,
1138 95 - 64,
1139 98 - 64,
1140 101 - 64,
1141 105 - 64,
1142 108 - 64,
1143 111 - 64,
1144 115 - 64, //114 - 64
1145 118 - 64
1146 };
1147
1148
1149 UINT64 reciprocals10_64[] = {
1150 1ull, // dummy value for 0 extra digits
1151 0x3333333333333334ull, // 1 extra digit
1152 0x51eb851eb851eb86ull,
1153 0x20c49ba5e353f7cfull,
1154 0x346dc5d63886594bull,
1155 0x29f16b11c6d1e109ull,
1156 0x218def416bdb1a6eull,
1157 0x35afe535795e90b0ull,
1158 0x2af31dc4611873c0ull,
1159 0x225c17d04dad2966ull,
1160 0x36f9bfb3af7b7570ull,
1161 0x2bfaffc2f2c92ac0ull,
1162 0x232f33025bd42233ull,
1163 0x384b84d092ed0385ull,
1164 0x2d09370d42573604ull,
1165 0x24075f3dceac2b37ull,
1166 0x39a5652fb1137857ull,
1167 0x2e1dea8c8da92d13ull
1168 };
1169
1170
1171
1172 UINT128 power10_index_binexp_128[] = {
1173 {{0x000000000000000aull, 0x0000000000000000ull}},
1174 {{0x000000000000000aull, 0x0000000000000000ull}},
1175 {{0x000000000000000aull, 0x0000000000000000ull}},
1176 {{0x000000000000000aull, 0x0000000000000000ull}},
1177 {{0x0000000000000064ull, 0x0000000000000000ull}},
1178 {{0x0000000000000064ull, 0x0000000000000000ull}},
1179 {{0x0000000000000064ull, 0x0000000000000000ull}},
1180 {{0x00000000000003e8ull, 0x0000000000000000ull}},
1181 {{0x00000000000003e8ull, 0x0000000000000000ull}},
1182 {{0x00000000000003e8ull, 0x0000000000000000ull}},
1183 {{0x0000000000002710ull, 0x0000000000000000ull}},
1184 {{0x0000000000002710ull, 0x0000000000000000ull}},
1185 {{0x0000000000002710ull, 0x0000000000000000ull}},
1186 {{0x0000000000002710ull, 0x0000000000000000ull}},
1187 {{0x00000000000186a0ull, 0x0000000000000000ull}},
1188 {{0x00000000000186a0ull, 0x0000000000000000ull}},
1189 {{0x00000000000186a0ull, 0x0000000000000000ull}},
1190 {{0x00000000000f4240ull, 0x0000000000000000ull}},
1191 {{0x00000000000f4240ull, 0x0000000000000000ull}},
1192 {{0x00000000000f4240ull, 0x0000000000000000ull}},
1193 {{0x0000000000989680ull, 0x0000000000000000ull}},
1194 {{0x0000000000989680ull, 0x0000000000000000ull}},
1195 {{0x0000000000989680ull, 0x0000000000000000ull}},
1196 {{0x0000000000989680ull, 0x0000000000000000ull}},
1197 {{0x0000000005f5e100ull, 0x0000000000000000ull}},
1198 {{0x0000000005f5e100ull, 0x0000000000000000ull}},
1199 {{0x0000000005f5e100ull, 0x0000000000000000ull}},
1200 {{0x000000003b9aca00ull, 0x0000000000000000ull}},
1201 {{0x000000003b9aca00ull, 0x0000000000000000ull}},
1202 {{0x000000003b9aca00ull, 0x0000000000000000ull}},
1203 {{0x00000002540be400ull, 0x0000000000000000ull}},
1204 {{0x00000002540be400ull, 0x0000000000000000ull}},
1205 {{0x00000002540be400ull, 0x0000000000000000ull}},
1206 {{0x00000002540be400ull, 0x0000000000000000ull}},
1207 {{0x000000174876e800ull, 0x0000000000000000ull}},
1208 {{0x000000174876e800ull, 0x0000000000000000ull}},
1209 {{0x000000174876e800ull, 0x0000000000000000ull}},
1210 {{0x000000e8d4a51000ull, 0x0000000000000000ull}},
1211 {{0x000000e8d4a51000ull, 0x0000000000000000ull}},
1212 {{0x000000e8d4a51000ull, 0x0000000000000000ull}},
1213 {{0x000009184e72a000ull, 0x0000000000000000ull}},
1214 {{0x000009184e72a000ull, 0x0000000000000000ull}},
1215 {{0x000009184e72a000ull, 0x0000000000000000ull}},
1216 {{0x000009184e72a000ull, 0x0000000000000000ull}},
1217 {{0x00005af3107a4000ull, 0x0000000000000000ull}},
1218 {{0x00005af3107a4000ull, 0x0000000000000000ull}},
1219 {{0x00005af3107a4000ull, 0x0000000000000000ull}},
1220 {{0x00038d7ea4c68000ull, 0x0000000000000000ull}},
1221 {{0x00038d7ea4c68000ull, 0x0000000000000000ull}},
1222 {{0x00038d7ea4c68000ull, 0x0000000000000000ull}},
1223 {{0x002386f26fc10000ull, 0x0000000000000000ull}},
1224 {{0x002386f26fc10000ull, 0x0000000000000000ull}},
1225 {{0x002386f26fc10000ull, 0x0000000000000000ull}},
1226 {{0x002386f26fc10000ull, 0x0000000000000000ull}},
1227 {{0x016345785d8a0000ull, 0x0000000000000000ull}},
1228 {{0x016345785d8a0000ull, 0x0000000000000000ull}},
1229 {{0x016345785d8a0000ull, 0x0000000000000000ull}},
1230 {{0x0de0b6b3a7640000ull, 0x0000000000000000ull}},
1231 {{0x0de0b6b3a7640000ull, 0x0000000000000000ull}},
1232 {{0x0de0b6b3a7640000ull, 0x0000000000000000ull}},
1233 {{0x8ac7230489e80000ull, 0x0000000000000000ull}},
1234 {{0x8ac7230489e80000ull, 0x0000000000000000ull}},
1235 {{0x8ac7230489e80000ull, 0x0000000000000000ull}},
1236 {{0x8ac7230489e80000ull, 0x0000000000000000ull}},
1237 {{0x6bc75e2d63100000ull, 0x0000000000000005ull}}, // 10^20
1238 {{0x6bc75e2d63100000ull, 0x0000000000000005ull}}, // 10^20
1239 {{0x6bc75e2d63100000ull, 0x0000000000000005ull}}, // 10^20
1240 {{0x35c9adc5dea00000ull, 0x0000000000000036ull}}, // 10^21
1241 {{0x35c9adc5dea00000ull, 0x0000000000000036ull}}, // 10^21
1242 {{0x35c9adc5dea00000ull, 0x0000000000000036ull}}, // 10^21
1243 {{0x19e0c9bab2400000ull, 0x000000000000021eull}}, // 10^22
1244 {{0x19e0c9bab2400000ull, 0x000000000000021eull}}, // 10^22
1245 {{0x19e0c9bab2400000ull, 0x000000000000021eull}}, // 10^22
1246 {{0x19e0c9bab2400000ull, 0x000000000000021eull}}, // 10^22
1247 {{0x02c7e14af6800000ull, 0x000000000000152dull}}, // 10^23
1248 {{0x02c7e14af6800000ull, 0x000000000000152dull}}, // 10^23
1249 {{0x02c7e14af6800000ull, 0x000000000000152dull}}, // 10^23
1250 {{0x1bcecceda1000000ull, 0x000000000000d3c2ull}}, // 10^24
1251 {{0x1bcecceda1000000ull, 0x000000000000d3c2ull}}, // 10^24
1252 {{0x1bcecceda1000000ull, 0x000000000000d3c2ull}}, // 10^24
1253 {{0x161401484a000000ull, 0x0000000000084595ull}}, // 10^25
1254 {{0x161401484a000000ull, 0x0000000000084595ull}}, // 10^25
1255 {{0x161401484a000000ull, 0x0000000000084595ull}}, // 10^25
1256 {{0x161401484a000000ull, 0x0000000000084595ull}}, // 10^25
1257 {{0xdcc80cd2e4000000ull, 0x000000000052b7d2ull}}, // 10^26
1258 {{0xdcc80cd2e4000000ull, 0x000000000052b7d2ull}}, // 10^26
1259 {{0xdcc80cd2e4000000ull, 0x000000000052b7d2ull}}, // 10^26
1260 {{0x9fd0803ce8000000ull, 0x00000000033b2e3cull}}, // 10^27
1261 {{0x9fd0803ce8000000ull, 0x00000000033b2e3cull}}, // 10^27
1262 {{0x9fd0803ce8000000ull, 0x00000000033b2e3cull}}, // 10^27
1263 {{0x3e25026110000000ull, 0x00000000204fce5eull}}, // 10^28
1264 {{0x3e25026110000000ull, 0x00000000204fce5eull}}, // 10^28
1265 {{0x3e25026110000000ull, 0x00000000204fce5eull}}, // 10^28
1266 {{0x3e25026110000000ull, 0x00000000204fce5eull}}, // 10^28
1267 {{0x6d7217caa0000000ull, 0x00000001431e0faeull}}, // 10^29
1268 {{0x6d7217caa0000000ull, 0x00000001431e0faeull}}, // 10^29
1269 {{0x6d7217caa0000000ull, 0x00000001431e0faeull}}, // 10^29
1270 {{0x4674edea40000000ull, 0x0000000c9f2c9cd0ull}}, // 10^30
1271 {{0x4674edea40000000ull, 0x0000000c9f2c9cd0ull}}, // 10^30
1272 {{0x4674edea40000000ull, 0x0000000c9f2c9cd0ull}}, // 10^30
1273 {{0xc0914b2680000000ull, 0x0000007e37be2022ull}}, // 10^31
1274 {{0xc0914b2680000000ull, 0x0000007e37be2022ull}}, // 10^31
1275 {{0xc0914b2680000000ull, 0x0000007e37be2022ull}}, // 10^31
1276 {{0x85acef8100000000ull, 0x000004ee2d6d415bull}}, // 10^32
1277 {{0x85acef8100000000ull, 0x000004ee2d6d415bull}}, // 10^32
1278 {{0x85acef8100000000ull, 0x000004ee2d6d415bull}}, // 10^32
1279 {{0x85acef8100000000ull, 0x000004ee2d6d415bull}}, // 10^32
1280 {{0x38c15b0a00000000ull, 0x0000314dc6448d93ull}}, // 10^33
1281 {{0x38c15b0a00000000ull, 0x0000314dc6448d93ull}}, // 10^33
1282 {{0x38c15b0a00000000ull, 0x0000314dc6448d93ull}}, // 10^33, entry 112
1283 {{0x378d8e6400000000ull, 0x0001ed09bead87c0ull}}, // 10^34
1284 {{0x378d8e6400000000ull, 0x0001ed09bead87c0ull}}, // 10^34
1285 {{0x378d8e6400000000ull, 0x0001ed09bead87c0ull}}, // 10^34
1286 {{0x2b878fe800000000ull, 0x0013426172c74d82ull}}, // 10^35
1287 {{0x2b878fe800000000ull, 0x0013426172c74d82ull}}, // 10^35
1288 {{0x2b878fe800000000ull, 0x0013426172c74d82ull}}, // 10^35
1289 {{0x2b878fe800000000ull, 0x0013426172c74d82ull}}, // 10^35
1290 {{0xb34b9f1000000000ull, 0x00c097ce7bc90715ull}}, // 10^36
1291 {{0x00f436a000000000ull, 0x0785ee10d5da46d9ull}}, // 10^37
1292 {{0x00f436a000000000ull, 0x0785ee10d5da46d9ull}}, // 10^37
1293 {{0x00f436a000000000ull, 0x0785ee10d5da46d9ull}}, // 10^37
1294 {{0x098a224000000000ull, 0x4b3b4ca85a86c47aull}}, // 10^38
1295 {{0x098a224000000000ull, 0x4b3b4ca85a86c47aull}}, // 10^38
1296 {{0x098a224000000000ull, 0x4b3b4ca85a86c47aull}}, // 10^38
1297 {{0x098a224000000000ull, 0x4b3b4ca85a86c47aull}}, // 10^38
1298 };