comparison libgcc/config/libbid/bid_decimal_data.c @ 0:a06113de4d67

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