;Script for testing base20 conversions on larger and larger integers. ;Also prints out the longer and longer sentences constructed during the test. (defun q-test-base20-conversions (ndlo ndhi) (prog (big1 satz big2) (loop for ndig from ndlo to ndhi do (setq lopwr (expt 10 (+ -1 ndig))) (setq del (random (* 9 lopwr))) (setq big1 (+ lopwr del)) (format t "#d=~3D n=~D~%" ndig big1) (finish-output) (setq satz (bigint-to-rad20-convow-sentence big1)) (format t " s=~S " satz) (finish-output) (setq big2 (stringsatz-parse-convows-to-bigint satz)) (unless (= big1 big2) (format t "BUG!!~%big1=~D big2=~D~%" big1 big2) (return :BUG)) (format t "OK.~%") (finish-output) ))) ;Transcript below. Note a bug in (RANDOM PositiveBigInteger) in PowerLisp ; causes problems every so often below. #d= 1 n=9 s="Ee." OK. #d= 2 n=69 s="Fee." OK. #d= 3 n=659 s="Eroy." OK. #d= 4 n=9049 s="Ciree." OK. #d= 5 n=72713 s="Mevoa." OK. #d= 6 n=195828 s="Egeepea." OK. #d= 7 n=1221600 s="Auroiba." OK. #d= 8 n=43926196 s="Soinoomui." OK. #d= 9 n=988340827 s="Oolaydiecau." OK. #d= 10 n=8952270718 s="Joyzeusuivey." OK. #d= 11 n=14231167561 s="Pikuveyshe." OK. #d= 12 n=765490568920 s="Ceesha vuicija." OK. #d= 13 n=7686717394358 s="Vahu chotaazey." OK. #d= 14 n=19393050130478 s="Ezay nuilojaifey." OK. #d= 15 n=685332772358176 s="Faisheiwu paugoolui." OK. #d= 16 n=4509208121197492 s="Edakashui zaymoatie." OK. #d= 17 n=29825827107712428 s="Auhieseu keapogecea." OK. #d= 18 n=718286448723721576 s="Lookaa fule johoshui." OK. #d= 19 n=1539173418488877451 s="Shooveeshe sozoomoareu." OK. #d= 20 n=81806397299652817873 s="Deeshie haachoinau ceidusoa." OK. #d= 21 n=997327592286329915448 s="Enea teafiesoa soashechearea." OK. #d= 22 n=5935294298899576342665 s="Eeci raimozei vaazieduisaa." OK. #d= 23 n=95421285049408264417509 s="Kaara niefeadi nudierovee." OK. #d= 24 n=658717384459868003615716 s="Inaa deefoashui fopay pipoyhui." OK. #d= 25 n=2284387981586067329938008 s="Eataa soyveepai vaavi biedaabea." OK. #d= 26 n=29412914473738859325295366 s="Hieganey jisui cufui choceylai." OK. #d= 27 n=291240874635179940483417329 s="Iveichey jizey cheuvui leicekojee." OK. #d= 28 n=6242774801975022020844144797 s="Doynoihey koitealoagay soosooshechay." OK. #d= 29 n=99814426371284872855504923015 s="Ikeushe wautoove cheakaashau haavaunoo." OK. #d= 30 n=383795581847180214281585124874 s="Eefafo chisebee giewakee vaubiefoi." OK. #d= 31 n=4381568854909432593072210326000 s="Humaazey teuchoojofui saizoa hoinooba." OK. #d= 32 n=32619885018829392859481109440870 s="Eshaytaumai foiniezutui loamie joibifei." OK. #d= 33 n=586374972062610170305651950147148 s="Coichahauni pohauchai doshuneu tealauzea." OK. #d= 34 n=9620543564241731744502036139488971 s="Eloaleuroa ceajoo sacoyfoi beivoi seuwileu." OK. #d= 35 n=26031575579985121365168524602097598 s="Ozeuredei muzeu shipavay goomui shodochey." OK. #d= 36 n=420710346921502647723333409029187437 s="Fisuihuijaa cera naazoijeu veuhui cieleapay." OK. #d= 37 n=2501013625437621747719048307257189521 s="Shiesie beumoorau vaamabe teaju nazayloawe." OK. #d= 38 n=60137451602848481709766824909387367243 s="Cilefeu luifay rezeisijo nuimeybee feubeydo." OK. #d= 39 n=427178641246842661315449587316844601387 s="Koydoipeufai zujoa nuijaanayfoa vupaa seyvomau." OK. #d= 40 n=8463160169918372277949503432845816398692 s="Auzie veedoori coocaado hofaamoi raanoo ziemuitie." OK. #d= 41 n=58603905686530228898682605293191455848010 s="Doipeu sima zeymariepee moapieshoafaa huimoycabei." OK. #d= 42 n=889694271234463660731383646069619578512036 s="Iceapuishay mooriecoyboy zifeeshamai moinaa shaatacui." OK. #d= 43 n=9509646348134110531905210324156410514384472 s="Cidui noyjeujadee toosaizadeu geeheykoy voihoishefie." OK. #d= 44 n=35524569427355281250435578244052347162683224 s="Gituwoa koavui gaakeyse loovea choitootoi wulaiveacu." OK. #d= 45 n=374608573368807948963221538278301998702260650 s="Ifie gelealoso setoashoovai jasheatei leuwee teedeurei." OK. #d= 46 n=4927660242614937175454477571727466051419540420 s="Ceasoade geepayfey naazay maukipoanei beikiroa liedeuca." OK. #d= 47 n=84059895792713156960043651786942868554233230139 s="Egee hayfeypea riepasajey poychi juikaipoy nizoy zaysoojoy." OK. #d= 48 n=931646825778440301107051630102225738169439246256 s="Oapizoyja laineileunui shoosheu naanecaigi gaygay moohoorui." OK. #d= 49 n=5158272567040398125963882654846409681594355546126 s="Foocaacoy gautevoa doapaysumay miekiefetoo mauheu wifaajai." OK. #d= 50 n=46455871198407706434177060420027851566383014157307 s="Esui beavo sheiniloy hiejau kaykeulie pashi foyneuwoi peymoahau." OK. #d= 51 n=979256278954804240513714393065681963698273051710833 s="Cooreice tayju puri noymadieza nooshey fasaulo vuiloafaycoa." OK. #d= 52 n=7736985867548326321566101875111188609740007078289951 s="Temau chuchoiwea seupairau guikey geiseitoa weuseesheebei poyjuzeu." OK. #d= 53 n=25605798746372532497633889879631925776871227772470671 s="Ijeunoalaa coazaymo sefoa shaajeavai faati weedaupie joashayshuiseu." OK. #d= 54 n=623676214936557560434596331531085013462556390063396456 s="Duitee golozie zeujay chehu jateki hoikoo hoizievea choituigeudui." OK. #d= 55 n=6844835088910891150047844952961256545451653293064133024 s="Epinoaroy chaikay deyshaycoi teywoo wuchaahuwoi meushobaivu deiwiepu." OK. #d= 56 n=40445785258651654232773837680238559335468831867575891314 s="Eefey neeceyleu mapaihaa moafeipudu roreifo fashey duwei zeejeahoi." OK. #d= 57 n=507118499029787916150930763859315591812692804086399885485 s="Hooji fonearau gaywaavee beycu keacieco vudomoote royree choyhoataa." OK. #d= 58 n=1640246243923112398458328762013664209007974450793977781454 s="Shieshoynei toogai nocamay deaneehie hibuigeivey jaynuchu dooshedoaroi." OK. #d= 59 n=-42919517333420247850363809048745730842231271468708246801353 An error has occurred: Character #S isn't valid digit #d= 59 n=16525403663880682073213590758131336154797985084149244226373 s="Eekay luitoceu joazailoi macaabeu heifeyley vaatoasui weizeepeu shuilaashoa." OK. #d= 60 n=216018690486570220230189665704493633090541231764651989422097 s="Jivuichaa loyho koitihu mocaa raumaushe velei hoanayshu naitau joazoogay." OK. #d= 61 n=4806253660342664037397378768612676455125150998432936510246303 s="Aiwieboo poshey joijoidoi veucoa shookeyzay nuideaceumay baycheitaipie cheeboovo." OK. #d= 62 n=76572651658444341675644618746815077127596614138546224486244779 s="Heawainaa geylikaimoi lohaijoi shuiheuhai wiguifainaa josaulezay poybeushoy." OK. #d= 63 n=242186578985425041421044404726048897308445660983199420511651899 s="Zufaudie riveifey boatuikee shaijaabi peamee liepeeroa reichei paukaa mayweetoy." OK. #d= 64 n=6341992573546275928187454012770230256508866082332366469137240499 s="Cinie naalecie kowoicei fiboikei moafai dushayhaibaa neame sheifaaga hauvegoy." OK. #d= 65 n=78427707069273538362201634802058694667835052763830325578205946226 s="Seyrie meibieshei kamoy wauvaalau hauroyja shoyfookau daykaisee naagiezoy maufaapai." OK. #d= 66 n=829514665806410150724845768419867664953676260503520943370721221393 s="Aukau beugoochey maudeejai doacemeechei jayneydaday zimeehay mielaudei launauroamoa." OK. #d= 67 n=4359359600571365155838234625525960054797604094770989573039908628753 s="Ceytaupi paylasa nierayhite jauci keahaubo comoonegoy zeareimui zeapeasheuzoa." OK. #d= 68 n=87003427476961409413202893564490516209414191633127062304592360903003 s="Eshie teyhai vochoola toali feuweyshee veidayziewai ziruiti koaneusey foadoo roorayno." OK. #d= 69 n=335408398610850190442621505682348860001915533848388680055772571627025 s="Auloy beibi huisaysofoa jenaahey bietaariboa soybauvoy goamaasaupui seyrai liesaupaa." OK. #d= 70 n=3057251414012437113435772344774252365867310347884337535149174681111087 s="Fauzoawey shaugoocai faadimoley veefoy hieleu baashateesaa roycochoanui shuroi kuishaytau." OK. #d= 71 n=34620971782301404205868048764864799305950644285093843595908863136957803 s="Eshea tuibabee tootoi zimauzaa zeeshaupie gesoogerie bekaa pewizoyfi cheechai naachoino." OK. #d= 72 n=420262516742160409106847142807186703594969197112654129636820684884999599 s="Cojeu tacheu shaivoysa meifaycuihee meudoy taufoo dalutu jeutay juineykaavea bejeugeychoy." OK. #d= 73 n=8220522305298633103639636363909017589532783665271395613763069048588989587 s="Eduijie haada shauroabie raushaugaase loakay doichoicha hooloabaa mogoy laikeetu tugefoachau." OK. #d= 74 n=49804118810734360292157861809055907671384170903622426100887354185695025214 s="Aishusoa pookoy nanautoylo mezoidusea vaipi toaboale hiekuife tataicha siezeu moashoboi." OK. #d= 75 n=131400256674220463758067307686337926989074329986861573294288298892967941588 s="Eygoifeu wogu koyshaymai reukoa mivee lemeyma kaipuimoycai zoyvoi jeukeize sooni reeroachea." OK. #d= 76 n=1593118587445646890622882429068021911684988270691868535306692846428269623136 s="Pecoowey toasheemie seuchasee woheape saymuichie gaudoroape feageu leebeipo hoare taadaywui." OK. #d= 77 n=21313825062598832279445506218271667653830513549483022357224549020979508924002 s="Aukayzoi chaineyroo waaveezeuwoo faucheevausui vooshoirumey kabaa cheynaukoi loisaa jiebu weiveibi." OK. #d= 78 n=248875635689200146251650374495164235180673051809790296209870032583511687126711 s="Gaijeyloaca gicheu maysa chusheiney beekosaase chaasheu waushicau napipie basheemoalei dunuiveu." OK. #d= 79 n=7215497780274994067722928864511987224434410946296969153792576640460222662895366 s="Aiho keumeamoo zucite zisaima heijuweyri piseikeekee sheyzi keifoybe chekushayloy doceylai." OK. #d= 80 n=92127305047674622347526667809309710321648329449456985282796407549954121291417205 s="Foyshoceu shobeuzeifai gaizaypea raucayvui beypoajea jamau heloynea moyjoo teutauba gizaa feukobaa." OK. #d= 81 n=23170289822894445527595604535193482598780793842510640086894364165884016549609227 s="Caceywosi liejiwie taadushoymee feuhaiteike huidui keaboone coyculayvei shuiloiru keypoococau." OK. ;Above is wrong: Random number was negative, but not sufficiently so that ; the sum would be negative, but resultant number has too few digits. #d= 82 n=9089238359296429055827002674687774170001851617934423952871665431495771281347232251 s="Oytosobie woyzenoi huishayshopei teysay puitolai loibuibeichay jiezeyshoy beykeycui heashaa seucagareu." OK. #d= 83 n=10102972811104135456558633349996269996533096703021745156242912453657266496702857441 s="Ceshishiewee bimoocea rolee reipoi vareijeu ceaveuha cevu jeiniebaicoo leiraarui faulie neichiezore." OK. #d= 84 n=-471789678839324967146902557226698136935704567491379633975165204369962024606876667738 An error has occurred: Character #S isn't valid digit #d= 84 n=-743737352671275225438298671939596261613204052131331127338493942710308226376140622913 An error has occurred: Character #S isn't valid digit #d= 84 n=50509867847118175792538545909164569633188716607873985096147461780698170935330706772 s="Heeneijeite wiegee taloawo fowau rosheajoa zuta fuivie heapuifuiwau daateicea hohaa vifu nuishaishie." OK. ;Above is wrong: Random number was negative, but not sufficiently so that ; the sum would be negative, but resultant number has too few digits. #d= 85 n=7875034866561134133938346468139796386608536812321182663692539710047386187748906190973 s="Disui hosheulie volau loopaapi tuidealecui wafehie feelaytu toopau woogaafoy catauraykey shuisosayloa." OK. #d= 86 n=10461898705804787055744633591347947708350752427308374515581838262578950230074034073879 s="Duitaa reiraysacei ceavoydi lucha zeucaakui hoyceuceeko zaakauchaaca joasiekeimau joybea lihai viechusoy." OK. #d= 87 n=177603844532941886118347864043868008687750250882124714902428563064073501786414243136281 s="Ili vuishoyhau bikasea toawucaloo wosaitau varumoi meugeyshai feivo hayjea fuichauboy veaweuwi noyrate." OK. #d= 88 n=-7449433781300616126385125717773961719970846955506599016100388134462573605598333025859691 An error has occurred: Character #S isn't valid digit #d= 88 n=4926275657415371108611249994243866278503235437162421199391603252720130405638554553549048 s="Faivaa kaynuibei jewoyfea chameimuihaa koypeceuhai zeshaa cahoigeeveu jobure toinoa chaujaarui boizoysierea." OK. #d= 89 n=79626072108029750330712071478122553478960811641116491198720758343140559824170171553415346 s="Isoydoa watie wuhamoa boidoajoa raakeu jilumaa guichie reemoyhe shoake meijeykee nezeu weyjeedau jeineaweykai." OK. #d= 90 n=941387555173407330064341259479344080423975451157954208623704360362204516547208234334911245 s="Ceuzeyfie fushoozuhoi sayzayjui peyhauju seyrey cheigaa seupoabuigei feykatai kaaciecui mierauso jese moafeydaa." OK. #d= 91 n=3591770056745655516909313283402490676530882445927203369985539694946493614900381807384723263 s="Jesaypumay foaraului foozie sheebeyni pacaysaiwoi mieweu peasealu peuneu jesoohi hoijeuvahoo luka koineafo." OK. #d= 92 n=38124897603854084137415202369948996224008574098442691603468235417734879986801341898276844173 s="Ogeutea tuboovea wadoimeu dogeu deideirojui seileekieboi rayhudo riboni puilaybei neisay seanaysha peiheiloa." OK. #d= 93 n=-225017810986339435089287417884132894655630970428700298664733163849451567737394392606847156149 An error has occurred: Character #S isn't valid digit #d= 93 n=816909939141854194516109254405129301073058013950775721800535785772281375382631923033727488790 s="Feefaychoidoa taafoyreicu heybewaidoa chawo jeapo leagure heepa reuchaitasie voatinuiroi lookeatoa nechuiwechei." OK. #d= 94 n=7038988820052766771150594307964852959330548319345732093907450431981409200200283542213946156675 s="Emuigeigau doibuveetoi tihui zievuirai keidoisoy lahuizaa ceatea chisheagau keujee juivaitei toidau joysautie shomeusoo." OK. #d= 95 n=99939881416782984884452417684075392007009128413420243568309543375686549677683204655006758255095 s="Cefaagoizui zeicoy rubealeykoo copoyrau reazeihea keykeysheuboy boajoo muvisivay roynoafaa bauwaidoipui gapoycaytoo." OK. #d= 96 n=72085460682518765643912415968968716569773923822447196503394549627309252208774196347240470322502 s="Oohaazeilo mobei naudaywie kaafiejey daajeevuicay foijeeha leiguibi seytoi deajuili laugei weushivie boicie joynaihi." OK. ;Above is wrong: Random number was negative, but not sufficiently so that ; the sum would be negative, but resultant number has too few digits. #d= 97 n=3864347669598717043907813267602276303200942581357813493594474790342489206803756931300034165290754 s="Ibey jicheu wieteudei rielay nuijalichaa coigoytitaa bumoyhie keecoi zejaroyfui chuiwe woimadey seepihau poawoacaizoi." OK. #d= 98 n=15824018912663964155117062447099022477033556477944997354970478993914352378652192533071650130134055 s="Eakeizainoo ciebeezoy feugauteychu hoosayfee feikodau dihievoa bauhonoi moohoi cooroyziepoi hoizayki rayveu joahoajoodoo." OK. #d= 99 n=352119210431050026345176848702665303161607795092650211102119987797334883765287115761383224137369125 s="Mailudayho zajusaa noicujay noobebeu readei veurauwea luizeypai zojo heicaichoy geylee lezaufoi kailiepiefay deypiwaa." OK. #d=100 n=8541563674433377725509803212107499970470316718983857156854601817432338176508935860534451251796541689 s="Eujezaimaa jiereega foafeiwoifui joikuicheasoa coodo heniete jayfeejoi zoifau wooca goykeishey shoimaysoovay nibee jeakoigee." OK. #d=150 n=109919222353299299783030644678145995917492984486742143567253308023458606874666321963731176895459884252684222142268200226604335628196203932831493391510 s="Aahuichai zoizeadey kahoi leypahoa cuiceudugai faugo riemeafaamui zatey cucu hachoiwea foruisei zigaasoo shepoi zepoway leikeehowui japaa shepozo shumoyzochea zajai giecoaseyvei." OK. #d=200 n=44769787267914424674646585103985900642963655973138995074511841480134132855259969273070100266882078727878020686876357571278424431257415219289696329536899952075769126981404421378755759850360808404411178 s="Feylau shaiweutoasea pilaychocei zuinaa baloymi baulaichoi weakoomoofo neudey kaabea deusoabu waagoivo meuhoinoy vaanuluco rame veachadea cadietaacey kiemuigoi raysei wuloisho ceeboovoa kulei focheebai beyceikedoo weechi jiegaivoy ceujaupaushey." OK.