| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546 |
- /* Generated by Cython 0.20.1 on Sun Mar 16 22:58:12 2014 */
- #define PY_SSIZE_T_CLEAN
- #ifndef CYTHON_USE_PYLONG_INTERNALS
- #ifdef PYLONG_BITS_IN_DIGIT
- #define CYTHON_USE_PYLONG_INTERNALS 0
- #else
- #include "pyconfig.h"
- #ifdef PYLONG_BITS_IN_DIGIT
- #define CYTHON_USE_PYLONG_INTERNALS 1
- #else
- #define CYTHON_USE_PYLONG_INTERNALS 0
- #endif
- #endif
- #endif
- #include "Python.h"
- #ifndef Py_PYTHON_H
- #error Python headers needed to compile C extensions, please install development version of Python.
- #elif PY_VERSION_HEX < 0x02040000
- #error Cython requires Python 2.4+.
- #else
- #define CYTHON_ABI "0_20_1"
- #include <stddef.h> /* For offsetof */
- #ifndef offsetof
- #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
- #endif
- #if !defined(WIN32) && !defined(MS_WINDOWS)
- #ifndef __stdcall
- #define __stdcall
- #endif
- #ifndef __cdecl
- #define __cdecl
- #endif
- #ifndef __fastcall
- #define __fastcall
- #endif
- #endif
- #ifndef DL_IMPORT
- #define DL_IMPORT(t) t
- #endif
- #ifndef DL_EXPORT
- #define DL_EXPORT(t) t
- #endif
- #ifndef PY_LONG_LONG
- #define PY_LONG_LONG LONG_LONG
- #endif
- #ifndef Py_HUGE_VAL
- #define Py_HUGE_VAL HUGE_VAL
- #endif
- #ifdef PYPY_VERSION
- #define CYTHON_COMPILING_IN_PYPY 1
- #define CYTHON_COMPILING_IN_CPYTHON 0
- #else
- #define CYTHON_COMPILING_IN_PYPY 0
- #define CYTHON_COMPILING_IN_CPYTHON 1
- #endif
- #if CYTHON_COMPILING_IN_PYPY
- #define Py_OptimizeFlag 0
- #endif
- #if PY_VERSION_HEX < 0x02050000
- typedef int Py_ssize_t;
- #define PY_SSIZE_T_MAX INT_MAX
- #define PY_SSIZE_T_MIN INT_MIN
- #define PY_FORMAT_SIZE_T ""
- #define CYTHON_FORMAT_SSIZE_T ""
- #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
- #define PyInt_AsSsize_t(o) __Pyx_PyInt_As_int(o)
- #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
- (PyErr_Format(PyExc_TypeError, \
- "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
- (PyObject*)0))
- #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
- !PyComplex_Check(o))
- #define PyIndex_Check __Pyx_PyIndex_Check
- #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
- #define __PYX_BUILD_PY_SSIZE_T "i"
- #else
- #define __PYX_BUILD_PY_SSIZE_T "n"
- #define CYTHON_FORMAT_SSIZE_T "z"
- #define __Pyx_PyIndex_Check PyIndex_Check
- #endif
- #if PY_VERSION_HEX < 0x02060000
- #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
- #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
- #define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size)
- #define PyVarObject_HEAD_INIT(type, size) \
- PyObject_HEAD_INIT(type) size,
- #define PyType_Modified(t)
- typedef struct {
- void *buf;
- PyObject *obj;
- Py_ssize_t len;
- Py_ssize_t itemsize;
- int readonly;
- int ndim;
- char *format;
- Py_ssize_t *shape;
- Py_ssize_t *strides;
- Py_ssize_t *suboffsets;
- void *internal;
- } Py_buffer;
- #define PyBUF_SIMPLE 0
- #define PyBUF_WRITABLE 0x0001
- #define PyBUF_FORMAT 0x0004
- #define PyBUF_ND 0x0008
- #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
- #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
- #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
- #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
- #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
- #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
- #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
- typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
- typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
- #endif
- #if PY_MAJOR_VERSION < 3
- #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
- #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
- PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
- #define __Pyx_DefaultClassType PyClass_Type
- #else
- #define __Pyx_BUILTIN_MODULE_NAME "builtins"
- #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
- PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
- #define __Pyx_DefaultClassType PyType_Type
- #endif
- #if PY_VERSION_HEX < 0x02060000
- #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
- #endif
- #if PY_MAJOR_VERSION >= 3
- #define Py_TPFLAGS_CHECKTYPES 0
- #define Py_TPFLAGS_HAVE_INDEX 0
- #endif
- #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
- #define Py_TPFLAGS_HAVE_NEWBUFFER 0
- #endif
- #if PY_VERSION_HEX < 0x02060000
- #define Py_TPFLAGS_HAVE_VERSION_TAG 0
- #endif
- #if PY_VERSION_HEX < 0x02060000 && !defined(Py_TPFLAGS_IS_ABSTRACT)
- #define Py_TPFLAGS_IS_ABSTRACT 0
- #endif
- #if PY_VERSION_HEX < 0x030400a1 && !defined(Py_TPFLAGS_HAVE_FINALIZE)
- #define Py_TPFLAGS_HAVE_FINALIZE 0
- #endif
- #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
- #define CYTHON_PEP393_ENABLED 1
- #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ? \
- 0 : _PyUnicode_Ready((PyObject *)(op)))
- #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
- #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
- #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u)
- #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)
- #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
- #else
- #define CYTHON_PEP393_ENABLED 0
- #define __Pyx_PyUnicode_READY(op) (0)
- #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
- #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
- #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE))
- #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u))
- #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
- #endif
- #if CYTHON_COMPILING_IN_PYPY
- #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)
- #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)
- #else
- #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)
- #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ? \
- PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
- #endif
- #define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
- #define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
- #if PY_MAJOR_VERSION >= 3
- #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b)
- #else
- #define __Pyx_PyString_Format(a, b) PyString_Format(a, b)
- #endif
- #if PY_MAJOR_VERSION >= 3
- #define PyBaseString_Type PyUnicode_Type
- #define PyStringObject PyUnicodeObject
- #define PyString_Type PyUnicode_Type
- #define PyString_Check PyUnicode_Check
- #define PyString_CheckExact PyUnicode_CheckExact
- #endif
- #if PY_VERSION_HEX < 0x02060000
- #define PyBytesObject PyStringObject
- #define PyBytes_Type PyString_Type
- #define PyBytes_Check PyString_Check
- #define PyBytes_CheckExact PyString_CheckExact
- #define PyBytes_FromString PyString_FromString
- #define PyBytes_FromStringAndSize PyString_FromStringAndSize
- #define PyBytes_FromFormat PyString_FromFormat
- #define PyBytes_DecodeEscape PyString_DecodeEscape
- #define PyBytes_AsString PyString_AsString
- #define PyBytes_AsStringAndSize PyString_AsStringAndSize
- #define PyBytes_Size PyString_Size
- #define PyBytes_AS_STRING PyString_AS_STRING
- #define PyBytes_GET_SIZE PyString_GET_SIZE
- #define PyBytes_Repr PyString_Repr
- #define PyBytes_Concat PyString_Concat
- #define PyBytes_ConcatAndDel PyString_ConcatAndDel
- #endif
- #if PY_MAJOR_VERSION >= 3
- #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
- #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
- #else
- #define __Pyx_PyBaseString_Check(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj) || \
- PyString_Check(obj) || PyUnicode_Check(obj))
- #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
- #endif
- #if PY_VERSION_HEX < 0x02060000
- #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type)
- #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type)
- #endif
- #ifndef PySet_CheckExact
- #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type)
- #endif
- #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
- #if PY_MAJOR_VERSION >= 3
- #define PyIntObject PyLongObject
- #define PyInt_Type PyLong_Type
- #define PyInt_Check(op) PyLong_Check(op)
- #define PyInt_CheckExact(op) PyLong_CheckExact(op)
- #define PyInt_FromString PyLong_FromString
- #define PyInt_FromUnicode PyLong_FromUnicode
- #define PyInt_FromLong PyLong_FromLong
- #define PyInt_FromSize_t PyLong_FromSize_t
- #define PyInt_FromSsize_t PyLong_FromSsize_t
- #define PyInt_AsLong PyLong_AsLong
- #define PyInt_AS_LONG PyLong_AS_LONG
- #define PyInt_AsSsize_t PyLong_AsSsize_t
- #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
- #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
- #define PyNumber_Int PyNumber_Long
- #endif
- #if PY_MAJOR_VERSION >= 3
- #define PyBoolObject PyLongObject
- #endif
- #if PY_VERSION_HEX < 0x030200A4
- typedef long Py_hash_t;
- #define __Pyx_PyInt_FromHash_t PyInt_FromLong
- #define __Pyx_PyInt_AsHash_t PyInt_AsLong
- #else
- #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
- #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t
- #endif
- #if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
- #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
- #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
- #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
- #else
- #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
- (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
- (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
- (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
- #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
- (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
- (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
- (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
- #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
- (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
- (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
- (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
- #endif
- #if PY_MAJOR_VERSION >= 3
- #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
- #endif
- #if PY_VERSION_HEX < 0x02050000
- #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n)))
- #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
- #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n)))
- #else
- #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n))
- #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
- #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n))
- #endif
- #if PY_VERSION_HEX < 0x02050000
- #define __Pyx_NAMESTR(n) ((char *)(n))
- #define __Pyx_DOCSTR(n) ((char *)(n))
- #else
- #define __Pyx_NAMESTR(n) (n)
- #define __Pyx_DOCSTR(n) (n)
- #endif
- #ifndef CYTHON_INLINE
- #if defined(__GNUC__)
- #define CYTHON_INLINE __inline__
- #elif defined(_MSC_VER)
- #define CYTHON_INLINE __inline
- #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
- #define CYTHON_INLINE inline
- #else
- #define CYTHON_INLINE
- #endif
- #endif
- #ifndef CYTHON_RESTRICT
- #if defined(__GNUC__)
- #define CYTHON_RESTRICT __restrict__
- #elif defined(_MSC_VER) && _MSC_VER >= 1400
- #define CYTHON_RESTRICT __restrict
- #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
- #define CYTHON_RESTRICT restrict
- #else
- #define CYTHON_RESTRICT
- #endif
- #endif
- #ifdef NAN
- #define __PYX_NAN() ((float) NAN)
- #else
- static CYTHON_INLINE float __PYX_NAN() {
- /* Initialize NaN. The sign is irrelevant, an exponent with all bits 1 and
- a nonzero mantissa means NaN. If the first bit in the mantissa is 1, it is
- a quiet NaN. */
- float value;
- memset(&value, 0xFF, sizeof(value));
- return value;
- }
- #endif
- #if PY_MAJOR_VERSION >= 3
- #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
- #else
- #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
- #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
- #endif
- #ifndef __PYX_EXTERN_C
- #ifdef __cplusplus
- #define __PYX_EXTERN_C extern "C"
- #else
- #define __PYX_EXTERN_C extern
- #endif
- #endif
- #if defined(WIN32) || defined(MS_WINDOWS)
- #define _USE_MATH_DEFINES
- #endif
- #include <math.h>
- #define __PYX_HAVE__lib__Naked__toolshed__c__benchmarking
- #define __PYX_HAVE_API__lib__Naked__toolshed__c__benchmarking
- #ifdef _OPENMP
- #include <omp.h>
- #endif /* _OPENMP */
- #ifdef PYREX_WITHOUT_ASSERTIONS
- #define CYTHON_WITHOUT_ASSERTIONS
- #endif
- #ifndef CYTHON_UNUSED
- # if defined(__GNUC__)
- # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
- # define CYTHON_UNUSED __attribute__ ((__unused__))
- # else
- # define CYTHON_UNUSED
- # endif
- # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
- # define CYTHON_UNUSED __attribute__ ((__unused__))
- # else
- # define CYTHON_UNUSED
- # endif
- #endif
- typedef struct {PyObject **p; char *s; const Py_ssize_t n; const char* encoding;
- const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
- #define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
- #define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0
- #define __PYX_DEFAULT_STRING_ENCODING ""
- #define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
- #define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
- #define __Pyx_fits_Py_ssize_t(v, type, is_signed) ( \
- (sizeof(type) < sizeof(Py_ssize_t)) || \
- (sizeof(type) > sizeof(Py_ssize_t) && \
- likely(v < (type)PY_SSIZE_T_MAX || \
- v == (type)PY_SSIZE_T_MAX) && \
- (!is_signed || likely(v > (type)PY_SSIZE_T_MIN || \
- v == (type)PY_SSIZE_T_MIN))) || \
- (sizeof(type) == sizeof(Py_ssize_t) && \
- (is_signed || likely(v < (type)PY_SSIZE_T_MAX || \
- v == (type)PY_SSIZE_T_MAX))) )
- static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject*);
- static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
- #define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
- #define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
- #define __Pyx_PyBytes_FromString PyBytes_FromString
- #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
- static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(char*);
- #if PY_MAJOR_VERSION < 3
- #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString
- #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
- #else
- #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString
- #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
- #endif
- #define __Pyx_PyObject_AsSString(s) ((signed char*) __Pyx_PyObject_AsString(s))
- #define __Pyx_PyObject_AsUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s))
- #define __Pyx_PyObject_FromUString(s) __Pyx_PyObject_FromString((char*)s)
- #define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((char*)s)
- #define __Pyx_PyByteArray_FromUString(s) __Pyx_PyByteArray_FromString((char*)s)
- #define __Pyx_PyStr_FromUString(s) __Pyx_PyStr_FromString((char*)s)
- #define __Pyx_PyUnicode_FromUString(s) __Pyx_PyUnicode_FromString((char*)s)
- #if PY_MAJOR_VERSION < 3
- static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
- {
- const Py_UNICODE *u_end = u;
- while (*u_end++) ;
- return u_end - u - 1;
- }
- #else
- #define __Pyx_Py_UNICODE_strlen Py_UNICODE_strlen
- #endif
- #define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
- #define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
- #define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode
- #define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
- #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
- static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
- static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
- static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
- static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
- #if CYTHON_COMPILING_IN_CPYTHON
- #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
- #else
- #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
- #endif
- #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
- #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
- static int __Pyx_sys_getdefaultencoding_not_ascii;
- static int __Pyx_init_sys_getdefaultencoding_params(void) {
- PyObject* sys = NULL;
- PyObject* default_encoding = NULL;
- PyObject* ascii_chars_u = NULL;
- PyObject* ascii_chars_b = NULL;
- sys = PyImport_ImportModule("sys");
- if (sys == NULL) goto bad;
- default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
- if (default_encoding == NULL) goto bad;
- if (strcmp(PyBytes_AsString(default_encoding), "ascii") == 0) {
- __Pyx_sys_getdefaultencoding_not_ascii = 0;
- } else {
- const char* default_encoding_c = PyBytes_AS_STRING(default_encoding);
- char ascii_chars[128];
- int c;
- for (c = 0; c < 128; c++) {
- ascii_chars[c] = c;
- }
- __Pyx_sys_getdefaultencoding_not_ascii = 1;
- ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
- if (ascii_chars_u == NULL) goto bad;
- ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
- if (ascii_chars_b == NULL || strncmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
- PyErr_Format(
- PyExc_ValueError,
- "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
- default_encoding_c);
- goto bad;
- }
- }
- Py_XDECREF(sys);
- Py_XDECREF(default_encoding);
- Py_XDECREF(ascii_chars_u);
- Py_XDECREF(ascii_chars_b);
- return 0;
- bad:
- Py_XDECREF(sys);
- Py_XDECREF(default_encoding);
- Py_XDECREF(ascii_chars_u);
- Py_XDECREF(ascii_chars_b);
- return -1;
- }
- #endif
- #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
- #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
- #else
- #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
- #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
- static char* __PYX_DEFAULT_STRING_ENCODING;
- static int __Pyx_init_sys_getdefaultencoding_params(void) {
- PyObject* sys = NULL;
- PyObject* default_encoding = NULL;
- char* default_encoding_c;
- sys = PyImport_ImportModule("sys");
- if (sys == NULL) goto bad;
- default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
- if (default_encoding == NULL) goto bad;
- default_encoding_c = PyBytes_AS_STRING(default_encoding);
- __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c));
- strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
- Py_DECREF(sys);
- Py_DECREF(default_encoding);
- return 0;
- bad:
- Py_XDECREF(sys);
- Py_XDECREF(default_encoding);
- return -1;
- }
- #endif
- #endif
- #ifdef __GNUC__
- /* Test for GCC > 2.95 */
- #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
- #define likely(x) __builtin_expect(!!(x), 1)
- #define unlikely(x) __builtin_expect(!!(x), 0)
- #else /* __GNUC__ > 2 ... */
- #define likely(x) (x)
- #define unlikely(x) (x)
- #endif /* __GNUC__ > 2 ... */
- #else /* __GNUC__ */
- #define likely(x) (x)
- #define unlikely(x) (x)
- #endif /* __GNUC__ */
- static PyObject *__pyx_m;
- static PyObject *__pyx_d;
- static PyObject *__pyx_b;
- static PyObject *__pyx_empty_tuple;
- static PyObject *__pyx_empty_bytes;
- static int __pyx_lineno;
- static int __pyx_clineno = 0;
- static const char * __pyx_cfilenm= __FILE__;
- static const char *__pyx_filename;
- static const char *__pyx_f[] = {
- "benchmarking.pyx",
- };
- /*--- Type declarations ---*/
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":19
- * # def myfunction():
- * #------------------------------------------------------------------------------
- * def timer(func, repetitions=100000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer {
- PyObject_HEAD
- PyObject *__pyx_v_func;
- PyObject *__pyx_v_repetitions;
- };
- /* "lib/Naked/toolshed/c/benchmarking.pyx":43
- * #------------------------------------------------------------------------------
- *
- * def timer_10(func, repetitions=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 {
- PyObject_HEAD
- PyObject *__pyx_v_func;
- PyObject *__pyx_v_repetitions;
- };
- /* "lib/Naked/toolshed/c/benchmarking.pyx":62
- * return wrapper
- *
- * def timer_100(func, repetitions=100): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 {
- PyObject_HEAD
- PyObject *__pyx_v_func;
- PyObject *__pyx_v_repetitions;
- };
- /* "lib/Naked/toolshed/c/benchmarking.pyx":81
- * return wrapper
- *
- * def timer_1k(func, repetitions=1000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k {
- PyObject_HEAD
- PyObject *__pyx_v_func;
- PyObject *__pyx_v_repetitions;
- };
- /* "lib/Naked/toolshed/c/benchmarking.pyx":100
- * return wrapper
- *
- * def timer_10k(func, repetitions=10000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k {
- PyObject_HEAD
- PyObject *__pyx_v_func;
- PyObject *__pyx_v_repetitions;
- };
- /* "lib/Naked/toolshed/c/benchmarking.pyx":119
- * return wrapper
- *
- * def timer_1m(func, repetitions=1000000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m {
- PyObject_HEAD
- PyObject *__pyx_v_func;
- PyObject *__pyx_v_repetitions;
- };
- /* "lib/Naked/toolshed/c/benchmarking.pyx":152
- * # def myfunction():
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark(func, repetitions=100000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark {
- PyObject_HEAD
- PyObject *__pyx_v_func;
- PyObject *__pyx_v_repetitions;
- PyObject *__pyx_v_trials;
- };
- /* "lib/Naked/toolshed/c/benchmarking.pyx":207
- * # additional benchmark decorators that replicate the above function with different # repetitions
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark_10(func, repetitions=10, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 {
- PyObject_HEAD
- PyObject *__pyx_v_func;
- PyObject *__pyx_v_repetitions;
- PyObject *__pyx_v_trials;
- };
- /* "lib/Naked/toolshed/c/benchmarking.pyx":258
- * return wrapper
- *
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 {
- PyObject_HEAD
- PyObject *__pyx_v_func;
- PyObject *__pyx_v_repetitions;
- PyObject *__pyx_v_trials;
- };
- /* "lib/Naked/toolshed/c/benchmarking.pyx":309
- * return wrapper
- *
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k {
- PyObject_HEAD
- PyObject *__pyx_v_func;
- PyObject *__pyx_v_repetitions;
- PyObject *__pyx_v_trials;
- };
- /* "lib/Naked/toolshed/c/benchmarking.pyx":360
- * return wrapper
- *
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k {
- PyObject_HEAD
- PyObject *__pyx_v_func;
- PyObject *__pyx_v_repetitions;
- PyObject *__pyx_v_trials;
- };
- /* "lib/Naked/toolshed/c/benchmarking.pyx":411
- * return wrapper
- *
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m {
- PyObject_HEAD
- PyObject *__pyx_v_func;
- PyObject *__pyx_v_repetitions;
- PyObject *__pyx_v_trials;
- };
- #ifndef CYTHON_REFNANNY
- #define CYTHON_REFNANNY 0
- #endif
- #if CYTHON_REFNANNY
- typedef struct {
- void (*INCREF)(void*, PyObject*, int);
- void (*DECREF)(void*, PyObject*, int);
- void (*GOTREF)(void*, PyObject*, int);
- void (*GIVEREF)(void*, PyObject*, int);
- void* (*SetupContext)(const char*, int, const char*);
- void (*FinishContext)(void**);
- } __Pyx_RefNannyAPIStruct;
- static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
- static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
- #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
- #ifdef WITH_THREAD
- #define __Pyx_RefNannySetupContext(name, acquire_gil) \
- if (acquire_gil) { \
- PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
- __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
- PyGILState_Release(__pyx_gilstate_save); \
- } else { \
- __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
- }
- #else
- #define __Pyx_RefNannySetupContext(name, acquire_gil) \
- __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
- #endif
- #define __Pyx_RefNannyFinishContext() \
- __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
- #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
- #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
- #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
- #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
- #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
- #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
- #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
- #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
- #else
- #define __Pyx_RefNannyDeclarations
- #define __Pyx_RefNannySetupContext(name, acquire_gil)
- #define __Pyx_RefNannyFinishContext()
- #define __Pyx_INCREF(r) Py_INCREF(r)
- #define __Pyx_DECREF(r) Py_DECREF(r)
- #define __Pyx_GOTREF(r)
- #define __Pyx_GIVEREF(r)
- #define __Pyx_XINCREF(r) Py_XINCREF(r)
- #define __Pyx_XDECREF(r) Py_XDECREF(r)
- #define __Pyx_XGOTREF(r)
- #define __Pyx_XGIVEREF(r)
- #endif /* CYTHON_REFNANNY */
- #define __Pyx_XDECREF_SET(r, v) do { \
- PyObject *tmp = (PyObject *) r; \
- r = v; __Pyx_XDECREF(tmp); \
- } while (0)
- #define __Pyx_DECREF_SET(r, v) do { \
- PyObject *tmp = (PyObject *) r; \
- r = v; __Pyx_DECREF(tmp); \
- } while (0)
- #define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
- #define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
- #if CYTHON_COMPILING_IN_CPYTHON
- static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
- PyTypeObject* tp = Py_TYPE(obj);
- if (likely(tp->tp_getattro))
- return tp->tp_getattro(obj, attr_name);
- #if PY_MAJOR_VERSION < 3
- if (likely(tp->tp_getattr))
- return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
- #endif
- return PyObject_GetAttr(obj, attr_name);
- }
- #else
- #define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
- #endif
- static PyObject *__Pyx_GetBuiltinName(PyObject *name); /*proto*/
- static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
- static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
- PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
- const char* function_name); /*proto*/
- static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
- Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
- static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
- static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name); /*proto*/
- static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname);
- #if CYTHON_COMPILING_IN_CPYTHON
- static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); /*proto*/
- #else
- #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
- #endif
- static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);
- static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
- #define __Pyx_CyFunction_USED 1
- #include <structmember.h>
- #define __Pyx_CYFUNCTION_STATICMETHOD 0x01
- #define __Pyx_CYFUNCTION_CLASSMETHOD 0x02
- #define __Pyx_CYFUNCTION_CCLASS 0x04
- #define __Pyx_CyFunction_GetClosure(f) \
- (((__pyx_CyFunctionObject *) (f))->func_closure)
- #define __Pyx_CyFunction_GetClassObj(f) \
- (((__pyx_CyFunctionObject *) (f))->func_classobj)
- #define __Pyx_CyFunction_Defaults(type, f) \
- ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
- #define __Pyx_CyFunction_SetDefaultsGetter(f, g) \
- ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
- typedef struct {
- PyCFunctionObject func;
- PyObject *func_dict;
- PyObject *func_weakreflist;
- PyObject *func_name;
- PyObject *func_qualname;
- PyObject *func_doc;
- PyObject *func_globals;
- PyObject *func_code;
- PyObject *func_closure;
- PyObject *func_classobj; /* No-args super() class cell */
- void *defaults;
- int defaults_pyobjects;
- int flags;
- PyObject *defaults_tuple; /* Const defaults tuple */
- PyObject *defaults_kwdict; /* Const kwonly defaults dict */
- PyObject *(*defaults_getter)(PyObject *);
- PyObject *func_annotations; /* function annotations dict */
- } __pyx_CyFunctionObject;
- static PyTypeObject *__pyx_CyFunctionType = 0;
- #define __Pyx_CyFunction_NewEx(ml, flags, qualname, self, module, globals, code) \
- __Pyx_CyFunction_New(__pyx_CyFunctionType, ml, flags, qualname, self, module, globals, code)
- static PyObject *__Pyx_CyFunction_New(PyTypeObject *, PyMethodDef *ml,
- int flags, PyObject* qualname,
- PyObject *self,
- PyObject *module, PyObject *globals,
- PyObject* code);
- static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
- size_t size,
- int pyobjects);
- static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
- PyObject *tuple);
- static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
- PyObject *dict);
- static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
- PyObject *dict);
- static int __Pyx_CyFunction_init(void);
- #if CYTHON_COMPILING_IN_CPYTHON
- static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
- PyListObject* L = (PyListObject*) list;
- Py_ssize_t len = Py_SIZE(list);
- if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
- Py_INCREF(x);
- PyList_SET_ITEM(list, len, x);
- Py_SIZE(list) = len+1;
- return 0;
- }
- return PyList_Append(list, x);
- }
- #else
- #define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
- #endif
- static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
- static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
- static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
- #include <string.h>
- static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); /*proto*/
- static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); /*proto*/
- static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); /*proto*/
- #if PY_MAJOR_VERSION >= 3
- #define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
- #else
- #define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
- #endif
- static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
- static int __Pyx_Print(PyObject*, PyObject *, int); /*proto*/
- #if CYTHON_COMPILING_IN_PYPY || PY_MAJOR_VERSION >= 3
- static PyObject* __pyx_print = 0;
- static PyObject* __pyx_print_kwargs = 0;
- #endif
- static int __Pyx_PrintOne(PyObject* stream, PyObject *o); /*proto*/
- static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
- static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
- static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
- static int __Pyx_check_binary_version(void);
- typedef struct {
- int code_line;
- PyCodeObject* code_object;
- } __Pyx_CodeObjectCacheEntry;
- struct __Pyx_CodeObjectCache {
- int count;
- int max_count;
- __Pyx_CodeObjectCacheEntry* entries;
- };
- static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
- static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
- static PyCodeObject *__pyx_find_code_object(int code_line);
- static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
- static void __Pyx_AddTraceback(const char *funcname, int c_line,
- int py_line, const char *filename); /*proto*/
- static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
- /* Module declarations from 'lib.Naked.toolshed.c.benchmarking' */
- static PyTypeObject *__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer = 0;
- static PyTypeObject *__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 = 0;
- static PyTypeObject *__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 = 0;
- static PyTypeObject *__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k = 0;
- static PyTypeObject *__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k = 0;
- static PyTypeObject *__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m = 0;
- static PyTypeObject *__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark = 0;
- static PyTypeObject *__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 = 0;
- static PyTypeObject *__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 = 0;
- static PyTypeObject *__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k = 0;
- static PyTypeObject *__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k = 0;
- static PyTypeObject *__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m = 0;
- #define __Pyx_MODULE_NAME "lib.Naked.toolshed.c.benchmarking"
- int __pyx_module_is_main_lib__Naked__toolshed__c__benchmarking = 0;
- /* Implementation of 'lib.Naked.toolshed.c.benchmarking' */
- static PyObject *__pyx_builtin_range;
- static PyObject *__pyx_builtin_sum;
- static PyObject *__pyx_builtin_ImportError;
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_timer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_10_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_2timer_10(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_100_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_4timer_100(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1k_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_6timer_1k(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_10k(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1m_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_10timer_1m(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_22timer_trials_benchmark_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_12timer_trials_benchmark(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions, PyObject *__pyx_v_trials); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_10_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_14timer_trials_benchmark_10(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions, PyObject *__pyx_v_trials); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_100_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_16timer_trials_benchmark_100(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions, PyObject *__pyx_v_trials); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1k_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_18timer_trials_benchmark_1k(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions, PyObject *__pyx_v_trials); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_10k_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_20timer_trials_benchmark_10k(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions, PyObject *__pyx_v_trials); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1m_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_22timer_trials_benchmark_1m(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions, PyObject *__pyx_v_trials); /* proto */
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
- static char __pyx_k_[] = "()...";
- static char __pyx_k_L[] = "L";
- static char __pyx_k_i[] = "i";
- static char __pyx_k_j[] = "j";
- static char __pyx_k_n[] = "n";
- static char __pyx_k_x[] = "x";
- static char __pyx_k_y[] = "y";
- static char __pyx_k__2[] = " ";
- static char __pyx_k__3[] = " : ";
- static char __pyx_k_gc[] = "gc";
- static char __pyx_k_ie[] = "ie";
- static char __pyx_k_np[] = "np";
- static char __pyx_k__16[] = "()";
- static char __pyx_k__17[] = ".";
- static char __pyx_k__19[] = ":\t";
- static char __pyx_k__20[] = "-";
- static char __pyx_k_end[] = "end";
- static char __pyx_k_run[] = "run";
- static char __pyx_k_sec[] = " sec";
- static char __pyx_k_std[] = "std";
- static char __pyx_k_sum[] = "sum";
- static char __pyx_k_sys[] = "sys";
- static char __pyx_k_args[] = "args";
- static char __pyx_k_end2[] = "end2";
- static char __pyx_k_file[] = "file";
- static char __pyx_k_func[] = "func";
- static char __pyx_k_main[] = "__main__";
- static char __pyx_k_mean[] = "mean";
- static char __pyx_k_name[] = "__name__";
- static char __pyx_k_test[] = "__test__";
- static char __pyx_k_time[] = "time";
- static char __pyx_k_Ratio[] = "Ratio: ";
- static char __pyx_k_Trial[] = "Trial ";
- static char __pyx_k_array[] = "array";
- static char __pyx_k_flush[] = "flush";
- static char __pyx_k_numpy[] = "numpy";
- static char __pyx_k_print[] = "print";
- static char __pyx_k_range[] = "range";
- static char __pyx_k_start[] = "start";
- static char __pyx_k_timer[] = "timer";
- static char __pyx_k_wraps[] = "wraps";
- static char __pyx_k_write[] = "write";
- static char __pyx_k_enable[] = "enable";
- static char __pyx_k_import[] = "__import__";
- static char __pyx_k_kwargs[] = "kwargs";
- static char __pyx_k_result[] = "result";
- static char __pyx_k_start2[] = "start2";
- static char __pyx_k_stdout[] = "stdout";
- static char __pyx_k_trials[] = "trials";
- static char __pyx_k_collect[] = "collect";
- static char __pyx_k_disable[] = "disable";
- static char __pyx_k_wrapper[] = "wrapper";
- static char __pyx_k_Mean_for[] = "Mean for ";
- static char __pyx_k_Starting[] = "Starting ";
- static char __pyx_k_timer_10[] = "timer_10";
- static char __pyx_k_timer_1k[] = "timer_1k";
- static char __pyx_k_timer_1m[] = "timer_1m";
- static char __pyx_k_functools[] = "functools";
- static char __pyx_k_timer_100[] = "timer_100";
- static char __pyx_k_timer_10k[] = "timer_10k";
- static char __pyx_k_ImportError[] = "ImportError";
- static char __pyx_k_repetitions[] = "repetitions";
- static char __pyx_k_result_list[] = "result_list";
- static char __pyx_k_repetitions_2[] = " repetitions: ";
- static char __pyx_k_benchmark_list[] = "benchmark_list";
- static char __pyx_k_mean_benchmark[] = "mean_benchmark";
- static char __pyx_k_repetitions_of[] = " repetitions of ";
- static char __pyx_k_Standard_Deviation[] = "Standard Deviation: ";
- static char __pyx_k_Mean_per_repetition[] = "Mean per repetition: ";
- static char __pyx_k_timer_locals_wrapper[] = "timer.<locals>.wrapper";
- static char __pyx_k_of_benchmark_function[] = " of benchmark function:";
- static char __pyx_k_timer_trials_benchmark[] = "timer_trials_benchmark";
- static char __pyx_k_timer_10_locals_wrapper[] = "timer_10.<locals>.wrapper";
- static char __pyx_k_timer_1k_locals_wrapper[] = "timer_1k.<locals>.wrapper";
- static char __pyx_k_timer_1m_locals_wrapper[] = "timer_1m.<locals>.wrapper";
- static char __pyx_k_Starting_timed_trials_of[] = "Starting timed trials of ";
- static char __pyx_k_timer_100_locals_wrapper[] = "timer_100.<locals>.wrapper";
- static char __pyx_k_timer_10k_locals_wrapper[] = "timer_10k.<locals>.wrapper";
- static char __pyx_k_timer_trials_benchmark_10[] = "timer_trials_benchmark_10";
- static char __pyx_k_timer_trials_benchmark_1k[] = "timer_trials_benchmark_1k";
- static char __pyx_k_timer_trials_benchmark_1m[] = "timer_trials_benchmark_1m";
- static char __pyx_k_timer_trials_benchmark_100[] = "timer_trials_benchmark_100";
- static char __pyx_k_timer_trials_benchmark_10k[] = "timer_trials_benchmark_10k";
- static char __pyx_k_Users_ces_Desktop_code_naked_li[] = "/Users/ces/Desktop/code/naked/lib/Naked/toolshed/c/benchmarking.pyx";
- static char __pyx_k_lib_Naked_toolshed_c_benchmarkin[] = "lib.Naked.toolshed.c.benchmarking";
- static char __pyx_k_timer_trials_benchmark_100_local[] = "timer_trials_benchmark_100.<locals>.wrapper";
- static char __pyx_k_timer_trials_benchmark_10_locals[] = "timer_trials_benchmark_10.<locals>.wrapper";
- static char __pyx_k_timer_trials_benchmark_10k_local[] = "timer_trials_benchmark_10k.<locals>.wrapper";
- static char __pyx_k_timer_trials_benchmark_1k_locals[] = "timer_trials_benchmark_1k.<locals>.wrapper";
- static char __pyx_k_timer_trials_benchmark_1m_locals[] = "timer_trials_benchmark_1m.<locals>.wrapper";
- static char __pyx_k_timer_trials_benchmark_locals_wr[] = "timer_trials_benchmark.<locals>.wrapper";
- static PyObject *__pyx_kp_s_;
- static PyObject *__pyx_n_s_ImportError;
- static PyObject *__pyx_n_s_L;
- static PyObject *__pyx_kp_s_Mean_for;
- static PyObject *__pyx_kp_s_Mean_per_repetition;
- static PyObject *__pyx_kp_s_Ratio;
- static PyObject *__pyx_kp_s_Standard_Deviation;
- static PyObject *__pyx_kp_s_Starting;
- static PyObject *__pyx_kp_s_Starting_timed_trials_of;
- static PyObject *__pyx_kp_s_Trial;
- static PyObject *__pyx_kp_s_Users_ces_Desktop_code_naked_li;
- static PyObject *__pyx_kp_s__16;
- static PyObject *__pyx_kp_s__17;
- static PyObject *__pyx_kp_s__19;
- static PyObject *__pyx_kp_s__2;
- static PyObject *__pyx_kp_s__20;
- static PyObject *__pyx_kp_s__3;
- static PyObject *__pyx_n_s_args;
- static PyObject *__pyx_n_s_array;
- static PyObject *__pyx_n_s_benchmark_list;
- static PyObject *__pyx_n_s_collect;
- static PyObject *__pyx_n_s_disable;
- static PyObject *__pyx_n_s_enable;
- static PyObject *__pyx_n_s_end;
- static PyObject *__pyx_n_s_end2;
- static PyObject *__pyx_n_s_file;
- static PyObject *__pyx_n_s_flush;
- static PyObject *__pyx_n_s_func;
- static PyObject *__pyx_n_s_functools;
- static PyObject *__pyx_n_s_gc;
- static PyObject *__pyx_n_s_i;
- static PyObject *__pyx_n_s_ie;
- static PyObject *__pyx_n_s_import;
- static PyObject *__pyx_n_s_j;
- static PyObject *__pyx_n_s_kwargs;
- static PyObject *__pyx_n_s_lib_Naked_toolshed_c_benchmarkin;
- static PyObject *__pyx_n_s_main;
- static PyObject *__pyx_n_s_mean;
- static PyObject *__pyx_n_s_mean_benchmark;
- static PyObject *__pyx_n_s_n;
- static PyObject *__pyx_n_s_name;
- static PyObject *__pyx_n_s_np;
- static PyObject *__pyx_n_s_numpy;
- static PyObject *__pyx_kp_s_of_benchmark_function;
- static PyObject *__pyx_n_s_print;
- static PyObject *__pyx_n_s_range;
- static PyObject *__pyx_n_s_repetitions;
- static PyObject *__pyx_kp_s_repetitions_2;
- static PyObject *__pyx_kp_s_repetitions_of;
- static PyObject *__pyx_n_s_result;
- static PyObject *__pyx_n_s_result_list;
- static PyObject *__pyx_n_s_run;
- static PyObject *__pyx_kp_s_sec;
- static PyObject *__pyx_n_s_start;
- static PyObject *__pyx_n_s_start2;
- static PyObject *__pyx_n_s_std;
- static PyObject *__pyx_n_s_stdout;
- static PyObject *__pyx_n_s_sum;
- static PyObject *__pyx_n_s_sys;
- static PyObject *__pyx_n_s_test;
- static PyObject *__pyx_n_s_time;
- static PyObject *__pyx_n_s_timer;
- static PyObject *__pyx_n_s_timer_10;
- static PyObject *__pyx_n_s_timer_100;
- static PyObject *__pyx_n_s_timer_100_locals_wrapper;
- static PyObject *__pyx_n_s_timer_10_locals_wrapper;
- static PyObject *__pyx_n_s_timer_10k;
- static PyObject *__pyx_n_s_timer_10k_locals_wrapper;
- static PyObject *__pyx_n_s_timer_1k;
- static PyObject *__pyx_n_s_timer_1k_locals_wrapper;
- static PyObject *__pyx_n_s_timer_1m;
- static PyObject *__pyx_n_s_timer_1m_locals_wrapper;
- static PyObject *__pyx_n_s_timer_locals_wrapper;
- static PyObject *__pyx_n_s_timer_trials_benchmark;
- static PyObject *__pyx_n_s_timer_trials_benchmark_10;
- static PyObject *__pyx_n_s_timer_trials_benchmark_100;
- static PyObject *__pyx_n_s_timer_trials_benchmark_100_local;
- static PyObject *__pyx_n_s_timer_trials_benchmark_10_locals;
- static PyObject *__pyx_n_s_timer_trials_benchmark_10k;
- static PyObject *__pyx_n_s_timer_trials_benchmark_10k_local;
- static PyObject *__pyx_n_s_timer_trials_benchmark_1k;
- static PyObject *__pyx_n_s_timer_trials_benchmark_1k_locals;
- static PyObject *__pyx_n_s_timer_trials_benchmark_1m;
- static PyObject *__pyx_n_s_timer_trials_benchmark_1m_locals;
- static PyObject *__pyx_n_s_timer_trials_benchmark_locals_wr;
- static PyObject *__pyx_n_s_trials;
- static PyObject *__pyx_n_s_wrapper;
- static PyObject *__pyx_n_s_wraps;
- static PyObject *__pyx_n_s_write;
- static PyObject *__pyx_n_s_x;
- static PyObject *__pyx_n_s_y;
- static PyObject *__pyx_int_1;
- static PyObject *__pyx_int_10;
- static PyObject *__pyx_int_50;
- static PyObject *__pyx_int_100;
- static PyObject *__pyx_int_1000;
- static PyObject *__pyx_int_10000;
- static PyObject *__pyx_int_100000;
- static PyObject *__pyx_int_1000000;
- static PyObject *__pyx_tuple__4;
- static PyObject *__pyx_tuple__6;
- static PyObject *__pyx_tuple__8;
- static PyObject *__pyx_tuple__10;
- static PyObject *__pyx_tuple__12;
- static PyObject *__pyx_tuple__14;
- static PyObject *__pyx_tuple__18;
- static PyObject *__pyx_tuple__21;
- static PyObject *__pyx_tuple__23;
- static PyObject *__pyx_tuple__24;
- static PyObject *__pyx_tuple__26;
- static PyObject *__pyx_tuple__27;
- static PyObject *__pyx_tuple__29;
- static PyObject *__pyx_tuple__30;
- static PyObject *__pyx_tuple__32;
- static PyObject *__pyx_tuple__33;
- static PyObject *__pyx_tuple__35;
- static PyObject *__pyx_tuple__36;
- static PyObject *__pyx_tuple__38;
- static PyObject *__pyx_tuple__40;
- static PyObject *__pyx_tuple__42;
- static PyObject *__pyx_tuple__44;
- static PyObject *__pyx_tuple__46;
- static PyObject *__pyx_tuple__48;
- static PyObject *__pyx_tuple__50;
- static PyObject *__pyx_tuple__52;
- static PyObject *__pyx_tuple__54;
- static PyObject *__pyx_tuple__56;
- static PyObject *__pyx_tuple__58;
- static PyObject *__pyx_tuple__60;
- static PyObject *__pyx_codeobj__5;
- static PyObject *__pyx_codeobj__7;
- static PyObject *__pyx_codeobj__9;
- static PyObject *__pyx_codeobj__11;
- static PyObject *__pyx_codeobj__13;
- static PyObject *__pyx_codeobj__15;
- static PyObject *__pyx_codeobj__22;
- static PyObject *__pyx_codeobj__25;
- static PyObject *__pyx_codeobj__28;
- static PyObject *__pyx_codeobj__31;
- static PyObject *__pyx_codeobj__34;
- static PyObject *__pyx_codeobj__37;
- static PyObject *__pyx_codeobj__39;
- static PyObject *__pyx_codeobj__41;
- static PyObject *__pyx_codeobj__43;
- static PyObject *__pyx_codeobj__45;
- static PyObject *__pyx_codeobj__47;
- static PyObject *__pyx_codeobj__49;
- static PyObject *__pyx_codeobj__51;
- static PyObject *__pyx_codeobj__53;
- static PyObject *__pyx_codeobj__55;
- static PyObject *__pyx_codeobj__57;
- static PyObject *__pyx_codeobj__59;
- static PyObject *__pyx_codeobj__61;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":19
- * # def myfunction():
- * #------------------------------------------------------------------------------
- * def timer(func, repetitions=100000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_1timer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_1timer = {__Pyx_NAMESTR("timer"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_1timer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_1timer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_func = 0;
- PyObject *__pyx_v_repetitions = 0;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("timer (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func,&__pyx_n_s_repetitions,0};
- PyObject* values[2] = {0,0};
- values[1] = ((PyObject *)__pyx_int_100000);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_repetitions);
- if (value) { values[1] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "timer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_func = values[0];
- __pyx_v_repetitions = values[1];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("timer", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_timer(__pyx_self, __pyx_v_func, __pyx_v_repetitions);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":21
- * def timer(func, repetitions=100000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_1wrapper = {__Pyx_NAMESTR("wrapper"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_1wrapper, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_args = 0;
- PyObject *__pyx_v_kwargs = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("wrapper (wrapper)", 0);
- if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "wrapper", 1))) return NULL;
- __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
- if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- __Pyx_INCREF(__pyx_args);
- __pyx_v_args = __pyx_args;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_wrapper(__pyx_self, __pyx_v_args, __pyx_v_kwargs);
- /* function exit code */
- __Pyx_XDECREF(__pyx_v_args);
- __Pyx_XDECREF(__pyx_v_kwargs);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *__pyx_cur_scope;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *__pyx_outer_scope;
- PyObject *__pyx_v_start = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_x = NULL;
- PyObject *__pyx_v_result = NULL;
- PyObject *__pyx_v_end = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- Py_ssize_t __pyx_t_5;
- PyObject *(*__pyx_t_6)(PyObject *);
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wrapper", 0);
- __pyx_outer_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":22
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * print(" ")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdout); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Starting, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_repetitions_of); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_kp_s_); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":23
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * print(" ")
- * # disable garbage collection
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_flush); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":24
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- * print(" ") # <<<<<<<<<<<<<<
- * # disable garbage collection
- * gc.collect()
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s__2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":26
- * print(" ")
- * # disable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * gc.disable()
- * start = time.time()
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_collect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":27
- * # disable garbage collection
- * gc.collect()
- * gc.disable() # <<<<<<<<<<<<<<
- * start = time.time()
- * for x in range(repetitions):
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_disable); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":28
- * gc.collect()
- * gc.disable()
- * start = time.time() # <<<<<<<<<<<<<<
- * for x in range(repetitions):
- * result = func(*args, **kwargs)
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_start = __pyx_t_4;
- __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":29
- * gc.disable()
- * start = time.time()
- * for x in range(repetitions): # <<<<<<<<<<<<<<
- * result = func(*args, **kwargs)
- * end = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
- __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
- __pyx_t_6 = NULL;
- } else {
- __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- for (;;) {
- if (!__pyx_t_6 && PyList_CheckExact(__pyx_t_4)) {
- if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_6 && PyTuple_CheckExact(__pyx_t_4)) {
- if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_2 = __pyx_t_6(__pyx_t_4);
- if (unlikely(!__pyx_t_2)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_2);
- }
- __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":30
- * start = time.time()
- * for x in range(repetitions):
- * result = func(*args, **kwargs) # <<<<<<<<<<<<<<
- * end = time.time()
- * gc.enable() # re-enable garbage collection
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_3);
- __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":31
- * for x in range(repetitions):
- * result = func(*args, **kwargs)
- * end = time.time() # <<<<<<<<<<<<<<
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_end = __pyx_t_4;
- __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":32
- * result = func(*args, **kwargs)
- * end = time.time()
- * gc.enable() # re-enable garbage collection # <<<<<<<<<<<<<<
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_enable); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":33
- * end = time.time()
- * gc.enable() # re-enable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_collect); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":34
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec") # <<<<<<<<<<<<<<
- * return result
- * return wrapper
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_repetitions_of); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_kp_s__3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_kp_s_sec); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":35
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result # <<<<<<<<<<<<<<
- * return wrapper
- *
- */
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __Pyx_INCREF(__pyx_v_result);
- __pyx_r = __pyx_v_result;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":21
- * def timer(func, repetitions=100000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_start);
- __Pyx_XDECREF(__pyx_v_x);
- __Pyx_XDECREF(__pyx_v_result);
- __Pyx_XDECREF(__pyx_v_end);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":19
- * # def myfunction():
- * #------------------------------------------------------------------------------
- * def timer(func, repetitions=100000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_timer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *__pyx_cur_scope;
- PyObject *__pyx_v_wrapper = 0;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("timer", 0);
- __pyx_cur_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *)__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer(__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __Pyx_GOTREF(__pyx_cur_scope);
- __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_cur_scope->__pyx_v_repetitions = __pyx_v_repetitions;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":20
- * #------------------------------------------------------------------------------
- * def timer(func, repetitions=100000):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":21
- * def timer(func, repetitions=100000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_1wrapper, 0, __pyx_n_s_timer_locals_wrapper, ((PyObject*)__pyx_cur_scope), __pyx_n_s_lib_Naked_toolshed_c_benchmarkin, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__5)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":20
- * #------------------------------------------------------------------------------
- * def timer(func, repetitions=100000):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_wrapper = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":36
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result
- * return wrapper # <<<<<<<<<<<<<<
- *
- * #------------------------------------------------------------------------------
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_wrapper);
- __pyx_r = __pyx_v_wrapper;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":19
- * # def myfunction():
- * #------------------------------------------------------------------------------
- * def timer(func, repetitions=100000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_wrapper);
- __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":43
- * #------------------------------------------------------------------------------
- *
- * def timer_10(func, repetitions=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_3timer_10(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_3timer_10 = {__Pyx_NAMESTR("timer_10"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_3timer_10, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_3timer_10(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_func = 0;
- PyObject *__pyx_v_repetitions = 0;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("timer_10 (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func,&__pyx_n_s_repetitions,0};
- PyObject* values[2] = {0,0};
- values[1] = ((PyObject *)__pyx_int_10);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_repetitions);
- if (value) { values[1] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "timer_10") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_func = values[0];
- __pyx_v_repetitions = values[1];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("timer_10", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_10", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_2timer_10(__pyx_self, __pyx_v_func, __pyx_v_repetitions);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":45
- * def timer_10(func, repetitions=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_10_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_10_1wrapper = {__Pyx_NAMESTR("wrapper"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_10_1wrapper, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_10_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_args = 0;
- PyObject *__pyx_v_kwargs = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("wrapper (wrapper)", 0);
- if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "wrapper", 1))) return NULL;
- __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
- if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- __Pyx_INCREF(__pyx_args);
- __pyx_v_args = __pyx_args;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_10_wrapper(__pyx_self, __pyx_v_args, __pyx_v_kwargs);
- /* function exit code */
- __Pyx_XDECREF(__pyx_v_args);
- __Pyx_XDECREF(__pyx_v_kwargs);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_10_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *__pyx_cur_scope;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *__pyx_outer_scope;
- PyObject *__pyx_v_start = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_x = NULL;
- PyObject *__pyx_v_result = NULL;
- PyObject *__pyx_v_end = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- Py_ssize_t __pyx_t_5;
- PyObject *(*__pyx_t_6)(PyObject *);
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wrapper", 0);
- __pyx_outer_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":46
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * print(" ")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdout); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Starting, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_repetitions_of); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_kp_s_); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":47
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * print(" ")
- * # disable garbage collection
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_flush); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":48
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- * print(" ") # <<<<<<<<<<<<<<
- * # disable garbage collection
- * gc.collect()
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s__2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":50
- * print(" ")
- * # disable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * gc.disable()
- * start = time.time()
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_collect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":51
- * # disable garbage collection
- * gc.collect()
- * gc.disable() # <<<<<<<<<<<<<<
- * start = time.time()
- * for x in range(repetitions):
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_disable); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":52
- * gc.collect()
- * gc.disable()
- * start = time.time() # <<<<<<<<<<<<<<
- * for x in range(repetitions):
- * result = func(*args, **kwargs)
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_start = __pyx_t_4;
- __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":53
- * gc.disable()
- * start = time.time()
- * for x in range(repetitions): # <<<<<<<<<<<<<<
- * result = func(*args, **kwargs)
- * end = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
- __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
- __pyx_t_6 = NULL;
- } else {
- __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- for (;;) {
- if (!__pyx_t_6 && PyList_CheckExact(__pyx_t_4)) {
- if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_6 && PyTuple_CheckExact(__pyx_t_4)) {
- if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_2 = __pyx_t_6(__pyx_t_4);
- if (unlikely(!__pyx_t_2)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_2);
- }
- __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":54
- * start = time.time()
- * for x in range(repetitions):
- * result = func(*args, **kwargs) # <<<<<<<<<<<<<<
- * end = time.time()
- * gc.enable() # re-enable garbage collection
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_3);
- __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":55
- * for x in range(repetitions):
- * result = func(*args, **kwargs)
- * end = time.time() # <<<<<<<<<<<<<<
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_end = __pyx_t_4;
- __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":56
- * result = func(*args, **kwargs)
- * end = time.time()
- * gc.enable() # re-enable garbage collection # <<<<<<<<<<<<<<
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_enable); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":57
- * end = time.time()
- * gc.enable() # re-enable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_collect); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":58
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec") # <<<<<<<<<<<<<<
- * return result
- * return wrapper
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_repetitions_of); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_kp_s__3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_kp_s_sec); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":59
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result # <<<<<<<<<<<<<<
- * return wrapper
- *
- */
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __Pyx_INCREF(__pyx_v_result);
- __pyx_r = __pyx_v_result;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":45
- * def timer_10(func, repetitions=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_10.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_start);
- __Pyx_XDECREF(__pyx_v_x);
- __Pyx_XDECREF(__pyx_v_result);
- __Pyx_XDECREF(__pyx_v_end);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":43
- * #------------------------------------------------------------------------------
- *
- * def timer_10(func, repetitions=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_2timer_10(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *__pyx_cur_scope;
- PyObject *__pyx_v_wrapper = 0;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("timer_10", 0);
- __pyx_cur_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *)__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10(__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __Pyx_GOTREF(__pyx_cur_scope);
- __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_cur_scope->__pyx_v_repetitions = __pyx_v_repetitions;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":44
- *
- * def timer_10(func, repetitions=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":45
- * def timer_10(func, repetitions=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_10_1wrapper, 0, __pyx_n_s_timer_10_locals_wrapper, ((PyObject*)__pyx_cur_scope), __pyx_n_s_lib_Naked_toolshed_c_benchmarkin, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":44
- *
- * def timer_10(func, repetitions=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_wrapper = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":60
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result
- * return wrapper # <<<<<<<<<<<<<<
- *
- * def timer_100(func, repetitions=100):
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_wrapper);
- __pyx_r = __pyx_v_wrapper;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":43
- * #------------------------------------------------------------------------------
- *
- * def timer_10(func, repetitions=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_10", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_wrapper);
- __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":62
- * return wrapper
- *
- * def timer_100(func, repetitions=100): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_100(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_100 = {__Pyx_NAMESTR("timer_100"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_100, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_100(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_func = 0;
- PyObject *__pyx_v_repetitions = 0;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("timer_100 (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func,&__pyx_n_s_repetitions,0};
- PyObject* values[2] = {0,0};
- values[1] = ((PyObject *)__pyx_int_100);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_repetitions);
- if (value) { values[1] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "timer_100") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_func = values[0];
- __pyx_v_repetitions = values[1];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("timer_100", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_100", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_4timer_100(__pyx_self, __pyx_v_func, __pyx_v_repetitions);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":64
- * def timer_100(func, repetitions=100):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_100_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_100_1wrapper = {__Pyx_NAMESTR("wrapper"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_100_1wrapper, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_100_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_args = 0;
- PyObject *__pyx_v_kwargs = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("wrapper (wrapper)", 0);
- if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "wrapper", 1))) return NULL;
- __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
- if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- __Pyx_INCREF(__pyx_args);
- __pyx_v_args = __pyx_args;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_100_wrapper(__pyx_self, __pyx_v_args, __pyx_v_kwargs);
- /* function exit code */
- __Pyx_XDECREF(__pyx_v_args);
- __Pyx_XDECREF(__pyx_v_kwargs);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_100_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *__pyx_cur_scope;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *__pyx_outer_scope;
- PyObject *__pyx_v_start = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_x = NULL;
- PyObject *__pyx_v_result = NULL;
- PyObject *__pyx_v_end = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- Py_ssize_t __pyx_t_5;
- PyObject *(*__pyx_t_6)(PyObject *);
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wrapper", 0);
- __pyx_outer_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":65
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * print(" ")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdout); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Starting, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_repetitions_of); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_kp_s_); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":66
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * print(" ")
- * # disable garbage collection
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_flush); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":67
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- * print(" ") # <<<<<<<<<<<<<<
- * # disable garbage collection
- * gc.collect()
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s__2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":69
- * print(" ")
- * # disable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * gc.disable()
- * start = time.time()
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_collect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":70
- * # disable garbage collection
- * gc.collect()
- * gc.disable() # <<<<<<<<<<<<<<
- * start = time.time()
- * for x in range(repetitions):
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_disable); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":71
- * gc.collect()
- * gc.disable()
- * start = time.time() # <<<<<<<<<<<<<<
- * for x in range(repetitions):
- * result = func(*args, **kwargs)
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_start = __pyx_t_4;
- __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":72
- * gc.disable()
- * start = time.time()
- * for x in range(repetitions): # <<<<<<<<<<<<<<
- * result = func(*args, **kwargs)
- * end = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
- __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
- __pyx_t_6 = NULL;
- } else {
- __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- for (;;) {
- if (!__pyx_t_6 && PyList_CheckExact(__pyx_t_4)) {
- if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_6 && PyTuple_CheckExact(__pyx_t_4)) {
- if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_2 = __pyx_t_6(__pyx_t_4);
- if (unlikely(!__pyx_t_2)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_2);
- }
- __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":73
- * start = time.time()
- * for x in range(repetitions):
- * result = func(*args, **kwargs) # <<<<<<<<<<<<<<
- * end = time.time()
- * gc.enable() # re-enable garbage collection
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_3);
- __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":74
- * for x in range(repetitions):
- * result = func(*args, **kwargs)
- * end = time.time() # <<<<<<<<<<<<<<
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_end = __pyx_t_4;
- __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":75
- * result = func(*args, **kwargs)
- * end = time.time()
- * gc.enable() # re-enable garbage collection # <<<<<<<<<<<<<<
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_enable); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":76
- * end = time.time()
- * gc.enable() # re-enable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_collect); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":77
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec") # <<<<<<<<<<<<<<
- * return result
- * return wrapper
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_repetitions_of); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_kp_s__3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_kp_s_sec); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":78
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result # <<<<<<<<<<<<<<
- * return wrapper
- *
- */
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __Pyx_INCREF(__pyx_v_result);
- __pyx_r = __pyx_v_result;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":64
- * def timer_100(func, repetitions=100):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_100.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_start);
- __Pyx_XDECREF(__pyx_v_x);
- __Pyx_XDECREF(__pyx_v_result);
- __Pyx_XDECREF(__pyx_v_end);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":62
- * return wrapper
- *
- * def timer_100(func, repetitions=100): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_4timer_100(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *__pyx_cur_scope;
- PyObject *__pyx_v_wrapper = 0;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("timer_100", 0);
- __pyx_cur_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *)__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100(__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __Pyx_GOTREF(__pyx_cur_scope);
- __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_cur_scope->__pyx_v_repetitions = __pyx_v_repetitions;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":63
- *
- * def timer_100(func, repetitions=100):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":64
- * def timer_100(func, repetitions=100):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_100_1wrapper, 0, __pyx_n_s_timer_100_locals_wrapper, ((PyObject*)__pyx_cur_scope), __pyx_n_s_lib_Naked_toolshed_c_benchmarkin, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":63
- *
- * def timer_100(func, repetitions=100):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_wrapper = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":79
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result
- * return wrapper # <<<<<<<<<<<<<<
- *
- * def timer_1k(func, repetitions=1000):
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_wrapper);
- __pyx_r = __pyx_v_wrapper;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":62
- * return wrapper
- *
- * def timer_100(func, repetitions=100): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_100", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_wrapper);
- __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":81
- * return wrapper
- *
- * def timer_1k(func, repetitions=1000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_7timer_1k(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_7timer_1k = {__Pyx_NAMESTR("timer_1k"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_7timer_1k, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_7timer_1k(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_func = 0;
- PyObject *__pyx_v_repetitions = 0;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("timer_1k (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func,&__pyx_n_s_repetitions,0};
- PyObject* values[2] = {0,0};
- values[1] = ((PyObject *)__pyx_int_1000);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_repetitions);
- if (value) { values[1] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "timer_1k") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_func = values[0];
- __pyx_v_repetitions = values[1];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("timer_1k", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_1k", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_6timer_1k(__pyx_self, __pyx_v_func, __pyx_v_repetitions);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":83
- * def timer_1k(func, repetitions=1000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1k_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1k_1wrapper = {__Pyx_NAMESTR("wrapper"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1k_1wrapper, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1k_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_args = 0;
- PyObject *__pyx_v_kwargs = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("wrapper (wrapper)", 0);
- if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "wrapper", 1))) return NULL;
- __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
- if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- __Pyx_INCREF(__pyx_args);
- __pyx_v_args = __pyx_args;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1k_wrapper(__pyx_self, __pyx_v_args, __pyx_v_kwargs);
- /* function exit code */
- __Pyx_XDECREF(__pyx_v_args);
- __Pyx_XDECREF(__pyx_v_kwargs);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1k_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *__pyx_cur_scope;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *__pyx_outer_scope;
- PyObject *__pyx_v_start = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_x = NULL;
- PyObject *__pyx_v_result = NULL;
- PyObject *__pyx_v_end = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- Py_ssize_t __pyx_t_5;
- PyObject *(*__pyx_t_6)(PyObject *);
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wrapper", 0);
- __pyx_outer_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":84
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * print(" ")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdout); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Starting, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_repetitions_of); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_kp_s_); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":85
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * print(" ")
- * # disable garbage collection
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_flush); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":86
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- * print(" ") # <<<<<<<<<<<<<<
- * # disable garbage collection
- * gc.collect()
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s__2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":88
- * print(" ")
- * # disable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * gc.disable()
- * start = time.time()
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_collect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":89
- * # disable garbage collection
- * gc.collect()
- * gc.disable() # <<<<<<<<<<<<<<
- * start = time.time()
- * for x in range(repetitions):
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_disable); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":90
- * gc.collect()
- * gc.disable()
- * start = time.time() # <<<<<<<<<<<<<<
- * for x in range(repetitions):
- * result = func(*args, **kwargs)
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_start = __pyx_t_4;
- __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":91
- * gc.disable()
- * start = time.time()
- * for x in range(repetitions): # <<<<<<<<<<<<<<
- * result = func(*args, **kwargs)
- * end = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
- __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
- __pyx_t_6 = NULL;
- } else {
- __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- for (;;) {
- if (!__pyx_t_6 && PyList_CheckExact(__pyx_t_4)) {
- if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_6 && PyTuple_CheckExact(__pyx_t_4)) {
- if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_2 = __pyx_t_6(__pyx_t_4);
- if (unlikely(!__pyx_t_2)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_2);
- }
- __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":92
- * start = time.time()
- * for x in range(repetitions):
- * result = func(*args, **kwargs) # <<<<<<<<<<<<<<
- * end = time.time()
- * gc.enable() # re-enable garbage collection
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_3);
- __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":93
- * for x in range(repetitions):
- * result = func(*args, **kwargs)
- * end = time.time() # <<<<<<<<<<<<<<
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_end = __pyx_t_4;
- __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":94
- * result = func(*args, **kwargs)
- * end = time.time()
- * gc.enable() # re-enable garbage collection # <<<<<<<<<<<<<<
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_enable); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":95
- * end = time.time()
- * gc.enable() # re-enable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_collect); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":96
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec") # <<<<<<<<<<<<<<
- * return result
- * return wrapper
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_repetitions_of); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_kp_s__3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_kp_s_sec); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":97
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result # <<<<<<<<<<<<<<
- * return wrapper
- *
- */
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __Pyx_INCREF(__pyx_v_result);
- __pyx_r = __pyx_v_result;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":83
- * def timer_1k(func, repetitions=1000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_1k.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_start);
- __Pyx_XDECREF(__pyx_v_x);
- __Pyx_XDECREF(__pyx_v_result);
- __Pyx_XDECREF(__pyx_v_end);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":81
- * return wrapper
- *
- * def timer_1k(func, repetitions=1000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_6timer_1k(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *__pyx_cur_scope;
- PyObject *__pyx_v_wrapper = 0;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("timer_1k", 0);
- __pyx_cur_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *)__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k(__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __Pyx_GOTREF(__pyx_cur_scope);
- __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_cur_scope->__pyx_v_repetitions = __pyx_v_repetitions;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":82
- *
- * def timer_1k(func, repetitions=1000):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":83
- * def timer_1k(func, repetitions=1000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1k_1wrapper, 0, __pyx_n_s_timer_1k_locals_wrapper, ((PyObject*)__pyx_cur_scope), __pyx_n_s_lib_Naked_toolshed_c_benchmarkin, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":82
- *
- * def timer_1k(func, repetitions=1000):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_wrapper = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":98
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result
- * return wrapper # <<<<<<<<<<<<<<
- *
- * def timer_10k(func, repetitions=10000):
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_wrapper);
- __pyx_r = __pyx_v_wrapper;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":81
- * return wrapper
- *
- * def timer_1k(func, repetitions=1000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_1k", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_wrapper);
- __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":100
- * return wrapper
- *
- * def timer_10k(func, repetitions=10000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k = {__Pyx_NAMESTR("timer_10k"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_func = 0;
- PyObject *__pyx_v_repetitions = 0;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("timer_10k (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func,&__pyx_n_s_repetitions,0};
- PyObject* values[2] = {0,0};
- values[1] = ((PyObject *)__pyx_int_10000);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_repetitions);
- if (value) { values[1] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "timer_10k") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_func = values[0];
- __pyx_v_repetitions = values[1];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("timer_10k", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_10k", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_10k(__pyx_self, __pyx_v_func, __pyx_v_repetitions);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":102
- * def timer_10k(func, repetitions=10000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k_1wrapper = {__Pyx_NAMESTR("wrapper"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k_1wrapper, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_args = 0;
- PyObject *__pyx_v_kwargs = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("wrapper (wrapper)", 0);
- if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "wrapper", 1))) return NULL;
- __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
- if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- __Pyx_INCREF(__pyx_args);
- __pyx_v_args = __pyx_args;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k_wrapper(__pyx_self, __pyx_v_args, __pyx_v_kwargs);
- /* function exit code */
- __Pyx_XDECREF(__pyx_v_args);
- __Pyx_XDECREF(__pyx_v_kwargs);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *__pyx_cur_scope;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *__pyx_outer_scope;
- PyObject *__pyx_v_start = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_x = NULL;
- PyObject *__pyx_v_result = NULL;
- PyObject *__pyx_v_end = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- Py_ssize_t __pyx_t_5;
- PyObject *(*__pyx_t_6)(PyObject *);
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wrapper", 0);
- __pyx_outer_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":103
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * print(" ")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdout); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Starting, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_repetitions_of); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_kp_s_); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":104
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * print(" ")
- * # disable garbage collection
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_flush); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":105
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- * print(" ") # <<<<<<<<<<<<<<
- * # disable garbage collection
- * gc.collect()
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s__2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":107
- * print(" ")
- * # disable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * gc.disable()
- * start = time.time()
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_collect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":108
- * # disable garbage collection
- * gc.collect()
- * gc.disable() # <<<<<<<<<<<<<<
- * start = time.time()
- * for x in range(repetitions):
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_disable); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":109
- * gc.collect()
- * gc.disable()
- * start = time.time() # <<<<<<<<<<<<<<
- * for x in range(repetitions):
- * result = func(*args, **kwargs)
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_start = __pyx_t_4;
- __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":110
- * gc.disable()
- * start = time.time()
- * for x in range(repetitions): # <<<<<<<<<<<<<<
- * result = func(*args, **kwargs)
- * end = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
- __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
- __pyx_t_6 = NULL;
- } else {
- __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- for (;;) {
- if (!__pyx_t_6 && PyList_CheckExact(__pyx_t_4)) {
- if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_6 && PyTuple_CheckExact(__pyx_t_4)) {
- if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_2 = __pyx_t_6(__pyx_t_4);
- if (unlikely(!__pyx_t_2)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_2);
- }
- __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":111
- * start = time.time()
- * for x in range(repetitions):
- * result = func(*args, **kwargs) # <<<<<<<<<<<<<<
- * end = time.time()
- * gc.enable() # re-enable garbage collection
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_3);
- __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":112
- * for x in range(repetitions):
- * result = func(*args, **kwargs)
- * end = time.time() # <<<<<<<<<<<<<<
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_end = __pyx_t_4;
- __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":113
- * result = func(*args, **kwargs)
- * end = time.time()
- * gc.enable() # re-enable garbage collection # <<<<<<<<<<<<<<
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_enable); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":114
- * end = time.time()
- * gc.enable() # re-enable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_collect); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":115
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec") # <<<<<<<<<<<<<<
- * return result
- * return wrapper
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_repetitions_of); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_kp_s__3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_kp_s_sec); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":116
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result # <<<<<<<<<<<<<<
- * return wrapper
- *
- */
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __Pyx_INCREF(__pyx_v_result);
- __pyx_r = __pyx_v_result;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":102
- * def timer_10k(func, repetitions=10000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_10k.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_start);
- __Pyx_XDECREF(__pyx_v_x);
- __Pyx_XDECREF(__pyx_v_result);
- __Pyx_XDECREF(__pyx_v_end);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":100
- * return wrapper
- *
- * def timer_10k(func, repetitions=10000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_10k(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *__pyx_cur_scope;
- PyObject *__pyx_v_wrapper = 0;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("timer_10k", 0);
- __pyx_cur_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *)__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k(__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __Pyx_GOTREF(__pyx_cur_scope);
- __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_cur_scope->__pyx_v_repetitions = __pyx_v_repetitions;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":101
- *
- * def timer_10k(func, repetitions=10000):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":102
- * def timer_10k(func, repetitions=10000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k_1wrapper, 0, __pyx_n_s_timer_10k_locals_wrapper, ((PyObject*)__pyx_cur_scope), __pyx_n_s_lib_Naked_toolshed_c_benchmarkin, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":101
- *
- * def timer_10k(func, repetitions=10000):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_wrapper = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":117
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result
- * return wrapper # <<<<<<<<<<<<<<
- *
- * def timer_1m(func, repetitions=1000000):
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_wrapper);
- __pyx_r = __pyx_v_wrapper;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":100
- * return wrapper
- *
- * def timer_10k(func, repetitions=10000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_10k", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_wrapper);
- __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":119
- * return wrapper
- *
- * def timer_1m(func, repetitions=1000000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_11timer_1m(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_11timer_1m = {__Pyx_NAMESTR("timer_1m"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_11timer_1m, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_11timer_1m(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_func = 0;
- PyObject *__pyx_v_repetitions = 0;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("timer_1m (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func,&__pyx_n_s_repetitions,0};
- PyObject* values[2] = {0,0};
- values[1] = ((PyObject *)__pyx_int_1000000);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_repetitions);
- if (value) { values[1] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "timer_1m") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_func = values[0];
- __pyx_v_repetitions = values[1];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("timer_1m", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_1m", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_10timer_1m(__pyx_self, __pyx_v_func, __pyx_v_repetitions);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":121
- * def timer_1m(func, repetitions=1000000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1m_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1m_1wrapper = {__Pyx_NAMESTR("wrapper"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1m_1wrapper, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1m_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_args = 0;
- PyObject *__pyx_v_kwargs = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("wrapper (wrapper)", 0);
- if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "wrapper", 1))) return NULL;
- __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
- if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- __Pyx_INCREF(__pyx_args);
- __pyx_v_args = __pyx_args;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1m_wrapper(__pyx_self, __pyx_v_args, __pyx_v_kwargs);
- /* function exit code */
- __Pyx_XDECREF(__pyx_v_args);
- __Pyx_XDECREF(__pyx_v_kwargs);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1m_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *__pyx_cur_scope;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *__pyx_outer_scope;
- PyObject *__pyx_v_start = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_x = NULL;
- PyObject *__pyx_v_result = NULL;
- PyObject *__pyx_v_end = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- PyObject *__pyx_t_4 = NULL;
- Py_ssize_t __pyx_t_5;
- PyObject *(*__pyx_t_6)(PyObject *);
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wrapper", 0);
- __pyx_outer_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":122
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * print(" ")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdout); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Starting, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_repetitions_of); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_kp_s_); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":123
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * print(" ")
- * # disable garbage collection
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_flush); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":124
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- * print(" ") # <<<<<<<<<<<<<<
- * # disable garbage collection
- * gc.collect()
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s__2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":126
- * print(" ")
- * # disable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * gc.disable()
- * start = time.time()
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_collect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":127
- * # disable garbage collection
- * gc.collect()
- * gc.disable() # <<<<<<<<<<<<<<
- * start = time.time()
- * for x in range(repetitions):
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_disable); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":128
- * gc.collect()
- * gc.disable()
- * start = time.time() # <<<<<<<<<<<<<<
- * for x in range(repetitions):
- * result = func(*args, **kwargs)
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_start = __pyx_t_4;
- __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":129
- * gc.disable()
- * start = time.time()
- * for x in range(repetitions): # <<<<<<<<<<<<<<
- * result = func(*args, **kwargs)
- * end = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
- __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
- __pyx_t_6 = NULL;
- } else {
- __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- for (;;) {
- if (!__pyx_t_6 && PyList_CheckExact(__pyx_t_4)) {
- if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_6 && PyTuple_CheckExact(__pyx_t_4)) {
- if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_2 = __pyx_t_6(__pyx_t_4);
- if (unlikely(!__pyx_t_2)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_2);
- }
- __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":130
- * start = time.time()
- * for x in range(repetitions):
- * result = func(*args, **kwargs) # <<<<<<<<<<<<<<
- * end = time.time()
- * gc.enable() # re-enable garbage collection
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_3);
- __pyx_t_3 = 0;
- }
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":131
- * for x in range(repetitions):
- * result = func(*args, **kwargs)
- * end = time.time() # <<<<<<<<<<<<<<
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_end = __pyx_t_4;
- __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":132
- * result = func(*args, **kwargs)
- * end = time.time()
- * gc.enable() # re-enable garbage collection # <<<<<<<<<<<<<<
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_enable); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":133
- * end = time.time()
- * gc.enable() # re-enable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result
- */
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_collect); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":134
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec") # <<<<<<<<<<<<<<
- * return result
- * return wrapper
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_repetitions_of); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_kp_s__3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
- __Pyx_GIVEREF(__pyx_t_1);
- __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_kp_s_sec); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":135
- * gc.collect()
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result # <<<<<<<<<<<<<<
- * return wrapper
- *
- */
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __Pyx_INCREF(__pyx_v_result);
- __pyx_r = __pyx_v_result;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":121
- * def timer_1m(func, repetitions=1000000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_4);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_1m.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_start);
- __Pyx_XDECREF(__pyx_v_x);
- __Pyx_XDECREF(__pyx_v_result);
- __Pyx_XDECREF(__pyx_v_end);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":119
- * return wrapper
- *
- * def timer_1m(func, repetitions=1000000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_10timer_1m(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *__pyx_cur_scope;
- PyObject *__pyx_v_wrapper = 0;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("timer_1m", 0);
- __pyx_cur_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *)__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m(__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __Pyx_GOTREF(__pyx_cur_scope);
- __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_cur_scope->__pyx_v_repetitions = __pyx_v_repetitions;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":120
- *
- * def timer_1m(func, repetitions=1000000):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":121
- * def timer_1m(func, repetitions=1000000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_8timer_1m_1wrapper, 0, __pyx_n_s_timer_1m_locals_wrapper, ((PyObject*)__pyx_cur_scope), __pyx_n_s_lib_Naked_toolshed_c_benchmarkin, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":120
- *
- * def timer_1m(func, repetitions=1000000):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_wrapper = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":136
- * print(str(repetitions) + " repetitions of " + func.__name__ + " : " + str(end-start) + " sec")
- * return result
- * return wrapper # <<<<<<<<<<<<<<
- *
- * #------------------------------------------------------------------------------
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_wrapper);
- __pyx_r = __pyx_v_wrapper;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":119
- * return wrapper
- *
- * def timer_1m(func, repetitions=1000000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_1m", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_wrapper);
- __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":152
- * # def myfunction():
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark(func, repetitions=100000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_13timer_trials_benchmark(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_13timer_trials_benchmark = {__Pyx_NAMESTR("timer_trials_benchmark"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_13timer_trials_benchmark, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_13timer_trials_benchmark(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_func = 0;
- PyObject *__pyx_v_repetitions = 0;
- PyObject *__pyx_v_trials = 0;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("timer_trials_benchmark (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func,&__pyx_n_s_repetitions,&__pyx_n_s_trials,0};
- PyObject* values[3] = {0,0,0};
- values[1] = ((PyObject *)__pyx_int_100000);
- values[2] = ((PyObject *)__pyx_int_10);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_repetitions);
- if (value) { values[1] = value; kw_args--; }
- }
- case 2:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_trials);
- if (value) { values[2] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "timer_trials_benchmark") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_func = values[0];
- __pyx_v_repetitions = values[1];
- __pyx_v_trials = values[2];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("timer_trials_benchmark", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_12timer_trials_benchmark(__pyx_self, __pyx_v_func, __pyx_v_repetitions, __pyx_v_trials);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":154
- * def timer_trials_benchmark(func, repetitions=100000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_22timer_trials_benchmark_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_22timer_trials_benchmark_1wrapper = {__Pyx_NAMESTR("wrapper"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_22timer_trials_benchmark_1wrapper, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_22timer_trials_benchmark_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_args = 0;
- PyObject *__pyx_v_kwargs = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("wrapper (wrapper)", 0);
- if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "wrapper", 1))) return NULL;
- __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
- if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- __Pyx_INCREF(__pyx_args);
- __pyx_v_args = __pyx_args;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_22timer_trials_benchmark_wrapper(__pyx_self, __pyx_v_args, __pyx_v_kwargs);
- /* function exit code */
- __Pyx_XDECREF(__pyx_v_args);
- __Pyx_XDECREF(__pyx_v_kwargs);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_22timer_trials_benchmark_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *__pyx_cur_scope;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *__pyx_outer_scope;
- PyObject *__pyx_v_result_list = NULL;
- PyObject *__pyx_v_benchmark_list = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_x = NULL;
- PyObject *__pyx_v_start = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_y = NULL;
- PyObject *__pyx_v_end = NULL;
- PyObject *__pyx_v_result = NULL;
- PyObject *__pyx_v_L = NULL;
- PyObject *__pyx_v_start2 = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_j = NULL;
- long __pyx_v_i;
- PyObject *__pyx_v_end2 = NULL;
- PyObject *__pyx_v_n = NULL;
- PyObject *__pyx_v_run = NULL;
- PyObject *__pyx_v_mean = NULL;
- PyObject *__pyx_v_mean_benchmark = NULL;
- PyObject *__pyx_v_np = NULL;
- PyObject *__pyx_v_array = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_ie = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- Py_ssize_t __pyx_t_4;
- PyObject *(*__pyx_t_5)(PyObject *);
- Py_ssize_t __pyx_t_6;
- PyObject *(*__pyx_t_7)(PyObject *);
- PyObject *__pyx_t_8 = NULL;
- PyObject *__pyx_t_9 = NULL;
- int __pyx_t_10;
- long __pyx_t_11;
- PyObject *__pyx_t_12 = NULL;
- PyObject *__pyx_t_13 = NULL;
- PyObject *__pyx_t_14 = NULL;
- int __pyx_t_15;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wrapper", 0);
- __pyx_outer_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":155
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * result_list = []
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdout); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyNumber_Add(__pyx_kp_s_Starting_timed_trials_of, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__16); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":156
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * result_list = []
- * benchmark_list = []
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_flush); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":157
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- * result_list = [] # <<<<<<<<<<<<<<
- * benchmark_list = []
- * # disable garbage collection
- */
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_result_list = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":158
- * sys.stdout.flush()
- * result_list = []
- * benchmark_list = [] # <<<<<<<<<<<<<<
- * # disable garbage collection
- * gc.collect()
- */
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_benchmark_list = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":160
- * benchmark_list = []
- * # disable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * gc.disable()
- * for x in range(trials):
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_collect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":161
- * # disable garbage collection
- * gc.collect()
- * gc.disable() # <<<<<<<<<<<<<<
- * for x in range(trials):
- * # test function
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_disable); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":162
- * gc.collect()
- * gc.disable()
- * for x in range(trials): # <<<<<<<<<<<<<<
- * # test function
- * start = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_trials)) { __Pyx_RaiseClosureNameError("trials"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trials);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_cur_scope->__pyx_v_trials);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trials);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
- __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
- __pyx_t_5 = NULL;
- } else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- for (;;) {
- if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_3)) {
- if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_3)) {
- if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_2 = __pyx_t_5(__pyx_t_3);
- if (unlikely(!__pyx_t_2)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_2);
- }
- __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":164
- * for x in range(trials):
- * # test function
- * start = time.time() # <<<<<<<<<<<<<<
- * for y in range(repetitions):
- * func(*args, **kwargs)
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF_SET(__pyx_v_start, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":165
- * # test function
- * start = time.time()
- * for y in range(repetitions): # <<<<<<<<<<<<<<
- * func(*args, **kwargs)
- * end = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyList_CheckExact(__pyx_t_1) || PyTuple_CheckExact(__pyx_t_1)) {
- __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
- __pyx_t_7 = NULL;
- } else {
- __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- for (;;) {
- if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_2)) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_2)) {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_1 = __pyx_t_7(__pyx_t_2);
- if (unlikely(!__pyx_t_1)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_1);
- }
- __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_1);
- __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":166
- * start = time.time()
- * for y in range(repetitions):
- * func(*args, **kwargs) # <<<<<<<<<<<<<<
- * end = time.time()
- * result = func(*args, **kwargs)
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_1 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":167
- * for y in range(repetitions):
- * func(*args, **kwargs)
- * end = time.time() # <<<<<<<<<<<<<<
- * result = func(*args, **kwargs)
- * result_list.append(end-start)
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_end, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":168
- * func(*args, **kwargs)
- * end = time.time()
- * result = func(*args, **kwargs) # <<<<<<<<<<<<<<
- * result_list.append(end-start)
- * # benchmark function
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":169
- * end = time.time()
- * result = func(*args, **kwargs)
- * result_list.append(end-start) # <<<<<<<<<<<<<<
- * # benchmark function
- * L = []
- */
- __pyx_t_8 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_result_list, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":171
- * result_list.append(end-start)
- * # benchmark function
- * L = [] # <<<<<<<<<<<<<<
- * start2 = time.time()
- * for j in range(repetitions):
- */
- __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_XDECREF_SET(__pyx_v_L, ((PyObject*)__pyx_t_8));
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":172
- * # benchmark function
- * L = []
- * start2 = time.time() # <<<<<<<<<<<<<<
- * for j in range(repetitions):
- * for i in range(10):
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_start2, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":173
- * L = []
- * start2 = time.time()
- * for j in range(repetitions): # <<<<<<<<<<<<<<
- * for i in range(10):
- * L.append(i)
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (PyList_CheckExact(__pyx_t_9) || PyTuple_CheckExact(__pyx_t_9)) {
- __pyx_t_8 = __pyx_t_9; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0;
- __pyx_t_7 = NULL;
- } else {
- __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- for (;;) {
- if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_8)) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_8)) {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_9 = __pyx_t_7(__pyx_t_8);
- if (unlikely(!__pyx_t_9)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_9);
- }
- __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_9);
- __pyx_t_9 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":174
- * start2 = time.time()
- * for j in range(repetitions):
- * for i in range(10): # <<<<<<<<<<<<<<
- * L.append(i)
- * end2 = time.time()
- */
- for (__pyx_t_11 = 0; __pyx_t_11 < 10; __pyx_t_11+=1) {
- __pyx_v_i = __pyx_t_11;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":175
- * for j in range(repetitions):
- * for i in range(10):
- * L.append(i) # <<<<<<<<<<<<<<
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- */
- __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_i); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_L, __pyx_t_9); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- }
- }
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":176
- * for i in range(10):
- * L.append(i)
- * end2 = time.time() # <<<<<<<<<<<<<<
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".")
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_end2, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":177
- * L.append(i)
- * end2 = time.time()
- * benchmark_list.append(end2 - start2) # <<<<<<<<<<<<<<
- * sys.stdout.write(".")
- * sys.stdout.flush()
- */
- __pyx_t_8 = PyNumber_Subtract(__pyx_v_end2, __pyx_v_start2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_benchmark_list, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":178
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_stdout); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_write); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":179
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- */
- __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_stdout); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_flush); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":180
- * sys.stdout.write(".")
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection # <<<<<<<<<<<<<<
- * gc.collect()
- * print(" ")
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_enable); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":181
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * print(" ")
- * n = 1
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_collect); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":182
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- * print(" ") # <<<<<<<<<<<<<<
- * n = 1
- * for run in result_list:
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s__2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":183
- * gc.collect()
- * print(" ")
- * n = 1 # <<<<<<<<<<<<<<
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run))
- */
- __Pyx_INCREF(__pyx_int_1);
- __pyx_v_n = __pyx_int_1;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":184
- * print(" ")
- * n = 1
- * for run in result_list: # <<<<<<<<<<<<<<
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1
- */
- __pyx_t_3 = __pyx_v_result_list; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
- for (;;) {
- if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_8 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_8); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_8 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- __Pyx_XDECREF_SET(__pyx_v_run, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":185
- * n = 1
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run)) # <<<<<<<<<<<<<<
- * n += 1
- * print("-"*50)
- */
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_n);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_n);
- __Pyx_GIVEREF(__pyx_v_n);
- __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Trial, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyNumber_Add(__pyx_t_8, __pyx_kp_s__19); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_run);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_run);
- __Pyx_GIVEREF(__pyx_v_run);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_9, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":186
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1 # <<<<<<<<<<<<<<
- * print("-"*50)
- * mean = sum(result_list)/len(result_list)
- */
- __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_n, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF_SET(__pyx_v_n, __pyx_t_8);
- __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":187
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1
- * print("-"*50) # <<<<<<<<<<<<<<
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- */
- __pyx_t_3 = PyNumber_Multiply(__pyx_kp_s__20, __pyx_int_50); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- if (__Pyx_PrintOne(0, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":188
- * n += 1
- * print("-"*50)
- * mean = sum(result_list)/len(result_list) # <<<<<<<<<<<<<<
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- */
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_v_result_list);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_result_list);
- __Pyx_GIVEREF(__pyx_v_result_list);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_3, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_4 = PyList_GET_SIZE(__pyx_v_result_list); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_mean = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":189
- * print("-"*50)
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list) # <<<<<<<<<<<<<<
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try:
- */
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_v_benchmark_list);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_benchmark_list);
- __Pyx_GIVEREF(__pyx_v_benchmark_list);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_4 = PyList_GET_SIZE(__pyx_v_benchmark_list); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_mean_benchmark = __pyx_t_8;
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":190
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec") # <<<<<<<<<<<<<<
- * try:
- * import numpy as np
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Mean_for, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_repetitions_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_mean);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_mean);
- __Pyx_GIVEREF(__pyx_v_mean);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_sec); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":191
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try: # <<<<<<<<<<<<<<
- * import numpy as np
- * array = np.array(result_list)
- */
- {
- __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
- __Pyx_XGOTREF(__pyx_t_12);
- __Pyx_XGOTREF(__pyx_t_13);
- __Pyx_XGOTREF(__pyx_t_14);
- /*try:*/ {
- /* "lib/Naked/toolshed/c/benchmarking.pyx":192
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try:
- * import numpy as np # <<<<<<<<<<<<<<
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array)))
- */
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_np = __pyx_t_3;
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":193
- * try:
- * import numpy as np
- * array = np.array(result_list) # <<<<<<<<<<<<<<
- * print( "Standard Deviation: " + str(np.std(array)))
- * except ImportError as ie:
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_np, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_result_list);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_result_list);
- __Pyx_GIVEREF(__pyx_v_result_list);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_v_array = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":194
- * import numpy as np
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array))) # <<<<<<<<<<<<<<
- * except ImportError as ie:
- * pass
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_np, __pyx_n_s_std); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_array);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_array);
- __Pyx_GIVEREF(__pyx_v_array);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Standard_Deviation, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
- __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- goto __pyx_L20_try_end;
- __pyx_L13_error:;
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":195
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array)))
- * except ImportError as ie: # <<<<<<<<<<<<<<
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- */
- __pyx_t_15 = PyErr_ExceptionMatches(__pyx_builtin_ImportError);
- if (__pyx_t_15) {
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_3, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L15_except_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __pyx_v_ie = __pyx_t_3;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- goto __pyx_L14_exception_handled;
- }
- goto __pyx_L15_except_error;
- __pyx_L15_except_error:;
- __Pyx_XGIVEREF(__pyx_t_12);
- __Pyx_XGIVEREF(__pyx_t_13);
- __Pyx_XGIVEREF(__pyx_t_14);
- __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
- goto __pyx_L1_error;
- __pyx_L14_exception_handled:;
- __Pyx_XGIVEREF(__pyx_t_12);
- __Pyx_XGIVEREF(__pyx_t_13);
- __Pyx_XGIVEREF(__pyx_t_14);
- __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
- __pyx_L20_try_end:;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":197
- * except ImportError as ie:
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec") # <<<<<<<<<<<<<<
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark))
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_v_mean, __pyx_cur_scope->__pyx_v_repetitions); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_kp_s_Mean_per_repetition, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_sec); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":198
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec") # <<<<<<<<<<<<<<
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Mean_for, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_of_benchmark_function); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_v_mean_benchmark);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_mean_benchmark);
- __Pyx_GIVEREF(__pyx_v_mean_benchmark);
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_sec); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":199
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark)) # <<<<<<<<<<<<<<
- * return result
- * return wrapper
- */
- __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_v_mean, __pyx_v_mean_benchmark); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8);
- __Pyx_GIVEREF(__pyx_t_8);
- __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Ratio, __pyx_t_8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":200
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result # <<<<<<<<<<<<<<
- * return wrapper
- *
- */
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __Pyx_INCREF(__pyx_v_result);
- __pyx_r = __pyx_v_result;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":154
- * def timer_trials_benchmark(func, repetitions=100000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_9);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_result_list);
- __Pyx_XDECREF(__pyx_v_benchmark_list);
- __Pyx_XDECREF(__pyx_v_x);
- __Pyx_XDECREF(__pyx_v_start);
- __Pyx_XDECREF(__pyx_v_y);
- __Pyx_XDECREF(__pyx_v_end);
- __Pyx_XDECREF(__pyx_v_result);
- __Pyx_XDECREF(__pyx_v_L);
- __Pyx_XDECREF(__pyx_v_start2);
- __Pyx_XDECREF(__pyx_v_j);
- __Pyx_XDECREF(__pyx_v_end2);
- __Pyx_XDECREF(__pyx_v_n);
- __Pyx_XDECREF(__pyx_v_run);
- __Pyx_XDECREF(__pyx_v_mean);
- __Pyx_XDECREF(__pyx_v_mean_benchmark);
- __Pyx_XDECREF(__pyx_v_np);
- __Pyx_XDECREF(__pyx_v_array);
- __Pyx_XDECREF(__pyx_v_ie);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":152
- * # def myfunction():
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark(func, repetitions=100000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_12timer_trials_benchmark(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions, PyObject *__pyx_v_trials) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *__pyx_cur_scope;
- PyObject *__pyx_v_wrapper = 0;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("timer_trials_benchmark", 0);
- __pyx_cur_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *)__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark(__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __Pyx_GOTREF(__pyx_cur_scope);
- __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_cur_scope->__pyx_v_repetitions = __pyx_v_repetitions;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_cur_scope->__pyx_v_trials = __pyx_v_trials;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trials);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trials);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":153
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark(func, repetitions=100000, trials=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":154
- * def timer_trials_benchmark(func, repetitions=100000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_22timer_trials_benchmark_1wrapper, 0, __pyx_n_s_timer_trials_benchmark_locals_wr, ((PyObject*)__pyx_cur_scope), __pyx_n_s_lib_Naked_toolshed_c_benchmarkin, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__22)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":153
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark(func, repetitions=100000, trials=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_wrapper = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":201
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result
- * return wrapper # <<<<<<<<<<<<<<
- *
- * #------------------------------------------------------------------------------
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_wrapper);
- __pyx_r = __pyx_v_wrapper;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":152
- * # def myfunction():
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark(func, repetitions=100000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_wrapper);
- __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":207
- * # additional benchmark decorators that replicate the above function with different # repetitions
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark_10(func, repetitions=10, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_15timer_trials_benchmark_10(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_15timer_trials_benchmark_10 = {__Pyx_NAMESTR("timer_trials_benchmark_10"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_15timer_trials_benchmark_10, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_15timer_trials_benchmark_10(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_func = 0;
- PyObject *__pyx_v_repetitions = 0;
- PyObject *__pyx_v_trials = 0;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("timer_trials_benchmark_10 (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func,&__pyx_n_s_repetitions,&__pyx_n_s_trials,0};
- PyObject* values[3] = {0,0,0};
- values[1] = ((PyObject *)__pyx_int_10);
- values[2] = ((PyObject *)__pyx_int_10);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_repetitions);
- if (value) { values[1] = value; kw_args--; }
- }
- case 2:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_trials);
- if (value) { values[2] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "timer_trials_benchmark_10") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_func = values[0];
- __pyx_v_repetitions = values[1];
- __pyx_v_trials = values[2];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("timer_trials_benchmark_10", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_10", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_14timer_trials_benchmark_10(__pyx_self, __pyx_v_func, __pyx_v_repetitions, __pyx_v_trials);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":209
- * def timer_trials_benchmark_10(func, repetitions=10, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_10_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_10_1wrapper = {__Pyx_NAMESTR("wrapper"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_10_1wrapper, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_10_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_args = 0;
- PyObject *__pyx_v_kwargs = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("wrapper (wrapper)", 0);
- if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "wrapper", 1))) return NULL;
- __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
- if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- __Pyx_INCREF(__pyx_args);
- __pyx_v_args = __pyx_args;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_10_wrapper(__pyx_self, __pyx_v_args, __pyx_v_kwargs);
- /* function exit code */
- __Pyx_XDECREF(__pyx_v_args);
- __Pyx_XDECREF(__pyx_v_kwargs);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_10_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *__pyx_cur_scope;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *__pyx_outer_scope;
- PyObject *__pyx_v_result_list = NULL;
- PyObject *__pyx_v_benchmark_list = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_x = NULL;
- PyObject *__pyx_v_start = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_y = NULL;
- PyObject *__pyx_v_end = NULL;
- PyObject *__pyx_v_result = NULL;
- PyObject *__pyx_v_L = NULL;
- PyObject *__pyx_v_start2 = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_j = NULL;
- long __pyx_v_i;
- PyObject *__pyx_v_end2 = NULL;
- PyObject *__pyx_v_n = NULL;
- PyObject *__pyx_v_run = NULL;
- PyObject *__pyx_v_mean = NULL;
- PyObject *__pyx_v_mean_benchmark = NULL;
- PyObject *__pyx_v_np = NULL;
- PyObject *__pyx_v_array = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_ie = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- Py_ssize_t __pyx_t_4;
- PyObject *(*__pyx_t_5)(PyObject *);
- Py_ssize_t __pyx_t_6;
- PyObject *(*__pyx_t_7)(PyObject *);
- PyObject *__pyx_t_8 = NULL;
- PyObject *__pyx_t_9 = NULL;
- int __pyx_t_10;
- long __pyx_t_11;
- PyObject *__pyx_t_12 = NULL;
- PyObject *__pyx_t_13 = NULL;
- PyObject *__pyx_t_14 = NULL;
- int __pyx_t_15;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wrapper", 0);
- __pyx_outer_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":210
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * result_list = []
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdout); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyNumber_Add(__pyx_kp_s_Starting_timed_trials_of, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__16); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":211
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * result_list = []
- * benchmark_list = []
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_flush); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":212
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- * result_list = [] # <<<<<<<<<<<<<<
- * benchmark_list = []
- * # disable garbage collection
- */
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_result_list = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":213
- * sys.stdout.flush()
- * result_list = []
- * benchmark_list = [] # <<<<<<<<<<<<<<
- * # disable garbage collection
- * gc.collect()
- */
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_benchmark_list = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":215
- * benchmark_list = []
- * # disable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * gc.disable()
- * for x in range(trials):
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_collect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":216
- * # disable garbage collection
- * gc.collect()
- * gc.disable() # <<<<<<<<<<<<<<
- * for x in range(trials):
- * # test function
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_disable); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":217
- * gc.collect()
- * gc.disable()
- * for x in range(trials): # <<<<<<<<<<<<<<
- * # test function
- * start = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_trials)) { __Pyx_RaiseClosureNameError("trials"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trials);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_cur_scope->__pyx_v_trials);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trials);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
- __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
- __pyx_t_5 = NULL;
- } else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- for (;;) {
- if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_3)) {
- if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_3)) {
- if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_2 = __pyx_t_5(__pyx_t_3);
- if (unlikely(!__pyx_t_2)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_2);
- }
- __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":219
- * for x in range(trials):
- * # test function
- * start = time.time() # <<<<<<<<<<<<<<
- * for y in range(repetitions):
- * func(*args, **kwargs)
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF_SET(__pyx_v_start, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":220
- * # test function
- * start = time.time()
- * for y in range(repetitions): # <<<<<<<<<<<<<<
- * func(*args, **kwargs)
- * end = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyList_CheckExact(__pyx_t_1) || PyTuple_CheckExact(__pyx_t_1)) {
- __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
- __pyx_t_7 = NULL;
- } else {
- __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- for (;;) {
- if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_2)) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_2)) {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_1 = __pyx_t_7(__pyx_t_2);
- if (unlikely(!__pyx_t_1)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_1);
- }
- __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_1);
- __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":221
- * start = time.time()
- * for y in range(repetitions):
- * func(*args, **kwargs) # <<<<<<<<<<<<<<
- * end = time.time()
- * result = func(*args, **kwargs)
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_1 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":222
- * for y in range(repetitions):
- * func(*args, **kwargs)
- * end = time.time() # <<<<<<<<<<<<<<
- * result = func(*args, **kwargs)
- * result_list.append(end-start)
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_end, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":223
- * func(*args, **kwargs)
- * end = time.time()
- * result = func(*args, **kwargs) # <<<<<<<<<<<<<<
- * result_list.append(end-start)
- * # benchmark function
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":224
- * end = time.time()
- * result = func(*args, **kwargs)
- * result_list.append(end-start) # <<<<<<<<<<<<<<
- * # benchmark function
- * L = []
- */
- __pyx_t_8 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_result_list, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":226
- * result_list.append(end-start)
- * # benchmark function
- * L = [] # <<<<<<<<<<<<<<
- * start2 = time.time()
- * for j in range(repetitions):
- */
- __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_XDECREF_SET(__pyx_v_L, ((PyObject*)__pyx_t_8));
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":227
- * # benchmark function
- * L = []
- * start2 = time.time() # <<<<<<<<<<<<<<
- * for j in range(repetitions):
- * for i in range(10):
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_start2, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":228
- * L = []
- * start2 = time.time()
- * for j in range(repetitions): # <<<<<<<<<<<<<<
- * for i in range(10):
- * L.append(i)
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (PyList_CheckExact(__pyx_t_9) || PyTuple_CheckExact(__pyx_t_9)) {
- __pyx_t_8 = __pyx_t_9; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0;
- __pyx_t_7 = NULL;
- } else {
- __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- for (;;) {
- if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_8)) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_8)) {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_9 = __pyx_t_7(__pyx_t_8);
- if (unlikely(!__pyx_t_9)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_9);
- }
- __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_9);
- __pyx_t_9 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":229
- * start2 = time.time()
- * for j in range(repetitions):
- * for i in range(10): # <<<<<<<<<<<<<<
- * L.append(i)
- * end2 = time.time()
- */
- for (__pyx_t_11 = 0; __pyx_t_11 < 10; __pyx_t_11+=1) {
- __pyx_v_i = __pyx_t_11;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":230
- * for j in range(repetitions):
- * for i in range(10):
- * L.append(i) # <<<<<<<<<<<<<<
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- */
- __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_i); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_L, __pyx_t_9); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- }
- }
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":231
- * for i in range(10):
- * L.append(i)
- * end2 = time.time() # <<<<<<<<<<<<<<
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".")
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_end2, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":232
- * L.append(i)
- * end2 = time.time()
- * benchmark_list.append(end2 - start2) # <<<<<<<<<<<<<<
- * sys.stdout.write(".")
- * sys.stdout.flush()
- */
- __pyx_t_8 = PyNumber_Subtract(__pyx_v_end2, __pyx_v_start2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_benchmark_list, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":233
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_stdout); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_write); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":234
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- */
- __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_stdout); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_flush); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":235
- * sys.stdout.write(".")
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection # <<<<<<<<<<<<<<
- * gc.collect()
- * print(" ")
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_enable); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":236
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * print(" ")
- * n = 1
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_collect); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":237
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- * print(" ") # <<<<<<<<<<<<<<
- * n = 1
- * for run in result_list:
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s__2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":238
- * gc.collect()
- * print(" ")
- * n = 1 # <<<<<<<<<<<<<<
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run))
- */
- __Pyx_INCREF(__pyx_int_1);
- __pyx_v_n = __pyx_int_1;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":239
- * print(" ")
- * n = 1
- * for run in result_list: # <<<<<<<<<<<<<<
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1
- */
- __pyx_t_3 = __pyx_v_result_list; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
- for (;;) {
- if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_8 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_8); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_8 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- __Pyx_XDECREF_SET(__pyx_v_run, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":240
- * n = 1
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run)) # <<<<<<<<<<<<<<
- * n += 1
- * print("-"*50)
- */
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_n);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_n);
- __Pyx_GIVEREF(__pyx_v_n);
- __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Trial, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyNumber_Add(__pyx_t_8, __pyx_kp_s__19); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_run);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_run);
- __Pyx_GIVEREF(__pyx_v_run);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_9, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":241
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1 # <<<<<<<<<<<<<<
- * print("-"*50)
- * mean = sum(result_list)/len(result_list)
- */
- __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_n, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF_SET(__pyx_v_n, __pyx_t_8);
- __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":242
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1
- * print("-"*50) # <<<<<<<<<<<<<<
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- */
- __pyx_t_3 = PyNumber_Multiply(__pyx_kp_s__20, __pyx_int_50); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- if (__Pyx_PrintOne(0, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":243
- * n += 1
- * print("-"*50)
- * mean = sum(result_list)/len(result_list) # <<<<<<<<<<<<<<
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- */
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_v_result_list);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_result_list);
- __Pyx_GIVEREF(__pyx_v_result_list);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_3, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_4 = PyList_GET_SIZE(__pyx_v_result_list); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_mean = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":244
- * print("-"*50)
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list) # <<<<<<<<<<<<<<
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try:
- */
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_v_benchmark_list);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_benchmark_list);
- __Pyx_GIVEREF(__pyx_v_benchmark_list);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_4 = PyList_GET_SIZE(__pyx_v_benchmark_list); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_mean_benchmark = __pyx_t_8;
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":245
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec") # <<<<<<<<<<<<<<
- * try:
- * import numpy as np
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Mean_for, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_repetitions_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_mean);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_mean);
- __Pyx_GIVEREF(__pyx_v_mean);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_sec); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":246
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try: # <<<<<<<<<<<<<<
- * import numpy as np
- * array = np.array(result_list)
- */
- {
- __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
- __Pyx_XGOTREF(__pyx_t_12);
- __Pyx_XGOTREF(__pyx_t_13);
- __Pyx_XGOTREF(__pyx_t_14);
- /*try:*/ {
- /* "lib/Naked/toolshed/c/benchmarking.pyx":247
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try:
- * import numpy as np # <<<<<<<<<<<<<<
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array)))
- */
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_np = __pyx_t_3;
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":248
- * try:
- * import numpy as np
- * array = np.array(result_list) # <<<<<<<<<<<<<<
- * print( "Standard Deviation: " + str(np.std(array)))
- * except ImportError as ie:
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_np, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_result_list);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_result_list);
- __Pyx_GIVEREF(__pyx_v_result_list);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_v_array = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":249
- * import numpy as np
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array))) # <<<<<<<<<<<<<<
- * except ImportError as ie:
- * pass
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_np, __pyx_n_s_std); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_array);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_array);
- __Pyx_GIVEREF(__pyx_v_array);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Standard_Deviation, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
- __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- goto __pyx_L20_try_end;
- __pyx_L13_error:;
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":250
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array)))
- * except ImportError as ie: # <<<<<<<<<<<<<<
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- */
- __pyx_t_15 = PyErr_ExceptionMatches(__pyx_builtin_ImportError);
- if (__pyx_t_15) {
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_10.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_3, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L15_except_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __pyx_v_ie = __pyx_t_3;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- goto __pyx_L14_exception_handled;
- }
- goto __pyx_L15_except_error;
- __pyx_L15_except_error:;
- __Pyx_XGIVEREF(__pyx_t_12);
- __Pyx_XGIVEREF(__pyx_t_13);
- __Pyx_XGIVEREF(__pyx_t_14);
- __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
- goto __pyx_L1_error;
- __pyx_L14_exception_handled:;
- __Pyx_XGIVEREF(__pyx_t_12);
- __Pyx_XGIVEREF(__pyx_t_13);
- __Pyx_XGIVEREF(__pyx_t_14);
- __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
- __pyx_L20_try_end:;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":252
- * except ImportError as ie:
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec") # <<<<<<<<<<<<<<
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark))
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_v_mean, __pyx_cur_scope->__pyx_v_repetitions); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_kp_s_Mean_per_repetition, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_sec); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":253
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec") # <<<<<<<<<<<<<<
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Mean_for, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_of_benchmark_function); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_v_mean_benchmark);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_mean_benchmark);
- __Pyx_GIVEREF(__pyx_v_mean_benchmark);
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_sec); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":254
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark)) # <<<<<<<<<<<<<<
- * return result
- * return wrapper
- */
- __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_v_mean, __pyx_v_mean_benchmark); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8);
- __Pyx_GIVEREF(__pyx_t_8);
- __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Ratio, __pyx_t_8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":255
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result # <<<<<<<<<<<<<<
- * return wrapper
- *
- */
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __Pyx_INCREF(__pyx_v_result);
- __pyx_r = __pyx_v_result;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":209
- * def timer_trials_benchmark_10(func, repetitions=10, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_9);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_10.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_result_list);
- __Pyx_XDECREF(__pyx_v_benchmark_list);
- __Pyx_XDECREF(__pyx_v_x);
- __Pyx_XDECREF(__pyx_v_start);
- __Pyx_XDECREF(__pyx_v_y);
- __Pyx_XDECREF(__pyx_v_end);
- __Pyx_XDECREF(__pyx_v_result);
- __Pyx_XDECREF(__pyx_v_L);
- __Pyx_XDECREF(__pyx_v_start2);
- __Pyx_XDECREF(__pyx_v_j);
- __Pyx_XDECREF(__pyx_v_end2);
- __Pyx_XDECREF(__pyx_v_n);
- __Pyx_XDECREF(__pyx_v_run);
- __Pyx_XDECREF(__pyx_v_mean);
- __Pyx_XDECREF(__pyx_v_mean_benchmark);
- __Pyx_XDECREF(__pyx_v_np);
- __Pyx_XDECREF(__pyx_v_array);
- __Pyx_XDECREF(__pyx_v_ie);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":207
- * # additional benchmark decorators that replicate the above function with different # repetitions
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark_10(func, repetitions=10, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_14timer_trials_benchmark_10(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions, PyObject *__pyx_v_trials) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *__pyx_cur_scope;
- PyObject *__pyx_v_wrapper = 0;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("timer_trials_benchmark_10", 0);
- __pyx_cur_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *)__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10(__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __Pyx_GOTREF(__pyx_cur_scope);
- __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_cur_scope->__pyx_v_repetitions = __pyx_v_repetitions;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_cur_scope->__pyx_v_trials = __pyx_v_trials;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trials);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trials);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":208
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark_10(func, repetitions=10, trials=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":209
- * def timer_trials_benchmark_10(func, repetitions=10, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_10_1wrapper, 0, __pyx_n_s_timer_trials_benchmark_10_locals, ((PyObject*)__pyx_cur_scope), __pyx_n_s_lib_Naked_toolshed_c_benchmarkin, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__25)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":208
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark_10(func, repetitions=10, trials=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_wrapper = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":256
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result
- * return wrapper # <<<<<<<<<<<<<<
- *
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10):
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_wrapper);
- __pyx_r = __pyx_v_wrapper;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":207
- * # additional benchmark decorators that replicate the above function with different # repetitions
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark_10(func, repetitions=10, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_10", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_wrapper);
- __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":258
- * return wrapper
- *
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_17timer_trials_benchmark_100(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_17timer_trials_benchmark_100 = {__Pyx_NAMESTR("timer_trials_benchmark_100"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_17timer_trials_benchmark_100, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_17timer_trials_benchmark_100(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_func = 0;
- PyObject *__pyx_v_repetitions = 0;
- PyObject *__pyx_v_trials = 0;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("timer_trials_benchmark_100 (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func,&__pyx_n_s_repetitions,&__pyx_n_s_trials,0};
- PyObject* values[3] = {0,0,0};
- values[1] = ((PyObject *)__pyx_int_100);
- values[2] = ((PyObject *)__pyx_int_10);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_repetitions);
- if (value) { values[1] = value; kw_args--; }
- }
- case 2:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_trials);
- if (value) { values[2] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "timer_trials_benchmark_100") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_func = values[0];
- __pyx_v_repetitions = values[1];
- __pyx_v_trials = values[2];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("timer_trials_benchmark_100", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_100", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_16timer_trials_benchmark_100(__pyx_self, __pyx_v_func, __pyx_v_repetitions, __pyx_v_trials);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":260
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_100_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_100_1wrapper = {__Pyx_NAMESTR("wrapper"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_100_1wrapper, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_100_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_args = 0;
- PyObject *__pyx_v_kwargs = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("wrapper (wrapper)", 0);
- if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "wrapper", 1))) return NULL;
- __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
- if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- __Pyx_INCREF(__pyx_args);
- __pyx_v_args = __pyx_args;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_100_wrapper(__pyx_self, __pyx_v_args, __pyx_v_kwargs);
- /* function exit code */
- __Pyx_XDECREF(__pyx_v_args);
- __Pyx_XDECREF(__pyx_v_kwargs);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_100_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *__pyx_cur_scope;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *__pyx_outer_scope;
- PyObject *__pyx_v_result_list = NULL;
- PyObject *__pyx_v_benchmark_list = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_x = NULL;
- PyObject *__pyx_v_start = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_y = NULL;
- PyObject *__pyx_v_end = NULL;
- PyObject *__pyx_v_result = NULL;
- PyObject *__pyx_v_L = NULL;
- PyObject *__pyx_v_start2 = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_j = NULL;
- long __pyx_v_i;
- PyObject *__pyx_v_end2 = NULL;
- PyObject *__pyx_v_n = NULL;
- PyObject *__pyx_v_run = NULL;
- PyObject *__pyx_v_mean = NULL;
- PyObject *__pyx_v_mean_benchmark = NULL;
- PyObject *__pyx_v_np = NULL;
- PyObject *__pyx_v_array = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_ie = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- Py_ssize_t __pyx_t_4;
- PyObject *(*__pyx_t_5)(PyObject *);
- Py_ssize_t __pyx_t_6;
- PyObject *(*__pyx_t_7)(PyObject *);
- PyObject *__pyx_t_8 = NULL;
- PyObject *__pyx_t_9 = NULL;
- int __pyx_t_10;
- long __pyx_t_11;
- PyObject *__pyx_t_12 = NULL;
- PyObject *__pyx_t_13 = NULL;
- PyObject *__pyx_t_14 = NULL;
- int __pyx_t_15;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wrapper", 0);
- __pyx_outer_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":261
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * result_list = []
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdout); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyNumber_Add(__pyx_kp_s_Starting_timed_trials_of, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__16); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":262
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * result_list = []
- * benchmark_list = []
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_flush); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":263
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- * result_list = [] # <<<<<<<<<<<<<<
- * benchmark_list = []
- * # disable garbage collection
- */
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_result_list = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":264
- * sys.stdout.flush()
- * result_list = []
- * benchmark_list = [] # <<<<<<<<<<<<<<
- * # disable garbage collection
- * gc.collect()
- */
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_benchmark_list = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":266
- * benchmark_list = []
- * # disable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * gc.disable()
- * for x in range(trials):
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_collect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":267
- * # disable garbage collection
- * gc.collect()
- * gc.disable() # <<<<<<<<<<<<<<
- * for x in range(trials):
- * # test function
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_disable); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":268
- * gc.collect()
- * gc.disable()
- * for x in range(trials): # <<<<<<<<<<<<<<
- * # test function
- * start = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_trials)) { __Pyx_RaiseClosureNameError("trials"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trials);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_cur_scope->__pyx_v_trials);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trials);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
- __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
- __pyx_t_5 = NULL;
- } else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- for (;;) {
- if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_3)) {
- if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_3)) {
- if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_2 = __pyx_t_5(__pyx_t_3);
- if (unlikely(!__pyx_t_2)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_2);
- }
- __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":270
- * for x in range(trials):
- * # test function
- * start = time.time() # <<<<<<<<<<<<<<
- * for y in range(repetitions):
- * func(*args, **kwargs)
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF_SET(__pyx_v_start, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":271
- * # test function
- * start = time.time()
- * for y in range(repetitions): # <<<<<<<<<<<<<<
- * func(*args, **kwargs)
- * end = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyList_CheckExact(__pyx_t_1) || PyTuple_CheckExact(__pyx_t_1)) {
- __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
- __pyx_t_7 = NULL;
- } else {
- __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- for (;;) {
- if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_2)) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_2)) {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_1 = __pyx_t_7(__pyx_t_2);
- if (unlikely(!__pyx_t_1)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_1);
- }
- __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_1);
- __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":272
- * start = time.time()
- * for y in range(repetitions):
- * func(*args, **kwargs) # <<<<<<<<<<<<<<
- * end = time.time()
- * result = func(*args, **kwargs)
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_1 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":273
- * for y in range(repetitions):
- * func(*args, **kwargs)
- * end = time.time() # <<<<<<<<<<<<<<
- * result = func(*args, **kwargs)
- * result_list.append(end-start)
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_end, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":274
- * func(*args, **kwargs)
- * end = time.time()
- * result = func(*args, **kwargs) # <<<<<<<<<<<<<<
- * result_list.append(end-start)
- * # benchmark function
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":275
- * end = time.time()
- * result = func(*args, **kwargs)
- * result_list.append(end-start) # <<<<<<<<<<<<<<
- * # benchmark function
- * L = []
- */
- __pyx_t_8 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_result_list, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":277
- * result_list.append(end-start)
- * # benchmark function
- * L = [] # <<<<<<<<<<<<<<
- * start2 = time.time()
- * for j in range(repetitions):
- */
- __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_XDECREF_SET(__pyx_v_L, ((PyObject*)__pyx_t_8));
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":278
- * # benchmark function
- * L = []
- * start2 = time.time() # <<<<<<<<<<<<<<
- * for j in range(repetitions):
- * for i in range(10):
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_start2, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":279
- * L = []
- * start2 = time.time()
- * for j in range(repetitions): # <<<<<<<<<<<<<<
- * for i in range(10):
- * L.append(i)
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (PyList_CheckExact(__pyx_t_9) || PyTuple_CheckExact(__pyx_t_9)) {
- __pyx_t_8 = __pyx_t_9; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0;
- __pyx_t_7 = NULL;
- } else {
- __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- for (;;) {
- if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_8)) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_8)) {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_9 = __pyx_t_7(__pyx_t_8);
- if (unlikely(!__pyx_t_9)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_9);
- }
- __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_9);
- __pyx_t_9 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":280
- * start2 = time.time()
- * for j in range(repetitions):
- * for i in range(10): # <<<<<<<<<<<<<<
- * L.append(i)
- * end2 = time.time()
- */
- for (__pyx_t_11 = 0; __pyx_t_11 < 10; __pyx_t_11+=1) {
- __pyx_v_i = __pyx_t_11;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":281
- * for j in range(repetitions):
- * for i in range(10):
- * L.append(i) # <<<<<<<<<<<<<<
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- */
- __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_i); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_L, __pyx_t_9); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- }
- }
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":282
- * for i in range(10):
- * L.append(i)
- * end2 = time.time() # <<<<<<<<<<<<<<
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".")
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_end2, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":283
- * L.append(i)
- * end2 = time.time()
- * benchmark_list.append(end2 - start2) # <<<<<<<<<<<<<<
- * sys.stdout.write(".")
- * sys.stdout.flush()
- */
- __pyx_t_8 = PyNumber_Subtract(__pyx_v_end2, __pyx_v_start2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_benchmark_list, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":284
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_stdout); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_write); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":285
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- */
- __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_stdout); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_flush); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":286
- * sys.stdout.write(".")
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection # <<<<<<<<<<<<<<
- * gc.collect()
- * print(" ")
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_enable); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":287
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * print(" ")
- * n = 1
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_collect); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":288
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- * print(" ") # <<<<<<<<<<<<<<
- * n = 1
- * for run in result_list:
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s__2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":289
- * gc.collect()
- * print(" ")
- * n = 1 # <<<<<<<<<<<<<<
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run))
- */
- __Pyx_INCREF(__pyx_int_1);
- __pyx_v_n = __pyx_int_1;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":290
- * print(" ")
- * n = 1
- * for run in result_list: # <<<<<<<<<<<<<<
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1
- */
- __pyx_t_3 = __pyx_v_result_list; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
- for (;;) {
- if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_8 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_8); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_8 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- __Pyx_XDECREF_SET(__pyx_v_run, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":291
- * n = 1
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run)) # <<<<<<<<<<<<<<
- * n += 1
- * print("-"*50)
- */
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_n);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_n);
- __Pyx_GIVEREF(__pyx_v_n);
- __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Trial, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyNumber_Add(__pyx_t_8, __pyx_kp_s__19); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_run);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_run);
- __Pyx_GIVEREF(__pyx_v_run);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_9, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":292
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1 # <<<<<<<<<<<<<<
- * print("-"*50)
- * mean = sum(result_list)/len(result_list)
- */
- __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_n, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF_SET(__pyx_v_n, __pyx_t_8);
- __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":293
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1
- * print("-"*50) # <<<<<<<<<<<<<<
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- */
- __pyx_t_3 = PyNumber_Multiply(__pyx_kp_s__20, __pyx_int_50); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- if (__Pyx_PrintOne(0, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":294
- * n += 1
- * print("-"*50)
- * mean = sum(result_list)/len(result_list) # <<<<<<<<<<<<<<
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- */
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_v_result_list);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_result_list);
- __Pyx_GIVEREF(__pyx_v_result_list);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_3, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_4 = PyList_GET_SIZE(__pyx_v_result_list); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_mean = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":295
- * print("-"*50)
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list) # <<<<<<<<<<<<<<
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try:
- */
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_v_benchmark_list);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_benchmark_list);
- __Pyx_GIVEREF(__pyx_v_benchmark_list);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_4 = PyList_GET_SIZE(__pyx_v_benchmark_list); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_mean_benchmark = __pyx_t_8;
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":296
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec") # <<<<<<<<<<<<<<
- * try:
- * import numpy as np
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Mean_for, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_repetitions_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_mean);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_mean);
- __Pyx_GIVEREF(__pyx_v_mean);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_sec); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":297
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try: # <<<<<<<<<<<<<<
- * import numpy as np
- * array = np.array(result_list)
- */
- {
- __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
- __Pyx_XGOTREF(__pyx_t_12);
- __Pyx_XGOTREF(__pyx_t_13);
- __Pyx_XGOTREF(__pyx_t_14);
- /*try:*/ {
- /* "lib/Naked/toolshed/c/benchmarking.pyx":298
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try:
- * import numpy as np # <<<<<<<<<<<<<<
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array)))
- */
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_np = __pyx_t_3;
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":299
- * try:
- * import numpy as np
- * array = np.array(result_list) # <<<<<<<<<<<<<<
- * print( "Standard Deviation: " + str(np.std(array)))
- * except ImportError as ie:
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_np, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_result_list);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_result_list);
- __Pyx_GIVEREF(__pyx_v_result_list);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_v_array = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":300
- * import numpy as np
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array))) # <<<<<<<<<<<<<<
- * except ImportError as ie:
- * pass
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_np, __pyx_n_s_std); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_array);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_array);
- __Pyx_GIVEREF(__pyx_v_array);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Standard_Deviation, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
- __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- goto __pyx_L20_try_end;
- __pyx_L13_error:;
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":301
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array)))
- * except ImportError as ie: # <<<<<<<<<<<<<<
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- */
- __pyx_t_15 = PyErr_ExceptionMatches(__pyx_builtin_ImportError);
- if (__pyx_t_15) {
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_100.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_3, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L15_except_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __pyx_v_ie = __pyx_t_3;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- goto __pyx_L14_exception_handled;
- }
- goto __pyx_L15_except_error;
- __pyx_L15_except_error:;
- __Pyx_XGIVEREF(__pyx_t_12);
- __Pyx_XGIVEREF(__pyx_t_13);
- __Pyx_XGIVEREF(__pyx_t_14);
- __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
- goto __pyx_L1_error;
- __pyx_L14_exception_handled:;
- __Pyx_XGIVEREF(__pyx_t_12);
- __Pyx_XGIVEREF(__pyx_t_13);
- __Pyx_XGIVEREF(__pyx_t_14);
- __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
- __pyx_L20_try_end:;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":303
- * except ImportError as ie:
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec") # <<<<<<<<<<<<<<
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark))
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_v_mean, __pyx_cur_scope->__pyx_v_repetitions); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_kp_s_Mean_per_repetition, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_sec); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":304
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec") # <<<<<<<<<<<<<<
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Mean_for, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_of_benchmark_function); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_v_mean_benchmark);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_mean_benchmark);
- __Pyx_GIVEREF(__pyx_v_mean_benchmark);
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_sec); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":305
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark)) # <<<<<<<<<<<<<<
- * return result
- * return wrapper
- */
- __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_v_mean, __pyx_v_mean_benchmark); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8);
- __Pyx_GIVEREF(__pyx_t_8);
- __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Ratio, __pyx_t_8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":306
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result # <<<<<<<<<<<<<<
- * return wrapper
- *
- */
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __Pyx_INCREF(__pyx_v_result);
- __pyx_r = __pyx_v_result;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":260
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_9);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_100.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_result_list);
- __Pyx_XDECREF(__pyx_v_benchmark_list);
- __Pyx_XDECREF(__pyx_v_x);
- __Pyx_XDECREF(__pyx_v_start);
- __Pyx_XDECREF(__pyx_v_y);
- __Pyx_XDECREF(__pyx_v_end);
- __Pyx_XDECREF(__pyx_v_result);
- __Pyx_XDECREF(__pyx_v_L);
- __Pyx_XDECREF(__pyx_v_start2);
- __Pyx_XDECREF(__pyx_v_j);
- __Pyx_XDECREF(__pyx_v_end2);
- __Pyx_XDECREF(__pyx_v_n);
- __Pyx_XDECREF(__pyx_v_run);
- __Pyx_XDECREF(__pyx_v_mean);
- __Pyx_XDECREF(__pyx_v_mean_benchmark);
- __Pyx_XDECREF(__pyx_v_np);
- __Pyx_XDECREF(__pyx_v_array);
- __Pyx_XDECREF(__pyx_v_ie);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":258
- * return wrapper
- *
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_16timer_trials_benchmark_100(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions, PyObject *__pyx_v_trials) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *__pyx_cur_scope;
- PyObject *__pyx_v_wrapper = 0;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("timer_trials_benchmark_100", 0);
- __pyx_cur_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *)__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100(__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __Pyx_GOTREF(__pyx_cur_scope);
- __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_cur_scope->__pyx_v_repetitions = __pyx_v_repetitions;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_cur_scope->__pyx_v_trials = __pyx_v_trials;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trials);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trials);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":259
- *
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":260
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_100_1wrapper, 0, __pyx_n_s_timer_trials_benchmark_100_local, ((PyObject*)__pyx_cur_scope), __pyx_n_s_lib_Naked_toolshed_c_benchmarkin, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":259
- *
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_wrapper = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":307
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result
- * return wrapper # <<<<<<<<<<<<<<
- *
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10):
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_wrapper);
- __pyx_r = __pyx_v_wrapper;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":258
- * return wrapper
- *
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_100", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_wrapper);
- __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":309
- * return wrapper
- *
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_19timer_trials_benchmark_1k(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_19timer_trials_benchmark_1k = {__Pyx_NAMESTR("timer_trials_benchmark_1k"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_19timer_trials_benchmark_1k, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_19timer_trials_benchmark_1k(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_func = 0;
- PyObject *__pyx_v_repetitions = 0;
- PyObject *__pyx_v_trials = 0;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("timer_trials_benchmark_1k (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func,&__pyx_n_s_repetitions,&__pyx_n_s_trials,0};
- PyObject* values[3] = {0,0,0};
- values[1] = ((PyObject *)__pyx_int_1000);
- values[2] = ((PyObject *)__pyx_int_10);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_repetitions);
- if (value) { values[1] = value; kw_args--; }
- }
- case 2:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_trials);
- if (value) { values[2] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "timer_trials_benchmark_1k") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_func = values[0];
- __pyx_v_repetitions = values[1];
- __pyx_v_trials = values[2];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("timer_trials_benchmark_1k", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_1k", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_18timer_trials_benchmark_1k(__pyx_self, __pyx_v_func, __pyx_v_repetitions, __pyx_v_trials);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":311
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1k_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1k_1wrapper = {__Pyx_NAMESTR("wrapper"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1k_1wrapper, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1k_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_args = 0;
- PyObject *__pyx_v_kwargs = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("wrapper (wrapper)", 0);
- if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "wrapper", 1))) return NULL;
- __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
- if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- __Pyx_INCREF(__pyx_args);
- __pyx_v_args = __pyx_args;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1k_wrapper(__pyx_self, __pyx_v_args, __pyx_v_kwargs);
- /* function exit code */
- __Pyx_XDECREF(__pyx_v_args);
- __Pyx_XDECREF(__pyx_v_kwargs);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1k_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *__pyx_cur_scope;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *__pyx_outer_scope;
- PyObject *__pyx_v_result_list = NULL;
- PyObject *__pyx_v_benchmark_list = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_x = NULL;
- PyObject *__pyx_v_start = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_y = NULL;
- PyObject *__pyx_v_end = NULL;
- PyObject *__pyx_v_result = NULL;
- PyObject *__pyx_v_L = NULL;
- PyObject *__pyx_v_start2 = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_j = NULL;
- long __pyx_v_i;
- PyObject *__pyx_v_end2 = NULL;
- PyObject *__pyx_v_n = NULL;
- PyObject *__pyx_v_run = NULL;
- PyObject *__pyx_v_mean = NULL;
- PyObject *__pyx_v_mean_benchmark = NULL;
- PyObject *__pyx_v_np = NULL;
- PyObject *__pyx_v_array = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_ie = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- Py_ssize_t __pyx_t_4;
- PyObject *(*__pyx_t_5)(PyObject *);
- Py_ssize_t __pyx_t_6;
- PyObject *(*__pyx_t_7)(PyObject *);
- PyObject *__pyx_t_8 = NULL;
- PyObject *__pyx_t_9 = NULL;
- int __pyx_t_10;
- long __pyx_t_11;
- PyObject *__pyx_t_12 = NULL;
- PyObject *__pyx_t_13 = NULL;
- PyObject *__pyx_t_14 = NULL;
- int __pyx_t_15;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wrapper", 0);
- __pyx_outer_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":312
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * result_list = []
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdout); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyNumber_Add(__pyx_kp_s_Starting_timed_trials_of, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__16); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":313
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * result_list = []
- * benchmark_list = []
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_flush); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":314
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- * result_list = [] # <<<<<<<<<<<<<<
- * benchmark_list = []
- * # disable garbage collection
- */
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_result_list = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":315
- * sys.stdout.flush()
- * result_list = []
- * benchmark_list = [] # <<<<<<<<<<<<<<
- * # disable garbage collection
- * gc.collect()
- */
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_benchmark_list = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":317
- * benchmark_list = []
- * # disable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * gc.disable()
- * for x in range(trials):
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_collect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":318
- * # disable garbage collection
- * gc.collect()
- * gc.disable() # <<<<<<<<<<<<<<
- * for x in range(trials):
- * # test function
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_disable); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":319
- * gc.collect()
- * gc.disable()
- * for x in range(trials): # <<<<<<<<<<<<<<
- * # test function
- * start = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_trials)) { __Pyx_RaiseClosureNameError("trials"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trials);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_cur_scope->__pyx_v_trials);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trials);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
- __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
- __pyx_t_5 = NULL;
- } else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- for (;;) {
- if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_3)) {
- if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_3)) {
- if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_2 = __pyx_t_5(__pyx_t_3);
- if (unlikely(!__pyx_t_2)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_2);
- }
- __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":321
- * for x in range(trials):
- * # test function
- * start = time.time() # <<<<<<<<<<<<<<
- * for y in range(repetitions):
- * func(*args, **kwargs)
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF_SET(__pyx_v_start, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":322
- * # test function
- * start = time.time()
- * for y in range(repetitions): # <<<<<<<<<<<<<<
- * func(*args, **kwargs)
- * end = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyList_CheckExact(__pyx_t_1) || PyTuple_CheckExact(__pyx_t_1)) {
- __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
- __pyx_t_7 = NULL;
- } else {
- __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- for (;;) {
- if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_2)) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_2)) {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_1 = __pyx_t_7(__pyx_t_2);
- if (unlikely(!__pyx_t_1)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_1);
- }
- __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_1);
- __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":323
- * start = time.time()
- * for y in range(repetitions):
- * func(*args, **kwargs) # <<<<<<<<<<<<<<
- * end = time.time()
- * result = func(*args, **kwargs)
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_1 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":324
- * for y in range(repetitions):
- * func(*args, **kwargs)
- * end = time.time() # <<<<<<<<<<<<<<
- * result = func(*args, **kwargs)
- * result_list.append(end-start)
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_end, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":325
- * func(*args, **kwargs)
- * end = time.time()
- * result = func(*args, **kwargs) # <<<<<<<<<<<<<<
- * result_list.append(end-start)
- * # benchmark function
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":326
- * end = time.time()
- * result = func(*args, **kwargs)
- * result_list.append(end-start) # <<<<<<<<<<<<<<
- * # benchmark function
- * L = []
- */
- __pyx_t_8 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_result_list, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":328
- * result_list.append(end-start)
- * # benchmark function
- * L = [] # <<<<<<<<<<<<<<
- * start2 = time.time()
- * for j in range(repetitions):
- */
- __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_XDECREF_SET(__pyx_v_L, ((PyObject*)__pyx_t_8));
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":329
- * # benchmark function
- * L = []
- * start2 = time.time() # <<<<<<<<<<<<<<
- * for j in range(repetitions):
- * for i in range(10):
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_start2, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":330
- * L = []
- * start2 = time.time()
- * for j in range(repetitions): # <<<<<<<<<<<<<<
- * for i in range(10):
- * L.append(i)
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (PyList_CheckExact(__pyx_t_9) || PyTuple_CheckExact(__pyx_t_9)) {
- __pyx_t_8 = __pyx_t_9; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0;
- __pyx_t_7 = NULL;
- } else {
- __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- for (;;) {
- if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_8)) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_8)) {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_9 = __pyx_t_7(__pyx_t_8);
- if (unlikely(!__pyx_t_9)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_9);
- }
- __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_9);
- __pyx_t_9 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":331
- * start2 = time.time()
- * for j in range(repetitions):
- * for i in range(10): # <<<<<<<<<<<<<<
- * L.append(i)
- * end2 = time.time()
- */
- for (__pyx_t_11 = 0; __pyx_t_11 < 10; __pyx_t_11+=1) {
- __pyx_v_i = __pyx_t_11;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":332
- * for j in range(repetitions):
- * for i in range(10):
- * L.append(i) # <<<<<<<<<<<<<<
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- */
- __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_i); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_L, __pyx_t_9); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- }
- }
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":333
- * for i in range(10):
- * L.append(i)
- * end2 = time.time() # <<<<<<<<<<<<<<
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".")
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_end2, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":334
- * L.append(i)
- * end2 = time.time()
- * benchmark_list.append(end2 - start2) # <<<<<<<<<<<<<<
- * sys.stdout.write(".")
- * sys.stdout.flush()
- */
- __pyx_t_8 = PyNumber_Subtract(__pyx_v_end2, __pyx_v_start2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_benchmark_list, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":335
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_stdout); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_write); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":336
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- */
- __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_stdout); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_flush); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":337
- * sys.stdout.write(".")
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection # <<<<<<<<<<<<<<
- * gc.collect()
- * print(" ")
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_enable); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":338
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * print(" ")
- * n = 1
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_collect); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":339
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- * print(" ") # <<<<<<<<<<<<<<
- * n = 1
- * for run in result_list:
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s__2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":340
- * gc.collect()
- * print(" ")
- * n = 1 # <<<<<<<<<<<<<<
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run))
- */
- __Pyx_INCREF(__pyx_int_1);
- __pyx_v_n = __pyx_int_1;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":341
- * print(" ")
- * n = 1
- * for run in result_list: # <<<<<<<<<<<<<<
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1
- */
- __pyx_t_3 = __pyx_v_result_list; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
- for (;;) {
- if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_8 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_8); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_8 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- __Pyx_XDECREF_SET(__pyx_v_run, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":342
- * n = 1
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run)) # <<<<<<<<<<<<<<
- * n += 1
- * print("-"*50)
- */
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_n);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_n);
- __Pyx_GIVEREF(__pyx_v_n);
- __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Trial, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyNumber_Add(__pyx_t_8, __pyx_kp_s__19); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_run);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_run);
- __Pyx_GIVEREF(__pyx_v_run);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_9, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":343
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1 # <<<<<<<<<<<<<<
- * print("-"*50)
- * mean = sum(result_list)/len(result_list)
- */
- __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_n, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF_SET(__pyx_v_n, __pyx_t_8);
- __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":344
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1
- * print("-"*50) # <<<<<<<<<<<<<<
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- */
- __pyx_t_3 = PyNumber_Multiply(__pyx_kp_s__20, __pyx_int_50); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- if (__Pyx_PrintOne(0, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":345
- * n += 1
- * print("-"*50)
- * mean = sum(result_list)/len(result_list) # <<<<<<<<<<<<<<
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- */
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_v_result_list);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_result_list);
- __Pyx_GIVEREF(__pyx_v_result_list);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_3, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_4 = PyList_GET_SIZE(__pyx_v_result_list); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_mean = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":346
- * print("-"*50)
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list) # <<<<<<<<<<<<<<
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try:
- */
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_v_benchmark_list);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_benchmark_list);
- __Pyx_GIVEREF(__pyx_v_benchmark_list);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_4 = PyList_GET_SIZE(__pyx_v_benchmark_list); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_mean_benchmark = __pyx_t_8;
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":347
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec") # <<<<<<<<<<<<<<
- * try:
- * import numpy as np
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Mean_for, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_repetitions_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_mean);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_mean);
- __Pyx_GIVEREF(__pyx_v_mean);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_sec); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":348
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try: # <<<<<<<<<<<<<<
- * import numpy as np
- * array = np.array(result_list)
- */
- {
- __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
- __Pyx_XGOTREF(__pyx_t_12);
- __Pyx_XGOTREF(__pyx_t_13);
- __Pyx_XGOTREF(__pyx_t_14);
- /*try:*/ {
- /* "lib/Naked/toolshed/c/benchmarking.pyx":349
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try:
- * import numpy as np # <<<<<<<<<<<<<<
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array)))
- */
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_np = __pyx_t_3;
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":350
- * try:
- * import numpy as np
- * array = np.array(result_list) # <<<<<<<<<<<<<<
- * print( "Standard Deviation: " + str(np.std(array)))
- * except ImportError as ie:
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_np, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_result_list);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_result_list);
- __Pyx_GIVEREF(__pyx_v_result_list);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_v_array = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":351
- * import numpy as np
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array))) # <<<<<<<<<<<<<<
- * except ImportError as ie:
- * pass
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_np, __pyx_n_s_std); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_array);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_array);
- __Pyx_GIVEREF(__pyx_v_array);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Standard_Deviation, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
- __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- goto __pyx_L20_try_end;
- __pyx_L13_error:;
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":352
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array)))
- * except ImportError as ie: # <<<<<<<<<<<<<<
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- */
- __pyx_t_15 = PyErr_ExceptionMatches(__pyx_builtin_ImportError);
- if (__pyx_t_15) {
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_1k.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_3, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L15_except_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __pyx_v_ie = __pyx_t_3;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- goto __pyx_L14_exception_handled;
- }
- goto __pyx_L15_except_error;
- __pyx_L15_except_error:;
- __Pyx_XGIVEREF(__pyx_t_12);
- __Pyx_XGIVEREF(__pyx_t_13);
- __Pyx_XGIVEREF(__pyx_t_14);
- __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
- goto __pyx_L1_error;
- __pyx_L14_exception_handled:;
- __Pyx_XGIVEREF(__pyx_t_12);
- __Pyx_XGIVEREF(__pyx_t_13);
- __Pyx_XGIVEREF(__pyx_t_14);
- __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
- __pyx_L20_try_end:;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":354
- * except ImportError as ie:
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec") # <<<<<<<<<<<<<<
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark))
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_v_mean, __pyx_cur_scope->__pyx_v_repetitions); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_kp_s_Mean_per_repetition, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_sec); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":355
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec") # <<<<<<<<<<<<<<
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Mean_for, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_of_benchmark_function); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_v_mean_benchmark);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_mean_benchmark);
- __Pyx_GIVEREF(__pyx_v_mean_benchmark);
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_sec); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":356
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark)) # <<<<<<<<<<<<<<
- * return result
- * return wrapper
- */
- __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_v_mean, __pyx_v_mean_benchmark); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8);
- __Pyx_GIVEREF(__pyx_t_8);
- __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Ratio, __pyx_t_8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":357
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result # <<<<<<<<<<<<<<
- * return wrapper
- *
- */
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __Pyx_INCREF(__pyx_v_result);
- __pyx_r = __pyx_v_result;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":311
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_9);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_1k.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_result_list);
- __Pyx_XDECREF(__pyx_v_benchmark_list);
- __Pyx_XDECREF(__pyx_v_x);
- __Pyx_XDECREF(__pyx_v_start);
- __Pyx_XDECREF(__pyx_v_y);
- __Pyx_XDECREF(__pyx_v_end);
- __Pyx_XDECREF(__pyx_v_result);
- __Pyx_XDECREF(__pyx_v_L);
- __Pyx_XDECREF(__pyx_v_start2);
- __Pyx_XDECREF(__pyx_v_j);
- __Pyx_XDECREF(__pyx_v_end2);
- __Pyx_XDECREF(__pyx_v_n);
- __Pyx_XDECREF(__pyx_v_run);
- __Pyx_XDECREF(__pyx_v_mean);
- __Pyx_XDECREF(__pyx_v_mean_benchmark);
- __Pyx_XDECREF(__pyx_v_np);
- __Pyx_XDECREF(__pyx_v_array);
- __Pyx_XDECREF(__pyx_v_ie);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":309
- * return wrapper
- *
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_18timer_trials_benchmark_1k(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions, PyObject *__pyx_v_trials) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *__pyx_cur_scope;
- PyObject *__pyx_v_wrapper = 0;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("timer_trials_benchmark_1k", 0);
- __pyx_cur_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *)__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k(__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __Pyx_GOTREF(__pyx_cur_scope);
- __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_cur_scope->__pyx_v_repetitions = __pyx_v_repetitions;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_cur_scope->__pyx_v_trials = __pyx_v_trials;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trials);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trials);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":310
- *
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":311
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1k_1wrapper, 0, __pyx_n_s_timer_trials_benchmark_1k_locals, ((PyObject*)__pyx_cur_scope), __pyx_n_s_lib_Naked_toolshed_c_benchmarkin, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__31)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":310
- *
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_wrapper = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":358
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result
- * return wrapper # <<<<<<<<<<<<<<
- *
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10):
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_wrapper);
- __pyx_r = __pyx_v_wrapper;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":309
- * return wrapper
- *
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_1k", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_wrapper);
- __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":360
- * return wrapper
- *
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_21timer_trials_benchmark_10k(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_21timer_trials_benchmark_10k = {__Pyx_NAMESTR("timer_trials_benchmark_10k"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_21timer_trials_benchmark_10k, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_21timer_trials_benchmark_10k(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_func = 0;
- PyObject *__pyx_v_repetitions = 0;
- PyObject *__pyx_v_trials = 0;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("timer_trials_benchmark_10k (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func,&__pyx_n_s_repetitions,&__pyx_n_s_trials,0};
- PyObject* values[3] = {0,0,0};
- values[1] = ((PyObject *)__pyx_int_10000);
- values[2] = ((PyObject *)__pyx_int_10);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_repetitions);
- if (value) { values[1] = value; kw_args--; }
- }
- case 2:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_trials);
- if (value) { values[2] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "timer_trials_benchmark_10k") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_func = values[0];
- __pyx_v_repetitions = values[1];
- __pyx_v_trials = values[2];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("timer_trials_benchmark_10k", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_10k", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_20timer_trials_benchmark_10k(__pyx_self, __pyx_v_func, __pyx_v_repetitions, __pyx_v_trials);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":362
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_10k_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_10k_1wrapper = {__Pyx_NAMESTR("wrapper"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_10k_1wrapper, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_10k_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_args = 0;
- PyObject *__pyx_v_kwargs = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("wrapper (wrapper)", 0);
- if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "wrapper", 1))) return NULL;
- __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
- if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- __Pyx_INCREF(__pyx_args);
- __pyx_v_args = __pyx_args;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_10k_wrapper(__pyx_self, __pyx_v_args, __pyx_v_kwargs);
- /* function exit code */
- __Pyx_XDECREF(__pyx_v_args);
- __Pyx_XDECREF(__pyx_v_kwargs);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_10k_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *__pyx_cur_scope;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *__pyx_outer_scope;
- PyObject *__pyx_v_result_list = NULL;
- PyObject *__pyx_v_benchmark_list = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_x = NULL;
- PyObject *__pyx_v_start = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_y = NULL;
- PyObject *__pyx_v_end = NULL;
- PyObject *__pyx_v_result = NULL;
- PyObject *__pyx_v_L = NULL;
- PyObject *__pyx_v_start2 = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_j = NULL;
- long __pyx_v_i;
- PyObject *__pyx_v_end2 = NULL;
- PyObject *__pyx_v_n = NULL;
- PyObject *__pyx_v_run = NULL;
- PyObject *__pyx_v_mean = NULL;
- PyObject *__pyx_v_mean_benchmark = NULL;
- PyObject *__pyx_v_np = NULL;
- PyObject *__pyx_v_array = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_ie = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- Py_ssize_t __pyx_t_4;
- PyObject *(*__pyx_t_5)(PyObject *);
- Py_ssize_t __pyx_t_6;
- PyObject *(*__pyx_t_7)(PyObject *);
- PyObject *__pyx_t_8 = NULL;
- PyObject *__pyx_t_9 = NULL;
- int __pyx_t_10;
- long __pyx_t_11;
- PyObject *__pyx_t_12 = NULL;
- PyObject *__pyx_t_13 = NULL;
- PyObject *__pyx_t_14 = NULL;
- int __pyx_t_15;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wrapper", 0);
- __pyx_outer_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":363
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * result_list = []
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdout); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyNumber_Add(__pyx_kp_s_Starting_timed_trials_of, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__16); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":364
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * result_list = []
- * benchmark_list = []
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_flush); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":365
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- * result_list = [] # <<<<<<<<<<<<<<
- * benchmark_list = []
- * # disable garbage collection
- */
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_result_list = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":366
- * sys.stdout.flush()
- * result_list = []
- * benchmark_list = [] # <<<<<<<<<<<<<<
- * # disable garbage collection
- * gc.collect()
- */
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_benchmark_list = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":368
- * benchmark_list = []
- * # disable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * gc.disable()
- * for x in range(trials):
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_collect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":369
- * # disable garbage collection
- * gc.collect()
- * gc.disable() # <<<<<<<<<<<<<<
- * for x in range(trials):
- * # test function
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_disable); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":370
- * gc.collect()
- * gc.disable()
- * for x in range(trials): # <<<<<<<<<<<<<<
- * # test function
- * start = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_trials)) { __Pyx_RaiseClosureNameError("trials"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trials);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_cur_scope->__pyx_v_trials);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trials);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
- __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
- __pyx_t_5 = NULL;
- } else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- for (;;) {
- if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_3)) {
- if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_3)) {
- if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_2 = __pyx_t_5(__pyx_t_3);
- if (unlikely(!__pyx_t_2)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_2);
- }
- __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":372
- * for x in range(trials):
- * # test function
- * start = time.time() # <<<<<<<<<<<<<<
- * for y in range(repetitions):
- * func(*args, **kwargs)
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF_SET(__pyx_v_start, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":373
- * # test function
- * start = time.time()
- * for y in range(repetitions): # <<<<<<<<<<<<<<
- * func(*args, **kwargs)
- * end = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyList_CheckExact(__pyx_t_1) || PyTuple_CheckExact(__pyx_t_1)) {
- __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
- __pyx_t_7 = NULL;
- } else {
- __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- for (;;) {
- if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_2)) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_2)) {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_1 = __pyx_t_7(__pyx_t_2);
- if (unlikely(!__pyx_t_1)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_1);
- }
- __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_1);
- __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":374
- * start = time.time()
- * for y in range(repetitions):
- * func(*args, **kwargs) # <<<<<<<<<<<<<<
- * end = time.time()
- * result = func(*args, **kwargs)
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_1 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":375
- * for y in range(repetitions):
- * func(*args, **kwargs)
- * end = time.time() # <<<<<<<<<<<<<<
- * result = func(*args, **kwargs)
- * result_list.append(end-start)
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_end, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":376
- * func(*args, **kwargs)
- * end = time.time()
- * result = func(*args, **kwargs) # <<<<<<<<<<<<<<
- * result_list.append(end-start)
- * # benchmark function
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":377
- * end = time.time()
- * result = func(*args, **kwargs)
- * result_list.append(end-start) # <<<<<<<<<<<<<<
- * # benchmark function
- * L = []
- */
- __pyx_t_8 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_result_list, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":379
- * result_list.append(end-start)
- * # benchmark function
- * L = [] # <<<<<<<<<<<<<<
- * start2 = time.time()
- * for j in range(repetitions):
- */
- __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_XDECREF_SET(__pyx_v_L, ((PyObject*)__pyx_t_8));
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":380
- * # benchmark function
- * L = []
- * start2 = time.time() # <<<<<<<<<<<<<<
- * for j in range(repetitions):
- * for i in range(10):
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_start2, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":381
- * L = []
- * start2 = time.time()
- * for j in range(repetitions): # <<<<<<<<<<<<<<
- * for i in range(10):
- * L.append(i)
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (PyList_CheckExact(__pyx_t_9) || PyTuple_CheckExact(__pyx_t_9)) {
- __pyx_t_8 = __pyx_t_9; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0;
- __pyx_t_7 = NULL;
- } else {
- __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- for (;;) {
- if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_8)) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_8)) {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_9 = __pyx_t_7(__pyx_t_8);
- if (unlikely(!__pyx_t_9)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_9);
- }
- __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_9);
- __pyx_t_9 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":382
- * start2 = time.time()
- * for j in range(repetitions):
- * for i in range(10): # <<<<<<<<<<<<<<
- * L.append(i)
- * end2 = time.time()
- */
- for (__pyx_t_11 = 0; __pyx_t_11 < 10; __pyx_t_11+=1) {
- __pyx_v_i = __pyx_t_11;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":383
- * for j in range(repetitions):
- * for i in range(10):
- * L.append(i) # <<<<<<<<<<<<<<
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- */
- __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_i); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_L, __pyx_t_9); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- }
- }
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":384
- * for i in range(10):
- * L.append(i)
- * end2 = time.time() # <<<<<<<<<<<<<<
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".")
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_end2, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":385
- * L.append(i)
- * end2 = time.time()
- * benchmark_list.append(end2 - start2) # <<<<<<<<<<<<<<
- * sys.stdout.write(".")
- * sys.stdout.flush()
- */
- __pyx_t_8 = PyNumber_Subtract(__pyx_v_end2, __pyx_v_start2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_benchmark_list, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":386
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_stdout); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_write); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":387
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- */
- __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_stdout); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_flush); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":388
- * sys.stdout.write(".")
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection # <<<<<<<<<<<<<<
- * gc.collect()
- * print(" ")
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_enable); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":389
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * print(" ")
- * n = 1
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_collect); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":390
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- * print(" ") # <<<<<<<<<<<<<<
- * n = 1
- * for run in result_list:
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s__2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":391
- * gc.collect()
- * print(" ")
- * n = 1 # <<<<<<<<<<<<<<
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run))
- */
- __Pyx_INCREF(__pyx_int_1);
- __pyx_v_n = __pyx_int_1;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":392
- * print(" ")
- * n = 1
- * for run in result_list: # <<<<<<<<<<<<<<
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1
- */
- __pyx_t_3 = __pyx_v_result_list; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
- for (;;) {
- if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_8 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_8); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_8 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- __Pyx_XDECREF_SET(__pyx_v_run, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":393
- * n = 1
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run)) # <<<<<<<<<<<<<<
- * n += 1
- * print("-"*50)
- */
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_n);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_n);
- __Pyx_GIVEREF(__pyx_v_n);
- __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Trial, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyNumber_Add(__pyx_t_8, __pyx_kp_s__19); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_run);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_run);
- __Pyx_GIVEREF(__pyx_v_run);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_9, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":394
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1 # <<<<<<<<<<<<<<
- * print("-"*50)
- * mean = sum(result_list)/len(result_list)
- */
- __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_n, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF_SET(__pyx_v_n, __pyx_t_8);
- __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":395
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1
- * print("-"*50) # <<<<<<<<<<<<<<
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- */
- __pyx_t_3 = PyNumber_Multiply(__pyx_kp_s__20, __pyx_int_50); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- if (__Pyx_PrintOne(0, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":396
- * n += 1
- * print("-"*50)
- * mean = sum(result_list)/len(result_list) # <<<<<<<<<<<<<<
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- */
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_v_result_list);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_result_list);
- __Pyx_GIVEREF(__pyx_v_result_list);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_3, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_4 = PyList_GET_SIZE(__pyx_v_result_list); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_mean = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":397
- * print("-"*50)
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list) # <<<<<<<<<<<<<<
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try:
- */
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_v_benchmark_list);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_benchmark_list);
- __Pyx_GIVEREF(__pyx_v_benchmark_list);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_4 = PyList_GET_SIZE(__pyx_v_benchmark_list); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_mean_benchmark = __pyx_t_8;
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":398
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec") # <<<<<<<<<<<<<<
- * try:
- * import numpy as np
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Mean_for, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_repetitions_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_mean);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_mean);
- __Pyx_GIVEREF(__pyx_v_mean);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_sec); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":399
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try: # <<<<<<<<<<<<<<
- * import numpy as np
- * array = np.array(result_list)
- */
- {
- __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
- __Pyx_XGOTREF(__pyx_t_12);
- __Pyx_XGOTREF(__pyx_t_13);
- __Pyx_XGOTREF(__pyx_t_14);
- /*try:*/ {
- /* "lib/Naked/toolshed/c/benchmarking.pyx":400
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try:
- * import numpy as np # <<<<<<<<<<<<<<
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array)))
- */
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_np = __pyx_t_3;
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":401
- * try:
- * import numpy as np
- * array = np.array(result_list) # <<<<<<<<<<<<<<
- * print( "Standard Deviation: " + str(np.std(array)))
- * except ImportError as ie:
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_np, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_result_list);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_result_list);
- __Pyx_GIVEREF(__pyx_v_result_list);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_v_array = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":402
- * import numpy as np
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array))) # <<<<<<<<<<<<<<
- * except ImportError as ie:
- * pass
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_np, __pyx_n_s_std); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_array);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_array);
- __Pyx_GIVEREF(__pyx_v_array);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Standard_Deviation, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
- __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- goto __pyx_L20_try_end;
- __pyx_L13_error:;
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":403
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array)))
- * except ImportError as ie: # <<<<<<<<<<<<<<
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- */
- __pyx_t_15 = PyErr_ExceptionMatches(__pyx_builtin_ImportError);
- if (__pyx_t_15) {
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_10k.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_3, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L15_except_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __pyx_v_ie = __pyx_t_3;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- goto __pyx_L14_exception_handled;
- }
- goto __pyx_L15_except_error;
- __pyx_L15_except_error:;
- __Pyx_XGIVEREF(__pyx_t_12);
- __Pyx_XGIVEREF(__pyx_t_13);
- __Pyx_XGIVEREF(__pyx_t_14);
- __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
- goto __pyx_L1_error;
- __pyx_L14_exception_handled:;
- __Pyx_XGIVEREF(__pyx_t_12);
- __Pyx_XGIVEREF(__pyx_t_13);
- __Pyx_XGIVEREF(__pyx_t_14);
- __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
- __pyx_L20_try_end:;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":405
- * except ImportError as ie:
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec") # <<<<<<<<<<<<<<
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark))
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_v_mean, __pyx_cur_scope->__pyx_v_repetitions); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_kp_s_Mean_per_repetition, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_sec); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":406
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec") # <<<<<<<<<<<<<<
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Mean_for, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_of_benchmark_function); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_v_mean_benchmark);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_mean_benchmark);
- __Pyx_GIVEREF(__pyx_v_mean_benchmark);
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_sec); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":407
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark)) # <<<<<<<<<<<<<<
- * return result
- * return wrapper
- */
- __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_v_mean, __pyx_v_mean_benchmark); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8);
- __Pyx_GIVEREF(__pyx_t_8);
- __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Ratio, __pyx_t_8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":408
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result # <<<<<<<<<<<<<<
- * return wrapper
- *
- */
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __Pyx_INCREF(__pyx_v_result);
- __pyx_r = __pyx_v_result;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":362
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_9);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_10k.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_result_list);
- __Pyx_XDECREF(__pyx_v_benchmark_list);
- __Pyx_XDECREF(__pyx_v_x);
- __Pyx_XDECREF(__pyx_v_start);
- __Pyx_XDECREF(__pyx_v_y);
- __Pyx_XDECREF(__pyx_v_end);
- __Pyx_XDECREF(__pyx_v_result);
- __Pyx_XDECREF(__pyx_v_L);
- __Pyx_XDECREF(__pyx_v_start2);
- __Pyx_XDECREF(__pyx_v_j);
- __Pyx_XDECREF(__pyx_v_end2);
- __Pyx_XDECREF(__pyx_v_n);
- __Pyx_XDECREF(__pyx_v_run);
- __Pyx_XDECREF(__pyx_v_mean);
- __Pyx_XDECREF(__pyx_v_mean_benchmark);
- __Pyx_XDECREF(__pyx_v_np);
- __Pyx_XDECREF(__pyx_v_array);
- __Pyx_XDECREF(__pyx_v_ie);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":360
- * return wrapper
- *
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_20timer_trials_benchmark_10k(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions, PyObject *__pyx_v_trials) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *__pyx_cur_scope;
- PyObject *__pyx_v_wrapper = 0;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("timer_trials_benchmark_10k", 0);
- __pyx_cur_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *)__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k(__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __Pyx_GOTREF(__pyx_cur_scope);
- __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_cur_scope->__pyx_v_repetitions = __pyx_v_repetitions;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_cur_scope->__pyx_v_trials = __pyx_v_trials;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trials);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trials);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":361
- *
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":362
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_26timer_trials_benchmark_10k_1wrapper, 0, __pyx_n_s_timer_trials_benchmark_10k_local, ((PyObject*)__pyx_cur_scope), __pyx_n_s_lib_Naked_toolshed_c_benchmarkin, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__34)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":361
- *
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_wrapper = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":409
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result
- * return wrapper # <<<<<<<<<<<<<<
- *
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10):
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_wrapper);
- __pyx_r = __pyx_v_wrapper;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":360
- * return wrapper
- *
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_10k", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_wrapper);
- __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":411
- * return wrapper
- *
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_23timer_trials_benchmark_1m(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_23timer_trials_benchmark_1m = {__Pyx_NAMESTR("timer_trials_benchmark_1m"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_23timer_trials_benchmark_1m, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_23timer_trials_benchmark_1m(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_func = 0;
- PyObject *__pyx_v_repetitions = 0;
- PyObject *__pyx_v_trials = 0;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("timer_trials_benchmark_1m (wrapper)", 0);
- {
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func,&__pyx_n_s_repetitions,&__pyx_n_s_trials,0};
- PyObject* values[3] = {0,0,0};
- values[1] = ((PyObject *)__pyx_int_1000000);
- values[2] = ((PyObject *)__pyx_int_10);
- if (unlikely(__pyx_kwds)) {
- Py_ssize_t kw_args;
- const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
- switch (pos_args) {
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- case 0: break;
- default: goto __pyx_L5_argtuple_error;
- }
- kw_args = PyDict_Size(__pyx_kwds);
- switch (pos_args) {
- case 0:
- if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_func)) != 0)) kw_args--;
- else goto __pyx_L5_argtuple_error;
- case 1:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_repetitions);
- if (value) { values[1] = value; kw_args--; }
- }
- case 2:
- if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_trials);
- if (value) { values[2] = value; kw_args--; }
- }
- }
- if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "timer_trials_benchmark_1m") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- }
- } else {
- switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
- case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
- break;
- default: goto __pyx_L5_argtuple_error;
- }
- }
- __pyx_v_func = values[0];
- __pyx_v_repetitions = values[1];
- __pyx_v_trials = values[2];
- }
- goto __pyx_L4_argument_unpacking_done;
- __pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("timer_trials_benchmark_1m", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_L3_error:;
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_1m", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __Pyx_RefNannyFinishContext();
- return NULL;
- __pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_22timer_trials_benchmark_1m(__pyx_self, __pyx_v_func, __pyx_v_repetitions, __pyx_v_trials);
- /* function exit code */
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":413
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- /* Python wrapper */
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1m_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
- static PyMethodDef __pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1m_1wrapper = {__Pyx_NAMESTR("wrapper"), (PyCFunction)__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1m_1wrapper, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
- static PyObject *__pyx_pw_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1m_1wrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
- PyObject *__pyx_v_args = 0;
- PyObject *__pyx_v_kwargs = 0;
- PyObject *__pyx_r = 0;
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("wrapper (wrapper)", 0);
- if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "wrapper", 1))) return NULL;
- __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
- if (unlikely(!__pyx_v_kwargs)) return NULL;
- __Pyx_GOTREF(__pyx_v_kwargs);
- __Pyx_INCREF(__pyx_args);
- __pyx_v_args = __pyx_args;
- __pyx_r = __pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1m_wrapper(__pyx_self, __pyx_v_args, __pyx_v_kwargs);
- /* function exit code */
- __Pyx_XDECREF(__pyx_v_args);
- __Pyx_XDECREF(__pyx_v_kwargs);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1m_wrapper(PyObject *__pyx_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *__pyx_cur_scope;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *__pyx_outer_scope;
- PyObject *__pyx_v_result_list = NULL;
- PyObject *__pyx_v_benchmark_list = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_x = NULL;
- PyObject *__pyx_v_start = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_y = NULL;
- PyObject *__pyx_v_end = NULL;
- PyObject *__pyx_v_result = NULL;
- PyObject *__pyx_v_L = NULL;
- PyObject *__pyx_v_start2 = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_j = NULL;
- long __pyx_v_i;
- PyObject *__pyx_v_end2 = NULL;
- PyObject *__pyx_v_n = NULL;
- PyObject *__pyx_v_run = NULL;
- PyObject *__pyx_v_mean = NULL;
- PyObject *__pyx_v_mean_benchmark = NULL;
- PyObject *__pyx_v_np = NULL;
- PyObject *__pyx_v_array = NULL;
- CYTHON_UNUSED PyObject *__pyx_v_ie = NULL;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- Py_ssize_t __pyx_t_4;
- PyObject *(*__pyx_t_5)(PyObject *);
- Py_ssize_t __pyx_t_6;
- PyObject *(*__pyx_t_7)(PyObject *);
- PyObject *__pyx_t_8 = NULL;
- PyObject *__pyx_t_9 = NULL;
- int __pyx_t_10;
- long __pyx_t_11;
- PyObject *__pyx_t_12 = NULL;
- PyObject *__pyx_t_13 = NULL;
- PyObject *__pyx_t_14 = NULL;
- int __pyx_t_15;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("wrapper", 0);
- __pyx_outer_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *) __Pyx_CyFunction_GetClosure(__pyx_self);
- __pyx_cur_scope = __pyx_outer_scope;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":414
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * result_list = []
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdout); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_func, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyNumber_Add(__pyx_kp_s_Starting_timed_trials_of, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__16); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":415
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * result_list = []
- * benchmark_list = []
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_flush); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":416
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- * result_list = [] # <<<<<<<<<<<<<<
- * benchmark_list = []
- * # disable garbage collection
- */
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_result_list = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":417
- * sys.stdout.flush()
- * result_list = []
- * benchmark_list = [] # <<<<<<<<<<<<<<
- * # disable garbage collection
- * gc.collect()
- */
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_benchmark_list = ((PyObject*)__pyx_t_3);
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":419
- * benchmark_list = []
- * # disable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * gc.disable()
- * for x in range(trials):
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_collect); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":420
- * # disable garbage collection
- * gc.collect()
- * gc.disable() # <<<<<<<<<<<<<<
- * for x in range(trials):
- * # test function
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_disable); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":421
- * gc.collect()
- * gc.disable()
- * for x in range(trials): # <<<<<<<<<<<<<<
- * # test function
- * start = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_trials)) { __Pyx_RaiseClosureNameError("trials"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trials);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_cur_scope->__pyx_v_trials);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trials);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
- __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
- __pyx_t_5 = NULL;
- } else {
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- for (;;) {
- if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_3)) {
- if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_3)) {
- if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_2 = __pyx_t_5(__pyx_t_3);
- if (unlikely(!__pyx_t_2)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_2);
- }
- __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":423
- * for x in range(trials):
- * # test function
- * start = time.time() # <<<<<<<<<<<<<<
- * for y in range(repetitions):
- * func(*args, **kwargs)
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF_SET(__pyx_v_start, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":424
- * # test function
- * start = time.time()
- * for y in range(repetitions): # <<<<<<<<<<<<<<
- * func(*args, **kwargs)
- * end = time.time()
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyList_CheckExact(__pyx_t_1) || PyTuple_CheckExact(__pyx_t_1)) {
- __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
- __pyx_t_7 = NULL;
- } else {
- __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- for (;;) {
- if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_2)) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_2)) {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_1 = __pyx_t_7(__pyx_t_2);
- if (unlikely(!__pyx_t_1)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_1);
- }
- __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_1);
- __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":425
- * start = time.time()
- * for y in range(repetitions):
- * func(*args, **kwargs) # <<<<<<<<<<<<<<
- * end = time.time()
- * result = func(*args, **kwargs)
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_1 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- }
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":426
- * for y in range(repetitions):
- * func(*args, **kwargs)
- * end = time.time() # <<<<<<<<<<<<<<
- * result = func(*args, **kwargs)
- * result_list.append(end-start)
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_end, __pyx_t_2);
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":427
- * func(*args, **kwargs)
- * end = time.time()
- * result = func(*args, **kwargs) # <<<<<<<<<<<<<<
- * result_list.append(end-start)
- * # benchmark function
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_func)) { __Pyx_RaiseClosureNameError("func"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_9 = __pyx_v_kwargs;
- __Pyx_INCREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_func, __pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":428
- * end = time.time()
- * result = func(*args, **kwargs)
- * result_list.append(end-start) # <<<<<<<<<<<<<<
- * # benchmark function
- * L = []
- */
- __pyx_t_8 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_result_list, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":430
- * result_list.append(end-start)
- * # benchmark function
- * L = [] # <<<<<<<<<<<<<<
- * start2 = time.time()
- * for j in range(repetitions):
- */
- __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_XDECREF_SET(__pyx_v_L, ((PyObject*)__pyx_t_8));
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":431
- * # benchmark function
- * L = []
- * start2 = time.time() # <<<<<<<<<<<<<<
- * for j in range(repetitions):
- * for i in range(10):
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_start2, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":432
- * L = []
- * start2 = time.time()
- * for j in range(repetitions): # <<<<<<<<<<<<<<
- * for i in range(10):
- * L.append(i)
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (PyList_CheckExact(__pyx_t_9) || PyTuple_CheckExact(__pyx_t_9)) {
- __pyx_t_8 = __pyx_t_9; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0;
- __pyx_t_7 = NULL;
- } else {
- __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext;
- }
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- for (;;) {
- if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_8)) {
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_8)) {
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- } else {
- __pyx_t_9 = __pyx_t_7(__pyx_t_8);
- if (unlikely(!__pyx_t_9)) {
- PyObject* exc_type = PyErr_Occurred();
- if (exc_type) {
- if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- break;
- }
- __Pyx_GOTREF(__pyx_t_9);
- }
- __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_9);
- __pyx_t_9 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":433
- * start2 = time.time()
- * for j in range(repetitions):
- * for i in range(10): # <<<<<<<<<<<<<<
- * L.append(i)
- * end2 = time.time()
- */
- for (__pyx_t_11 = 0; __pyx_t_11 < 10; __pyx_t_11+=1) {
- __pyx_v_i = __pyx_t_11;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":434
- * for j in range(repetitions):
- * for i in range(10):
- * L.append(i) # <<<<<<<<<<<<<<
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- */
- __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_i); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_L, __pyx_t_9); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- }
- }
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":435
- * for i in range(10):
- * L.append(i)
- * end2 = time.time() # <<<<<<<<<<<<<<
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".")
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_time); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF_SET(__pyx_v_end2, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":436
- * L.append(i)
- * end2 = time.time()
- * benchmark_list.append(end2 - start2) # <<<<<<<<<<<<<<
- * sys.stdout.write(".")
- * sys.stdout.flush()
- */
- __pyx_t_8 = PyNumber_Subtract(__pyx_v_end2, __pyx_v_start2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_benchmark_list, __pyx_t_8); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":437
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- */
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_stdout); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_write); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":438
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".")
- * sys.stdout.flush() # <<<<<<<<<<<<<<
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- */
- __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_stdout); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_flush); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":439
- * sys.stdout.write(".")
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection # <<<<<<<<<<<<<<
- * gc.collect()
- * print(" ")
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_enable); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":440
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- * gc.collect() # <<<<<<<<<<<<<<
- * print(" ")
- * n = 1
- */
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_gc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_collect); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":441
- * gc.enable() # re-enable garbage collection
- * gc.collect()
- * print(" ") # <<<<<<<<<<<<<<
- * n = 1
- * for run in result_list:
- */
- if (__Pyx_PrintOne(0, __pyx_kp_s__2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":442
- * gc.collect()
- * print(" ")
- * n = 1 # <<<<<<<<<<<<<<
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run))
- */
- __Pyx_INCREF(__pyx_int_1);
- __pyx_v_n = __pyx_int_1;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":443
- * print(" ")
- * n = 1
- * for run in result_list: # <<<<<<<<<<<<<<
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1
- */
- __pyx_t_3 = __pyx_v_result_list; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
- for (;;) {
- if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
- #if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_8 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_8); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #else
- __pyx_t_8 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- __Pyx_XDECREF_SET(__pyx_v_run, __pyx_t_8);
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":444
- * n = 1
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run)) # <<<<<<<<<<<<<<
- * n += 1
- * print("-"*50)
- */
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_n);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_n);
- __Pyx_GIVEREF(__pyx_v_n);
- __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Trial, __pyx_t_9); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyNumber_Add(__pyx_t_8, __pyx_kp_s__19); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_9);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_run);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_run);
- __Pyx_GIVEREF(__pyx_v_run);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_9, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":445
- * for run in result_list:
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1 # <<<<<<<<<<<<<<
- * print("-"*50)
- * mean = sum(result_list)/len(result_list)
- */
- __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_n, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF_SET(__pyx_v_n, __pyx_t_8);
- __pyx_t_8 = 0;
- }
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":446
- * print("Trial " + str(n) + ":\t" + str(run))
- * n += 1
- * print("-"*50) # <<<<<<<<<<<<<<
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- */
- __pyx_t_3 = PyNumber_Multiply(__pyx_kp_s__20, __pyx_int_50); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- if (__Pyx_PrintOne(0, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":447
- * n += 1
- * print("-"*50)
- * mean = sum(result_list)/len(result_list) # <<<<<<<<<<<<<<
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- */
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_INCREF(__pyx_v_result_list);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_result_list);
- __Pyx_GIVEREF(__pyx_v_result_list);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_3, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_4 = PyList_GET_SIZE(__pyx_v_result_list); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_v_mean = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":448
- * print("-"*50)
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list) # <<<<<<<<<<<<<<
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try:
- */
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_v_benchmark_list);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_benchmark_list);
- __Pyx_GIVEREF(__pyx_v_benchmark_list);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_4 = PyList_GET_SIZE(__pyx_v_benchmark_list); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_v_mean_benchmark = __pyx_t_8;
- __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":449
- * mean = sum(result_list)/len(result_list)
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec") # <<<<<<<<<<<<<<
- * try:
- * import numpy as np
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Mean_for, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_repetitions_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_mean);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_mean);
- __Pyx_GIVEREF(__pyx_v_mean);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_8, __pyx_kp_s_sec); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":450
- * mean_benchmark = sum(benchmark_list)/len(benchmark_list)
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try: # <<<<<<<<<<<<<<
- * import numpy as np
- * array = np.array(result_list)
- */
- {
- __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
- __Pyx_XGOTREF(__pyx_t_12);
- __Pyx_XGOTREF(__pyx_t_13);
- __Pyx_XGOTREF(__pyx_t_14);
- /*try:*/ {
- /* "lib/Naked/toolshed/c/benchmarking.pyx":451
- * print("Mean for " + str(repetitions) + " repetitions: " + str(mean) + " sec")
- * try:
- * import numpy as np # <<<<<<<<<<<<<<
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array)))
- */
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_v_np = __pyx_t_3;
- __pyx_t_3 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":452
- * try:
- * import numpy as np
- * array = np.array(result_list) # <<<<<<<<<<<<<<
- * print( "Standard Deviation: " + str(np.std(array)))
- * except ImportError as ie:
- */
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_np, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_result_list);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_result_list);
- __Pyx_GIVEREF(__pyx_v_result_list);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_v_array = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":453
- * import numpy as np
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array))) # <<<<<<<<<<<<<<
- * except ImportError as ie:
- * pass
- */
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_np, __pyx_n_s_std); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_INCREF(__pyx_v_array);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_array);
- __Pyx_GIVEREF(__pyx_v_array);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
- __Pyx_GIVEREF(__pyx_t_3);
- __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_kp_s_Standard_Deviation, __pyx_t_3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- }
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
- __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
- __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
- goto __pyx_L20_try_end;
- __pyx_L13_error:;
- __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
- __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":454
- * array = np.array(result_list)
- * print( "Standard Deviation: " + str(np.std(array)))
- * except ImportError as ie: # <<<<<<<<<<<<<<
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- */
- __pyx_t_15 = PyErr_ExceptionMatches(__pyx_builtin_ImportError);
- if (__pyx_t_15) {
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_1m.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_3, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L15_except_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_t_3);
- __pyx_v_ie = __pyx_t_3;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- goto __pyx_L14_exception_handled;
- }
- goto __pyx_L15_except_error;
- __pyx_L15_except_error:;
- __Pyx_XGIVEREF(__pyx_t_12);
- __Pyx_XGIVEREF(__pyx_t_13);
- __Pyx_XGIVEREF(__pyx_t_14);
- __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
- goto __pyx_L1_error;
- __pyx_L14_exception_handled:;
- __Pyx_XGIVEREF(__pyx_t_12);
- __Pyx_XGIVEREF(__pyx_t_13);
- __Pyx_XGIVEREF(__pyx_t_14);
- __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
- __pyx_L20_try_end:;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":456
- * except ImportError as ie:
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec") # <<<<<<<<<<<<<<
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark))
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_v_mean, __pyx_cur_scope->__pyx_v_repetitions); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_kp_s_Mean_per_repetition, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_sec); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":457
- * pass
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec") # <<<<<<<<<<<<<<
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result
- */
- if (unlikely(!__pyx_cur_scope->__pyx_v_repetitions)) { __Pyx_RaiseClosureNameError("repetitions"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Mean_for, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_of_benchmark_function); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_v_mean_benchmark);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_mean_benchmark);
- __Pyx_GIVEREF(__pyx_v_mean_benchmark);
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_sec); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":458
- * print("Mean per repetition: " + str(mean/repetitions) + " sec")
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark)) # <<<<<<<<<<<<<<
- * return result
- * return wrapper
- */
- __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_v_mean, __pyx_v_mean_benchmark); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8);
- __Pyx_GIVEREF(__pyx_t_8);
- __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyNumber_Add(__pyx_kp_s_Ratio, __pyx_t_8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- if (__Pyx_PrintOne(0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":459
- * print("Mean for " + str(repetitions) + " of benchmark function:" + str(mean_benchmark) + " sec")
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result # <<<<<<<<<<<<<<
- * return wrapper
- *
- */
- __Pyx_XDECREF(__pyx_r);
- if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
- __Pyx_INCREF(__pyx_v_result);
- __pyx_r = __pyx_v_result;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":413
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_XDECREF(__pyx_t_8);
- __Pyx_XDECREF(__pyx_t_9);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_1m.wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_result_list);
- __Pyx_XDECREF(__pyx_v_benchmark_list);
- __Pyx_XDECREF(__pyx_v_x);
- __Pyx_XDECREF(__pyx_v_start);
- __Pyx_XDECREF(__pyx_v_y);
- __Pyx_XDECREF(__pyx_v_end);
- __Pyx_XDECREF(__pyx_v_result);
- __Pyx_XDECREF(__pyx_v_L);
- __Pyx_XDECREF(__pyx_v_start2);
- __Pyx_XDECREF(__pyx_v_j);
- __Pyx_XDECREF(__pyx_v_end2);
- __Pyx_XDECREF(__pyx_v_n);
- __Pyx_XDECREF(__pyx_v_run);
- __Pyx_XDECREF(__pyx_v_mean);
- __Pyx_XDECREF(__pyx_v_mean_benchmark);
- __Pyx_XDECREF(__pyx_v_np);
- __Pyx_XDECREF(__pyx_v_array);
- __Pyx_XDECREF(__pyx_v_ie);
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- /* "lib/Naked/toolshed/c/benchmarking.pyx":411
- * return wrapper
- *
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- static PyObject *__pyx_pf_3lib_5Naked_8toolshed_1c_12benchmarking_22timer_trials_benchmark_1m(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_repetitions, PyObject *__pyx_v_trials) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *__pyx_cur_scope;
- PyObject *__pyx_v_wrapper = 0;
- PyObject *__pyx_r = NULL;
- __Pyx_RefNannyDeclarations
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- PyObject *__pyx_t_3 = NULL;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannySetupContext("timer_trials_benchmark_1m", 0);
- __pyx_cur_scope = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *)__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m(__pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m, __pyx_empty_tuple, NULL);
- if (unlikely(!__pyx_cur_scope)) {
- __Pyx_RefNannyFinishContext();
- return NULL;
- }
- __Pyx_GOTREF(__pyx_cur_scope);
- __pyx_cur_scope->__pyx_v_func = __pyx_v_func;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_cur_scope->__pyx_v_repetitions = __pyx_v_repetitions;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_repetitions);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_repetitions);
- __pyx_cur_scope->__pyx_v_trials = __pyx_v_trials;
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_trials);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_trials);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":412
- *
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- */
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_INCREF(__pyx_cur_scope->__pyx_v_func);
- PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_func);
- __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_func);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":413
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_25timer_trials_benchmark_1m_1wrapper, 0, __pyx_n_s_timer_trials_benchmark_1m_locals, ((PyObject*)__pyx_cur_scope), __pyx_n_s_lib_Naked_toolshed_c_benchmarkin, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":412
- *
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10):
- * @wraps(func) # <<<<<<<<<<<<<<
- * def wrapper(*args, **kwargs):
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- */
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
- __Pyx_GIVEREF(__pyx_t_2);
- __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_v_wrapper = __pyx_t_2;
- __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":460
- * print("Ratio: " + str(mean/mean_benchmark))
- * return result
- * return wrapper # <<<<<<<<<<<<<<
- *
- * if __name__ == '__main__':
- */
- __Pyx_XDECREF(__pyx_r);
- __Pyx_INCREF(__pyx_v_wrapper);
- __pyx_r = __pyx_v_wrapper;
- goto __pyx_L0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":411
- * return wrapper
- *
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- /* function exit code */
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- __Pyx_XDECREF(__pyx_t_3);
- __Pyx_AddTraceback("lib.Naked.toolshed.c.benchmarking.timer_trials_benchmark_1m", __pyx_clineno, __pyx_lineno, __pyx_filename);
- __pyx_r = NULL;
- __pyx_L0:;
- __Pyx_XDECREF(__pyx_v_wrapper);
- __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
- __Pyx_XGIVEREF(__pyx_r);
- __Pyx_RefNannyFinishContext();
- return __pyx_r;
- }
- static struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer[8];
- static int __pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer = 0;
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- if (likely((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer)))) {
- o = (PyObject*)__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer[--__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer];
- memset(o, 0, sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- return o;
- }
- static void __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer(PyObject *o) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *)o;
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_func);
- Py_CLEAR(p->__pyx_v_repetitions);
- if ((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer))) {
- __pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer[__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer++] = ((struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
- }
- static int __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *)o;
- if (p->__pyx_v_func) {
- e = (*v)(p->__pyx_v_func, a); if (e) return e;
- }
- if (p->__pyx_v_repetitions) {
- e = (*v)(p->__pyx_v_repetitions, a); if (e) return e;
- }
- return 0;
- }
- static int __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer *)o;
- tmp = ((PyObject*)p->__pyx_v_func);
- p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_repetitions);
- p->__pyx_v_repetitions = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
- }
- static PyTypeObject __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("lib.Naked.toolshed.c.benchmarking.__pyx_scope_struct__timer"), /*tp_name*/
- sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer, /*tp_traverse*/
- __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10[8];
- static int __pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 = 0;
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- if (likely((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10)))) {
- o = (PyObject*)__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10[--__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10];
- memset(o, 0, sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- return o;
- }
- static void __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10(PyObject *o) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *)o;
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_func);
- Py_CLEAR(p->__pyx_v_repetitions);
- if ((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10))) {
- __pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10[__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10++] = ((struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
- }
- static int __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *)o;
- if (p->__pyx_v_func) {
- e = (*v)(p->__pyx_v_func, a); if (e) return e;
- }
- if (p->__pyx_v_repetitions) {
- e = (*v)(p->__pyx_v_repetitions, a); if (e) return e;
- }
- return 0;
- }
- static int __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 *)o;
- tmp = ((PyObject*)p->__pyx_v_func);
- p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_repetitions);
- p->__pyx_v_repetitions = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
- }
- static PyTypeObject __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("lib.Naked.toolshed.c.benchmarking.__pyx_scope_struct_1_timer_10"), /*tp_name*/
- sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10, /*tp_traverse*/
- __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100[8];
- static int __pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 = 0;
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- if (likely((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100)))) {
- o = (PyObject*)__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100[--__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100];
- memset(o, 0, sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- return o;
- }
- static void __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100(PyObject *o) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *)o;
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_func);
- Py_CLEAR(p->__pyx_v_repetitions);
- if ((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100))) {
- __pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100[__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100++] = ((struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
- }
- static int __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *)o;
- if (p->__pyx_v_func) {
- e = (*v)(p->__pyx_v_func, a); if (e) return e;
- }
- if (p->__pyx_v_repetitions) {
- e = (*v)(p->__pyx_v_repetitions, a); if (e) return e;
- }
- return 0;
- }
- static int __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 *)o;
- tmp = ((PyObject*)p->__pyx_v_func);
- p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_repetitions);
- p->__pyx_v_repetitions = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
- }
- static PyTypeObject __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("lib.Naked.toolshed.c.benchmarking.__pyx_scope_struct_2_timer_100"), /*tp_name*/
- sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100, /*tp_traverse*/
- __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k[8];
- static int __pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k = 0;
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- if (likely((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k)))) {
- o = (PyObject*)__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k[--__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k];
- memset(o, 0, sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- return o;
- }
- static void __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k(PyObject *o) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *)o;
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_func);
- Py_CLEAR(p->__pyx_v_repetitions);
- if ((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k))) {
- __pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k[__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k++] = ((struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
- }
- static int __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *)o;
- if (p->__pyx_v_func) {
- e = (*v)(p->__pyx_v_func, a); if (e) return e;
- }
- if (p->__pyx_v_repetitions) {
- e = (*v)(p->__pyx_v_repetitions, a); if (e) return e;
- }
- return 0;
- }
- static int __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k *)o;
- tmp = ((PyObject*)p->__pyx_v_func);
- p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_repetitions);
- p->__pyx_v_repetitions = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
- }
- static PyTypeObject __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("lib.Naked.toolshed.c.benchmarking.__pyx_scope_struct_3_timer_1k"), /*tp_name*/
- sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k, /*tp_traverse*/
- __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k[8];
- static int __pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k = 0;
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- if (likely((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k)))) {
- o = (PyObject*)__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k[--__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k];
- memset(o, 0, sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- return o;
- }
- static void __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k(PyObject *o) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *)o;
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_func);
- Py_CLEAR(p->__pyx_v_repetitions);
- if ((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k))) {
- __pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k[__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k++] = ((struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
- }
- static int __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *)o;
- if (p->__pyx_v_func) {
- e = (*v)(p->__pyx_v_func, a); if (e) return e;
- }
- if (p->__pyx_v_repetitions) {
- e = (*v)(p->__pyx_v_repetitions, a); if (e) return e;
- }
- return 0;
- }
- static int __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k *)o;
- tmp = ((PyObject*)p->__pyx_v_func);
- p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_repetitions);
- p->__pyx_v_repetitions = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
- }
- static PyTypeObject __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("lib.Naked.toolshed.c.benchmarking.__pyx_scope_struct_4_timer_10k"), /*tp_name*/
- sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k, /*tp_traverse*/
- __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m[8];
- static int __pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m = 0;
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- if (likely((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m)))) {
- o = (PyObject*)__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m[--__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m];
- memset(o, 0, sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- return o;
- }
- static void __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m(PyObject *o) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *)o;
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_func);
- Py_CLEAR(p->__pyx_v_repetitions);
- if ((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m))) {
- __pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m[__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m++] = ((struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
- }
- static int __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *)o;
- if (p->__pyx_v_func) {
- e = (*v)(p->__pyx_v_func, a); if (e) return e;
- }
- if (p->__pyx_v_repetitions) {
- e = (*v)(p->__pyx_v_repetitions, a); if (e) return e;
- }
- return 0;
- }
- static int __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m *)o;
- tmp = ((PyObject*)p->__pyx_v_func);
- p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_repetitions);
- p->__pyx_v_repetitions = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
- }
- static PyTypeObject __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("lib.Naked.toolshed.c.benchmarking.__pyx_scope_struct_5_timer_1m"), /*tp_name*/
- sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m, /*tp_traverse*/
- __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark[8];
- static int __pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark = 0;
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- if (likely((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark)))) {
- o = (PyObject*)__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark[--__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark];
- memset(o, 0, sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- return o;
- }
- static void __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark(PyObject *o) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *)o;
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_func);
- Py_CLEAR(p->__pyx_v_repetitions);
- Py_CLEAR(p->__pyx_v_trials);
- if ((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark))) {
- __pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark[__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark++] = ((struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
- }
- static int __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *)o;
- if (p->__pyx_v_func) {
- e = (*v)(p->__pyx_v_func, a); if (e) return e;
- }
- if (p->__pyx_v_repetitions) {
- e = (*v)(p->__pyx_v_repetitions, a); if (e) return e;
- }
- if (p->__pyx_v_trials) {
- e = (*v)(p->__pyx_v_trials, a); if (e) return e;
- }
- return 0;
- }
- static int __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark *)o;
- tmp = ((PyObject*)p->__pyx_v_func);
- p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_repetitions);
- p->__pyx_v_repetitions = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_trials);
- p->__pyx_v_trials = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
- }
- static PyTypeObject __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("lib.Naked.toolshed.c.benchmarking.__pyx_scope_struct_6_timer_trials_benchmark"), /*tp_name*/
- sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark, /*tp_traverse*/
- __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10[8];
- static int __pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 = 0;
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- if (likely((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10)))) {
- o = (PyObject*)__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10[--__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10];
- memset(o, 0, sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- return o;
- }
- static void __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10(PyObject *o) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *)o;
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_func);
- Py_CLEAR(p->__pyx_v_repetitions);
- Py_CLEAR(p->__pyx_v_trials);
- if ((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10))) {
- __pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10[__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10++] = ((struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
- }
- static int __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *)o;
- if (p->__pyx_v_func) {
- e = (*v)(p->__pyx_v_func, a); if (e) return e;
- }
- if (p->__pyx_v_repetitions) {
- e = (*v)(p->__pyx_v_repetitions, a); if (e) return e;
- }
- if (p->__pyx_v_trials) {
- e = (*v)(p->__pyx_v_trials, a); if (e) return e;
- }
- return 0;
- }
- static int __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 *)o;
- tmp = ((PyObject*)p->__pyx_v_func);
- p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_repetitions);
- p->__pyx_v_repetitions = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_trials);
- p->__pyx_v_trials = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
- }
- static PyTypeObject __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("lib.Naked.toolshed.c.benchmarking.__pyx_scope_struct_7_timer_trials_benchmark_10"), /*tp_name*/
- sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10, /*tp_traverse*/
- __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100[8];
- static int __pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 = 0;
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- if (likely((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100)))) {
- o = (PyObject*)__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100[--__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100];
- memset(o, 0, sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- return o;
- }
- static void __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100(PyObject *o) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *)o;
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_func);
- Py_CLEAR(p->__pyx_v_repetitions);
- Py_CLEAR(p->__pyx_v_trials);
- if ((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100))) {
- __pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100[__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100++] = ((struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
- }
- static int __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *)o;
- if (p->__pyx_v_func) {
- e = (*v)(p->__pyx_v_func, a); if (e) return e;
- }
- if (p->__pyx_v_repetitions) {
- e = (*v)(p->__pyx_v_repetitions, a); if (e) return e;
- }
- if (p->__pyx_v_trials) {
- e = (*v)(p->__pyx_v_trials, a); if (e) return e;
- }
- return 0;
- }
- static int __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 *)o;
- tmp = ((PyObject*)p->__pyx_v_func);
- p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_repetitions);
- p->__pyx_v_repetitions = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_trials);
- p->__pyx_v_trials = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
- }
- static PyTypeObject __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("lib.Naked.toolshed.c.benchmarking.__pyx_scope_struct_8_timer_trials_benchmark_100"), /*tp_name*/
- sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100, /*tp_traverse*/
- __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k[8];
- static int __pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k = 0;
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- if (likely((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k)))) {
- o = (PyObject*)__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k[--__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k];
- memset(o, 0, sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- return o;
- }
- static void __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k(PyObject *o) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *)o;
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_func);
- Py_CLEAR(p->__pyx_v_repetitions);
- Py_CLEAR(p->__pyx_v_trials);
- if ((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k))) {
- __pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k[__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k++] = ((struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
- }
- static int __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *)o;
- if (p->__pyx_v_func) {
- e = (*v)(p->__pyx_v_func, a); if (e) return e;
- }
- if (p->__pyx_v_repetitions) {
- e = (*v)(p->__pyx_v_repetitions, a); if (e) return e;
- }
- if (p->__pyx_v_trials) {
- e = (*v)(p->__pyx_v_trials, a); if (e) return e;
- }
- return 0;
- }
- static int __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k *)o;
- tmp = ((PyObject*)p->__pyx_v_func);
- p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_repetitions);
- p->__pyx_v_repetitions = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_trials);
- p->__pyx_v_trials = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
- }
- static PyTypeObject __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("lib.Naked.toolshed.c.benchmarking.__pyx_scope_struct_9_timer_trials_benchmark_1k"), /*tp_name*/
- sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k, /*tp_traverse*/
- __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k[8];
- static int __pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k = 0;
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- if (likely((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k)))) {
- o = (PyObject*)__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k[--__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k];
- memset(o, 0, sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- return o;
- }
- static void __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k(PyObject *o) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *)o;
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_func);
- Py_CLEAR(p->__pyx_v_repetitions);
- Py_CLEAR(p->__pyx_v_trials);
- if ((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k))) {
- __pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k[__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k++] = ((struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
- }
- static int __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *)o;
- if (p->__pyx_v_func) {
- e = (*v)(p->__pyx_v_func, a); if (e) return e;
- }
- if (p->__pyx_v_repetitions) {
- e = (*v)(p->__pyx_v_repetitions, a); if (e) return e;
- }
- if (p->__pyx_v_trials) {
- e = (*v)(p->__pyx_v_trials, a); if (e) return e;
- }
- return 0;
- }
- static int __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k *)o;
- tmp = ((PyObject*)p->__pyx_v_func);
- p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_repetitions);
- p->__pyx_v_repetitions = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_trials);
- p->__pyx_v_trials = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
- }
- static PyTypeObject __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("lib.Naked.toolshed.c.benchmarking.__pyx_scope_struct_10_timer_trials_benchmark_10k"), /*tp_name*/
- sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k, /*tp_traverse*/
- __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m[8];
- static int __pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m = 0;
- static PyObject *__pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
- PyObject *o;
- if (likely((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m)))) {
- o = (PyObject*)__pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m[--__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m];
- memset(o, 0, sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m));
- (void) PyObject_INIT(o, t);
- PyObject_GC_Track(o);
- } else {
- o = (*t->tp_alloc)(t, 0);
- if (unlikely(!o)) return 0;
- }
- return o;
- }
- static void __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m(PyObject *o) {
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *)o;
- PyObject_GC_UnTrack(o);
- Py_CLEAR(p->__pyx_v_func);
- Py_CLEAR(p->__pyx_v_repetitions);
- Py_CLEAR(p->__pyx_v_trials);
- if ((__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m))) {
- __pyx_freelist_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m[__pyx_freecount_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m++] = ((struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *)o);
- } else {
- (*Py_TYPE(o)->tp_free)(o);
- }
- }
- static int __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m(PyObject *o, visitproc v, void *a) {
- int e;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *)o;
- if (p->__pyx_v_func) {
- e = (*v)(p->__pyx_v_func, a); if (e) return e;
- }
- if (p->__pyx_v_repetitions) {
- e = (*v)(p->__pyx_v_repetitions, a); if (e) return e;
- }
- if (p->__pyx_v_trials) {
- e = (*v)(p->__pyx_v_trials, a); if (e) return e;
- }
- return 0;
- }
- static int __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m(PyObject *o) {
- PyObject* tmp;
- struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *p = (struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m *)o;
- tmp = ((PyObject*)p->__pyx_v_func);
- p->__pyx_v_func = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_repetitions);
- p->__pyx_v_repetitions = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- tmp = ((PyObject*)p->__pyx_v_trials);
- p->__pyx_v_trials = Py_None; Py_INCREF(Py_None);
- Py_XDECREF(tmp);
- return 0;
- }
- static PyTypeObject __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("lib.Naked.toolshed.c.benchmarking.__pyx_scope_struct_11_timer_trials_benchmark_1m"), /*tp_name*/
- sizeof(struct __pyx_obj_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- __pyx_tp_dealloc_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- 0, /*tp_doc*/
- __pyx_tp_traverse_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m, /*tp_traverse*/
- __pyx_tp_clear_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- __pyx_tp_new_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static PyMethodDef __pyx_methods[] = {
- {0, 0, 0, 0}
- };
- #if PY_MAJOR_VERSION >= 3
- static struct PyModuleDef __pyx_moduledef = {
- #if PY_VERSION_HEX < 0x03020000
- { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
- #else
- PyModuleDef_HEAD_INIT,
- #endif
- __Pyx_NAMESTR("benchmarking"),
- 0, /* m_doc */
- -1, /* m_size */
- __pyx_methods /* m_methods */,
- NULL, /* m_reload */
- NULL, /* m_traverse */
- NULL, /* m_clear */
- NULL /* m_free */
- };
- #endif
- static __Pyx_StringTabEntry __pyx_string_tab[] = {
- {&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
- {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1},
- {&__pyx_n_s_L, __pyx_k_L, sizeof(__pyx_k_L), 0, 0, 1, 1},
- {&__pyx_kp_s_Mean_for, __pyx_k_Mean_for, sizeof(__pyx_k_Mean_for), 0, 0, 1, 0},
- {&__pyx_kp_s_Mean_per_repetition, __pyx_k_Mean_per_repetition, sizeof(__pyx_k_Mean_per_repetition), 0, 0, 1, 0},
- {&__pyx_kp_s_Ratio, __pyx_k_Ratio, sizeof(__pyx_k_Ratio), 0, 0, 1, 0},
- {&__pyx_kp_s_Standard_Deviation, __pyx_k_Standard_Deviation, sizeof(__pyx_k_Standard_Deviation), 0, 0, 1, 0},
- {&__pyx_kp_s_Starting, __pyx_k_Starting, sizeof(__pyx_k_Starting), 0, 0, 1, 0},
- {&__pyx_kp_s_Starting_timed_trials_of, __pyx_k_Starting_timed_trials_of, sizeof(__pyx_k_Starting_timed_trials_of), 0, 0, 1, 0},
- {&__pyx_kp_s_Trial, __pyx_k_Trial, sizeof(__pyx_k_Trial), 0, 0, 1, 0},
- {&__pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_k_Users_ces_Desktop_code_naked_li, sizeof(__pyx_k_Users_ces_Desktop_code_naked_li), 0, 0, 1, 0},
- {&__pyx_kp_s__16, __pyx_k__16, sizeof(__pyx_k__16), 0, 0, 1, 0},
- {&__pyx_kp_s__17, __pyx_k__17, sizeof(__pyx_k__17), 0, 0, 1, 0},
- {&__pyx_kp_s__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 0, 1, 0},
- {&__pyx_kp_s__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 0, 1, 0},
- {&__pyx_kp_s__20, __pyx_k__20, sizeof(__pyx_k__20), 0, 0, 1, 0},
- {&__pyx_kp_s__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 0, 1, 0},
- {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
- {&__pyx_n_s_array, __pyx_k_array, sizeof(__pyx_k_array), 0, 0, 1, 1},
- {&__pyx_n_s_benchmark_list, __pyx_k_benchmark_list, sizeof(__pyx_k_benchmark_list), 0, 0, 1, 1},
- {&__pyx_n_s_collect, __pyx_k_collect, sizeof(__pyx_k_collect), 0, 0, 1, 1},
- {&__pyx_n_s_disable, __pyx_k_disable, sizeof(__pyx_k_disable), 0, 0, 1, 1},
- {&__pyx_n_s_enable, __pyx_k_enable, sizeof(__pyx_k_enable), 0, 0, 1, 1},
- {&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1},
- {&__pyx_n_s_end2, __pyx_k_end2, sizeof(__pyx_k_end2), 0, 0, 1, 1},
- {&__pyx_n_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 1},
- {&__pyx_n_s_flush, __pyx_k_flush, sizeof(__pyx_k_flush), 0, 0, 1, 1},
- {&__pyx_n_s_func, __pyx_k_func, sizeof(__pyx_k_func), 0, 0, 1, 1},
- {&__pyx_n_s_functools, __pyx_k_functools, sizeof(__pyx_k_functools), 0, 0, 1, 1},
- {&__pyx_n_s_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 0, 1, 1},
- {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1},
- {&__pyx_n_s_ie, __pyx_k_ie, sizeof(__pyx_k_ie), 0, 0, 1, 1},
- {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
- {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1},
- {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1},
- {&__pyx_n_s_lib_Naked_toolshed_c_benchmarkin, __pyx_k_lib_Naked_toolshed_c_benchmarkin, sizeof(__pyx_k_lib_Naked_toolshed_c_benchmarkin), 0, 0, 1, 1},
- {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
- {&__pyx_n_s_mean, __pyx_k_mean, sizeof(__pyx_k_mean), 0, 0, 1, 1},
- {&__pyx_n_s_mean_benchmark, __pyx_k_mean_benchmark, sizeof(__pyx_k_mean_benchmark), 0, 0, 1, 1},
- {&__pyx_n_s_n, __pyx_k_n, sizeof(__pyx_k_n), 0, 0, 1, 1},
- {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
- {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1},
- {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1},
- {&__pyx_kp_s_of_benchmark_function, __pyx_k_of_benchmark_function, sizeof(__pyx_k_of_benchmark_function), 0, 0, 1, 0},
- {&__pyx_n_s_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 0, 1, 1},
- {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
- {&__pyx_n_s_repetitions, __pyx_k_repetitions, sizeof(__pyx_k_repetitions), 0, 0, 1, 1},
- {&__pyx_kp_s_repetitions_2, __pyx_k_repetitions_2, sizeof(__pyx_k_repetitions_2), 0, 0, 1, 0},
- {&__pyx_kp_s_repetitions_of, __pyx_k_repetitions_of, sizeof(__pyx_k_repetitions_of), 0, 0, 1, 0},
- {&__pyx_n_s_result, __pyx_k_result, sizeof(__pyx_k_result), 0, 0, 1, 1},
- {&__pyx_n_s_result_list, __pyx_k_result_list, sizeof(__pyx_k_result_list), 0, 0, 1, 1},
- {&__pyx_n_s_run, __pyx_k_run, sizeof(__pyx_k_run), 0, 0, 1, 1},
- {&__pyx_kp_s_sec, __pyx_k_sec, sizeof(__pyx_k_sec), 0, 0, 1, 0},
- {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1},
- {&__pyx_n_s_start2, __pyx_k_start2, sizeof(__pyx_k_start2), 0, 0, 1, 1},
- {&__pyx_n_s_std, __pyx_k_std, sizeof(__pyx_k_std), 0, 0, 1, 1},
- {&__pyx_n_s_stdout, __pyx_k_stdout, sizeof(__pyx_k_stdout), 0, 0, 1, 1},
- {&__pyx_n_s_sum, __pyx_k_sum, sizeof(__pyx_k_sum), 0, 0, 1, 1},
- {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1},
- {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
- {&__pyx_n_s_time, __pyx_k_time, sizeof(__pyx_k_time), 0, 0, 1, 1},
- {&__pyx_n_s_timer, __pyx_k_timer, sizeof(__pyx_k_timer), 0, 0, 1, 1},
- {&__pyx_n_s_timer_10, __pyx_k_timer_10, sizeof(__pyx_k_timer_10), 0, 0, 1, 1},
- {&__pyx_n_s_timer_100, __pyx_k_timer_100, sizeof(__pyx_k_timer_100), 0, 0, 1, 1},
- {&__pyx_n_s_timer_100_locals_wrapper, __pyx_k_timer_100_locals_wrapper, sizeof(__pyx_k_timer_100_locals_wrapper), 0, 0, 1, 1},
- {&__pyx_n_s_timer_10_locals_wrapper, __pyx_k_timer_10_locals_wrapper, sizeof(__pyx_k_timer_10_locals_wrapper), 0, 0, 1, 1},
- {&__pyx_n_s_timer_10k, __pyx_k_timer_10k, sizeof(__pyx_k_timer_10k), 0, 0, 1, 1},
- {&__pyx_n_s_timer_10k_locals_wrapper, __pyx_k_timer_10k_locals_wrapper, sizeof(__pyx_k_timer_10k_locals_wrapper), 0, 0, 1, 1},
- {&__pyx_n_s_timer_1k, __pyx_k_timer_1k, sizeof(__pyx_k_timer_1k), 0, 0, 1, 1},
- {&__pyx_n_s_timer_1k_locals_wrapper, __pyx_k_timer_1k_locals_wrapper, sizeof(__pyx_k_timer_1k_locals_wrapper), 0, 0, 1, 1},
- {&__pyx_n_s_timer_1m, __pyx_k_timer_1m, sizeof(__pyx_k_timer_1m), 0, 0, 1, 1},
- {&__pyx_n_s_timer_1m_locals_wrapper, __pyx_k_timer_1m_locals_wrapper, sizeof(__pyx_k_timer_1m_locals_wrapper), 0, 0, 1, 1},
- {&__pyx_n_s_timer_locals_wrapper, __pyx_k_timer_locals_wrapper, sizeof(__pyx_k_timer_locals_wrapper), 0, 0, 1, 1},
- {&__pyx_n_s_timer_trials_benchmark, __pyx_k_timer_trials_benchmark, sizeof(__pyx_k_timer_trials_benchmark), 0, 0, 1, 1},
- {&__pyx_n_s_timer_trials_benchmark_10, __pyx_k_timer_trials_benchmark_10, sizeof(__pyx_k_timer_trials_benchmark_10), 0, 0, 1, 1},
- {&__pyx_n_s_timer_trials_benchmark_100, __pyx_k_timer_trials_benchmark_100, sizeof(__pyx_k_timer_trials_benchmark_100), 0, 0, 1, 1},
- {&__pyx_n_s_timer_trials_benchmark_100_local, __pyx_k_timer_trials_benchmark_100_local, sizeof(__pyx_k_timer_trials_benchmark_100_local), 0, 0, 1, 1},
- {&__pyx_n_s_timer_trials_benchmark_10_locals, __pyx_k_timer_trials_benchmark_10_locals, sizeof(__pyx_k_timer_trials_benchmark_10_locals), 0, 0, 1, 1},
- {&__pyx_n_s_timer_trials_benchmark_10k, __pyx_k_timer_trials_benchmark_10k, sizeof(__pyx_k_timer_trials_benchmark_10k), 0, 0, 1, 1},
- {&__pyx_n_s_timer_trials_benchmark_10k_local, __pyx_k_timer_trials_benchmark_10k_local, sizeof(__pyx_k_timer_trials_benchmark_10k_local), 0, 0, 1, 1},
- {&__pyx_n_s_timer_trials_benchmark_1k, __pyx_k_timer_trials_benchmark_1k, sizeof(__pyx_k_timer_trials_benchmark_1k), 0, 0, 1, 1},
- {&__pyx_n_s_timer_trials_benchmark_1k_locals, __pyx_k_timer_trials_benchmark_1k_locals, sizeof(__pyx_k_timer_trials_benchmark_1k_locals), 0, 0, 1, 1},
- {&__pyx_n_s_timer_trials_benchmark_1m, __pyx_k_timer_trials_benchmark_1m, sizeof(__pyx_k_timer_trials_benchmark_1m), 0, 0, 1, 1},
- {&__pyx_n_s_timer_trials_benchmark_1m_locals, __pyx_k_timer_trials_benchmark_1m_locals, sizeof(__pyx_k_timer_trials_benchmark_1m_locals), 0, 0, 1, 1},
- {&__pyx_n_s_timer_trials_benchmark_locals_wr, __pyx_k_timer_trials_benchmark_locals_wr, sizeof(__pyx_k_timer_trials_benchmark_locals_wr), 0, 0, 1, 1},
- {&__pyx_n_s_trials, __pyx_k_trials, sizeof(__pyx_k_trials), 0, 0, 1, 1},
- {&__pyx_n_s_wrapper, __pyx_k_wrapper, sizeof(__pyx_k_wrapper), 0, 0, 1, 1},
- {&__pyx_n_s_wraps, __pyx_k_wraps, sizeof(__pyx_k_wraps), 0, 0, 1, 1},
- {&__pyx_n_s_write, __pyx_k_write, sizeof(__pyx_k_write), 0, 0, 1, 1},
- {&__pyx_n_s_x, __pyx_k_x, sizeof(__pyx_k_x), 0, 0, 1, 1},
- {&__pyx_n_s_y, __pyx_k_y, sizeof(__pyx_k_y), 0, 0, 1, 1},
- {0, 0, 0, 0, 0, 0, 0}
- };
- static int __Pyx_InitCachedBuiltins(void) {
- __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_n_s_sum); if (!__pyx_builtin_sum) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- return 0;
- __pyx_L1_error:;
- return -1;
- }
- static int __Pyx_InitCachedConstants(void) {
- __Pyx_RefNannyDeclarations
- __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":21
- * def timer(func, repetitions=100000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- __pyx_tuple__4 = PyTuple_Pack(6, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_start, __pyx_n_s_x, __pyx_n_s_result, __pyx_n_s_end); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__4);
- __Pyx_GIVEREF(__pyx_tuple__4);
- __pyx_codeobj__5 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__4, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_wrapper, 21, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":45
- * def timer_10(func, repetitions=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- __pyx_tuple__6 = PyTuple_Pack(6, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_start, __pyx_n_s_x, __pyx_n_s_result, __pyx_n_s_end); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__6);
- __Pyx_GIVEREF(__pyx_tuple__6);
- __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__6, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_wrapper, 45, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":64
- * def timer_100(func, repetitions=100):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- __pyx_tuple__8 = PyTuple_Pack(6, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_start, __pyx_n_s_x, __pyx_n_s_result, __pyx_n_s_end); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__8);
- __Pyx_GIVEREF(__pyx_tuple__8);
- __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__8, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_wrapper, 64, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":83
- * def timer_1k(func, repetitions=1000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- __pyx_tuple__10 = PyTuple_Pack(6, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_start, __pyx_n_s_x, __pyx_n_s_result, __pyx_n_s_end); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__10);
- __Pyx_GIVEREF(__pyx_tuple__10);
- __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__10, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_wrapper, 83, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":102
- * def timer_10k(func, repetitions=10000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- __pyx_tuple__12 = PyTuple_Pack(6, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_start, __pyx_n_s_x, __pyx_n_s_result, __pyx_n_s_end); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__12);
- __Pyx_GIVEREF(__pyx_tuple__12);
- __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_wrapper, 102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":121
- * def timer_1m(func, repetitions=1000000):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting " + str(repetitions) + " repetitions of " + func.__name__ + "()...")
- * sys.stdout.flush()
- */
- __pyx_tuple__14 = PyTuple_Pack(6, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_start, __pyx_n_s_x, __pyx_n_s_result, __pyx_n_s_end); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__14);
- __Pyx_GIVEREF(__pyx_tuple__14);
- __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_wrapper, 121, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":178
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- */
- __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s__17); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__18);
- __Pyx_GIVEREF(__pyx_tuple__18);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":154
- * def timer_trials_benchmark(func, repetitions=100000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- __pyx_tuple__21 = PyTuple_Pack(21, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_result_list, __pyx_n_s_benchmark_list, __pyx_n_s_x, __pyx_n_s_start, __pyx_n_s_y, __pyx_n_s_end, __pyx_n_s_result, __pyx_n_s_L, __pyx_n_s_start2, __pyx_n_s_j, __pyx_n_s_i, __pyx_n_s_end2, __pyx_n_s_n, __pyx_n_s_run, __pyx_n_s_mean, __pyx_n_s_mean_benchmark, __pyx_n_s_np, __pyx_n_s_array, __pyx_n_s_ie); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__21);
- __Pyx_GIVEREF(__pyx_tuple__21);
- __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(0, 0, 21, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_wrapper, 154, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":233
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- */
- __pyx_tuple__23 = PyTuple_Pack(1, __pyx_kp_s__17); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__23);
- __Pyx_GIVEREF(__pyx_tuple__23);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":209
- * def timer_trials_benchmark_10(func, repetitions=10, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- __pyx_tuple__24 = PyTuple_Pack(21, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_result_list, __pyx_n_s_benchmark_list, __pyx_n_s_x, __pyx_n_s_start, __pyx_n_s_y, __pyx_n_s_end, __pyx_n_s_result, __pyx_n_s_L, __pyx_n_s_start2, __pyx_n_s_j, __pyx_n_s_i, __pyx_n_s_end2, __pyx_n_s_n, __pyx_n_s_run, __pyx_n_s_mean, __pyx_n_s_mean_benchmark, __pyx_n_s_np, __pyx_n_s_array, __pyx_n_s_ie); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__24);
- __Pyx_GIVEREF(__pyx_tuple__24);
- __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(0, 0, 21, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_wrapper, 209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":284
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- */
- __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s__17); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__26);
- __Pyx_GIVEREF(__pyx_tuple__26);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":260
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- __pyx_tuple__27 = PyTuple_Pack(21, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_result_list, __pyx_n_s_benchmark_list, __pyx_n_s_x, __pyx_n_s_start, __pyx_n_s_y, __pyx_n_s_end, __pyx_n_s_result, __pyx_n_s_L, __pyx_n_s_start2, __pyx_n_s_j, __pyx_n_s_i, __pyx_n_s_end2, __pyx_n_s_n, __pyx_n_s_run, __pyx_n_s_mean, __pyx_n_s_mean_benchmark, __pyx_n_s_np, __pyx_n_s_array, __pyx_n_s_ie); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__27);
- __Pyx_GIVEREF(__pyx_tuple__27);
- __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(0, 0, 21, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_wrapper, 260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":335
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- */
- __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_s__17); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__29);
- __Pyx_GIVEREF(__pyx_tuple__29);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":311
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- __pyx_tuple__30 = PyTuple_Pack(21, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_result_list, __pyx_n_s_benchmark_list, __pyx_n_s_x, __pyx_n_s_start, __pyx_n_s_y, __pyx_n_s_end, __pyx_n_s_result, __pyx_n_s_L, __pyx_n_s_start2, __pyx_n_s_j, __pyx_n_s_i, __pyx_n_s_end2, __pyx_n_s_n, __pyx_n_s_run, __pyx_n_s_mean, __pyx_n_s_mean_benchmark, __pyx_n_s_np, __pyx_n_s_array, __pyx_n_s_ie); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__30);
- __Pyx_GIVEREF(__pyx_tuple__30);
- __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(0, 0, 21, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_wrapper, 311, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":386
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- */
- __pyx_tuple__32 = PyTuple_Pack(1, __pyx_kp_s__17); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__32);
- __Pyx_GIVEREF(__pyx_tuple__32);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":362
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- __pyx_tuple__33 = PyTuple_Pack(21, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_result_list, __pyx_n_s_benchmark_list, __pyx_n_s_x, __pyx_n_s_start, __pyx_n_s_y, __pyx_n_s_end, __pyx_n_s_result, __pyx_n_s_L, __pyx_n_s_start2, __pyx_n_s_j, __pyx_n_s_i, __pyx_n_s_end2, __pyx_n_s_n, __pyx_n_s_run, __pyx_n_s_mean, __pyx_n_s_mean_benchmark, __pyx_n_s_np, __pyx_n_s_array, __pyx_n_s_ie); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__33);
- __Pyx_GIVEREF(__pyx_tuple__33);
- __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(0, 0, 21, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_wrapper, 362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":437
- * end2 = time.time()
- * benchmark_list.append(end2 - start2)
- * sys.stdout.write(".") # <<<<<<<<<<<<<<
- * sys.stdout.flush()
- * gc.enable() # re-enable garbage collection
- */
- __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_s__17); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__35);
- __Pyx_GIVEREF(__pyx_tuple__35);
- /* "lib/Naked/toolshed/c/benchmarking.pyx":413
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10):
- * @wraps(func)
- * def wrapper(*args, **kwargs): # <<<<<<<<<<<<<<
- * sys.stdout.write("Starting timed trials of " + func.__name__ + "()")
- * sys.stdout.flush()
- */
- __pyx_tuple__36 = PyTuple_Pack(21, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_result_list, __pyx_n_s_benchmark_list, __pyx_n_s_x, __pyx_n_s_start, __pyx_n_s_y, __pyx_n_s_end, __pyx_n_s_result, __pyx_n_s_L, __pyx_n_s_start2, __pyx_n_s_j, __pyx_n_s_i, __pyx_n_s_end2, __pyx_n_s_n, __pyx_n_s_run, __pyx_n_s_mean, __pyx_n_s_mean_benchmark, __pyx_n_s_np, __pyx_n_s_array, __pyx_n_s_ie); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__36);
- __Pyx_GIVEREF(__pyx_tuple__36);
- __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(0, 0, 21, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_wrapper, 413, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":19
- * # def myfunction():
- * #------------------------------------------------------------------------------
- * def timer(func, repetitions=100000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_tuple__38 = PyTuple_Pack(4, __pyx_n_s_func, __pyx_n_s_repetitions, __pyx_n_s_wrapper, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__38);
- __Pyx_GIVEREF(__pyx_tuple__38);
- __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_timer, 19, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":43
- * #------------------------------------------------------------------------------
- *
- * def timer_10(func, repetitions=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_tuple__40 = PyTuple_Pack(4, __pyx_n_s_func, __pyx_n_s_repetitions, __pyx_n_s_wrapper, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__40);
- __Pyx_GIVEREF(__pyx_tuple__40);
- __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_timer_10, 43, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":62
- * return wrapper
- *
- * def timer_100(func, repetitions=100): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_tuple__42 = PyTuple_Pack(4, __pyx_n_s_func, __pyx_n_s_repetitions, __pyx_n_s_wrapper, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__42);
- __Pyx_GIVEREF(__pyx_tuple__42);
- __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_timer_100, 62, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":81
- * return wrapper
- *
- * def timer_1k(func, repetitions=1000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_tuple__44 = PyTuple_Pack(4, __pyx_n_s_func, __pyx_n_s_repetitions, __pyx_n_s_wrapper, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__44);
- __Pyx_GIVEREF(__pyx_tuple__44);
- __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_timer_1k, 81, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":100
- * return wrapper
- *
- * def timer_10k(func, repetitions=10000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_tuple__46 = PyTuple_Pack(4, __pyx_n_s_func, __pyx_n_s_repetitions, __pyx_n_s_wrapper, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__46);
- __Pyx_GIVEREF(__pyx_tuple__46);
- __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_timer_10k, 100, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":119
- * return wrapper
- *
- * def timer_1m(func, repetitions=1000000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_tuple__48 = PyTuple_Pack(4, __pyx_n_s_func, __pyx_n_s_repetitions, __pyx_n_s_wrapper, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__48);
- __Pyx_GIVEREF(__pyx_tuple__48);
- __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_timer_1m, 119, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":152
- * # def myfunction():
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark(func, repetitions=100000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_tuple__50 = PyTuple_Pack(5, __pyx_n_s_func, __pyx_n_s_repetitions, __pyx_n_s_trials, __pyx_n_s_wrapper, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__50);
- __Pyx_GIVEREF(__pyx_tuple__50);
- __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_timer_trials_benchmark, 152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":207
- * # additional benchmark decorators that replicate the above function with different # repetitions
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark_10(func, repetitions=10, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_tuple__52 = PyTuple_Pack(5, __pyx_n_s_func, __pyx_n_s_repetitions, __pyx_n_s_trials, __pyx_n_s_wrapper, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__52);
- __Pyx_GIVEREF(__pyx_tuple__52);
- __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_timer_trials_benchmark_10, 207, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":258
- * return wrapper
- *
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_tuple__54 = PyTuple_Pack(5, __pyx_n_s_func, __pyx_n_s_repetitions, __pyx_n_s_trials, __pyx_n_s_wrapper, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__54);
- __Pyx_GIVEREF(__pyx_tuple__54);
- __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_timer_trials_benchmark_100, 258, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":309
- * return wrapper
- *
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_tuple__56 = PyTuple_Pack(5, __pyx_n_s_func, __pyx_n_s_repetitions, __pyx_n_s_trials, __pyx_n_s_wrapper, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__56);
- __Pyx_GIVEREF(__pyx_tuple__56);
- __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_timer_trials_benchmark_1k, 309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":360
- * return wrapper
- *
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_tuple__58 = PyTuple_Pack(5, __pyx_n_s_func, __pyx_n_s_repetitions, __pyx_n_s_trials, __pyx_n_s_wrapper, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__58);
- __Pyx_GIVEREF(__pyx_tuple__58);
- __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_timer_trials_benchmark_10k, 360, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "lib/Naked/toolshed/c/benchmarking.pyx":411
- * return wrapper
- *
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_tuple__60 = PyTuple_Pack(5, __pyx_n_s_func, __pyx_n_s_repetitions, __pyx_n_s_trials, __pyx_n_s_wrapper, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__60);
- __Pyx_GIVEREF(__pyx_tuple__60);
- __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_ces_Desktop_code_naked_li, __pyx_n_s_timer_trials_benchmark_1m, 411, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_RefNannyFinishContext();
- return 0;
- __pyx_L1_error:;
- __Pyx_RefNannyFinishContext();
- return -1;
- }
- static int __Pyx_InitGlobals(void) {
- if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
- __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_int_50 = PyInt_FromLong(50); if (unlikely(!__pyx_int_50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_int_100 = PyInt_FromLong(100); if (unlikely(!__pyx_int_100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_int_1000 = PyInt_FromLong(1000); if (unlikely(!__pyx_int_1000)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_int_10000 = PyInt_FromLong(10000L); if (unlikely(!__pyx_int_10000)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_int_100000 = PyInt_FromLong(100000L); if (unlikely(!__pyx_int_100000)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_int_1000000 = PyInt_FromLong(1000000L); if (unlikely(!__pyx_int_1000000)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- return 0;
- __pyx_L1_error:;
- return -1;
- }
- #if PY_MAJOR_VERSION < 3
- PyMODINIT_FUNC initbenchmarking(void); /*proto*/
- PyMODINIT_FUNC initbenchmarking(void)
- #else
- PyMODINIT_FUNC PyInit_benchmarking(void); /*proto*/
- PyMODINIT_FUNC PyInit_benchmarking(void)
- #endif
- {
- PyObject *__pyx_t_1 = NULL;
- PyObject *__pyx_t_2 = NULL;
- int __pyx_t_3;
- int __pyx_lineno = 0;
- const char *__pyx_filename = NULL;
- int __pyx_clineno = 0;
- __Pyx_RefNannyDeclarations
- #if CYTHON_REFNANNY
- __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
- if (!__Pyx_RefNanny) {
- PyErr_Clear();
- __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
- if (!__Pyx_RefNanny)
- Py_FatalError("failed to import 'refnanny' module");
- }
- #endif
- __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_benchmarking(void)", 0);
- if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #ifdef __Pyx_CyFunction_USED
- if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- #ifdef __Pyx_FusedFunction_USED
- if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- #ifdef __Pyx_Generator_USED
- if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- /*--- Library function declarations ---*/
- /*--- Threads initialization code ---*/
- #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
- #ifdef WITH_THREAD /* Python build with threading support? */
- PyEval_InitThreads();
- #endif
- #endif
- /*--- Module creation code ---*/
- #if PY_MAJOR_VERSION < 3
- __pyx_m = Py_InitModule4(__Pyx_NAMESTR("benchmarking"), __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
- #else
- __pyx_m = PyModule_Create(&__pyx_moduledef);
- #endif
- if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- Py_INCREF(__pyx_d);
- __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #if CYTHON_COMPILING_IN_PYPY
- Py_INCREF(__pyx_b);
- #endif
- if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
- /*--- Initialize various global constants etc. ---*/
- if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
- if (__Pyx_init_sys_getdefaultencoding_params() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- #endif
- if (__pyx_module_is_main_lib__Naked__toolshed__c__benchmarking) {
- if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s_main) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
- }
- #if PY_MAJOR_VERSION >= 3
- {
- PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (!PyDict_GetItemString(modules, "lib.Naked.toolshed.c.benchmarking")) {
- if (unlikely(PyDict_SetItemString(modules, "lib.Naked.toolshed.c.benchmarking", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- }
- }
- #endif
- /*--- Builtin init code ---*/
- if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /*--- Constants init code ---*/
- if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /*--- Global init code ---*/
- /*--- Variable export code ---*/
- /*--- Function export code ---*/
- /*--- Type init code ---*/
- if (PyType_Ready(&__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer.tp_print = 0;
- __pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer = &__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct__timer;
- if (PyType_Ready(&__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10.tp_print = 0;
- __pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10 = &__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_1_timer_10;
- if (PyType_Ready(&__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100.tp_print = 0;
- __pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100 = &__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_2_timer_100;
- if (PyType_Ready(&__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k.tp_print = 0;
- __pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k = &__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_3_timer_1k;
- if (PyType_Ready(&__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k.tp_print = 0;
- __pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k = &__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_4_timer_10k;
- if (PyType_Ready(&__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m.tp_print = 0;
- __pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m = &__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_5_timer_1m;
- if (PyType_Ready(&__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark.tp_print = 0;
- __pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark = &__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_6_timer_trials_benchmark;
- if (PyType_Ready(&__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10.tp_print = 0;
- __pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10 = &__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_7_timer_trials_benchmark_10;
- if (PyType_Ready(&__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100.tp_print = 0;
- __pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100 = &__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_8_timer_trials_benchmark_100;
- if (PyType_Ready(&__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k.tp_print = 0;
- __pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k = &__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_9_timer_trials_benchmark_1k;
- if (PyType_Ready(&__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k.tp_print = 0;
- __pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k = &__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_10_timer_trials_benchmark_10k;
- if (PyType_Ready(&__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m.tp_print = 0;
- __pyx_ptype_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m = &__pyx_type_3lib_5Naked_8toolshed_1c_12benchmarking___pyx_scope_struct_11_timer_trials_benchmark_1m;
- /*--- Type import code ---*/
- /*--- Variable import code ---*/
- /*--- Function import code ---*/
- /*--- Execution code ---*/
- /* "lib/Naked/toolshed/c/benchmarking.pyx":4
- * # encoding: utf-8
- *
- * import sys # <<<<<<<<<<<<<<
- * import time
- * import gc
- */
- __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":5
- *
- * import sys
- * import time # <<<<<<<<<<<<<<
- * import gc
- * from functools import wraps
- */
- __pyx_t_1 = __Pyx_Import(__pyx_n_s_time, 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_time, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":6
- * import sys
- * import time
- * import gc # <<<<<<<<<<<<<<
- * from functools import wraps
- *
- */
- __pyx_t_1 = __Pyx_Import(__pyx_n_s_gc, 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_gc, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":7
- * import time
- * import gc
- * from functools import wraps # <<<<<<<<<<<<<<
- *
- * #------------------------------------------------------------------------------
- */
- __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_INCREF(__pyx_n_s_wraps);
- PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_wraps);
- __Pyx_GIVEREF(__pyx_n_s_wraps);
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_functools, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_wraps); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_wraps, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":19
- * # def myfunction():
- * #------------------------------------------------------------------------------
- * def timer(func, repetitions=100000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_1timer, NULL, __pyx_n_s_lib_Naked_toolshed_c_benchmarkin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timer, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":43
- * #------------------------------------------------------------------------------
- *
- * def timer_10(func, repetitions=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_3timer_10, NULL, __pyx_n_s_lib_Naked_toolshed_c_benchmarkin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timer_10, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":62
- * return wrapper
- *
- * def timer_100(func, repetitions=100): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_5timer_100, NULL, __pyx_n_s_lib_Naked_toolshed_c_benchmarkin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timer_100, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":81
- * return wrapper
- *
- * def timer_1k(func, repetitions=1000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_7timer_1k, NULL, __pyx_n_s_lib_Naked_toolshed_c_benchmarkin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timer_1k, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":100
- * return wrapper
- *
- * def timer_10k(func, repetitions=10000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_9timer_10k, NULL, __pyx_n_s_lib_Naked_toolshed_c_benchmarkin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timer_10k, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":119
- * return wrapper
- *
- * def timer_1m(func, repetitions=1000000): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_11timer_1m, NULL, __pyx_n_s_lib_Naked_toolshed_c_benchmarkin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timer_1m, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":152
- * # def myfunction():
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark(func, repetitions=100000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_13timer_trials_benchmark, NULL, __pyx_n_s_lib_Naked_toolshed_c_benchmarkin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timer_trials_benchmark, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":207
- * # additional benchmark decorators that replicate the above function with different # repetitions
- * #------------------------------------------------------------------------------
- * def timer_trials_benchmark_10(func, repetitions=10, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_15timer_trials_benchmark_10, NULL, __pyx_n_s_lib_Naked_toolshed_c_benchmarkin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timer_trials_benchmark_10, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":258
- * return wrapper
- *
- * def timer_trials_benchmark_100(func, repetitions=100, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_17timer_trials_benchmark_100, NULL, __pyx_n_s_lib_Naked_toolshed_c_benchmarkin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timer_trials_benchmark_100, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":309
- * return wrapper
- *
- * def timer_trials_benchmark_1k(func, repetitions=1000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_19timer_trials_benchmark_1k, NULL, __pyx_n_s_lib_Naked_toolshed_c_benchmarkin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timer_trials_benchmark_1k, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":360
- * return wrapper
- *
- * def timer_trials_benchmark_10k(func, repetitions=10000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_21timer_trials_benchmark_10k, NULL, __pyx_n_s_lib_Naked_toolshed_c_benchmarkin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timer_trials_benchmark_10k, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":411
- * return wrapper
- *
- * def timer_trials_benchmark_1m(func, repetitions=1000000, trials=10): # <<<<<<<<<<<<<<
- * @wraps(func)
- * def wrapper(*args, **kwargs):
- */
- __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_3lib_5Naked_8toolshed_1c_12benchmarking_23timer_trials_benchmark_1m, NULL, __pyx_n_s_lib_Naked_toolshed_c_benchmarkin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_timer_trials_benchmark_1m, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":462
- * return wrapper
- *
- * if __name__ == '__main__': # <<<<<<<<<<<<<<
- * pass
- */
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_2, __pyx_n_s_main, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (__pyx_t_3) {
- goto __pyx_L2;
- }
- __pyx_L2:;
- /* "lib/Naked/toolshed/c/benchmarking.pyx":1
- * #!/usr/bin/env python # <<<<<<<<<<<<<<
- * # encoding: utf-8
- *
- */
- __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- goto __pyx_L0;
- __pyx_L1_error:;
- __Pyx_XDECREF(__pyx_t_1);
- __Pyx_XDECREF(__pyx_t_2);
- if (__pyx_m) {
- __Pyx_AddTraceback("init lib.Naked.toolshed.c.benchmarking", __pyx_clineno, __pyx_lineno, __pyx_filename);
- Py_DECREF(__pyx_m); __pyx_m = 0;
- } else if (!PyErr_Occurred()) {
- PyErr_SetString(PyExc_ImportError, "init lib.Naked.toolshed.c.benchmarking");
- }
- __pyx_L0:;
- __Pyx_RefNannyFinishContext();
- #if PY_MAJOR_VERSION < 3
- return;
- #else
- return __pyx_m;
- #endif
- }
- /* Runtime support code */
- #if CYTHON_REFNANNY
- static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
- PyObject *m = NULL, *p = NULL;
- void *r = NULL;
- m = PyImport_ImportModule((char *)modname);
- if (!m) goto end;
- p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
- if (!p) goto end;
- r = PyLong_AsVoidPtr(p);
- end:
- Py_XDECREF(p);
- Py_XDECREF(m);
- return (__Pyx_RefNannyAPIStruct *)r;
- }
- #endif /* CYTHON_REFNANNY */
- static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
- PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
- if (unlikely(!result)) {
- PyErr_Format(PyExc_NameError,
- #if PY_MAJOR_VERSION >= 3
- "name '%U' is not defined", name);
- #else
- "name '%.200s' is not defined", PyString_AS_STRING(name));
- #endif
- }
- return result;
- }
- static void __Pyx_RaiseDoubleKeywordsError(
- const char* func_name,
- PyObject* kw_name)
- {
- PyErr_Format(PyExc_TypeError,
- #if PY_MAJOR_VERSION >= 3
- "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
- #else
- "%s() got multiple values for keyword argument '%s'", func_name,
- PyString_AsString(kw_name));
- #endif
- }
- static int __Pyx_ParseOptionalKeywords(
- PyObject *kwds,
- PyObject **argnames[],
- PyObject *kwds2,
- PyObject *values[],
- Py_ssize_t num_pos_args,
- const char* function_name)
- {
- PyObject *key = 0, *value = 0;
- Py_ssize_t pos = 0;
- PyObject*** name;
- PyObject*** first_kw_arg = argnames + num_pos_args;
- while (PyDict_Next(kwds, &pos, &key, &value)) {
- name = first_kw_arg;
- while (*name && (**name != key)) name++;
- if (*name) {
- values[name-argnames] = value;
- continue;
- }
- name = first_kw_arg;
- #if PY_MAJOR_VERSION < 3
- if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
- while (*name) {
- if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
- && _PyString_Eq(**name, key)) {
- values[name-argnames] = value;
- break;
- }
- name++;
- }
- if (*name) continue;
- else {
- PyObject*** argname = argnames;
- while (argname != first_kw_arg) {
- if ((**argname == key) || (
- (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
- && _PyString_Eq(**argname, key))) {
- goto arg_passed_twice;
- }
- argname++;
- }
- }
- } else
- #endif
- if (likely(PyUnicode_Check(key))) {
- while (*name) {
- int cmp = (**name == key) ? 0 :
- #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
- (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
- #endif
- PyUnicode_Compare(**name, key);
- if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
- if (cmp == 0) {
- values[name-argnames] = value;
- break;
- }
- name++;
- }
- if (*name) continue;
- else {
- PyObject*** argname = argnames;
- while (argname != first_kw_arg) {
- int cmp = (**argname == key) ? 0 :
- #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
- (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
- #endif
- PyUnicode_Compare(**argname, key);
- if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
- if (cmp == 0) goto arg_passed_twice;
- argname++;
- }
- }
- } else
- goto invalid_keyword_type;
- if (kwds2) {
- if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
- } else {
- goto invalid_keyword;
- }
- }
- return 0;
- arg_passed_twice:
- __Pyx_RaiseDoubleKeywordsError(function_name, key);
- goto bad;
- invalid_keyword_type:
- PyErr_Format(PyExc_TypeError,
- "%.200s() keywords must be strings", function_name);
- goto bad;
- invalid_keyword:
- PyErr_Format(PyExc_TypeError,
- #if PY_MAJOR_VERSION < 3
- "%.200s() got an unexpected keyword argument '%.200s'",
- function_name, PyString_AsString(key));
- #else
- "%s() got an unexpected keyword argument '%U'",
- function_name, key);
- #endif
- bad:
- return -1;
- }
- static void __Pyx_RaiseArgtupleInvalid(
- const char* func_name,
- int exact,
- Py_ssize_t num_min,
- Py_ssize_t num_max,
- Py_ssize_t num_found)
- {
- Py_ssize_t num_expected;
- const char *more_or_less;
- if (num_found < num_min) {
- num_expected = num_min;
- more_or_less = "at least";
- } else {
- num_expected = num_max;
- more_or_less = "at most";
- }
- if (exact) {
- more_or_less = "exactly";
- }
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
- func_name, more_or_less, num_expected,
- (num_expected == 1) ? "" : "s", num_found);
- }
- static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
- PyObject *kwdict,
- const char* function_name,
- int kw_allowed)
- {
- PyObject* key = 0;
- Py_ssize_t pos = 0;
- #if CPYTHON_COMPILING_IN_PYPY
- if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
- goto invalid_keyword;
- return 1;
- #else
- while (PyDict_Next(kwdict, &pos, &key, 0)) {
- #if PY_MAJOR_VERSION < 3
- if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
- #endif
- if (unlikely(!PyUnicode_Check(key)))
- goto invalid_keyword_type;
- }
- if ((!kw_allowed) && unlikely(key))
- goto invalid_keyword;
- return 1;
- invalid_keyword_type:
- PyErr_Format(PyExc_TypeError,
- "%.200s() keywords must be strings", function_name);
- return 0;
- #endif
- invalid_keyword:
- PyErr_Format(PyExc_TypeError,
- #if PY_MAJOR_VERSION < 3
- "%.200s() got an unexpected keyword argument '%.200s'",
- function_name, PyString_AsString(key));
- #else
- "%s() got an unexpected keyword argument '%U'",
- function_name, key);
- #endif
- return 0;
- }
- static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {
- PyObject *result;
- #if CYTHON_COMPILING_IN_CPYTHON
- result = PyDict_GetItem(__pyx_d, name);
- if (result) {
- Py_INCREF(result);
- } else {
- #else
- result = PyObject_GetItem(__pyx_d, name);
- if (!result) {
- PyErr_Clear();
- #endif
- result = __Pyx_GetBuiltinName(name);
- }
- return result;
- }
- static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) {
- PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
- }
- #if CYTHON_COMPILING_IN_CPYTHON
- static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
- PyObject *result;
- ternaryfunc call = func->ob_type->tp_call;
- if (unlikely(!call))
- return PyObject_Call(func, arg, kw);
- #if PY_VERSION_HEX >= 0x02060000
- if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
- return NULL;
- #endif
- result = (*call)(func, arg, kw);
- #if PY_VERSION_HEX >= 0x02060000
- Py_LeaveRecursiveCall();
- #endif
- if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
- PyErr_SetString(
- PyExc_SystemError,
- "NULL result without error in PyObject_Call");
- }
- return result;
- }
- #endif
- static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
- PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
- }
- static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
- PyObject* fake_module;
- PyTypeObject* cached_type = NULL;
- fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI);
- if (!fake_module) return NULL;
- Py_INCREF(fake_module);
- cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name);
- if (cached_type) {
- if (!PyType_Check((PyObject*)cached_type)) {
- PyErr_Format(PyExc_TypeError,
- "Shared Cython type %.200s is not a type object",
- type->tp_name);
- goto bad;
- }
- if (cached_type->tp_basicsize != type->tp_basicsize) {
- PyErr_Format(PyExc_TypeError,
- "Shared Cython type %.200s has the wrong size, try recompiling",
- type->tp_name);
- goto bad;
- }
- } else {
- if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
- PyErr_Clear();
- if (PyType_Ready(type) < 0) goto bad;
- if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0)
- goto bad;
- Py_INCREF(type);
- cached_type = type;
- }
- done:
- Py_DECREF(fake_module);
- return cached_type;
- bad:
- Py_XDECREF(cached_type);
- cached_type = NULL;
- goto done;
- }
- static PyObject *
- __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure)
- {
- if (unlikely(op->func_doc == NULL)) {
- if (op->func.m_ml->ml_doc) {
- #if PY_MAJOR_VERSION >= 3
- op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc);
- #else
- op->func_doc = PyString_FromString(op->func.m_ml->ml_doc);
- #endif
- if (unlikely(op->func_doc == NULL))
- return NULL;
- } else {
- Py_INCREF(Py_None);
- return Py_None;
- }
- }
- Py_INCREF(op->func_doc);
- return op->func_doc;
- }
- static int
- __Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value)
- {
- PyObject *tmp = op->func_doc;
- if (value == NULL)
- value = Py_None; /* Mark as deleted */
- Py_INCREF(value);
- op->func_doc = value;
- Py_XDECREF(tmp);
- return 0;
- }
- static PyObject *
- __Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op)
- {
- if (unlikely(op->func_name == NULL)) {
- #if PY_MAJOR_VERSION >= 3
- op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name);
- #else
- op->func_name = PyString_InternFromString(op->func.m_ml->ml_name);
- #endif
- if (unlikely(op->func_name == NULL))
- return NULL;
- }
- Py_INCREF(op->func_name);
- return op->func_name;
- }
- static int
- __Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value)
- {
- PyObject *tmp;
- #if PY_MAJOR_VERSION >= 3
- if (unlikely(value == NULL || !PyUnicode_Check(value))) {
- #else
- if (unlikely(value == NULL || !PyString_Check(value))) {
- #endif
- PyErr_SetString(PyExc_TypeError,
- "__name__ must be set to a string object");
- return -1;
- }
- tmp = op->func_name;
- Py_INCREF(value);
- op->func_name = value;
- Py_XDECREF(tmp);
- return 0;
- }
- static PyObject *
- __Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op)
- {
- Py_INCREF(op->func_qualname);
- return op->func_qualname;
- }
- static int
- __Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value)
- {
- PyObject *tmp;
- #if PY_MAJOR_VERSION >= 3
- if (unlikely(value == NULL || !PyUnicode_Check(value))) {
- #else
- if (unlikely(value == NULL || !PyString_Check(value))) {
- #endif
- PyErr_SetString(PyExc_TypeError,
- "__qualname__ must be set to a string object");
- return -1;
- }
- tmp = op->func_qualname;
- Py_INCREF(value);
- op->func_qualname = value;
- Py_XDECREF(tmp);
- return 0;
- }
- static PyObject *
- __Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure)
- {
- PyObject *self;
- self = m->func_closure;
- if (self == NULL)
- self = Py_None;
- Py_INCREF(self);
- return self;
- }
- static PyObject *
- __Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op)
- {
- if (unlikely(op->func_dict == NULL)) {
- op->func_dict = PyDict_New();
- if (unlikely(op->func_dict == NULL))
- return NULL;
- }
- Py_INCREF(op->func_dict);
- return op->func_dict;
- }
- static int
- __Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value)
- {
- PyObject *tmp;
- if (unlikely(value == NULL)) {
- PyErr_SetString(PyExc_TypeError,
- "function's dictionary may not be deleted");
- return -1;
- }
- if (unlikely(!PyDict_Check(value))) {
- PyErr_SetString(PyExc_TypeError,
- "setting function's dictionary to a non-dict");
- return -1;
- }
- tmp = op->func_dict;
- Py_INCREF(value);
- op->func_dict = value;
- Py_XDECREF(tmp);
- return 0;
- }
- static PyObject *
- __Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op)
- {
- Py_INCREF(op->func_globals);
- return op->func_globals;
- }
- static PyObject *
- __Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op)
- {
- Py_INCREF(Py_None);
- return Py_None;
- }
- static PyObject *
- __Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op)
- {
- PyObject* result = (op->func_code) ? op->func_code : Py_None;
- Py_INCREF(result);
- return result;
- }
- static int
- __Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
- PyObject *res = op->defaults_getter((PyObject *) op);
- if (unlikely(!res))
- return -1;
- op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
- Py_INCREF(op->defaults_tuple);
- op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
- Py_INCREF(op->defaults_kwdict);
- Py_DECREF(res);
- return 0;
- }
- static int
- __Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value) {
- PyObject* tmp;
- if (!value) {
- value = Py_None;
- } else if (value != Py_None && !PyTuple_Check(value)) {
- PyErr_SetString(PyExc_TypeError,
- "__defaults__ must be set to a tuple object");
- return -1;
- }
- Py_INCREF(value);
- tmp = op->defaults_tuple;
- op->defaults_tuple = value;
- Py_XDECREF(tmp);
- return 0;
- }
- static PyObject *
- __Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op) {
- PyObject* result = op->defaults_tuple;
- if (unlikely(!result)) {
- if (op->defaults_getter) {
- if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL;
- result = op->defaults_tuple;
- } else {
- result = Py_None;
- }
- }
- Py_INCREF(result);
- return result;
- }
- static int
- __Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value) {
- PyObject* tmp;
- if (!value) {
- value = Py_None;
- } else if (value != Py_None && !PyDict_Check(value)) {
- PyErr_SetString(PyExc_TypeError,
- "__kwdefaults__ must be set to a dict object");
- return -1;
- }
- Py_INCREF(value);
- tmp = op->defaults_kwdict;
- op->defaults_kwdict = value;
- Py_XDECREF(tmp);
- return 0;
- }
- static PyObject *
- __Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op) {
- PyObject* result = op->defaults_kwdict;
- if (unlikely(!result)) {
- if (op->defaults_getter) {
- if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL;
- result = op->defaults_kwdict;
- } else {
- result = Py_None;
- }
- }
- Py_INCREF(result);
- return result;
- }
- static int
- __Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value) {
- PyObject* tmp;
- if (!value || value == Py_None) {
- value = NULL;
- } else if (!PyDict_Check(value)) {
- PyErr_SetString(PyExc_TypeError,
- "__annotations__ must be set to a dict object");
- return -1;
- }
- Py_XINCREF(value);
- tmp = op->func_annotations;
- op->func_annotations = value;
- Py_XDECREF(tmp);
- return 0;
- }
- static PyObject *
- __Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op) {
- PyObject* result = op->func_annotations;
- if (unlikely(!result)) {
- result = PyDict_New();
- if (unlikely(!result)) return NULL;
- op->func_annotations = result;
- }
- Py_INCREF(result);
- return result;
- }
- static PyGetSetDef __pyx_CyFunction_getsets[] = {
- {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
- {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
- {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
- {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
- {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
- {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0},
- {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
- {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
- {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
- {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
- {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
- {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
- {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
- {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
- {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
- {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
- {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
- {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
- {0, 0, 0, 0, 0}
- };
- #ifndef PY_WRITE_RESTRICTED /* < Py2.5 */
- #define PY_WRITE_RESTRICTED WRITE_RESTRICTED
- #endif
- static PyMemberDef __pyx_CyFunction_members[] = {
- {(char *) "__module__", T_OBJECT, offsetof(__pyx_CyFunctionObject, func.m_module), PY_WRITE_RESTRICTED, 0},
- {0, 0, 0, 0, 0}
- };
- static PyObject *
- __Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
- {
- #if PY_MAJOR_VERSION >= 3
- return PyUnicode_FromString(m->func.m_ml->ml_name);
- #else
- return PyString_FromString(m->func.m_ml->ml_name);
- #endif
- }
- static PyMethodDef __pyx_CyFunction_methods[] = {
- {__Pyx_NAMESTR("__reduce__"), (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
- {0, 0, 0, 0}
- };
- static PyObject *__Pyx_CyFunction_New(PyTypeObject *type, PyMethodDef *ml, int flags, PyObject* qualname,
- PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
- __pyx_CyFunctionObject *op = PyObject_GC_New(__pyx_CyFunctionObject, type);
- if (op == NULL)
- return NULL;
- op->flags = flags;
- op->func_weakreflist = NULL;
- op->func.m_ml = ml;
- op->func.m_self = (PyObject *) op;
- Py_XINCREF(closure);
- op->func_closure = closure;
- Py_XINCREF(module);
- op->func.m_module = module;
- op->func_dict = NULL;
- op->func_name = NULL;
- Py_INCREF(qualname);
- op->func_qualname = qualname;
- op->func_doc = NULL;
- op->func_classobj = NULL;
- op->func_globals = globals;
- Py_INCREF(op->func_globals);
- Py_XINCREF(code);
- op->func_code = code;
- op->defaults_pyobjects = 0;
- op->defaults = NULL;
- op->defaults_tuple = NULL;
- op->defaults_kwdict = NULL;
- op->defaults_getter = NULL;
- op->func_annotations = NULL;
- PyObject_GC_Track(op);
- return (PyObject *) op;
- }
- static int
- __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
- {
- Py_CLEAR(m->func_closure);
- Py_CLEAR(m->func.m_module);
- Py_CLEAR(m->func_dict);
- Py_CLEAR(m->func_name);
- Py_CLEAR(m->func_qualname);
- Py_CLEAR(m->func_doc);
- Py_CLEAR(m->func_globals);
- Py_CLEAR(m->func_code);
- Py_CLEAR(m->func_classobj);
- Py_CLEAR(m->defaults_tuple);
- Py_CLEAR(m->defaults_kwdict);
- Py_CLEAR(m->func_annotations);
- if (m->defaults) {
- PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
- int i;
- for (i = 0; i < m->defaults_pyobjects; i++)
- Py_XDECREF(pydefaults[i]);
- PyMem_Free(m->defaults);
- m->defaults = NULL;
- }
- return 0;
- }
- static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
- {
- PyObject_GC_UnTrack(m);
- if (m->func_weakreflist != NULL)
- PyObject_ClearWeakRefs((PyObject *) m);
- __Pyx_CyFunction_clear(m);
- PyObject_GC_Del(m);
- }
- static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
- {
- Py_VISIT(m->func_closure);
- Py_VISIT(m->func.m_module);
- Py_VISIT(m->func_dict);
- Py_VISIT(m->func_name);
- Py_VISIT(m->func_qualname);
- Py_VISIT(m->func_doc);
- Py_VISIT(m->func_globals);
- Py_VISIT(m->func_code);
- Py_VISIT(m->func_classobj);
- Py_VISIT(m->defaults_tuple);
- Py_VISIT(m->defaults_kwdict);
- if (m->defaults) {
- PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
- int i;
- for (i = 0; i < m->defaults_pyobjects; i++)
- Py_VISIT(pydefaults[i]);
- }
- return 0;
- }
- static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type)
- {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) {
- Py_INCREF(func);
- return func;
- }
- if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) {
- if (type == NULL)
- type = (PyObject *)(Py_TYPE(obj));
- return PyMethod_New(func,
- type, (PyObject *)(Py_TYPE(type)));
- }
- if (obj == Py_None)
- obj = NULL;
- return PyMethod_New(func, obj, type);
- }
- static PyObject*
- __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
- {
- #if PY_MAJOR_VERSION >= 3
- return PyUnicode_FromFormat("<cyfunction %U at %p>",
- op->func_qualname, (void *)op);
- #else
- return PyString_FromFormat("<cyfunction %s at %p>",
- PyString_AsString(op->func_qualname), (void *)op);
- #endif
- }
- #if CYTHON_COMPILING_IN_PYPY
- static PyObject * __Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
- PyCFunctionObject* f = (PyCFunctionObject*)func;
- PyCFunction meth = PyCFunction_GET_FUNCTION(func);
- PyObject *self = PyCFunction_GET_SELF(func);
- Py_ssize_t size;
- switch (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST)) {
- case METH_VARARGS:
- if (likely(kw == NULL) || PyDict_Size(kw) == 0)
- return (*meth)(self, arg);
- break;
- case METH_VARARGS | METH_KEYWORDS:
- return (*(PyCFunctionWithKeywords)meth)(self, arg, kw);
- case METH_NOARGS:
- if (likely(kw == NULL) || PyDict_Size(kw) == 0) {
- size = PyTuple_GET_SIZE(arg);
- if (size == 0)
- return (*meth)(self, NULL);
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes no arguments (%zd given)",
- f->m_ml->ml_name, size);
- return NULL;
- }
- break;
- case METH_O:
- if (likely(kw == NULL) || PyDict_Size(kw) == 0) {
- size = PyTuple_GET_SIZE(arg);
- if (size == 1)
- return (*meth)(self, PyTuple_GET_ITEM(arg, 0));
- PyErr_Format(PyExc_TypeError,
- "%.200s() takes exactly one argument (%zd given)",
- f->m_ml->ml_name, size);
- return NULL;
- }
- break;
- default:
- PyErr_SetString(PyExc_SystemError, "Bad call flags in "
- "__Pyx_CyFunction_Call. METH_OLDARGS is no "
- "longer supported!");
- return NULL;
- }
- PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
- f->m_ml->ml_name);
- return NULL;
- }
- #else
- static PyObject * __Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
- return PyCFunction_Call(func, arg, kw);
- }
- #endif
- static PyTypeObject __pyx_CyFunctionType_type = {
- PyVarObject_HEAD_INIT(0, 0)
- __Pyx_NAMESTR("cython_function_or_method"), /*tp_name*/
- sizeof(__pyx_CyFunctionObject), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- (destructor) __Pyx_CyFunction_dealloc, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- #if PY_MAJOR_VERSION < 3
- 0, /*tp_compare*/
- #else
- 0, /*reserved*/
- #endif
- (reprfunc) __Pyx_CyFunction_repr, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- __Pyx_CyFunction_Call, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags*/
- 0, /*tp_doc*/
- (traverseproc) __Pyx_CyFunction_traverse, /*tp_traverse*/
- (inquiry) __Pyx_CyFunction_clear, /*tp_clear*/
- 0, /*tp_richcompare*/
- offsetof(__pyx_CyFunctionObject, func_weakreflist), /* tp_weaklistoffse */
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- __pyx_CyFunction_methods, /*tp_methods*/
- __pyx_CyFunction_members, /*tp_members*/
- __pyx_CyFunction_getsets, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- __Pyx_CyFunction_descr_get, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- offsetof(__pyx_CyFunctionObject, func_dict),/*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- 0, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
- 0, /*tp_bases*/
- 0, /*tp_mro*/
- 0, /*tp_cache*/
- 0, /*tp_subclasses*/
- 0, /*tp_weaklist*/
- 0, /*tp_del*/
- #if PY_VERSION_HEX >= 0x02060000
- 0, /*tp_version_tag*/
- #endif
- #if PY_VERSION_HEX >= 0x030400a1
- 0, /*tp_finalize*/
- #endif
- };
- static int __Pyx_CyFunction_init(void) {
- #if !CYTHON_COMPILING_IN_PYPY
- __pyx_CyFunctionType_type.tp_call = PyCFunction_Call;
- #endif
- __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
- if (__pyx_CyFunctionType == NULL) {
- return -1;
- }
- return 0;
- }
- static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- m->defaults = PyMem_Malloc(size);
- if (!m->defaults)
- return PyErr_NoMemory();
- memset(m->defaults, 0, size);
- m->defaults_pyobjects = pyobjects;
- return m->defaults;
- }
- static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- m->defaults_tuple = tuple;
- Py_INCREF(tuple);
- }
- static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- m->defaults_kwdict = dict;
- Py_INCREF(dict);
- }
- static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
- __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
- m->func_annotations = dict;
- Py_INCREF(dict);
- }
- static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
- #if CYTHON_COMPILING_IN_CPYTHON
- PyThreadState *tstate = PyThreadState_GET();
- *type = tstate->exc_type;
- *value = tstate->exc_value;
- *tb = tstate->exc_traceback;
- Py_XINCREF(*type);
- Py_XINCREF(*value);
- Py_XINCREF(*tb);
- #else
- PyErr_GetExcInfo(type, value, tb);
- #endif
- }
- static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
- #if CYTHON_COMPILING_IN_CPYTHON
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- PyThreadState *tstate = PyThreadState_GET();
- tmp_type = tstate->exc_type;
- tmp_value = tstate->exc_value;
- tmp_tb = tstate->exc_traceback;
- tstate->exc_type = type;
- tstate->exc_value = value;
- tstate->exc_traceback = tb;
- Py_XDECREF(tmp_type);
- Py_XDECREF(tmp_value);
- Py_XDECREF(tmp_tb);
- #else
- PyErr_SetExcInfo(type, value, tb);
- #endif
- }
- static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
- PyObject *local_type, *local_value, *local_tb;
- #if CYTHON_COMPILING_IN_CPYTHON
- PyObject *tmp_type, *tmp_value, *tmp_tb;
- PyThreadState *tstate = PyThreadState_GET();
- local_type = tstate->curexc_type;
- local_value = tstate->curexc_value;
- local_tb = tstate->curexc_traceback;
- tstate->curexc_type = 0;
- tstate->curexc_value = 0;
- tstate->curexc_traceback = 0;
- #else
- PyErr_Fetch(&local_type, &local_value, &local_tb);
- #endif
- PyErr_NormalizeException(&local_type, &local_value, &local_tb);
- #if CYTHON_COMPILING_IN_CPYTHON
- if (unlikely(tstate->curexc_type))
- #else
- if (unlikely(PyErr_Occurred()))
- #endif
- goto bad;
- #if PY_MAJOR_VERSION >= 3
- if (local_tb) {
- if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
- goto bad;
- }
- #endif
- Py_XINCREF(local_tb);
- Py_XINCREF(local_type);
- Py_XINCREF(local_value);
- *type = local_type;
- *value = local_value;
- *tb = local_tb;
- #if CYTHON_COMPILING_IN_CPYTHON
- tmp_type = tstate->exc_type;
- tmp_value = tstate->exc_value;
- tmp_tb = tstate->exc_traceback;
- tstate->exc_type = local_type;
- tstate->exc_value = local_value;
- tstate->exc_traceback = local_tb;
- Py_XDECREF(tmp_type);
- Py_XDECREF(tmp_value);
- Py_XDECREF(tmp_tb);
- #else
- PyErr_SetExcInfo(local_type, local_value, local_tb);
- #endif
- return 0;
- bad:
- *type = 0;
- *value = 0;
- *tb = 0;
- Py_XDECREF(local_type);
- Py_XDECREF(local_value);
- Py_XDECREF(local_tb);
- return -1;
- }
- static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
- PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
- if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
- PyErr_Format(PyExc_ImportError,
- #if PY_MAJOR_VERSION < 3
- "cannot import name %.230s", PyString_AS_STRING(name));
- #else
- "cannot import name %S", name);
- #endif
- }
- return value;
- }
- static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
- #if CYTHON_COMPILING_IN_PYPY
- return PyObject_RichCompareBool(s1, s2, equals);
- #else
- if (s1 == s2) {
- return (equals == Py_EQ);
- } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
- const char *ps1, *ps2;
- Py_ssize_t length = PyBytes_GET_SIZE(s1);
- if (length != PyBytes_GET_SIZE(s2))
- return (equals == Py_NE);
- ps1 = PyBytes_AS_STRING(s1);
- ps2 = PyBytes_AS_STRING(s2);
- if (ps1[0] != ps2[0]) {
- return (equals == Py_NE);
- } else if (length == 1) {
- return (equals == Py_EQ);
- } else {
- int result = memcmp(ps1, ps2, (size_t)length);
- return (equals == Py_EQ) ? (result == 0) : (result != 0);
- }
- } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
- return (equals == Py_NE);
- } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
- return (equals == Py_NE);
- } else {
- int result;
- PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
- if (!py_result)
- return -1;
- result = __Pyx_PyObject_IsTrue(py_result);
- Py_DECREF(py_result);
- return result;
- }
- #endif
- }
- static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
- #if CYTHON_COMPILING_IN_PYPY
- return PyObject_RichCompareBool(s1, s2, equals);
- #else
- #if PY_MAJOR_VERSION < 3
- PyObject* owned_ref = NULL;
- #endif
- int s1_is_unicode, s2_is_unicode;
- if (s1 == s2) {
- goto return_eq;
- }
- s1_is_unicode = PyUnicode_CheckExact(s1);
- s2_is_unicode = PyUnicode_CheckExact(s2);
- #if PY_MAJOR_VERSION < 3
- if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) {
- owned_ref = PyUnicode_FromObject(s2);
- if (unlikely(!owned_ref))
- return -1;
- s2 = owned_ref;
- s2_is_unicode = 1;
- } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) {
- owned_ref = PyUnicode_FromObject(s1);
- if (unlikely(!owned_ref))
- return -1;
- s1 = owned_ref;
- s1_is_unicode = 1;
- } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
- return __Pyx_PyBytes_Equals(s1, s2, equals);
- }
- #endif
- if (s1_is_unicode & s2_is_unicode) {
- Py_ssize_t length;
- int kind;
- void *data1, *data2;
- #if CYTHON_PEP393_ENABLED
- if (unlikely(PyUnicode_READY(s1) < 0) || unlikely(PyUnicode_READY(s2) < 0))
- return -1;
- #endif
- length = __Pyx_PyUnicode_GET_LENGTH(s1);
- if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) {
- goto return_ne;
- }
- kind = __Pyx_PyUnicode_KIND(s1);
- if (kind != __Pyx_PyUnicode_KIND(s2)) {
- goto return_ne;
- }
- data1 = __Pyx_PyUnicode_DATA(s1);
- data2 = __Pyx_PyUnicode_DATA(s2);
- if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
- goto return_ne;
- } else if (length == 1) {
- goto return_eq;
- } else {
- int result = memcmp(data1, data2, length * kind);
- #if PY_MAJOR_VERSION < 3
- Py_XDECREF(owned_ref);
- #endif
- return (equals == Py_EQ) ? (result == 0) : (result != 0);
- }
- } else if ((s1 == Py_None) & s2_is_unicode) {
- goto return_ne;
- } else if ((s2 == Py_None) & s1_is_unicode) {
- goto return_ne;
- } else {
- int result;
- PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
- if (!py_result)
- return -1;
- result = __Pyx_PyObject_IsTrue(py_result);
- Py_DECREF(py_result);
- return result;
- }
- return_eq:
- #if PY_MAJOR_VERSION < 3
- Py_XDECREF(owned_ref);
- #endif
- return (equals == Py_EQ);
- return_ne:
- #if PY_MAJOR_VERSION < 3
- Py_XDECREF(owned_ref);
- #endif
- return (equals == Py_NE);
- #endif
- }
- static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
- PyObject *empty_list = 0;
- PyObject *module = 0;
- PyObject *global_dict = 0;
- PyObject *empty_dict = 0;
- PyObject *list;
- #if PY_VERSION_HEX < 0x03030000
- PyObject *py_import;
- py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
- if (!py_import)
- goto bad;
- #endif
- if (from_list)
- list = from_list;
- else {
- empty_list = PyList_New(0);
- if (!empty_list)
- goto bad;
- list = empty_list;
- }
- global_dict = PyModule_GetDict(__pyx_m);
- if (!global_dict)
- goto bad;
- empty_dict = PyDict_New();
- if (!empty_dict)
- goto bad;
- #if PY_VERSION_HEX >= 0x02050000
- {
- #if PY_MAJOR_VERSION >= 3
- if (level == -1) {
- if (strchr(__Pyx_MODULE_NAME, '.')) {
- #if PY_VERSION_HEX < 0x03030000
- PyObject *py_level = PyInt_FromLong(1);
- if (!py_level)
- goto bad;
- module = PyObject_CallFunctionObjArgs(py_import,
- name, global_dict, empty_dict, list, py_level, NULL);
- Py_DECREF(py_level);
- #else
- module = PyImport_ImportModuleLevelObject(
- name, global_dict, empty_dict, list, 1);
- #endif
- if (!module) {
- if (!PyErr_ExceptionMatches(PyExc_ImportError))
- goto bad;
- PyErr_Clear();
- }
- }
- level = 0; /* try absolute import on failure */
- }
- #endif
- if (!module) {
- #if PY_VERSION_HEX < 0x03030000
- PyObject *py_level = PyInt_FromLong(level);
- if (!py_level)
- goto bad;
- module = PyObject_CallFunctionObjArgs(py_import,
- name, global_dict, empty_dict, list, py_level, NULL);
- Py_DECREF(py_level);
- #else
- module = PyImport_ImportModuleLevelObject(
- name, global_dict, empty_dict, list, level);
- #endif
- }
- }
- #else
- if (level>0) {
- PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
- goto bad;
- }
- module = PyObject_CallFunctionObjArgs(py_import,
- name, global_dict, empty_dict, list, NULL);
- #endif
- bad:
- #if PY_VERSION_HEX < 0x03030000
- Py_XDECREF(py_import);
- #endif
- Py_XDECREF(empty_list);
- Py_XDECREF(empty_dict);
- return module;
- }
- #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3
- static PyObject *__Pyx_GetStdout(void) {
- PyObject *f = PySys_GetObject((char *)"stdout");
- if (!f) {
- PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout");
- }
- return f;
- }
- static int __Pyx_Print(PyObject* f, PyObject *arg_tuple, int newline) {
- int i;
- if (!f) {
- if (!(f = __Pyx_GetStdout()))
- return -1;
- }
- Py_INCREF(f);
- for (i=0; i < PyTuple_GET_SIZE(arg_tuple); i++) {
- PyObject* v;
- if (PyFile_SoftSpace(f, 1)) {
- if (PyFile_WriteString(" ", f) < 0)
- goto error;
- }
- v = PyTuple_GET_ITEM(arg_tuple, i);
- if (PyFile_WriteObject(v, f, Py_PRINT_RAW) < 0)
- goto error;
- if (PyString_Check(v)) {
- char *s = PyString_AsString(v);
- Py_ssize_t len = PyString_Size(v);
- if (len > 0) {
- switch (s[len-1]) {
- case ' ': break;
- case '\f': case '\r': case '\n': case '\t': case '\v':
- PyFile_SoftSpace(f, 0);
- break;
- default: break;
- }
- }
- }
- }
- if (newline) {
- if (PyFile_WriteString("\n", f) < 0)
- goto error;
- PyFile_SoftSpace(f, 0);
- }
- Py_DECREF(f);
- return 0;
- error:
- Py_DECREF(f);
- return -1;
- }
- #else /* Python 3 has a print function */
- static int __Pyx_Print(PyObject* stream, PyObject *arg_tuple, int newline) {
- PyObject* kwargs = 0;
- PyObject* result = 0;
- PyObject* end_string;
- if (unlikely(!__pyx_print)) {
- __pyx_print = PyObject_GetAttr(__pyx_b, __pyx_n_s_print);
- if (!__pyx_print)
- return -1;
- }
- if (stream) {
- kwargs = PyDict_New();
- if (unlikely(!kwargs))
- return -1;
- if (unlikely(PyDict_SetItem(kwargs, __pyx_n_s_file, stream) < 0))
- goto bad;
- if (!newline) {
- end_string = PyUnicode_FromStringAndSize(" ", 1);
- if (unlikely(!end_string))
- goto bad;
- if (PyDict_SetItem(kwargs, __pyx_n_s_end, end_string) < 0) {
- Py_DECREF(end_string);
- goto bad;
- }
- Py_DECREF(end_string);
- }
- } else if (!newline) {
- if (unlikely(!__pyx_print_kwargs)) {
- __pyx_print_kwargs = PyDict_New();
- if (unlikely(!__pyx_print_kwargs))
- return -1;
- end_string = PyUnicode_FromStringAndSize(" ", 1);
- if (unlikely(!end_string))
- return -1;
- if (PyDict_SetItem(__pyx_print_kwargs, __pyx_n_s_end, end_string) < 0) {
- Py_DECREF(end_string);
- return -1;
- }
- Py_DECREF(end_string);
- }
- kwargs = __pyx_print_kwargs;
- }
- result = PyObject_Call(__pyx_print, arg_tuple, kwargs);
- if (unlikely(kwargs) && (kwargs != __pyx_print_kwargs))
- Py_DECREF(kwargs);
- if (!result)
- return -1;
- Py_DECREF(result);
- return 0;
- bad:
- if (kwargs != __pyx_print_kwargs)
- Py_XDECREF(kwargs);
- return -1;
- }
- #endif
- #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3
- static int __Pyx_PrintOne(PyObject* f, PyObject *o) {
- if (!f) {
- if (!(f = __Pyx_GetStdout()))
- return -1;
- }
- Py_INCREF(f);
- if (PyFile_SoftSpace(f, 0)) {
- if (PyFile_WriteString(" ", f) < 0)
- goto error;
- }
- if (PyFile_WriteObject(o, f, Py_PRINT_RAW) < 0)
- goto error;
- if (PyFile_WriteString("\n", f) < 0)
- goto error;
- Py_DECREF(f);
- return 0;
- error:
- Py_DECREF(f);
- return -1;
- /* the line below is just to avoid C compiler
- * warnings about unused functions */
- return __Pyx_Print(f, NULL, 0);
- }
- #else /* Python 3 has a print function */
- static int __Pyx_PrintOne(PyObject* stream, PyObject *o) {
- int res;
- PyObject* arg_tuple = PyTuple_Pack(1, o);
- if (unlikely(!arg_tuple))
- return -1;
- res = __Pyx_Print(stream, arg_tuple, 1);
- Py_DECREF(arg_tuple);
- return res;
- }
- #endif
- #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func) \
- { \
- func_type value = func(x); \
- if (sizeof(target_type) < sizeof(func_type)) { \
- if (unlikely(value != (func_type) (target_type) value)) { \
- func_type zero = 0; \
- PyErr_SetString(PyExc_OverflowError, \
- (is_unsigned && unlikely(value < zero)) ? \
- "can't convert negative value to " #target_type : \
- "value too large to convert to " #target_type); \
- return (target_type) -1; \
- } \
- } \
- return (target_type) value; \
- }
- #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
- #if CYTHON_USE_PYLONG_INTERNALS
- #include "longintrepr.h"
- #endif
- #endif
- static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
- const long neg_one = (long) -1, const_zero = 0;
- const int is_unsigned = neg_one > const_zero;
- #if PY_MAJOR_VERSION < 3
- if (likely(PyInt_Check(x))) {
- if (sizeof(long) < sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG)
- } else {
- long val = PyInt_AS_LONG(x);
- if (is_unsigned && unlikely(val < 0)) {
- PyErr_SetString(PyExc_OverflowError,
- "can't convert negative value to long");
- return (long) -1;
- }
- return (long) val;
- }
- } else
- #endif
- if (likely(PyLong_Check(x))) {
- if (is_unsigned) {
- #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
- #if CYTHON_USE_PYLONG_INTERNALS
- if (sizeof(digit) <= sizeof(long)) {
- switch (Py_SIZE(x)) {
- case 0: return 0;
- case 1: return (long) ((PyLongObject*)x)->ob_digit[0];
- }
- }
- #endif
- #endif
- if (unlikely(Py_SIZE(x) < 0)) {
- PyErr_SetString(PyExc_OverflowError,
- "can't convert negative value to long");
- return (long) -1;
- }
- if (sizeof(long) <= sizeof(unsigned long)) {
- __PYX_VERIFY_RETURN_INT(long, unsigned long, PyLong_AsUnsignedLong)
- } else if (sizeof(long) <= sizeof(unsigned long long)) {
- __PYX_VERIFY_RETURN_INT(long, unsigned long long, PyLong_AsUnsignedLongLong)
- }
- } else {
- #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
- #if CYTHON_USE_PYLONG_INTERNALS
- if (sizeof(digit) <= sizeof(long)) {
- switch (Py_SIZE(x)) {
- case 0: return 0;
- case 1: return +(long) ((PyLongObject*)x)->ob_digit[0];
- case -1: return -(long) ((PyLongObject*)x)->ob_digit[0];
- }
- }
- #endif
- #endif
- if (sizeof(long) <= sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(long, long, PyLong_AsLong)
- } else if (sizeof(long) <= sizeof(long long)) {
- __PYX_VERIFY_RETURN_INT(long, long long, PyLong_AsLongLong)
- }
- }
- {
- #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
- PyErr_SetString(PyExc_RuntimeError,
- "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
- #else
- long val;
- PyObject *v = __Pyx_PyNumber_Int(x);
- #if PY_MAJOR_VERSION < 3
- if (likely(v) && !PyLong_Check(v)) {
- PyObject *tmp = v;
- v = PyNumber_Long(tmp);
- Py_DECREF(tmp);
- }
- #endif
- if (likely(v)) {
- int one = 1; int is_little = (int)*(unsigned char *)&one;
- unsigned char *bytes = (unsigned char *)&val;
- int ret = _PyLong_AsByteArray((PyLongObject *)v,
- bytes, sizeof(val),
- is_little, !is_unsigned);
- Py_DECREF(v);
- if (likely(!ret))
- return val;
- }
- #endif
- return (long) -1;
- }
- } else {
- long val;
- PyObject *tmp = __Pyx_PyNumber_Int(x);
- if (!tmp) return (long) -1;
- val = __Pyx_PyInt_As_long(tmp);
- Py_DECREF(tmp);
- return val;
- }
- }
- static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
- const long neg_one = (long) -1, const_zero = 0;
- const int is_unsigned = neg_one > const_zero;
- if (is_unsigned) {
- if (sizeof(long) < sizeof(long)) {
- return PyInt_FromLong((long) value);
- } else if (sizeof(long) <= sizeof(unsigned long)) {
- return PyLong_FromUnsignedLong((unsigned long) value);
- } else if (sizeof(long) <= sizeof(unsigned long long)) {
- return PyLong_FromUnsignedLongLong((unsigned long long) value);
- }
- } else {
- if (sizeof(long) <= sizeof(long)) {
- return PyInt_FromLong((long) value);
- } else if (sizeof(long) <= sizeof(long long)) {
- return PyLong_FromLongLong((long long) value);
- }
- }
- {
- int one = 1; int little = (int)*(unsigned char *)&one;
- unsigned char *bytes = (unsigned char *)&value;
- return _PyLong_FromByteArray(bytes, sizeof(long),
- little, !is_unsigned);
- }
- }
- #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
- #if CYTHON_USE_PYLONG_INTERNALS
- #include "longintrepr.h"
- #endif
- #endif
- static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
- const int neg_one = (int) -1, const_zero = 0;
- const int is_unsigned = neg_one > const_zero;
- #if PY_MAJOR_VERSION < 3
- if (likely(PyInt_Check(x))) {
- if (sizeof(int) < sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG)
- } else {
- long val = PyInt_AS_LONG(x);
- if (is_unsigned && unlikely(val < 0)) {
- PyErr_SetString(PyExc_OverflowError,
- "can't convert negative value to int");
- return (int) -1;
- }
- return (int) val;
- }
- } else
- #endif
- if (likely(PyLong_Check(x))) {
- if (is_unsigned) {
- #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
- #if CYTHON_USE_PYLONG_INTERNALS
- if (sizeof(digit) <= sizeof(int)) {
- switch (Py_SIZE(x)) {
- case 0: return 0;
- case 1: return (int) ((PyLongObject*)x)->ob_digit[0];
- }
- }
- #endif
- #endif
- if (unlikely(Py_SIZE(x) < 0)) {
- PyErr_SetString(PyExc_OverflowError,
- "can't convert negative value to int");
- return (int) -1;
- }
- if (sizeof(int) <= sizeof(unsigned long)) {
- __PYX_VERIFY_RETURN_INT(int, unsigned long, PyLong_AsUnsignedLong)
- } else if (sizeof(int) <= sizeof(unsigned long long)) {
- __PYX_VERIFY_RETURN_INT(int, unsigned long long, PyLong_AsUnsignedLongLong)
- }
- } else {
- #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
- #if CYTHON_USE_PYLONG_INTERNALS
- if (sizeof(digit) <= sizeof(int)) {
- switch (Py_SIZE(x)) {
- case 0: return 0;
- case 1: return +(int) ((PyLongObject*)x)->ob_digit[0];
- case -1: return -(int) ((PyLongObject*)x)->ob_digit[0];
- }
- }
- #endif
- #endif
- if (sizeof(int) <= sizeof(long)) {
- __PYX_VERIFY_RETURN_INT(int, long, PyLong_AsLong)
- } else if (sizeof(int) <= sizeof(long long)) {
- __PYX_VERIFY_RETURN_INT(int, long long, PyLong_AsLongLong)
- }
- }
- {
- #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
- PyErr_SetString(PyExc_RuntimeError,
- "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
- #else
- int val;
- PyObject *v = __Pyx_PyNumber_Int(x);
- #if PY_MAJOR_VERSION < 3
- if (likely(v) && !PyLong_Check(v)) {
- PyObject *tmp = v;
- v = PyNumber_Long(tmp);
- Py_DECREF(tmp);
- }
- #endif
- if (likely(v)) {
- int one = 1; int is_little = (int)*(unsigned char *)&one;
- unsigned char *bytes = (unsigned char *)&val;
- int ret = _PyLong_AsByteArray((PyLongObject *)v,
- bytes, sizeof(val),
- is_little, !is_unsigned);
- Py_DECREF(v);
- if (likely(!ret))
- return val;
- }
- #endif
- return (int) -1;
- }
- } else {
- int val;
- PyObject *tmp = __Pyx_PyNumber_Int(x);
- if (!tmp) return (int) -1;
- val = __Pyx_PyInt_As_int(tmp);
- Py_DECREF(tmp);
- return val;
- }
- }
- static int __Pyx_check_binary_version(void) {
- char ctversion[4], rtversion[4];
- PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
- PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
- if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
- char message[200];
- PyOS_snprintf(message, sizeof(message),
- "compiletime version %s of module '%.100s' "
- "does not match runtime version %s",
- ctversion, __Pyx_MODULE_NAME, rtversion);
- #if PY_VERSION_HEX < 0x02050000
- return PyErr_Warn(NULL, message);
- #else
- return PyErr_WarnEx(NULL, message, 1);
- #endif
- }
- return 0;
- }
- static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
- int start = 0, mid = 0, end = count - 1;
- if (end >= 0 && code_line > entries[end].code_line) {
- return count;
- }
- while (start < end) {
- mid = (start + end) / 2;
- if (code_line < entries[mid].code_line) {
- end = mid;
- } else if (code_line > entries[mid].code_line) {
- start = mid + 1;
- } else {
- return mid;
- }
- }
- if (code_line <= entries[mid].code_line) {
- return mid;
- } else {
- return mid + 1;
- }
- }
- static PyCodeObject *__pyx_find_code_object(int code_line) {
- PyCodeObject* code_object;
- int pos;
- if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
- return NULL;
- }
- pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
- if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
- return NULL;
- }
- code_object = __pyx_code_cache.entries[pos].code_object;
- Py_INCREF(code_object);
- return code_object;
- }
- static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
- int pos, i;
- __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
- if (unlikely(!code_line)) {
- return;
- }
- if (unlikely(!entries)) {
- entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
- if (likely(entries)) {
- __pyx_code_cache.entries = entries;
- __pyx_code_cache.max_count = 64;
- __pyx_code_cache.count = 1;
- entries[0].code_line = code_line;
- entries[0].code_object = code_object;
- Py_INCREF(code_object);
- }
- return;
- }
- pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
- if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
- PyCodeObject* tmp = entries[pos].code_object;
- entries[pos].code_object = code_object;
- Py_DECREF(tmp);
- return;
- }
- if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
- int new_max = __pyx_code_cache.max_count + 64;
- entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
- __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
- if (unlikely(!entries)) {
- return;
- }
- __pyx_code_cache.entries = entries;
- __pyx_code_cache.max_count = new_max;
- }
- for (i=__pyx_code_cache.count; i>pos; i--) {
- entries[i] = entries[i-1];
- }
- entries[pos].code_line = code_line;
- entries[pos].code_object = code_object;
- __pyx_code_cache.count++;
- Py_INCREF(code_object);
- }
- #include "compile.h"
- #include "frameobject.h"
- #include "traceback.h"
- static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
- const char *funcname, int c_line,
- int py_line, const char *filename) {
- PyCodeObject *py_code = 0;
- PyObject *py_srcfile = 0;
- PyObject *py_funcname = 0;
- #if PY_MAJOR_VERSION < 3
- py_srcfile = PyString_FromString(filename);
- #else
- py_srcfile = PyUnicode_FromString(filename);
- #endif
- if (!py_srcfile) goto bad;
- if (c_line) {
- #if PY_MAJOR_VERSION < 3
- py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
- #else
- py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
- #endif
- }
- else {
- #if PY_MAJOR_VERSION < 3
- py_funcname = PyString_FromString(funcname);
- #else
- py_funcname = PyUnicode_FromString(funcname);
- #endif
- }
- if (!py_funcname) goto bad;
- py_code = __Pyx_PyCode_New(
- 0, /*int argcount,*/
- 0, /*int kwonlyargcount,*/
- 0, /*int nlocals,*/
- 0, /*int stacksize,*/
- 0, /*int flags,*/
- __pyx_empty_bytes, /*PyObject *code,*/
- __pyx_empty_tuple, /*PyObject *consts,*/
- __pyx_empty_tuple, /*PyObject *names,*/
- __pyx_empty_tuple, /*PyObject *varnames,*/
- __pyx_empty_tuple, /*PyObject *freevars,*/
- __pyx_empty_tuple, /*PyObject *cellvars,*/
- py_srcfile, /*PyObject *filename,*/
- py_funcname, /*PyObject *name,*/
- py_line, /*int firstlineno,*/
- __pyx_empty_bytes /*PyObject *lnotab*/
- );
- Py_DECREF(py_srcfile);
- Py_DECREF(py_funcname);
- return py_code;
- bad:
- Py_XDECREF(py_srcfile);
- Py_XDECREF(py_funcname);
- return NULL;
- }
- static void __Pyx_AddTraceback(const char *funcname, int c_line,
- int py_line, const char *filename) {
- PyCodeObject *py_code = 0;
- PyObject *py_globals = 0;
- PyFrameObject *py_frame = 0;
- py_code = __pyx_find_code_object(c_line ? c_line : py_line);
- if (!py_code) {
- py_code = __Pyx_CreateCodeObjectForTraceback(
- funcname, c_line, py_line, filename);
- if (!py_code) goto bad;
- __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
- }
- py_globals = PyModule_GetDict(__pyx_m);
- if (!py_globals) goto bad;
- py_frame = PyFrame_New(
- PyThreadState_GET(), /*PyThreadState *tstate,*/
- py_code, /*PyCodeObject *code,*/
- py_globals, /*PyObject *globals,*/
- 0 /*PyObject *locals*/
- );
- if (!py_frame) goto bad;
- py_frame->f_lineno = py_line;
- PyTraceBack_Here(py_frame);
- bad:
- Py_XDECREF(py_code);
- Py_XDECREF(py_frame);
- }
- static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
- while (t->p) {
- #if PY_MAJOR_VERSION < 3
- if (t->is_unicode) {
- *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
- } else if (t->intern) {
- *t->p = PyString_InternFromString(t->s);
- } else {
- *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
- }
- #else /* Python 3+ has unicode identifiers */
- if (t->is_unicode | t->is_str) {
- if (t->intern) {
- *t->p = PyUnicode_InternFromString(t->s);
- } else if (t->encoding) {
- *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
- } else {
- *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
- }
- } else {
- *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
- }
- #endif
- if (!*t->p)
- return -1;
- ++t;
- }
- return 0;
- }
- static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(char* c_str) {
- return __Pyx_PyUnicode_FromStringAndSize(c_str, strlen(c_str));
- }
- static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {
- Py_ssize_t ignore;
- return __Pyx_PyObject_AsStringAndSize(o, &ignore);
- }
- static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
- #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
- if (
- #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
- __Pyx_sys_getdefaultencoding_not_ascii &&
- #endif
- PyUnicode_Check(o)) {
- #if PY_VERSION_HEX < 0x03030000
- char* defenc_c;
- PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
- if (!defenc) return NULL;
- defenc_c = PyBytes_AS_STRING(defenc);
- #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
- {
- char* end = defenc_c + PyBytes_GET_SIZE(defenc);
- char* c;
- for (c = defenc_c; c < end; c++) {
- if ((unsigned char) (*c) >= 128) {
- PyUnicode_AsASCIIString(o);
- return NULL;
- }
- }
- }
- #endif /*__PYX_DEFAULT_STRING_ENCODING_IS_ASCII*/
- *length = PyBytes_GET_SIZE(defenc);
- return defenc_c;
- #else /* PY_VERSION_HEX < 0x03030000 */
- if (PyUnicode_READY(o) == -1) return NULL;
- #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
- if (PyUnicode_IS_ASCII(o)) {
- *length = PyUnicode_GET_DATA_SIZE(o);
- return PyUnicode_AsUTF8(o);
- } else {
- PyUnicode_AsASCIIString(o);
- return NULL;
- }
- #else /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII */
- return PyUnicode_AsUTF8AndSize(o, length);
- #endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII */
- #endif /* PY_VERSION_HEX < 0x03030000 */
- } else
- #endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT */
- #if !CYTHON_COMPILING_IN_PYPY
- #if PY_VERSION_HEX >= 0x02060000
- if (PyByteArray_Check(o)) {
- *length = PyByteArray_GET_SIZE(o);
- return PyByteArray_AS_STRING(o);
- } else
- #endif
- #endif
- {
- char* result;
- int r = PyBytes_AsStringAndSize(o, &result, length);
- if (unlikely(r < 0)) {
- return NULL;
- } else {
- return result;
- }
- }
- }
- static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
- int is_true = x == Py_True;
- if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
- else return PyObject_IsTrue(x);
- }
- static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
- PyNumberMethods *m;
- const char *name = NULL;
- PyObject *res = NULL;
- #if PY_MAJOR_VERSION < 3
- if (PyInt_Check(x) || PyLong_Check(x))
- #else
- if (PyLong_Check(x))
- #endif
- return Py_INCREF(x), x;
- m = Py_TYPE(x)->tp_as_number;
- #if PY_MAJOR_VERSION < 3
- if (m && m->nb_int) {
- name = "int";
- res = PyNumber_Int(x);
- }
- else if (m && m->nb_long) {
- name = "long";
- res = PyNumber_Long(x);
- }
- #else
- if (m && m->nb_int) {
- name = "int";
- res = PyNumber_Long(x);
- }
- #endif
- if (res) {
- #if PY_MAJOR_VERSION < 3
- if (!PyInt_Check(res) && !PyLong_Check(res)) {
- #else
- if (!PyLong_Check(res)) {
- #endif
- PyErr_Format(PyExc_TypeError,
- "__%.4s__ returned non-%.4s (type %.200s)",
- name, name, Py_TYPE(res)->tp_name);
- Py_DECREF(res);
- return NULL;
- }
- }
- else if (!PyErr_Occurred()) {
- PyErr_SetString(PyExc_TypeError,
- "an integer is required");
- }
- return res;
- }
- #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
- #if CYTHON_USE_PYLONG_INTERNALS
- #include "longintrepr.h"
- #endif
- #endif
- static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
- Py_ssize_t ival;
- PyObject *x;
- #if PY_MAJOR_VERSION < 3
- if (likely(PyInt_CheckExact(b)))
- return PyInt_AS_LONG(b);
- #endif
- if (likely(PyLong_CheckExact(b))) {
- #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
- #if CYTHON_USE_PYLONG_INTERNALS
- switch (Py_SIZE(b)) {
- case -1: return -(sdigit)((PyLongObject*)b)->ob_digit[0];
- case 0: return 0;
- case 1: return ((PyLongObject*)b)->ob_digit[0];
- }
- #endif
- #endif
- #if PY_VERSION_HEX < 0x02060000
- return PyInt_AsSsize_t(b);
- #else
- return PyLong_AsSsize_t(b);
- #endif
- }
- x = PyNumber_Index(b);
- if (!x) return -1;
- ival = PyInt_AsSsize_t(x);
- Py_DECREF(x);
- return ival;
- }
- static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
- #if PY_VERSION_HEX < 0x02050000
- if (ival <= LONG_MAX)
- return PyInt_FromLong((long)ival);
- else {
- unsigned char *bytes = (unsigned char *) &ival;
- int one = 1; int little = (int)*(unsigned char*)&one;
- return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
- }
- #else
- return PyInt_FromSize_t(ival);
- #endif
- }
- #endif /* Py_PYTHON_H */
|