MINI MINI MANI MO

Path : /usr/lib64/python3.6/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/__pycache__/random.cpython-36.opt-2.pyc

3


 \2k@sddlmZddlmZmZddlm	Z
mZm
ZmZmZddlmZmZmZmZddlmZddlmZ m!Z"ddl#m$Z%ddl&Z'ddl(Z)d	d
ddd
ddddddddddddddddddd gZ*d!ed1ed#Z+d#eZ,e
d$Z-d%e
d&Z.d'Z/d(e/Z0ddl1Z1Gd)d	d	e1j2Z2Gd*d d e2Z3d+d,Z4d2d.d/Z5e2Z6e6j7Z7e6j8Z8e6j9Z9e6j:Z:e6j;Z;e6j<Z<e6j=Z=e6j>Z>e6j?Z?e6j@Z@e6jAZAe6jBZBe6jCZCe6jDZDe6jEZEe6jFZFe6jGZGe6jHZHe6jIZIe6jJZJe6jKZKe6jLZLeMd0kre5dS)3)warn)
MethodTypeBuiltinMethodType)logexppieceil)sqrtacoscossin)urandom)SetSequence)sha512NRandomseedrandomuniformrandintchoicesample	randrangeshuffle
normalvariatelognormvariateexpovariatevonmisesvariategammavariate
triangulargaussbetavariate
paretovariateweibullvariategetstatesetstategetrandbitschoicesSystemRandomg?g@g@g?g@5cseZdZdZd:ddZd;fdd	Zfdd	Zfd
dZdd
ZddZ	ddZ
ddefddZddZ
ede>eeefddZddZd<ddZddZd=dddd d!Zd"d#Zd>d&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Z d8d9Z!Z"S)?rNcCs|j|d|_dS)N)r
gauss_next)selfxr1/usr/lib64/python3.6/random.py__init__Ws
zRandom.__init__r,cs|dkrt|ttfrt|tr*|jdn|}|rBt|dd>nd}x"tt|D]}d||Ad@}qRW|t|N}|d	krd
n|}|dkrt|tttfrt|tr|j}|t	|j
7}tj|d}t
j|d|_dS)Nzlatin-1riCBlr,big)
isinstancestrbytesdecodeordmaplen	bytearrayencode_sha512Zdigestint
from_bytessuperrr.)r/aversionr0c)	__class__r1r2r`s
zRandom.seedcs|jtj|jfS)N)VERSIONrEr%r.)r/)rIr1r2r%szRandom.getstatecs|d}|dkr*|\}}|_tj|nt|dkr|\}}|_ytdd|D}Wn(tk
r|}zt|WYdd}~XnXtj|ntd||jfdS)Nrr-r,css|]}|dVqdS)r, Nlr1).0r0r1r1r2	<genexpr>sz"Random.setstate.<locals>.<genexpr>z?state with version %s passed to Random.setstate() of version %s)r.rEr&tuple
ValueError	TypeErrorrJ)r/staterGZ
internalstater)rIr1r2r&szRandom.setstatecCs|jS)N)r%)r/r1r1r2__getstate__szRandom.__getstate__cCs|j|dS)N)r&)r/rQr1r1r2__setstate__szRandom.__setstate__cCs|jf|jfS)N)rIr%)r/r1r1r2
__reduce__szRandom.__reduce__r4c
Cs||}||krtd|dkr:|dkr2|j|Std||}||krRtd||}|dkrx|dkrx||j|S|dkrtd|||f||}||krtd|dkr||d|}	n"|dkr||d|}	ntd|	dkrtd|||j|	S)	Nz!non-integer arg 1 for randrange()rzempty range for randrange()z non-integer stop for randrange()r4z'empty range for randrange() (%d,%d, %d)z non-integer step for randrange()zzero step for randrange())rO
_randbelow)
r/startstopstep_intZistartZistopwidthZistepnr1r1r2rs4

zRandom.randrangecCs|j||dS)Nr4)r)r/rFbr1r1r2rszRandom.randintc
Cs|j}|j}|||ks$|||krN|j}	||	}
x|
|krH||	}
q6W|
S||krltd|||S|dkr|td||}|||}|}
x|
|kr|}
qW||
||S)NzUnderlying random() generator does not supply 
enough bits to choose from a population range this large.
To remove the range limitation, add a getrandbits() method.rzBoundary cannot be zero)rr'
bit_length_warnrO)
r/r[rCmaxsizetypeZMethodZ
BuiltinMethodrr'krZremlimitr1r1r2rUs&


zRandom._randbelowcCs:y|jt|}Wntk
r0tddYnX||S)Nz$Cannot choose from an empty sequence)rUr?rO
IndexError)r/seqir1r1r2rs
z
Random.choicecCs|dkrR|j}xttdt|D]*}||d}||||||<||<q"WnLt}xFttdt|D]0}|||d}||||||<||<qjWdS)Nr4)rUreversedranger?rC)r/r0r	randbelowrfjrYr1r1r2rs	 zRandom.shufflecCs(t|trt|}t|ts$td|j}t|}d|koD|knsRtddg|}d}|dkr|dtt	|dd7}||krt
|}xt|D]0}|||}	||	||<|||d||	<qWnRt}
|
j
}xDt|D]8}||}	x|	|
kr
||}	qW||	||	||<qW|S)	Nz>Population must be a sequence or set.  For dicts, use list(d).rz,Sample larger than population or is negativer*r-r4)r9_SetrN	_SequencerPrUr?rO_ceil_loglistrhsetadd)r/
populationrarir[resultZsetsizeZpoolrfrjZselectedZselected_addr1r1r2rs6


z
Random.sample)cum_weightsracs|jdkrN|dkr>ttfddt|DSttj|n|dk	r^tdttkrvtdt	j
dtdfddt|DS)Ncsg|]}qSr1r1)rLrf)rYrtrtotalr1r2
<listcomp>csz"Random.choices.<locals>.<listcomp>z2Cannot specify both weights and cumulative weightsz3The number of weights does not match the populationr4cs$g|]}dqS)rr1)rLrf)bisectrvhirtrrwr1r2rxlsr7)rrCr?rhrq
_itertools
accumulaterPrO_bisectry)r/rtZweightsrvrar1)rYryrvrzrtrrwr2r(Ws zRandom.choicescCs||||jS)N)r)r/rFr\r1r1r2rsszRandom.uniform?cCsx|j}y |dkrdn||||}Wntk
r<|SX||kr`d|}d|}||}}|||||dS)Ng?g?)rZeroDivisionError)r/ZlowZhighmodeurHr1r1r2r ys	 
zRandom.triangularcCsT|j}x@|}d|}t|d|}||d}|t|krPqW|||S)Ng?g?g@)r
NV_MAGICCONSTrp)r/musigmaru1u2zZzzr1r1r2rs

