ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ A[c@sdZddlmZddlmZdZdZedd\ZZ Z Z Z de fd YZdZd Zed Zed Zd aead ad ad gdagtgdD] Ze^qadadaedZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(e)dkrddl*Z*dZ+e,e*j-dZ.e.dkre+de.nUe.dkrye/e*j-dZ0Wqe1k re+de*j-dqXneZ0ee0ndS( s "PYSTONE" Benchmark Program Version: Python/1.1 (corresponds to C/1.1 plus 2 Pystone fixes) Author: Reinhold P. Weicker, CACM Vol 27, No 10, 10/84 pg. 1013. Translated from ADA to C by Rick Richardson. Every method to preserve ADA-likeness has been used, at the expense of C-ness. Translated from C to Python by Guido van Rossum. Version History: Version 1.1 corrects two bugs in version 1.0: First, it leaked memory: in Proc1(), NextRecord ends up having a pointer to itself. I have corrected this by zapping NextRecord.PtrComp at the end of Proc1(). Second, Proc3() used the operator != to compare a record to None. This is rather inefficient and not true to the intention of the original benchmark (where a pointer comparison to None is intended; the != operator attempts to find a method __cmp__ to do value comparison of the record). Version 1.1 runs 5-10 percent faster than version 1.0, so benchmark figures of different versions can't be compared directly. i(tprint_function(tclockiPs1.1iitRecordcBs)eZddddddZdZRS(icCs1||_||_||_||_||_dS(N(tPtrComptDiscrtEnumComptIntCompt StringComp(tselfRRRRR((sN/opt/alt/python27/lib/python2.7/site-packages/future/backports/test/pystone.pyt__init__/s     cCs%t|j|j|j|j|jS(N(RRRRRR(R((sN/opt/alt/python27/lib/python2.7/site-packages/future/backports/test/pystone.pytcopy7sN(t__name__t __module__tNoneR R (((sN/opt/alt/python27/lib/python2.7/site-packages/future/backports/test/pystone.pyR-s icCs;t|\}}tdt||ftd|dS(Ns#Pystone(%s) time for %d passes = %gs-This machine benchmarks at %g pystones/second(tpystonestprintt __version__(tloopst benchtimetstones((sN/opt/alt/python27/lib/python2.7/site-packages/future/backports/test/pystone.pytmain>scCs t|S(N(tProc0(R((sN/opt/alt/python27/lib/python2.7/site-packages/future/backports/test/pystone.pyREssi3c Cst}xt|D]}qWt|}tatatt_tt_tt_ dt_ dt_ d}dt ddt IntParOut((sN/opt/alt/python27/lib/python2.7/site-packages/future/backports/test/pystone.pyR#s  cCs|d}|||<||||d<|||dtIntIndex((sN/opt/alt/python27/lib/python2.7/site-packages/future/backports/test/pystone.pyR$s  "cCs$|}|}||krtStSdS(N(RR (tCharPar1tCharPar2tCharLoc1tCharLoc2((sN/opt/alt/python27/lib/python2.7/site-packages/future/backports/test/pystone.pyR(s  cCsd}xD|dkrLt||||dtkr d}|d}q q W|dkrn|dkrnd}n|dkr~tS||kr|d}tStSdS(NiRtWtZitX(R(RtTRUERB(tStrParI1tStrParI2R>tCharLoc((sN/opt/alt/python27/lib/python2.7/site-packages/future/backports/test/pystone.pyR!s!    cCs|}|tkrtStS(N(RRURB(RFR4((sN/opt/alt/python27/lib/python2.7/site-packages/future/backports/test/pystone.pyRCs t__main__NcCsHt|dddtjtdtjddtjtjddS(Ntendt tfilesusage: %s [number_of_loops]iid(Rtsyststderrtargvtexit(tmsg((sN/opt/alt/python27/lib/python2.7/site-packages/future/backports/test/pystone.pyterrorss%d arguments are too many;sInvalid argument %r;(2t__doc__t __future__RttimeRtLOOPSRRRR RRDREtobjectRRURBRRR<R"R;R'R%txRR RRRR&R,R8RRR)R#R$R(R!RCR R]RbtlenR_tnargstintRt ValueError(((sN/opt/alt/python27/lib/python2.7/site-packages/future/backports/test/pystone.pyt!sV   ! :