il2cpp-number-formatter.h
63.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
#ifndef _MONO_METADATA_NUMBER_FORMATTER_H_
#define _MONO_METADATA_NUMBER_FORMATTER_H_ 1
#include <stdint.h>
static const uint64_t Formatter_MantissaBitsTable[] =
{
4556951262222748432ULL, 9113902524445496865ULL, 1822780504889099373ULL,
3645561009778198746ULL, 7291122019556397492ULL, 14582244039112794984ULL,
2916448807822558996ULL, 5832897615645117993ULL, 11665795231290235987ULL,
2333159046258047197ULL, 4666318092516094394ULL, 9332636185032188789ULL,
1866527237006437757ULL, 3733054474012875515ULL, 7466108948025751031ULL,
14932217896051502063ULL, 2986443579210300412ULL, 5972887158420600825ULL,
11945774316841201651ULL, 2389154863368240330ULL, 4778309726736480660ULL,
9556619453472961320ULL, 1911323890694592264ULL, 3822647781389184528ULL,
7645295562778369056ULL, 15290591125556738113ULL, 3058118225111347622ULL,
6116236450222695245ULL, 12232472900445390490ULL, 2446494580089078098ULL,
4892989160178156196ULL, 9785978320356312392ULL, 1957195664071262478ULL,
3914391328142524957ULL, 7828782656285049914ULL, 15657565312570099828ULL,
3131513062514019965ULL, 6263026125028039931ULL, 12526052250056079862ULL,
2505210450011215972ULL, 5010420900022431944ULL, 10020841800044863889ULL,
2004168360008972777ULL, 4008336720017945555ULL, 8016673440035891111ULL,
16033346880071782223ULL, 3206669376014356444ULL, 6413338752028712889ULL,
12826677504057425779ULL, 2565335500811485155ULL, 5130671001622970311ULL,
10261342003245940623ULL, 2052268400649188124ULL, 4104536801298376249ULL,
8209073602596752498ULL, 16418147205193504997ULL, 3283629441038700999ULL,
6567258882077401998ULL, 13134517764154803997ULL, 2626903552830960799ULL,
5253807105661921599ULL, 10507614211323843198ULL, 2101522842264768639ULL,
4203045684529537279ULL, 8406091369059074558ULL, 16812182738118149117ULL,
3362436547623629823ULL, 6724873095247259646ULL, 13449746190494519293ULL,
2689949238098903858ULL, 5379898476197807717ULL, 10759796952395615435ULL,
2151959390479123087ULL, 4303918780958246174ULL, 8607837561916492348ULL,
17215675123832984696ULL, 3443135024766596939ULL, 6886270049533193878ULL,
13772540099066387756ULL, 2754508019813277551ULL, 5509016039626555102ULL,
11018032079253110205ULL, 2203606415850622041ULL, 4407212831701244082ULL,
8814425663402488164ULL, 17628851326804976328ULL, 3525770265360995265ULL,
7051540530721990531ULL, 14103081061443981063ULL, 2820616212288796212ULL,
5641232424577592425ULL, 11282464849155184850ULL, 2256492969831036970ULL,
4512985939662073940ULL, 9025971879324147880ULL, 18051943758648295760ULL,
3610388751729659152ULL, 7220777503459318304ULL, 14441555006918636608ULL,
2888311001383727321ULL, 5776622002767454643ULL, 11553244005534909286ULL,
2310648801106981857ULL, 4621297602213963714ULL, 9242595204427927429ULL,
1848519040885585485ULL, 3697038081771170971ULL, 7394076163542341943ULL,
14788152327084683887ULL, 2957630465416936777ULL, 5915260930833873554ULL,
11830521861667747109ULL, 2366104372333549421ULL, 4732208744667098843ULL,
9464417489334197687ULL, 1892883497866839537ULL, 3785766995733679075ULL,
7571533991467358150ULL, 15143067982934716300ULL, 3028613596586943260ULL,
6057227193173886520ULL, 12114454386347773040ULL, 2422890877269554608ULL,
4845781754539109216ULL, 9691563509078218432ULL, 1938312701815643686ULL,
3876625403631287372ULL, 7753250807262574745ULL, 15506501614525149491ULL,
3101300322905029898ULL, 6202600645810059796ULL, 12405201291620119593ULL,
2481040258324023918ULL, 4962080516648047837ULL, 9924161033296095674ULL,
1984832206659219134ULL, 3969664413318438269ULL, 7939328826636876539ULL,
15878657653273753079ULL, 3175731530654750615ULL, 6351463061309501231ULL,
12702926122619002463ULL, 2540585224523800492ULL, 5081170449047600985ULL,
10162340898095201970ULL, 2032468179619040394ULL, 4064936359238080788ULL,
8129872718476161576ULL, 16259745436952323153ULL, 3251949087390464630ULL,
6503898174780929261ULL, 13007796349561858522ULL, 2601559269912371704ULL,
5203118539824743409ULL, 10406237079649486818ULL, 2081247415929897363ULL,
4162494831859794727ULL, 8324989663719589454ULL, 16649979327439178909ULL,
3329995865487835781ULL, 6659991730975671563ULL, 13319983461951343127ULL,
2663996692390268625ULL, 5327993384780537250ULL, 10655986769561074501ULL,
2131197353912214900ULL, 4262394707824429800ULL, 8524789415648859601ULL,
17049578831297719202ULL, 3409915766259543840ULL, 6819831532519087681ULL,
13639663065038175362ULL, 2727932613007635072ULL, 5455865226015270144ULL,
10911730452030540289ULL, 2182346090406108057ULL, 4364692180812216115ULL,
8729384361624432231ULL, 17458768723248864463ULL, 3491753744649772892ULL,
6983507489299545785ULL, 13967014978599091570ULL, 2793402995719818314ULL,
5586805991439636628ULL, 11173611982879273256ULL, 2234722396575854651ULL,
4469444793151709302ULL, 8938889586303418605ULL, 17877779172606837210ULL,
3575555834521367442ULL, 7151111669042734884ULL, 14302223338085469768ULL,
2860444667617093953ULL, 5720889335234187907ULL, 11441778670468375814ULL,
2288355734093675162ULL, 4576711468187350325ULL, 9153422936374700651ULL,
1830684587274940130ULL, 3661369174549880260ULL, 7322738349099760521ULL,
14645476698199521043ULL, 2929095339639904208ULL, 5858190679279808417ULL,
11716381358559616834ULL, 2343276271711923366ULL, 4686552543423846733ULL,
9373105086847693467ULL, 1874621017369538693ULL, 3749242034739077387ULL,
7498484069478154774ULL, 14996968138956309548ULL, 2999393627791261909ULL,
5998787255582523819ULL, 11997574511165047638ULL, 2399514902233009527ULL,
4799029804466019055ULL, 9598059608932038110ULL, 1919611921786407622ULL,
3839223843572815244ULL, 7678447687145630488ULL, 15356895374291260977ULL,
3071379074858252195ULL, 6142758149716504390ULL, 12285516299433008781ULL,
2457103259886601756ULL, 4914206519773203512ULL, 9828413039546407025ULL,
1965682607909281405ULL, 3931365215818562810ULL, 7862730431637125620ULL,
15725460863274251240ULL, 3145092172654850248ULL, 6290184345309700496ULL,
12580368690619400992ULL, 2516073738123880198ULL, 5032147476247760397ULL,
10064294952495520794ULL, 2012858990499104158ULL, 4025717980998208317ULL,
8051435961996416635ULL, 16102871923992833270ULL, 3220574384798566654ULL,
6441148769597133308ULL, 12882297539194266616ULL, 2576459507838853323ULL,
5152919015677706646ULL, 10305838031355413293ULL, 2061167606271082658ULL,
4122335212542165317ULL, 8244670425084330634ULL, 16489340850168661269ULL,
3297868170033732253ULL, 6595736340067464507ULL, 13191472680134929015ULL,
2638294536026985803ULL, 5276589072053971606ULL, 10553178144107943212ULL,
2110635628821588642ULL, 4221271257643177284ULL, 8442542515286354569ULL,
16885085030572709139ULL, 3377017006114541827ULL, 6754034012229083655ULL,
13508068024458167311ULL, 2701613604891633462ULL, 5403227209783266924ULL,
10806454419566533849ULL, 2161290883913306769ULL, 4322581767826613539ULL,
8645163535653227079ULL, 17290327071306454158ULL, 3458065414261290831ULL,
6916130828522581663ULL, 13832261657045163327ULL, 2766452331409032665ULL,
5532904662818065330ULL, 11065809325636130661ULL, 2213161865127226132ULL,
4426323730254452264ULL, 8852647460508904529ULL, 17705294921017809058ULL,
3541058984203561811ULL, 7082117968407123623ULL, 14164235936814247246ULL,
2832847187362849449ULL, 5665694374725698898ULL, 11331388749451397797ULL,
2266277749890279559ULL, 4532555499780559119ULL, 9065110999561118238ULL,
1813022199912223647ULL, 3626044399824447295ULL, 7252088799648894590ULL,
14504177599297789180ULL, 2900835519859557836ULL, 5801671039719115672ULL,
11603342079438231344ULL, 2320668415887646268ULL, 4641336831775292537ULL,
9282673663550585075ULL, 1856534732710117015ULL, 3713069465420234030ULL,
7426138930840468060ULL, 14852277861680936121ULL, 2970455572336187224ULL,
5940911144672374448ULL, 11881822289344748896ULL, 2376364457868949779ULL,
4752728915737899558ULL, 9505457831475799117ULL, 1901091566295159823ULL,
3802183132590319647ULL, 7604366265180639294ULL, 15208732530361278588ULL,
3041746506072255717ULL, 6083493012144511435ULL, 12166986024289022870ULL,
2433397204857804574ULL, 4866794409715609148ULL, 9733588819431218296ULL,
1946717763886243659ULL, 3893435527772487318ULL, 7786871055544974637ULL,
15573742111089949274ULL, 3114748422217989854ULL, 6229496844435979709ULL,
12458993688871959419ULL, 2491798737774391883ULL, 4983597475548783767ULL,
9967194951097567535ULL, 1993438990219513507ULL, 3986877980439027014ULL,
7973755960878054028ULL, 15947511921756108056ULL, 3189502384351221611ULL,
6379004768702443222ULL, 12758009537404886445ULL, 2551601907480977289ULL,
5103203814961954578ULL, 10206407629923909156ULL, 2041281525984781831ULL,
4082563051969563662ULL, 8165126103939127325ULL, 16330252207878254650ULL,
3266050441575650930ULL, 6532100883151301860ULL, 13064201766302603720ULL,
2612840353260520744ULL, 5225680706521041488ULL, 10451361413042082976ULL,
2090272282608416595ULL, 4180544565216833190ULL, 8361089130433666380ULL,
16722178260867332761ULL, 3344435652173466552ULL, 6688871304346933104ULL,
13377742608693866209ULL, 2675548521738773241ULL, 5351097043477546483ULL,
10702194086955092967ULL, 2140438817391018593ULL, 4280877634782037187ULL,
8561755269564074374ULL, 17123510539128148748ULL, 3424702107825629749ULL,
6849404215651259499ULL, 13698808431302518998ULL, 2739761686260503799ULL,
5479523372521007599ULL, 10959046745042015198ULL, 2191809349008403039ULL,
4383618698016806079ULL, 8767237396033612159ULL, 17534474792067224318ULL,
3506894958413444863ULL, 7013789916826889727ULL, 14027579833653779454ULL,
2805515966730755890ULL, 5611031933461511781ULL, 11222063866923023563ULL,
2244412773384604712ULL, 4488825546769209425ULL, 8977651093538418850ULL,
17955302187076837701ULL, 3591060437415367540ULL, 7182120874830735080ULL,
14364241749661470161ULL, 2872848349932294032ULL, 5745696699864588064ULL,
11491393399729176129ULL, 2298278679945835225ULL, 4596557359891670451ULL,
9193114719783340903ULL, 1838622943956668180ULL, 3677245887913336361ULL,
7354491775826672722ULL, 14708983551653345445ULL, 2941796710330669089ULL,
5883593420661338178ULL, 11767186841322676356ULL, 2353437368264535271ULL,
4706874736529070542ULL, 9413749473058141084ULL, 1882749894611628216ULL,
3765499789223256433ULL, 7530999578446512867ULL, 15061999156893025735ULL,
3012399831378605147ULL, 6024799662757210294ULL, 12049599325514420588ULL,
2409919865102884117ULL, 4819839730205768235ULL, 9639679460411536470ULL,
1927935892082307294ULL, 3855871784164614588ULL, 7711743568329229176ULL,
15423487136658458353ULL, 3084697427331691670ULL, 6169394854663383341ULL,
12338789709326766682ULL, 2467757941865353336ULL, 4935515883730706673ULL,
9871031767461413346ULL, 1974206353492282669ULL, 3948412706984565338ULL,
7896825413969130677ULL, 15793650827938261354ULL, 3158730165587652270ULL,
6317460331175304541ULL, 12634920662350609083ULL, 2526984132470121816ULL,
5053968264940243633ULL, 10107936529880487266ULL, 2021587305976097453ULL,
4043174611952194906ULL, 8086349223904389813ULL, 16172698447808779626ULL,
3234539689561755925ULL, 6469079379123511850ULL, 12938158758247023701ULL,
2587631751649404740ULL, 5175263503298809480ULL, 10350527006597618960ULL,
2070105401319523792ULL, 4140210802639047584ULL, 8280421605278095168ULL,
16560843210556190337ULL, 3312168642111238067ULL, 6624337284222476135ULL,
13248674568444952270ULL, 2649734913688990454ULL, 5299469827377980908ULL,
10598939654755961816ULL, 2119787930951192363ULL, 4239575861902384726ULL,
8479151723804769452ULL, 16958303447609538905ULL, 3391660689521907781ULL,
6783321379043815562ULL, 13566642758087631124ULL, 2713328551617526224ULL,
5426657103235052449ULL, 10853314206470104899ULL, 2170662841294020979ULL,
4341325682588041959ULL, 8682651365176083919ULL, 17365302730352167839ULL,
3473060546070433567ULL, 6946121092140867135ULL, 13892242184281734271ULL,
2778448436856346854ULL, 5556896873712693708ULL, 11113793747425387417ULL,
2222758749485077483ULL, 4445517498970154966ULL, 8891034997940309933ULL,
17782069995880619867ULL, 3556413999176123973ULL, 7112827998352247947ULL,
14225655996704495894ULL, 2845131199340899178ULL, 5690262398681798357ULL,
11380524797363596715ULL, 2276104959472719343ULL, 4552209918945438686ULL,
9104419837890877372ULL, 1820883967578175474ULL, 3641767935156350948ULL,
7283535870312701897ULL, 14567071740625403795ULL, 2913414348125080759ULL,
5826828696250161518ULL, 11653657392500323036ULL, 2330731478500064607ULL,
4661462957000129214ULL, 9322925914000258429ULL, 1864585182800051685ULL,
3729170365600103371ULL, 7458340731200206743ULL, 14916681462400413486ULL,
2983336292480082697ULL, 5966672584960165394ULL, 11933345169920330789ULL,
2386669033984066157ULL, 4773338067968132315ULL, 9546676135936264631ULL,
1909335227187252926ULL, 3818670454374505852ULL, 7637340908749011705ULL,
15274681817498023410ULL, 3054936363499604682ULL, 6109872726999209364ULL,
12219745453998418728ULL, 2443949090799683745ULL, 4887898181599367491ULL,
9775796363198734982ULL, 1955159272639746996ULL, 3910318545279493993ULL,
7820637090558987986ULL, 15641274181117975972ULL, 3128254836223595194ULL,
6256509672447190388ULL, 12513019344894380777ULL, 2502603868978876155ULL,
5005207737957752311ULL, 10010415475915504622ULL, 2002083095183100924ULL,
4004166190366201848ULL, 8008332380732403697ULL, 16016664761464807395ULL,
3203332952292961479ULL, 6406665904585922958ULL, 12813331809171845916ULL,
2562666361834369183ULL, 5125332723668738366ULL, 10250665447337476733ULL,
2050133089467495346ULL, 4100266178934990693ULL, 8200532357869981386ULL,
16401064715739962772ULL, 3280212943147992554ULL, 6560425886295985109ULL,
13120851772591970218ULL, 2624170354518394043ULL, 5248340709036788087ULL,
10496681418073576174ULL, 2099336283614715234ULL, 4198672567229430469ULL,
8397345134458860939ULL, 16794690268917721879ULL, 3358938053783544375ULL,
6717876107567088751ULL, 13435752215134177503ULL, 2687150443026835500ULL,
5374300886053671001ULL, 10748601772107342002ULL, 2149720354421468400ULL,
4299440708842936801ULL, 8598881417685873602ULL, 17197762835371747204ULL,
3439552567074349440ULL, 6879105134148698881ULL, 13758210268297397763ULL,
2751642053659479552ULL, 5503284107318959105ULL, 11006568214637918210ULL,
2201313642927583642ULL, 4402627285855167284ULL, 8805254571710334568ULL,
17610509143420669137ULL, 3522101828684133827ULL, 7044203657368267654ULL,
14088407314736535309ULL, 2817681462947307061ULL, 5635362925894614123ULL,
11270725851789228247ULL, 2254145170357845649ULL, 4508290340715691299ULL,
9016580681431382598ULL, 18033161362862765196ULL, 3606632272572553039ULL,
7213264545145106078ULL, 14426529090290212157ULL, 2885305818058042431ULL,
5770611636116084862ULL, 11541223272232169725ULL, 2308244654446433945ULL,
4616489308892867890ULL, 9232978617785735780ULL, 1846595723557147156ULL,
3693191447114294312ULL, 7386382894228588624ULL, 14772765788457177249ULL,
2954553157691435449ULL, 5909106315382870899ULL, 11818212630765741799ULL,
2363642526153148359ULL, 4727285052306296719ULL, 9454570104612593439ULL,
1890914020922518687ULL, 3781828041845037375ULL, 7563656083690074751ULL,
15127312167380149503ULL, 3025462433476029900ULL, 6050924866952059801ULL,
12101849733904119602ULL, 2420369946780823920ULL, 4840739893561647841ULL,
9681479787123295682ULL, 1936295957424659136ULL, 3872591914849318272ULL,
7745183829698636545ULL, 15490367659397273091ULL, 3098073531879454618ULL,
6196147063758909236ULL, 12392294127517818473ULL, 2478458825503563694ULL,
4956917651007127389ULL, 9913835302014254778ULL, 1982767060402850955ULL,
3965534120805701911ULL, 7931068241611403822ULL, 15862136483222807645ULL,
3172427296644561529ULL, 6344854593289123058ULL, 12689709186578246116ULL,
2537941837315649223ULL, 5075883674631298446ULL, 10151767349262596893ULL,
2030353469852519378ULL, 4060706939705038757ULL, 8121413879410077514ULL,
16242827758820155028ULL, 3248565551764031005ULL, 6497131103528062011ULL,
12994262207056124023ULL, 2598852441411224804ULL, 5197704882822449609ULL,
10395409765644899218ULL, 2079081953128979843ULL, 4158163906257959687ULL,
8316327812515919374ULL, 16632655625031838749ULL, 3326531125006367749ULL,
6653062250012735499ULL, 13306124500025470999ULL, 2661224900005094199ULL,
5322449800010188399ULL, 10644899600020376799ULL, 2128979920004075359ULL,
4257959840008150719ULL, 8515919680016301439ULL, 17031839360032602879ULL,
3406367872006520575ULL, 6812735744013041151ULL, 13625471488026082303ULL,
2725094297605216460ULL, 5450188595210432921ULL, 10900377190420865842ULL,
2180075438084173168ULL, 4360150876168346337ULL, 8720301752336692674ULL,
17440603504673385348ULL, 3488120700934677069ULL, 6976241401869354139ULL,
13952482803738708279ULL, 2790496560747741655ULL, 5580993121495483311ULL,
11161986242990966623ULL, 2232397248598193324ULL, 4464794497196386649ULL,
8929588994392773298ULL, 17859177988785546597ULL, 3571835597757109319ULL,
7143671195514218638ULL, 14287342391028437277ULL, 2857468478205687455ULL,
5714936956411374911ULL, 11429873912822749822ULL, 2285974782564549964ULL,
4571949565129099928ULL, 9143899130258199857ULL, 1828779826051639971ULL,
3657559652103279943ULL, 7315119304206559886ULL, 14630238608413119772ULL,
2926047721682623954ULL, 5852095443365247908ULL, 11704190886730495817ULL,
2340838177346099163ULL, 4681676354692198327ULL, 9363352709384396654ULL,
1872670541876879330ULL, 3745341083753758661ULL, 7490682167507517323ULL,
14981364335015034646ULL, 2996272867003006929ULL, 5992545734006013858ULL,
11985091468012027717ULL, 2397018293602405543ULL, 4794036587204811087ULL,
9588073174409622174ULL, 1917614634881924434ULL, 3835229269763848869ULL,
7670458539527697739ULL, 15340917079055395478ULL, 3068183415811079095ULL,
6136366831622158191ULL, 12272733663244316382ULL, 2454546732648863276ULL,
4909093465297726553ULL, 9818186930595453106ULL, 1963637386119090621ULL,
3927274772238181242ULL, 7854549544476362484ULL, 15709099088952724969ULL,
3141819817790544993ULL, 6283639635581089987ULL, 12567279271162179975ULL,
2513455854232435995ULL, 5026911708464871990ULL, 10053823416929743980ULL,
2010764683385948796ULL, 4021529366771897592ULL, 8043058733543795184ULL,
16086117467087590369ULL, 3217223493417518073ULL, 6434446986835036147ULL,
12868893973670072295ULL, 2573778794734014459ULL, 5147557589468028918ULL,
10295115178936057836ULL, 2059023035787211567ULL, 4118046071574423134ULL,
8236092143148846269ULL, 16472184286297692538ULL, 3294436857259538507ULL,
6588873714519077015ULL, 13177747429038154030ULL, 2635549485807630806ULL,
5271098971615261612ULL, 10542197943230523224ULL, 2108439588646104644ULL,
4216879177292209289ULL, 8433758354584418579ULL, 16867516709168837158ULL,
3373503341833767431ULL, 6747006683667534863ULL, 13494013367335069727ULL,
2698802673467013945ULL, 5397605346934027890ULL, 10795210693868055781ULL,
2159042138773611156ULL, 4318084277547222312ULL, 8636168555094444625ULL,
17272337110188889250ULL, 3454467422037777850ULL, 6908934844075555700ULL,
13817869688151111400ULL, 2763573937630222280ULL, 5527147875260444560ULL,
11054295750520889120ULL, 2210859150104177824ULL, 4421718300208355648ULL,
8843436600416711296ULL, 17686873200833422592ULL, 3537374640166684518ULL,
7074749280333369037ULL, 14149498560666738074ULL, 2829899712133347614ULL,
5659799424266695229ULL, 11319598848533390459ULL, 2263919769706678091ULL,
4527839539413356183ULL, 9055679078826712367ULL, 1811135815765342473ULL,
3622271631530684947ULL, 7244543263061369894ULL, 14489086526122739788ULL,
2897817305224547957ULL, 5795634610449095915ULL, 11591269220898191830ULL,
2318253844179638366ULL, 4636507688359276732ULL, 9273015376718553464ULL,
1854603075343710692ULL, 3709206150687421385ULL, 7418412301374842771ULL,
14836824602749685542ULL, 2967364920549937108ULL, 5934729841099874217ULL,
11869459682199748434ULL, 2373891936439949686ULL, 4747783872879899373ULL,
9495567745759798747ULL, 1899113549151959749ULL, 3798227098303919498ULL,
7596454196607838997ULL, 15192908393215677995ULL, 3038581678643135599ULL,
6077163357286271198ULL, 12154326714572542396ULL, 2430865342914508479ULL,
4861730685829016958ULL, 9723461371658033917ULL, 1944692274331606783ULL,
3889384548663213566ULL, 7778769097326427133ULL, 15557538194652854267ULL,
3111507638930570853ULL, 6223015277861141707ULL, 12446030555722283414ULL,
2489206111144456682ULL, 4978412222288913365ULL, 9956824444577826731ULL,
1991364888915565346ULL, 3982729777831130692ULL, 7965459555662261385ULL,
15930919111324522770ULL, 3186183822264904554ULL, 6372367644529809108ULL,
12744735289059618216ULL, 2548947057811923643ULL, 5097894115623847286ULL,
10195788231247694572ULL, 2039157646249538914ULL, 4078315292499077829ULL,
8156630584998155658ULL, 16313261169996311316ULL, 3262652233999262263ULL,
6525304467998524526ULL, 13050608935997049053ULL, 2610121787199409810ULL,
5220243574398819621ULL, 10440487148797639242ULL, 2088097429759527848ULL,
4176194859519055697ULL, 8352389719038111394ULL, 16704779438076222788ULL,
3340955887615244557ULL, 6681911775230489115ULL, 13363823550460978230ULL,
2672764710092195646ULL, 5345529420184391292ULL, 10691058840368782584ULL,
2138211768073756516ULL, 4276423536147513033ULL, 8552847072295026067ULL,
17105694144590052135ULL, 3421138828918010427ULL, 6842277657836020854ULL,
13684555315672041708ULL, 2736911063134408341ULL, 5473822126268816683ULL,
10947644252537633366ULL, 2189528850507526673ULL, 4379057701015053346ULL,
8758115402030106693ULL, 17516230804060213386ULL, 3503246160812042677ULL,
7006492321624085354ULL, 14012984643248170709ULL, 2802596928649634141ULL,
5605193857299268283ULL, 11210387714598536567ULL, 2242077542919707313ULL,
4484155085839414626ULL, 8968310171678829253ULL, 17936620343357658507ULL,
3587324068671531701ULL, 7174648137343063403ULL, 14349296274686126806ULL,
2869859254937225361ULL, 5739718509874450722ULL, 11479437019748901445ULL,
2295887403949780289ULL, 4591774807899560578ULL, 9183549615799121156ULL,
1836709923159824231ULL, 3673419846319648462ULL, 7346839692639296924ULL,
14693679385278593849ULL, 2938735877055718769ULL, 5877471754111437539ULL,
11754943508222875079ULL, 2350988701644575015ULL, 4701977403289150031ULL,
9403954806578300063ULL, 1880790961315660012ULL, 3761581922631320025ULL,
7523163845262640050ULL, 15046327690525280101ULL, 3009265538105056020ULL,
6018531076210112040ULL, 12037062152420224081ULL, 2407412430484044816ULL,
4814824860968089632ULL, 9629649721936179265ULL, 1925929944387235853ULL,
3851859888774471706ULL, 7703719777548943412ULL, 15407439555097886824ULL,
3081487911019577364ULL, 6162975822039154729ULL, 12325951644078309459ULL,
2465190328815661891ULL, 4930380657631323783ULL, 9860761315262647567ULL,
1972152263052529513ULL, 3944304526105059027ULL, 7888609052210118054ULL,
15777218104420236108ULL, 3155443620884047221ULL, 6310887241768094443ULL,
12621774483536188886ULL, 2524354896707237777ULL, 5048709793414475554ULL,
10097419586828951109ULL, 2019483917365790221ULL, 4038967834731580443ULL,
8077935669463160887ULL, 16155871338926321774ULL, 3231174267785264354ULL,
6462348535570528709ULL, 12924697071141057419ULL, 2584939414228211483ULL,
5169878828456422967ULL, 10339757656912845935ULL, 2067951531382569187ULL,
4135903062765138374ULL, 8271806125530276748ULL, 16543612251060553497ULL,
3308722450212110699ULL, 6617444900424221398ULL, 13234889800848442797ULL,
2646977960169688559ULL, 5293955920339377119ULL, 10587911840678754238ULL,
2117582368135750847ULL, 4235164736271501695ULL, 8470329472543003390ULL,
16940658945086006781ULL, 3388131789017201356ULL, 6776263578034402712ULL,
13552527156068805425ULL, 2710505431213761085ULL, 5421010862427522170ULL,
10842021724855044340ULL, 2168404344971008868ULL, 4336808689942017736ULL,
8673617379884035472ULL, 17347234759768070944ULL, 3469446951953614188ULL,
6938893903907228377ULL, 13877787807814456755ULL, 2775557561562891351ULL,
5551115123125782702ULL, 11102230246251565404ULL, 2220446049250313080ULL,
4440892098500626161ULL, 8881784197001252323ULL, 17763568394002504646ULL,
3552713678800500929ULL, 7105427357601001858ULL, 14210854715202003717ULL,
2842170943040400743ULL, 5684341886080801486ULL, 11368683772161602973ULL,
2273736754432320594ULL, 4547473508864641189ULL, 9094947017729282379ULL,
1818989403545856475ULL, 3637978807091712951ULL, 7275957614183425903ULL,
14551915228366851806ULL, 2910383045673370361ULL, 5820766091346740722ULL,
11641532182693481445ULL, 2328306436538696289ULL, 4656612873077392578ULL,
9313225746154785156ULL, 1862645149230957031ULL, 3725290298461914062ULL,
7450580596923828125ULL, 14901161193847656250ULL, 2980232238769531250ULL,
5960464477539062500ULL, 11920928955078125000ULL, 2384185791015625000ULL,
4768371582031250000ULL, 9536743164062500000ULL, 1907348632812500000ULL,
3814697265625000000ULL, 7629394531250000000ULL, 15258789062500000000ULL,
3051757812500000000ULL, 6103515625000000000ULL, 12207031250000000000ULL,
2441406250000000000ULL, 4882812500000000000ULL, 9765625000000000000ULL,
1953125000000000000ULL, 3906250000000000000ULL, 7812500000000000000ULL,
15625000000000000000ULL, 3125000000000000000ULL, 6250000000000000000ULL,
12500000000000000000ULL, 2500000000000000000ULL, 5000000000000000000ULL,
10000000000000000000ULL, 2000000000000000000ULL, 4000000000000000000ULL,
8000000000000000000ULL, 16000000000000000000ULL, 3200000000000000000ULL,
6400000000000000000ULL, 12800000000000000000ULL, 2560000000000000000ULL,
5120000000000000000ULL, 10240000000000000000ULL, 2048000000000000000ULL,
4096000000000000000ULL, 8192000000000000000ULL, 16384000000000000000ULL,
3276800000000000000ULL, 6553600000000000000ULL, 13107200000000000000ULL,
2621440000000000000ULL, 5242880000000000000ULL, 10485760000000000000ULL,
2097152000000000000ULL, 4194304000000000000ULL, 8388608000000000000ULL,
16777216000000000000ULL, 3355443200000000000ULL, 6710886400000000000ULL,
13421772800000000000ULL, 2684354560000000000ULL, 5368709120000000000ULL,
10737418240000000000ULL, 2147483648000000000ULL, 4294967296000000000ULL,
8589934592000000000ULL, 17179869184000000000ULL, 3435973836800000000ULL,
6871947673600000000ULL, 13743895347200000000ULL, 2748779069440000000ULL,
5497558138880000000ULL, 10995116277760000000ULL, 2199023255552000000ULL,
4398046511104000000ULL, 8796093022208000000ULL, 17592186044416000000ULL,
3518437208883200000ULL, 7036874417766400000ULL, 14073748835532800000ULL,
2814749767106560000ULL, 5629499534213120000ULL, 11258999068426240000ULL,
2251799813685248000ULL, 4503599627370496000ULL, 9007199254740992000ULL,
18014398509481984000ULL, 3602879701896396800ULL, 7205759403792793600ULL,
14411518807585587200ULL, 2882303761517117440ULL, 5764607523034234880ULL,
11529215046068469760ULL, 2305843009213693952ULL, 4611686018427387904ULL,
9223372036854775808ULL, 1844674407370955161ULL, 3689348814741910323ULL,
7378697629483820646ULL, 14757395258967641292ULL, 2951479051793528258ULL,
5902958103587056517ULL, 11805916207174113034ULL, 2361183241434822606ULL,
4722366482869645213ULL, 9444732965739290427ULL, 1888946593147858085ULL,
3777893186295716170ULL, 7555786372591432341ULL, 15111572745182864683ULL,
3022314549036572936ULL, 6044629098073145873ULL, 12089258196146291747ULL,
2417851639229258349ULL, 4835703278458516698ULL, 9671406556917033397ULL,
1934281311383406679ULL, 3868562622766813359ULL, 7737125245533626718ULL,
15474250491067253436ULL, 3094850098213450687ULL, 6189700196426901374ULL,
12379400392853802748ULL, 2475880078570760549ULL, 4951760157141521099ULL,
9903520314283042199ULL, 1980704062856608439ULL, 3961408125713216879ULL,
7922816251426433759ULL, 15845632502852867518ULL, 3169126500570573503ULL,
6338253001141147007ULL, 12676506002282294014ULL, 2535301200456458802ULL,
5070602400912917605ULL, 10141204801825835211ULL, 2028240960365167042ULL,
4056481920730334084ULL, 8112963841460668169ULL, 16225927682921336339ULL,
3245185536584267267ULL, 6490371073168534535ULL, 12980742146337069071ULL,
2596148429267413814ULL, 5192296858534827628ULL, 10384593717069655257ULL,
2076918743413931051ULL, 4153837486827862102ULL, 8307674973655724205ULL,
16615349947311448411ULL, 3323069989462289682ULL, 6646139978924579364ULL,
13292279957849158729ULL, 2658455991569831745ULL, 5316911983139663491ULL,
10633823966279326983ULL, 2126764793255865396ULL, 4253529586511730793ULL,
8507059173023461586ULL, 17014118346046923173ULL, 3402823669209384634ULL,
6805647338418769269ULL, 13611294676837538538ULL, 2722258935367507707ULL,
5444517870735015415ULL, 10889035741470030830ULL, 2177807148294006166ULL,
4355614296588012332ULL, 8711228593176024664ULL, 17422457186352049329ULL,
3484491437270409865ULL, 6968982874540819731ULL, 13937965749081639463ULL,
2787593149816327892ULL, 5575186299632655785ULL, 11150372599265311570ULL,
2230074519853062314ULL, 4460149039706124628ULL, 8920298079412249256ULL,
17840596158824498513ULL, 3568119231764899702ULL, 7136238463529799405ULL,
14272476927059598810ULL, 2854495385411919762ULL, 5708990770823839524ULL,
11417981541647679048ULL, 2283596308329535809ULL, 4567192616659071619ULL,
9134385233318143238ULL, 1826877046663628647ULL, 3653754093327257295ULL,
7307508186654514591ULL, 14615016373309029182ULL, 2923003274661805836ULL,
5846006549323611672ULL, 11692013098647223345ULL, 2338402619729444669ULL,
4676805239458889338ULL, 9353610478917778676ULL, 1870722095783555735ULL,
3741444191567111470ULL, 7482888383134222941ULL, 14965776766268445882ULL,
2993155353253689176ULL, 5986310706507378352ULL, 11972621413014756705ULL,
2394524282602951341ULL, 4789048565205902682ULL, 9578097130411805364ULL,
1915619426082361072ULL, 3831238852164722145ULL, 7662477704329444291ULL,
15324955408658888583ULL, 3064991081731777716ULL, 6129982163463555433ULL,
12259964326927110866ULL, 2451992865385422173ULL, 4903985730770844346ULL,
9807971461541688693ULL, 1961594292308337738ULL, 3923188584616675477ULL,
7846377169233350954ULL, 15692754338466701909ULL, 3138550867693340381ULL,
6277101735386680763ULL, 12554203470773361527ULL, 2510840694154672305ULL,
5021681388309344611ULL, 10043362776618689222ULL, 2008672555323737844ULL,
4017345110647475688ULL, 8034690221294951377ULL, 16069380442589902755ULL,
3213876088517980551ULL, 6427752177035961102ULL, 12855504354071922204ULL,
2571100870814384440ULL, 5142201741628768881ULL, 10284403483257537763ULL,
2056880696651507552ULL, 4113761393303015105ULL, 8227522786606030210ULL,
16455045573212060421ULL, 3291009114642412084ULL, 6582018229284824168ULL,
13164036458569648337ULL, 2632807291713929667ULL, 5265614583427859334ULL,
10531229166855718669ULL, 2106245833371143733ULL, 4212491666742287467ULL,
8424983333484574935ULL, 16849966666969149871ULL, 3369993333393829974ULL,
6739986666787659948ULL, 13479973333575319897ULL, 2695994666715063979ULL,
5391989333430127958ULL, 10783978666860255917ULL, 2156795733372051183ULL,
4313591466744102367ULL, 8627182933488204734ULL, 17254365866976409468ULL,
3450873173395281893ULL, 6901746346790563787ULL, 13803492693581127574ULL,
2760698538716225514ULL, 5521397077432451029ULL, 11042794154864902059ULL,
2208558830972980411ULL, 4417117661945960823ULL, 8834235323891921647ULL,
17668470647783843295ULL, 3533694129556768659ULL, 7067388259113537318ULL,
14134776518227074636ULL, 2826955303645414927ULL, 5653910607290829854ULL,
11307821214581659709ULL, 2261564242916331941ULL, 4523128485832663883ULL,
9046256971665327767ULL, 18092513943330655534ULL, 3618502788666131106ULL,
7237005577332262213ULL, 14474011154664524427ULL, 2894802230932904885ULL,
5789604461865809771ULL, 11579208923731619542ULL, 2315841784746323908ULL,
4631683569492647816ULL, 9263367138985295633ULL, 1852673427797059126ULL,
3705346855594118253ULL, 7410693711188236507ULL, 14821387422376473014ULL,
2964277484475294602ULL, 5928554968950589205ULL, 11857109937901178411ULL,
2371421987580235682ULL, 4742843975160471364ULL, 9485687950320942729ULL,
1897137590064188545ULL, 3794275180128377091ULL, 7588550360256754183ULL,
15177100720513508366ULL, 3035420144102701673ULL, 6070840288205403346ULL,
12141680576410806693ULL, 2428336115282161338ULL, 4856672230564322677ULL,
9713344461128645354ULL, 1942668892225729070ULL, 3885337784451458141ULL,
7770675568902916283ULL, 15541351137805832567ULL, 3108270227561166513ULL,
6216540455122333026ULL, 12433080910244666053ULL, 2486616182048933210ULL,
4973232364097866421ULL, 9946464728195732843ULL, 1989292945639146568ULL,
3978585891278293137ULL, 7957171782556586274ULL, 15914343565113172548ULL,
3182868713022634509ULL, 6365737426045269019ULL, 12731474852090538039ULL,
2546294970418107607ULL, 5092589940836215215ULL, 10185179881672430431ULL,
2037035976334486086ULL, 4074071952668972172ULL, 8148143905337944345ULL,
16296287810675888690ULL, 3259257562135177738ULL, 6518515124270355476ULL,
13037030248540710952ULL, 2607406049708142190ULL, 5214812099416284380ULL,
10429624198832568761ULL, 2085924839766513752ULL, 4171849679533027504ULL,
8343699359066055009ULL, 16687398718132110018ULL, 3337479743626422003ULL,
6674959487252844007ULL, 13349918974505688014ULL, 2669983794901137602ULL,
5339967589802275205ULL, 10679935179604550411ULL, 2135987035920910082ULL,
4271974071841820164ULL, 8543948143683640329ULL, 17087896287367280659ULL,
3417579257473456131ULL, 6835158514946912263ULL, 13670317029893824527ULL,
2734063405978764905ULL, 5468126811957529810ULL, 10936253623915059621ULL,
2187250724783011924ULL, 4374501449566023848ULL, 8749002899132047697ULL,
17498005798264095394ULL, 3499601159652819078ULL, 6999202319305638157ULL,
13998404638611276315ULL, 2799680927722255263ULL, 5599361855444510526ULL,
11198723710889021052ULL, 2239744742177804210ULL, 4479489484355608421ULL,
8958978968711216842ULL, 17917957937422433684ULL, 3583591587484486736ULL,
7167183174968973473ULL, 14334366349937946947ULL, 2866873269987589389ULL,
5733746539975178779ULL, 11467493079950357558ULL, 2293498615990071511ULL,
4586997231980143023ULL, 9173994463960286046ULL, 1834798892792057209ULL,
3669597785584114418ULL, 7339195571168228837ULL, 14678391142336457674ULL,
2935678228467291534ULL, 5871356456934583069ULL, 11742712913869166139ULL,
2348542582773833227ULL, 4697085165547666455ULL, 9394170331095332911ULL,
1878834066219066582ULL, 3757668132438133164ULL, 7515336264876266329ULL,
15030672529752532658ULL, 3006134505950506531ULL, 6012269011901013063ULL,
12024538023802026126ULL, 2404907604760405225ULL, 4809815209520810450ULL,
9619630419041620901ULL, 1923926083808324180ULL, 3847852167616648360ULL,
7695704335233296721ULL, 15391408670466593442ULL, 3078281734093318688ULL,
6156563468186637376ULL, 12313126936373274753ULL, 2462625387274654950ULL,
4925250774549309901ULL, 9850501549098619803ULL, 1970100309819723960ULL,
3940200619639447921ULL, 7880401239278895842ULL, 15760802478557791684ULL,
3152160495711558336ULL, 6304320991423116673ULL, 12608641982846233347ULL,
2521728396569246669ULL, 5043456793138493339ULL, 10086913586276986678ULL,
2017382717255397335ULL, 4034765434510794671ULL, 8069530869021589342ULL,
16139061738043178685ULL, 3227812347608635737ULL, 6455624695217271474ULL,
12911249390434542948ULL, 2582249878086908589ULL, 5164499756173817179ULL,
10328999512347634358ULL, 2065799902469526871ULL, 4131599804939053743ULL,
8263199609878107486ULL, 16526399219756214973ULL, 3305279843951242994ULL,
6610559687902485989ULL, 13221119375804971979ULL, 2644223875160994395ULL,
5288447750321988791ULL, 10576895500643977583ULL, 2115379100128795516ULL,
4230758200257591033ULL, 8461516400515182066ULL, 16923032801030364133ULL,
3384606560206072826ULL, 6769213120412145653ULL, 13538426240824291306ULL,
2707685248164858261ULL, 5415370496329716522ULL, 10830740992659433045ULL,
2166148198531886609ULL, 4332296397063773218ULL, 8664592794127546436ULL,
17329185588255092872ULL, 3465837117651018574ULL, 6931674235302037148ULL,
13863348470604074297ULL, 2772669694120814859ULL, 5545339388241629719ULL,
11090678776483259438ULL, 2218135755296651887ULL, 4436271510593303775ULL,
8872543021186607550ULL, 17745086042373215101ULL, 3549017208474643020ULL,
7098034416949286040ULL, 14196068833898572081ULL, 2839213766779714416ULL,
5678427533559428832ULL, 11356855067118857664ULL, 2271371013423771532ULL,
4542742026847543065ULL, 9085484053695086131ULL, 1817096810739017226ULL,
3634193621478034452ULL, 7268387242956068905ULL, 14536774485912137810ULL,
2907354897182427562ULL, 5814709794364855124ULL, 11629419588729710248ULL,
2325883917745942049ULL, 4651767835491884099ULL, 9303535670983768199ULL,
1860707134196753639ULL, 3721414268393507279ULL, 7442828536787014559ULL,
14885657073574029118ULL, 2977131414714805823ULL, 5954262829429611647ULL,
11908525658859223294ULL, 2381705131771844658ULL, 4763410263543689317ULL,
9526820527087378635ULL, 1905364105417475727ULL, 3810728210834951454ULL,
7621456421669902908ULL, 15242912843339805817ULL, 3048582568667961163ULL,
6097165137335922326ULL, 12194330274671844653ULL, 2438866054934368930ULL,
4877732109868737861ULL, 9755464219737475723ULL, 1951092843947495144ULL,
3902185687894990289ULL, 7804371375789980578ULL, 15608742751579961156ULL,
3121748550315992231ULL, 6243497100631984462ULL, 12486994201263968925ULL,
2497398840252793785ULL, 4994797680505587570ULL, 9989595361011175140ULL,
1997919072202235028ULL, 3995838144404470056ULL, 7991676288808940112ULL,
15983352577617880224ULL, 3196670515523576044ULL, 6393341031047152089ULL,
12786682062094304179ULL, 2557336412418860835ULL, 5114672824837721671ULL,
10229345649675443343ULL, 2045869129935088668ULL, 4091738259870177337ULL,
8183476519740354675ULL, 16366953039480709350ULL, 3273390607896141870ULL,
6546781215792283740ULL, 13093562431584567480ULL, 2618712486316913496ULL,
5237424972633826992ULL, 10474849945267653984ULL, 2094969989053530796ULL,
4189939978107061593ULL, 8379879956214123187ULL, 16759759912428246374ULL,
3351951982485649274ULL, 6703903964971298549ULL, 13407807929942597099ULL,
2681561585988519419ULL, 5363123171977038839ULL, 10726246343954077679ULL,
2145249268790815535ULL, 4290498537581631071ULL, 8580997075163262143ULL,
17161994150326524287ULL, 3432398830065304857ULL, 6864797660130609714ULL,
13729595320261219429ULL, 2745919064052243885ULL, 5491838128104487771ULL,
10983676256208975543ULL, 2196735251241795108ULL, 4393470502483590217ULL,
8786941004967180435ULL, 17573882009934360870ULL, 3514776401986872174ULL,
7029552803973744348ULL, 14059105607947488696ULL, 2811821121589497739ULL,
5623642243178995478ULL, 11247284486357990957ULL, 2249456897271598191ULL,
4498913794543196382ULL, 8997827589086392765ULL, 17995655178172785531ULL,
3599131035634557106ULL, 7198262071269114212ULL, 14396524142538228424ULL,
2879304828507645684ULL, 5758609657015291369ULL, 11517219314030582739ULL,
2303443862806116547ULL, 4606887725612233095ULL, 9213775451224466191ULL,
1842755090244893238ULL, 3685510180489786476ULL, 7371020360979572953ULL,
14742040721959145907ULL, 2948408144391829181ULL, 5896816288783658362ULL,
11793632577567316725ULL, 2358726515513463345ULL, 4717453031026926690ULL,
9434906062053853380ULL, 1886981212410770676ULL, 3773962424821541352ULL,
7547924849643082704ULL, 15095849699286165408ULL, 3019169939857233081ULL,
6038339879714466163ULL, 12076679759428932327ULL, 2415335951885786465ULL,
4830671903771572930ULL, 9661343807543145861ULL, 1932268761508629172ULL,
3864537523017258344ULL, 7729075046034516689ULL, 15458150092069033378ULL,
3091630018413806675ULL, 6183260036827613351ULL, 12366520073655226703ULL,
2473304014731045340ULL, 4946608029462090681ULL, 9893216058924181362ULL,
1978643211784836272ULL, 3957286423569672544ULL, 7914572847139345089ULL,
15829145694278690179ULL, 3165829138855738035ULL, 6331658277711476071ULL,
12663316555422952143ULL, 2532663311084590428ULL, 5065326622169180857ULL,
10130653244338361715ULL, 2026130648867672343ULL, 4052261297735344686ULL,
8104522595470689372ULL, 16209045190941378744ULL, 3241809038188275748ULL,
6483618076376551497ULL, 12967236152753102995ULL, 2593447230550620599ULL,
5186894461101241198ULL, 10373788922202482396ULL, 2074757784440496479ULL,
4149515568880992958ULL, 8299031137761985917ULL, 16598062275523971834ULL,
3319612455104794366ULL, 6639224910209588733ULL, 13278449820419177467ULL,
2655689964083835493ULL, 5311379928167670986ULL, 10622759856335341973ULL,
2124551971267068394ULL, 4249103942534136789ULL, 8498207885068273579ULL,
16996415770136547158ULL, 3399283154027309431ULL, 6798566308054618863ULL,
13597132616109237726ULL, 2719426523221847545ULL, 5438853046443695090ULL,
10877706092887390181ULL, 2175541218577478036ULL, 4351082437154956072ULL,
8702164874309912144ULL, 17404329748619824289ULL, 3480865949723964857ULL,
6961731899447929715ULL, 13923463798895859431ULL, 2784692759779171886ULL,
5569385519558343772ULL, 11138771039116687545ULL, 2227754207823337509ULL,
4455508415646675018ULL, 8911016831293350036ULL, 17822033662586700072ULL,
3564406732517340014ULL, 7128813465034680029ULL, 14257626930069360058ULL,
2851525386013872011ULL, 5703050772027744023ULL, 11406101544055488046ULL,
2281220308811097609ULL, 4562440617622195218ULL, 9124881235244390437ULL,
1824976247048878087ULL, 3649952494097756174ULL, 7299904988195512349ULL,
14599809976391024699ULL, 2919961995278204939ULL, 5839923990556409879ULL,
11679847981112819759ULL, 2335969596222563951ULL, 4671939192445127903ULL,
9343878384890255807ULL, 1868775676978051161ULL, 3737551353956102323ULL,
7475102707912204646ULL, 14950205415824409292ULL, 2990041083164881858ULL,
5980082166329763716ULL, 11960164332659527433ULL, 2392032866531905486ULL,
4784065733063810973ULL, 9568131466127621947ULL, 1913626293225524389ULL,
3827252586451048778ULL, 7654505172902097557ULL, 15309010345804195115ULL,
3061802069160839023ULL, 6123604138321678046ULL, 12247208276643356092ULL,
2449441655328671218ULL, 4898883310657342436ULL, 9797766621314684873ULL,
1959553324262936974ULL, 3919106648525873949ULL, 7838213297051747899ULL,
15676426594103495798ULL, 3135285318820699159ULL, 6270570637641398319ULL,
12541141275282796638ULL, 2508228255056559327ULL, 5016456510113118655ULL,
10032913020226237310ULL, 2006582604045247462ULL, 4013165208090494924ULL,
8026330416180989848ULL, 16052660832361979697ULL, 3210532166472395939ULL,
6421064332944791878ULL, 12842128665889583757ULL, 2568425733177916751ULL,
5136851466355833503ULL, 10273702932711667006ULL, 2054740586542333401ULL,
4109481173084666802ULL, 8218962346169333605ULL, 16437924692338667210ULL,
3287584938467733442ULL, 6575169876935466884ULL, 13150339753870933768ULL,
2630067950774186753ULL, 5260135901548373507ULL, 10520271803096747014ULL,
2104054360619349402ULL, 4208108721238698805ULL, 8416217442477397611ULL,
16832434884954795223ULL, 3366486976990959044ULL, 6732973953981918089ULL,
13465947907963836178ULL, 2693189581592767235ULL, 5386379163185534471ULL,
10772758326371068942ULL, 2154551665274213788ULL, 4309103330548427577ULL,
8618206661096855154ULL, 17236413322193710308ULL, 3447282664438742061ULL,
6894565328877484123ULL, 13789130657754968246ULL, 2757826131550993649ULL,
5515652263101987298ULL, 11031304526203974597ULL, 2206260905240794919ULL,
4412521810481589838ULL, 8825043620963179677ULL, 17650087241926359355ULL,
3530017448385271871ULL, 7060034896770543742ULL, 14120069793541087484ULL,
2824013958708217496ULL, 5648027917416434993ULL, 11296055834832869987ULL,
2259211166966573997ULL, 4518422333933147995ULL, 9036844667866295990ULL,
18073689335732591980ULL, 3614737867146518396ULL, 7229475734293036792ULL,
14458951468586073584ULL, 2891790293717214716ULL, 5783580587434429433ULL,
11567161174868858867ULL, 2313432234973771773ULL, 4626864469947543547ULL,
9253728939895087094ULL, 1850745787979017418ULL, 3701491575958034837ULL,
7402983151916069675ULL, 14805966303832139350ULL, 2961193260766427870ULL,
5922386521532855740ULL, 11844773043065711480ULL, 2368954608613142296ULL,
4737909217226284592ULL, 9475818434452569184ULL, 1895163686890513836ULL,
3790327373781027673ULL, 7580654747562055347ULL, 15161309495124110694ULL,
3032261899024822138ULL, 6064523798049644277ULL, 12129047596099288555ULL,
2425809519219857711ULL, 4851619038439715422ULL, 9703238076879430844ULL,
1940647615375886168ULL, 3881295230751772337ULL, 7762590461503544675ULL,
15525180923007089351ULL, 3105036184601417870ULL, 6210072369202835740ULL,
12420144738405671481ULL, 2484028947681134296ULL, 4968057895362268592ULL,
9936115790724537184ULL, 1987223158144907436ULL, 3974446316289814873ULL,
7948892632579629747ULL, 15897785265159259495ULL, 3179557053031851899ULL,
6359114106063703798ULL, 12718228212127407596ULL, 2543645642425481519ULL,
5087291284850963038ULL, 10174582569701926077ULL, 2034916513940385215ULL,
4069833027880770430ULL, 8139666055761540861ULL, 16279332111523081723ULL,
3255866422304616344ULL, 6511732844609232689ULL, 13023465689218465379ULL,
2604693137843693075ULL, 5209386275687386151ULL, 10418772551374772303ULL,
2083754510274954460ULL, 4167509020549908921ULL, 8335018041099817842ULL,
16670036082199635685ULL, 3334007216439927137ULL, 6668014432879854274ULL,
13336028865759708548ULL, 2667205773151941709ULL, 5334411546303883419ULL,
10668823092607766838ULL, 2133764618521553367ULL, 4267529237043106735ULL,
8535058474086213470ULL, 17070116948172426941ULL, 3414023389634485388ULL,
6828046779268970776ULL, 13656093558537941553ULL, 2731218711707588310ULL,
5462437423415176621ULL, 10924874846830353242ULL, 2184974969366070648ULL,
4369949938732141297ULL, 8739899877464282594ULL, 17479799754928565188ULL,
3495959950985713037ULL, 6991919901971426075ULL, 13983839803942852150ULL,
2796767960788570430ULL, 5593535921577140860ULL, 11187071843154281720ULL,
2237414368630856344ULL, 4474828737261712688ULL, 8949657474523425376ULL,
17899314949046850752ULL, 3579862989809370150ULL, 7159725979618740301ULL,
14319451959237480602ULL, 2863890391847496120ULL, 5727780783694992240ULL,
11455561567389984481ULL, 2291112313477996896ULL, 4582224626955993792ULL,
9164449253911987585ULL, 1832889850782397517ULL, 3665779701564795034ULL,
7331559403129590068ULL, 14663118806259180136ULL, 2932623761251836027ULL,
5865247522503672054ULL, 11730495045007344109ULL, 2346099009001468821ULL,
4692198018002937643ULL, 9384396036005875287ULL, 1876879207201175057ULL,
3753758414402350114ULL, 7507516828804700229ULL, 15015033657609400459ULL,
3003006731521880091ULL, 6006013463043760183ULL, 12012026926087520367ULL,
2402405385217504073ULL, 4804810770435008147ULL, 9609621540870016294ULL,
1921924308174003258ULL, 3843848616348006517ULL, 7687697232696013035ULL,
15375394465392026070ULL, 3075078893078405214ULL, 6150157786156810428ULL,
12300315572313620856ULL, 2460063114462724171ULL, 4920126228925448342ULL,
9840252457850896685ULL, 1968050491570179337ULL, 3936100983140358674ULL,
7872201966280717348ULL, 15744403932561434696ULL, 3148880786512286939ULL,
6297761573024573878ULL, 12595523146049147757ULL, 2519104629209829551ULL,
5038209258419659102ULL, 10076418516839318205ULL, 2015283703367863641ULL,
4030567406735727282ULL, 8061134813471454564ULL, 16122269626942909129ULL,
3224453925388581825ULL, 6448907850777163651ULL, 12897815701554327303ULL,
2579563140310865460ULL, 5159126280621730921ULL, 10318252561243461842ULL,
2063650512248692368ULL, 4127301024497384737ULL, 8254602048994769474ULL,
16509204097989538948ULL, 3301840819597907789ULL, 6603681639195815579ULL,
13207363278391631158ULL, 2641472655678326231ULL, 5282945311356652463ULL,
10565890622713304927ULL, 2113178124542660985ULL, 4226356249085321970ULL,
8452712498170643941ULL, 16905424996341287883ULL, 3381084999268257576ULL,
6762169998536515153ULL, 13524339997073030306ULL, 2704867999414606061ULL,
5409735998829212122ULL, 10819471997658424245ULL, 2163894399531684849ULL,
4327788799063369698ULL, 8655577598126739396ULL, 17311155196253478792ULL,
3462231039250695758ULL, 6924462078501391516ULL, 13848924157002783033ULL,
2769784831400556606ULL, 5539569662801113213ULL, 11079139325602226427ULL,
2215827865120445285ULL, 4431655730240890570ULL, 8863311460481781141ULL,
17726622920963562283ULL, 3545324584192712456ULL, 7090649168385424913ULL,
14181298336770849826ULL, 2836259667354169965ULL, 5672519334708339930ULL,
11345038669416679861ULL, 2269007733883335972ULL, 4538015467766671944ULL,
9076030935533343889ULL, 18152061871066687778ULL, 3630412374213337555ULL,
7260824748426675111ULL, 14521649496853350222ULL, 2904329899370670044ULL,
5808659798741340089ULL, 11617319597482680178ULL, 2323463919496536035ULL,
4646927838993072071ULL, 9293855677986144142ULL, 1858771135597228828ULL,
3717542271194457656ULL, 7435084542388915313ULL, 14870169084777830627ULL,
2974033816955566125ULL, 5948067633911132251ULL, 11896135267822264502ULL,
2379227053564452900ULL, 4758454107128905800ULL, 9516908214257811601ULL,
1903381642851562320ULL, 3806763285703124640ULL, 7613526571406249281ULL,
15227053142812498563ULL, 3045410628562499712ULL, 6090821257124999425ULL,
12181642514249998850ULL, 2436328502849999770ULL, 4872657005699999540ULL,
9745314011399999080ULL, 1949062802279999816ULL, 3898125604559999632ULL,
7796251209119999264ULL, 15592502418239998528ULL, 3118500483647999705ULL,
6237000967295999411ULL, 12474001934591998822ULL, 2494800386918399764ULL,
4989600773836799529ULL, 9979201547673599058ULL, 1995840309534719811ULL,
3991680619069439623ULL, 7983361238138879246ULL, 15966722476277758493ULL,
3193344495255551698ULL, 6386688990511103397ULL, 12773377981022206794ULL,
2554675596204441358ULL, 5109351192408882717ULL, 10218702384817765435ULL,
2043740476963553087ULL, 4087480953927106174ULL, 8174961907854212348ULL,
16349923815708424697ULL, 3269984763141684939ULL, 6539969526283369878ULL,
13079939052566739757ULL, 2615987810513347951ULL, 5231975621026695903ULL,
10463951242053391806ULL, 2092790248410678361ULL, 4185580496821356722ULL,
8371160993642713444ULL, 16742321987285426889ULL, 3348464397457085377ULL,
6696928794914170755ULL, 13393857589828341511ULL, 2678771517965668302ULL,
5357543035931336604ULL, 10715086071862673209ULL, 2143017214372534641ULL,
4286034428745069283ULL, 8572068857490138567ULL, 17144137714980277135ULL,
3428827542996055427ULL, 6857655085992110854ULL, 13715310171984221708ULL,
2743062034396844341ULL, 5486124068793688683ULL, 10972248137587377366ULL,
2194449627517475473ULL, 4388899255034950946ULL, 8777798510069901893ULL,
17555597020139803786ULL, 3511119404027960757ULL, 7022238808055921514ULL,
14044477616111843029ULL, 2808895523222368605ULL, 5617791046444737211ULL,
11235582092889474423ULL, 2247116418577894884ULL, 4494232837155789769ULL,
8988465674311579538ULL, 17976931348623159077ULL, 3595386269724631815ULL,
7190772539449263630ULL, 14381545078898527261ULL, 2876309015779705452ULL,
5752618031559410904ULL, 11505236063118821809ULL, 2301047212623764361ULL,
4602094425247528723ULL, 9204188850495057447ULL, 1840837770099011489ULL,
3681675540198022979ULL, 7363351080396045958ULL,
};
static const int32_t Formatter_TensExponentTable[] =
{
-323, -323, -322, -322, -322, -322, -321, -321, -321, -320, -320, -320,
-319, -319, -319, -319, -318, -318, -318, -317, -317, -317, -316, -316,
-316, -316, -315, -315, -315, -314, -314, -314, -313, -313, -313, -313,
-312, -312, -312, -311, -311, -311, -310, -310, -310, -310, -309, -309,
-309, -308, -308, -308, -307, -307, -307, -307, -306, -306, -306, -305,
-305, -305, -304, -304, -304, -304, -303, -303, -303, -302, -302, -302,
-301, -301, -301, -301, -300, -300, -300, -299, -299, -299, -298, -298,
-298, -298, -297, -297, -297, -296, -296, -296, -295, -295, -295, -295,
-294, -294, -294, -293, -293, -293, -292, -292, -292, -291, -291, -291,
-291, -290, -290, -290, -289, -289, -289, -288, -288, -288, -288, -287,
-287, -287, -286, -286, -286, -285, -285, -285, -285, -284, -284, -284,
-283, -283, -283, -282, -282, -282, -282, -281, -281, -281, -280, -280,
-280, -279, -279, -279, -279, -278, -278, -278, -277, -277, -277, -276,
-276, -276, -276, -275, -275, -275, -274, -274, -274, -273, -273, -273,
-273, -272, -272, -272, -271, -271, -271, -270, -270, -270, -270, -269,
-269, -269, -268, -268, -268, -267, -267, -267, -267, -266, -266, -266,
-265, -265, -265, -264, -264, -264, -263, -263, -263, -263, -262, -262,
-262, -261, -261, -261, -260, -260, -260, -260, -259, -259, -259, -258,
-258, -258, -257, -257, -257, -257, -256, -256, -256, -255, -255, -255,
-254, -254, -254, -254, -253, -253, -253, -252, -252, -252, -251, -251,
-251, -251, -250, -250, -250, -249, -249, -249, -248, -248, -248, -248,
-247, -247, -247, -246, -246, -246, -245, -245, -245, -245, -244, -244,
-244, -243, -243, -243, -242, -242, -242, -242, -241, -241, -241, -240,
-240, -240, -239, -239, -239, -239, -238, -238, -238, -237, -237, -237,
-236, -236, -236, -235, -235, -235, -235, -234, -234, -234, -233, -233,
-233, -232, -232, -232, -232, -231, -231, -231, -230, -230, -230, -229,
-229, -229, -229, -228, -228, -228, -227, -227, -227, -226, -226, -226,
-226, -225, -225, -225, -224, -224, -224, -223, -223, -223, -223, -222,
-222, -222, -221, -221, -221, -220, -220, -220, -220, -219, -219, -219,
-218, -218, -218, -217, -217, -217, -217, -216, -216, -216, -215, -215,
-215, -214, -214, -214, -214, -213, -213, -213, -212, -212, -212, -211,
-211, -211, -211, -210, -210, -210, -209, -209, -209, -208, -208, -208,
-208, -207, -207, -207, -206, -206, -206, -205, -205, -205, -204, -204,
-204, -204, -203, -203, -203, -202, -202, -202, -201, -201, -201, -201,
-200, -200, -200, -199, -199, -199, -198, -198, -198, -198, -197, -197,
-197, -196, -196, -196, -195, -195, -195, -195, -194, -194, -194, -193,
-193, -193, -192, -192, -192, -192, -191, -191, -191, -190, -190, -190,
-189, -189, -189, -189, -188, -188, -188, -187, -187, -187, -186, -186,
-186, -186, -185, -185, -185, -184, -184, -184, -183, -183, -183, -183,
-182, -182, -182, -181, -181, -181, -180, -180, -180, -180, -179, -179,
-179, -178, -178, -178, -177, -177, -177, -176, -176, -176, -176, -175,
-175, -175, -174, -174, -174, -173, -173, -173, -173, -172, -172, -172,
-171, -171, -171, -170, -170, -170, -170, -169, -169, -169, -168, -168,
-168, -167, -167, -167, -167, -166, -166, -166, -165, -165, -165, -164,
-164, -164, -164, -163, -163, -163, -162, -162, -162, -161, -161, -161,
-161, -160, -160, -160, -159, -159, -159, -158, -158, -158, -158, -157,
-157, -157, -156, -156, -156, -155, -155, -155, -155, -154, -154, -154,
-153, -153, -153, -152, -152, -152, -152, -151, -151, -151, -150, -150,
-150, -149, -149, -149, -149, -148, -148, -148, -147, -147, -147, -146,
-146, -146, -145, -145, -145, -145, -144, -144, -144, -143, -143, -143,
-142, -142, -142, -142, -141, -141, -141, -140, -140, -140, -139, -139,
-139, -139, -138, -138, -138, -137, -137, -137, -136, -136, -136, -136,
-135, -135, -135, -134, -134, -134, -133, -133, -133, -133, -132, -132,
-132, -131, -131, -131, -130, -130, -130, -130, -129, -129, -129, -128,
-128, -128, -127, -127, -127, -127, -126, -126, -126, -125, -125, -125,
-124, -124, -124, -124, -123, -123, -123, -122, -122, -122, -121, -121,
-121, -121, -120, -120, -120, -119, -119, -119, -118, -118, -118, -117,
-117, -117, -117, -116, -116, -116, -115, -115, -115, -114, -114, -114,
-114, -113, -113, -113, -112, -112, -112, -111, -111, -111, -111, -110,
-110, -110, -109, -109, -109, -108, -108, -108, -108, -107, -107, -107,
-106, -106, -106, -105, -105, -105, -105, -104, -104, -104, -103, -103,
-103, -102, -102, -102, -102, -101, -101, -101, -100, -100, -100, -99,
-99, -99, -99, -98, -98, -98, -97, -97, -97, -96, -96, -96,
-96, -95, -95, -95, -94, -94, -94, -93, -93, -93, -93, -92,
-92, -92, -91, -91, -91, -90, -90, -90, -89, -89, -89, -89,
-88, -88, -88, -87, -87, -87, -86, -86, -86, -86, -85, -85,
-85, -84, -84, -84, -83, -83, -83, -83, -82, -82, -82, -81,
-81, -81, -80, -80, -80, -80, -79, -79, -79, -78, -78, -78,
-77, -77, -77, -77, -76, -76, -76, -75, -75, -75, -74, -74,
-74, -74, -73, -73, -73, -72, -72, -72, -71, -71, -71, -71,
-70, -70, -70, -69, -69, -69, -68, -68, -68, -68, -67, -67,
-67, -66, -66, -66, -65, -65, -65, -65, -64, -64, -64, -63,
-63, -63, -62, -62, -62, -62, -61, -61, -61, -60, -60, -60,
-59, -59, -59, -58, -58, -58, -58, -57, -57, -57, -56, -56,
-56, -55, -55, -55, -55, -54, -54, -54, -53, -53, -53, -52,
-52, -52, -52, -51, -51, -51, -50, -50, -50, -49, -49, -49,
-49, -48, -48, -48, -47, -47, -47, -46, -46, -46, -46, -45,
-45, -45, -44, -44, -44, -43, -43, -43, -43, -42, -42, -42,
-41, -41, -41, -40, -40, -40, -40, -39, -39, -39, -38, -38,
-38, -37, -37, -37, -37, -36, -36, -36, -35, -35, -35, -34,
-34, -34, -34, -33, -33, -33, -32, -32, -32, -31, -31, -31,
-30, -30, -30, -30, -29, -29, -29, -28, -28, -28, -27, -27,
-27, -27, -26, -26, -26, -25, -25, -25, -24, -24, -24, -24,
-23, -23, -23, -22, -22, -22, -21, -21, -21, -21, -20, -20,
-20, -19, -19, -19, -18, -18, -18, -18, -17, -17, -17, -16,
-16, -16, -15, -15, -15, -15, -14, -14, -14, -13, -13, -13,
-12, -12, -12, -12, -11, -11, -11, -10, -10, -10, -9, -9,
-9, -9, -8, -8, -8, -7, -7, -7, -6, -6, -6, -6,
-5, -5, -5, -4, -4, -4, -3, -3, -3, -3, -2, -2,
-2, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 2,
2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5,
6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9,
9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13,
13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16,
16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19, 20,
20, 20, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23,
24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 27, 27,
27, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 31,
31, 31, 32, 32, 32, 32, 33, 33, 33, 34, 34, 34,
35, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38,
38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 41, 41,
42, 42, 42, 43, 43, 43, 44, 44, 44, 44, 45, 45,
45, 46, 46, 46, 47, 47, 47, 47, 48, 48, 48, 49,
49, 49, 50, 50, 50, 50, 51, 51, 51, 52, 52, 52,
53, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56,
56, 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60,
60, 60, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63,
63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 66, 67,
67, 67, 68, 68, 68, 69, 69, 69, 69, 70, 70, 70,
71, 71, 71, 72, 72, 72, 72, 73, 73, 73, 74, 74,
74, 75, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78,
78, 78, 78, 79, 79, 79, 80, 80, 80, 81, 81, 81,
81, 82, 82, 82, 83, 83, 83, 84, 84, 84, 84, 85,
85, 85, 86, 86, 86, 87, 87, 87, 88, 88, 88, 88,
89, 89, 89, 90, 90, 90, 91, 91, 91, 91, 92, 92,
92, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 96,
96, 96, 97, 97, 97, 97, 98, 98, 98, 99, 99, 99,
100, 100, 100, 100, 101, 101, 101, 102, 102, 102, 103, 103,
103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 106,
107, 107, 107, 108, 108, 108, 109, 109, 109, 109, 110, 110,
110, 111, 111, 111, 112, 112, 112, 112, 113, 113, 113, 114,
114, 114, 115, 115, 115, 116, 116, 116, 116, 117, 117, 117,
118, 118, 118, 119, 119, 119, 119, 120, 120, 120, 121, 121,
121, 122, 122, 122, 122, 123, 123, 123, 124, 124, 124, 125,
125, 125, 125, 126, 126, 126, 127, 127, 127, 128, 128, 128,
128, 129, 129, 129, 130, 130, 130, 131, 131, 131, 131, 132,
132, 132, 133, 133, 133, 134, 134, 134, 134, 135, 135, 135,
136, 136, 136, 137, 137, 137, 137, 138, 138, 138, 139, 139,
139, 140, 140, 140, 140, 141, 141, 141, 142, 142, 142, 143,
143, 143, 143, 144, 144, 144, 145, 145, 145, 146, 146, 146,
147, 147, 147, 147, 148, 148, 148, 149, 149, 149, 150, 150,
150, 150, 151, 151, 151, 152, 152, 152, 153, 153, 153, 153,
154, 154, 154, 155, 155, 155, 156, 156, 156, 156, 157, 157,
157, 158, 158, 158, 159, 159, 159, 159, 160, 160, 160, 161,
161, 161, 162, 162, 162, 162, 163, 163, 163, 164, 164, 164,
165, 165, 165, 165, 166, 166, 166, 167, 167, 167, 168, 168,
168, 168, 169, 169, 169, 170, 170, 170, 171, 171, 171, 171,
172, 172, 172, 173, 173, 173, 174, 174, 174, 175, 175, 175,
175, 176, 176, 176, 177, 177, 177, 178, 178, 178, 178, 179,
179, 179, 180, 180, 180, 181, 181, 181, 181, 182, 182, 182,
183, 183, 183, 184, 184, 184, 184, 185, 185, 185, 186, 186,
186, 187, 187, 187, 187, 188, 188, 188, 189, 189, 189, 190,
190, 190, 190, 191, 191, 191, 192, 192, 192, 193, 193, 193,
193, 194, 194, 194, 195, 195, 195, 196, 196, 196, 196, 197,
197, 197, 198, 198, 198, 199, 199, 199, 199, 200, 200, 200,
201, 201, 201, 202, 202, 202, 202, 203, 203, 203, 204, 204,
204, 205, 205, 205, 206, 206, 206, 206, 207, 207, 207, 208,
208, 208, 209, 209, 209, 209, 210, 210, 210, 211, 211, 211,
212, 212, 212, 212, 213, 213, 213, 214, 214, 214, 215, 215,
215, 215, 216, 216, 216, 217, 217, 217, 218, 218, 218, 218,
219, 219, 219, 220, 220, 220, 221, 221, 221, 221, 222, 222,
222, 223, 223, 223, 224, 224, 224, 224, 225, 225, 225, 226,
226, 226, 227, 227, 227, 227, 228, 228, 228, 229, 229, 229,
230, 230, 230, 230, 231, 231, 231, 232, 232, 232, 233, 233,
233, 234, 234, 234, 234, 235, 235, 235, 236, 236, 236, 237,
237, 237, 237, 238, 238, 238, 239, 239, 239, 240, 240, 240,
240, 241, 241, 241, 242, 242, 242, 243, 243, 243, 243, 244,
244, 244, 245, 245, 245, 246, 246, 246, 246, 247, 247, 247,
248, 248, 248, 249, 249, 249, 249, 250, 250, 250, 251, 251,
251, 252, 252, 252, 252, 253, 253, 253, 254, 254, 254, 255,
255, 255, 255, 256, 256, 256, 257, 257, 257, 258, 258, 258,
258, 259, 259, 259, 260, 260, 260, 261, 261, 261, 261, 262,
262, 262, 263, 263, 263, 264, 264, 264, 265, 265, 265, 265,
266, 266, 266, 267, 267, 267, 268, 268, 268, 268, 269, 269,
269, 270, 270, 270, 271, 271, 271, 271, 272, 272, 272, 273,
273, 273, 274, 274, 274, 274, 275, 275, 275, 276, 276, 276,
277, 277, 277, 277, 278, 278, 278, 279, 279, 279, 280, 280,
280, 280, 281, 281, 281, 282, 282, 282, 283, 283, 283, 283,
284, 284, 284, 285, 285, 285, 286, 286, 286, 286, 287, 287,
287, 288, 288, 288, 289, 289, 289, 289, 290, 290, 290, 291,
291, 291, 292, 292, 292, 293, 293, 293,
};
static const int16_t Formatter_DigitLowerTable[] =
{
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
};
static const int16_t Formatter_DigitUpperTable[] =
{
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
};
static const int64_t Formatter_TenPowersList[] =
{
1LL,
10LL,
100LL,
1000LL,
10000LL,
100000LL,
1000000LL,
10000000LL,
100000000LL,
1000000000LL,
10000000000LL,
100000000000LL,
1000000000000LL,
10000000000000LL,
100000000000000LL,
1000000000000000LL,
10000000000000000LL,
100000000000000000LL,
1000000000000000000LL,
};
// DecHexDigits s a translation table from a decimal number to its
// digits hexadecimal representation (e.g. DecHexDigits [34] = 0x34).
static const int32_t Formatter_DecHexDigits[] =
{
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,
};
#endif