[vmkit-commits] [vmkit] r53516 - /vmkit/trunk/lib/N3/Mono/number-formatter.h

Nicolas Geoffray nicolas.geoffray at lip6.fr
Sat Jul 12 02:54:58 PDT 2008


Author: geoffray
Date: Sat Jul 12 04:54:58 2008
New Revision: 53516

URL: http://llvm.org/viewvc/llvm-project?rev=53516&view=rev
Log:
Add the number-fromatter.h file of Mono. This file is under
the Mono license.


Added:
    vmkit/trunk/lib/N3/Mono/number-formatter.h

Added: vmkit/trunk/lib/N3/Mono/number-formatter.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/Mono/number-formatter.h?rev=53516&view=auto

==============================================================================
--- vmkit/trunk/lib/N3/Mono/number-formatter.h (added)
+++ vmkit/trunk/lib/N3/Mono/number-formatter.h Sat Jul 12 04:54:58 2008
@@ -0,0 +1,914 @@
+/* 
+ * This file is under the Mono License.
+ * (C) 2008 Ximian, Inc.  http://www.ximian.com
+ */
+
+#ifndef _MONO_METADATA_NUMBER_FORMATTER_H_
+#define _MONO_METADATA_NUMBER_FORMATTER_H_ 1
+
+static const guint64 Formatter_MantissaBitsTable [] = {
+	4556951262222748432ULL, 9113902524445496865ULL, 18227805048890993730ULL, 
+	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, 
+	18306845872749401303ULL, 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, 
+	18130221999122236476ULL, 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, 18386229439566681806ULL, 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, 18208839675781754744ULL, 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, 18287798260516399715ULL, 
+	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, 18111358157653424735ULL, 
+	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, 
+	18367099231598242312ULL, 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, 
+	18189894035458564758ULL, 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, 18268770466636286477ULL, 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, 18347988927920572092ULL, 
+	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, 18170968107390172263ULL, 
+	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, 
+	18427550902448932383ULL, 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, 
+	18249762470488780874ULL, 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, 18328898507823975170ULL, 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, 18408377700990114895ULL, 
+	3681675540198022979ULL, 7363351080396045958ULL, 
+};
+
+static const gint32 Formatter_TensExponentTable [] = {
+	-323, -323, -323, -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, -264, -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, -236, -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, -205, -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, -177, -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, -118, 
+	-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, -90, -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, -59, -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, 
+	-31, -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, 28, 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, 87, 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, 115, 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, 
+	146, 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, 174, 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, 233, 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, 292, 293, 293, 
+};
+
+static const gunichar2 Formatter_DigitLowerTable [] = {
+	'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
+};
+
+static const gunichar2 Formatter_DigitUpperTable [] = {
+	'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
+};
+
+static gint64 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 gint32 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





More information about the vmkit-commits mailing list