Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/test/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/test/__pycache__/pystone.cpython-33.pyc

�
��f�c@sdZdZddlmZdZedd�\ZZZZ	Z
Gdd�d�ZdZdZ
ed	d
�Zedd�Zdae
ad
ad
adgdadd�tgdD�ad*ad*aedd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Z d!d"�Z!d#d$�Z"d%d&�Z#d'd(�Z$e%d)krdd*l&Z&d+d,�Z'e(e&j)�dZ*e*dkr�e'd-e*�nVe*dkr�ye+e&j)d�Z,Wqe-k
r�e'd.e&j)d�YqXneZ,ee,�nd*S(/u�
"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.

iP�i(uclocku1.1iicBs;|EeZdZddddddd�Zdd�ZdS(uRecordicCs1||_||_||_||_||_dS(N(uPtrCompuDiscruEnumCompuIntCompu
StringComp(uselfuPtrCompuDiscruEnumCompuIntCompu
StringComp((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyu__init__-s
				uRecord.__init__cCs%t|j|j|j|j|j�S(N(uRecorduPtrCompuDiscruEnumCompuIntCompu
StringComp(uself((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyucopy5suRecord.copyN(u__name__u
__module__u__qualname__uNoneu__init__ucopy(u
__locals__((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuRecord+s	uRecordcCs;t|�\}}tdt||f�td|�dS(Nu#Pystone(%s) time for %d passes = %gu-This machine benchmarks at %g pystones/second(upystonesuprintu__version__(uloopsu	benchtimeustones((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyumain<sumaincCs
t|�S(N(uProc0(uloops((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyupystonesCsupystonesui3cCs g|]}|dd��qS(N((u.0ux((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyu
<listcomp>Ks	u
<listcomp>c
Cs�t�}xt|�D]}qWt�|}t�at�att_tt_tt_	dt_
dt_d}dtdd<t�}x(t|�D]}t
�t�d}d}d	}t}t||�ax7||krd
||}	t||�}	|d}q�Wttt||	�tt�ad}
xJ|
tkr}|t|
d
�krdtt�}ntt|
�d�}
q4W||}	|	|}d|	||}t|�}q�Wt�||}|dkr�d}n
||}||fS(Ni(uDHRYSTONE PROGRAM, SOME STRINGuDHRYSTONE PROGRAM, 1'ST STRINGi
iiiiuDHRYSTONE PROGRAM, 2'ND STRINGiiuAuCg(uclockurangeuRecordu
PtrGlbNextuPtrGlbuPtrCompuIdent1uDiscruIdent3uEnumCompuIntCompu
StringCompu
Array2GlobuProc5uProc4uIdent2uFunc2uBoolGlobuProc7uProc8u
Array1GlobuProc1u	Char2GlobuFunc1uProc6uchruorduProc2(
uloopsu	starttimeuiunulltimeu
String1LocuIntLoc1uIntLoc2u
String2LocuEnumLocuIntLoc3u	CharIndexu	benchtimeuloopsPerBenchtime((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuProc0OsT
	
								

	
uProc0cCs�tj�|_}d|_|j|_|j|_t|j�|_|jtkr�d|_t|j�|_tj|_t	|jd�|_n|j�}d|_|S(Niii
(uPtrGlbucopyuPtrCompuIntCompuProc3uDiscruIdent1uProc6uEnumCompuProc7uNone(uPtrParInu
NextRecord((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuProc1�s			uProc1cCsM|d}x<tdkr6|d}|t}t}n|tkr
Pq
q
|S(Ni
uAi(u	Char1GlobuIntGlobuIdent1(uIntParIOuIntLocuEnumLoc((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuProc2�s


	uProc2cCs4tdk	rtj}ndatdt�t_|S(Nidi
(uPtrGlbuNoneuPtrCompuIntGlobuProc7uIntComp(u	PtrParOut((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuProc3�s
uProc3cCs"tdk}|pt}dadS(NuAuB(u	Char1GlobuBoolGlobu	Char2Glob(uBoolLoc((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuProc4�suProc4cCsdatadS(NuA(u	Char1GlobuFALSEuBoolGlob(((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuProc5�suProc5cCs�|}t|�st}n|tkr0t}nc|tkrZtdkrQt}q�t}n9|tkrot}n$|tkr~n|tkr�t}n|S(Nid(uFunc3uIdent4uIdent1uIdent2uIntGlobuIdent3uIdent5(u	EnumParInu
EnumParOut((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuProc6�s 						uProc6cCs|d}||}|S(Ni((uIntParI1uIntParI2uIntLocu	IntParOut((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuProc7�s

uProc7cCs�|d}|||<||||d<|||d<x)t||d�D]}||||<qHW|||dd|||d<||||d|<dadS(Niiiii(urangeuIntGlob(u	Array1Paru	Array2ParuIntParI1uIntParI2uIntLocuIntIndex((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuProc8�s

"uProc8cCs$|}|}||krtStSdS(N(uIdent1uIdent2(uCharPar1uCharPar2uCharLoc1uCharLoc2((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuFunc1�s
uFunc1cCs�d}xD|dkrLt||||d�tkr	d}|d}q	q	W|dkrn|dkrnd}n|dkr~tS||kr�|d}tStSdS(NiuAuWuZiuX(uFunc1uIdent1uTRUEuFALSE(uStrParI1uStrParI2uIntLocuCharLoc((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuFunc2�s!	
uFunc2cCs|}|tkrtStS(N(uIdent3uTRUEuFALSE(u	EnumParInuEnumLoc((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuFunc3�suFunc3u__main__NcCsHt|dddtj�tdtjddtj�tjd�dS(Nuendu ufileuusage: %s [number_of_loops]iid(uprintusysustderruargvuexit(umsg((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyuerrorsuerroru%d arguments are too many;uInvalid argument %r;(.u__doc__uLOOPSutimeuclocku__version__urangeuIdent1uIdent2uIdent3uIdent4uIdent5uRecorduTRUEuFALSEumainupystonesuIntGlobuBoolGlobu	Char1Globu	Char2Globu
Array1Globu
Array2GlobuNoneuPtrGlbu
PtrGlbNextuProc0uProc1uProc2uProc3uProc4uProc5uProc6uProc7uProc8uFunc1uFunc2uFunc3u__name__usysuerrorulenuargvunargsuintuloopsu
ValueError(((u1/opt/alt/python33/lib64/python3.3/test/pystone.pyu<module>!sT
: