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