zRandom.normalvariatecCst|j||S)N)_expr)r/rrr1r1r2rszRandom.lognormvariatecCstd|j|S)Ng?)rpr)r/Zlambdr1r1r2rszRandom.expovariatecCs|j}|dkrt|Sd|}|td||}xN|}tt|}|||}|}	|	d||ks~|	d|t|kr6Pq6Wd|}
|
|d|
|}|}|dkr|t|t}
n|t|t}
|
S)Ngư>g?g?)rTWOPI_sqrt_cos_pir_acos)r/rZkapparsrbrrdrqfZu3Zthetar1r1r2rs&
$zRandom.vonmisesvariatecCs|dks|dkrtd|j}|dkrtd|d}|t}||}x|}d|ko`dknshqHd|}t|d||}	|t|	}
|||}|||	|
}|td|dks|t|krH|
|SqHWn|dkr|}
x|
dkr|}
qWt|
|Sx|}
t|t}||
}|dkrD|d|}
nt|||}
|}|dkr|||
|dkrPn|t|
krPqW|
|SdS)Ngz*gammavariate: alpha and beta must be > 0.0g?g@gHz>gP?g@)rOrrLOG4rpr
SG_MAGICCONST_e)r/alphabetarZainvZbbbZcccrrvr0rrbrr\pr1r1r2rsJ
 



zRandom.gammavariatecCs`|j}|j}d|_|dkrT|t}tdtd|}t||}t|||_|||S)Ng@g?g)rr.rrrpr_sin)r/rrrrZx2piZg2radr1r1r2r!?s
zRandom.gausscCs0|j|d}|dkrdS|||j|dSdS)Ng?rg)r)r/rryr1r1r2r"ts
zRandom.betavariatecCsd|j}d|d|S)Ng?)r)r/rrr1r1r2r#szRandom.paretovariatecCs"d|j}|t|d|S)Ng?)rrp)r/rrrr1r1r2r$szRandom.weibullvariate)N)Nr,)N)N)r~rN)#__name__
__module____qualname__rJr3rr%r&rRrSrTrCrrBPFr`_MethodType_BuiltinMethodTyperUrrrr(rr rrrrrr!r"r#r$
__classcell__r1r1)rIr2rGs6
	 ,

:
0H5	c@s4eZdZddZddZddZddZeZZd	S)
r)cCstjtddd?tS)Nr5r6r-)rCrD_urandom	RECIP_BPF)r/r1r1r2rszSystemRandom.randomcCsP|dkrtd|t|kr$td|dd}tjt|d}||d|?S)Nrz(number of bits must be greater than zeroz#number of bits should be an integerr5r6)rOrCrPrDr)r/raZnumbytesr0r1r1r2r'szSystemRandom.getrandbitscOsdS)Nr1)r/argskwdsr1r1r2rszSystemRandom.seedcOstddS)Nz*System entropy source does not have state.)NotImplementedError)r/rrr1r1r2_notimplementedszSystemRandom._notimplementedN)	rrrrr'rrr%r&r1r1r1r2r)s

cCsddl}t|d|jd}d}d}d
}|j}x@t|D]4}	||}
||
7}||
|
}t|
|}t|
|}q8W|j}tt||dddd||}t||||}
td	||
||fdS)Nrtimesgg _Br-zsec, )endz"avg %g, stddev %g, min %g, max %g
g _)timeprintrrhminmaxroundr)r[funcrrrwZsqsumZsmallestZlargestZt0rfr0Zt1ZavgZstddevr1r1r2_test_generators&
rcCst|tft|tdt|tdt|td
t|tdt|tdt|tdt|tdt|tdt|tdt|tdt|tdt|tdt|tdt|tdt|tddS)N?{Gz?皙?@??4@i@@)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rrUUUUUU?)rrr)	rrrrrrr!r"r )Nr1r1r2_tests r__main__g)r)Nwarningsrr^typesrrrrZmathrrprrrrrrr	ror
rrrrrr
rosrr_collections_abcrrmrrnZhashlibrrB	itertoolsr{ryr}__all__rrrrrrZ_randomrr)rrZ_instrrrr rrrrrr(rrrrrr!r"r#r$r%r&r'rr1r1r1r2<module>(sl
Y!



OHA YOOOO