Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/random.cpython-35.opt-2.pyc



]_g@svddlmZddlmZmZddlm	Z
mZm
ZmZmZddlmZmZmZmZddlmZddlmZ m!Z"ddl#m$Z%dd	d
ddd
dddddddddddddddddgZ&ded ed!Z'd!eZ(e
d"Z)d#e
d$Z*d%Z+d&e+Z,dd'l-Z-Gd(dde-j.Z.Gd)dde.Z/d*d+Z0d,d-d.Z1e.Z2e2j3Z3e2j4Z4e2j5Z5e2j6Z6e2j7Z7e2j8Z8e2j9Z9e2j:Z:e2j;Z;e2j<Z<e2j=Z=e2j>Z>e2j?Z?e2j@Z@e2jAZAe2jBZBe2jCZCe2jDZDe2jEZEe2jFZFe2jGZGeHd/krre1d'S)0)warn)
MethodTypeBuiltinMethodType)logexppieceil)sqrtacoscossin)urandom)SetSequence)sha512Randomseedrandomuniformrandintchoicesample	randrangeshuffle
normalvariatelognormvariateexpovariatevonmisesvariategammavariate
triangulargaussbetavariate
paretovariateweibullvariategetstatesetstategetrandbitsSystemRandomg?g@g@g?g@5NcsyeZdZdZdddZddfddZfdd	Zfd
dZdd
ZddZ	ddZ
ddeddZddZ
ede>eeeddZddZdddZddZdd Zd!d"dd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Z S)7rNcCs|j|d|_dS)N)r
gauss_next)selfxr0+/opt/alt/python35/lib64/python3.5/random.py__init__Ts
zRandom.__init__r+c
su|dkr_ytjtdd}Wn4tk
r^ddl}t|jd}YnX|dkrt|ttfr|rt|dd>nd}x&|D]}d|t|Ad@}qW|t	|N}|d
krdn|}|d	krXt|ttt
frXt|tr0|j}|t|j
7}tj|d}tj|d|_dS)Ni	bigriCBlr+)int
from_bytes_urandomNotImplementedErrortime
isinstancestrbytesordlen	bytearrayencode_sha512digestsuperrr-)r.aversionr=r/c)	__class__r0r1r]s(
! 
zRandom.seedcs|jtj|jfS)N)VERSIONrGr%r-)r.)rKr0r1r%szRandom.getstatecs|d}|dkr;|\}}|_tj|n|dkr|\}}|_ytdd|D}Wn.tk
r}zt|WYdd}~XnXtj|ntd||jfdS)Nrr,r+css|]}|dVqdS)r+ Nlr0).0r/r0r0r1	<genexpr>sz"Random.setstate.<locals>.<genexpr>z?state with version %s passed to Random.setstate() of version %s)r-rGr&tuple
ValueError	TypeErrorrL)r.staterI
internalstater)rKr0r1r&s
zRandom.setstatecCs
|jS)N)r%)r.r0r0r1__getstate__szRandom.__getstate__cCs|j|dS)N)r&)r.rSr0r0r1__setstate__szRandom.__setstate__cCs|jf|jfS)N)rKr%)r.r0r0r1
__reduce__szRandom.__reduce__r5c
Csp||}||kr$td|dkrU|dkrI|j|Std||}||krytd||}|dkr|dkr||j|S|dkrtd|||f||}||krtd|dkr||d|}	n-|dkr7||d|}	ntd|	dkr[td|||j|	S)	Nz!non-integer arg 1 for randrange()rzempty range for randrange()z non-integer stop for randrange()r5z'empty range for randrange() (%d,%d, %d)z non-integer step for randrange()zzero step for randrange())rQ
_randbelow)
r.startstopstep_intistartistopwidthistepnr0r0r1rs4


zRandom.randrangecCs|j||dS)Nr5)r)r.rHbr0r0r1rszRandom.randintc
Cs|j}|j}|||ks6|||krq|j}	||	}
x|
|krl||	}
qQW|
S||krtd|||S||}|||}|}
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.)rr'
bit_length_warn)
r.rar9maxsizetypeMethod
BuiltinMethodrr'krremlimitr0r0r1rXs"		$

	
zRandom._randbelowcCsBy|jt|}Wntk
r9tdYnX||S)Nz$Cannot choose from an empty sequence)rXrBrQ
IndexError)r.seqir0r0r1rs

z
Random.choicecCs|dkrk|j}xttdt|D]3}||d}||||||<||<q1Wn`t}xWttdt|D]:}|||d}||||||<||<qWdS)Nr5)rXreversedrangerBr9)r.r/r	randbelowrojr\r0r0r1rs		"$"zRandom.shufflecCst|trt|}t|ts6td|j}t|}d|kob|knsstddg|}d}|dkr|dtt	|dd7}||krt
|}xt|D]:}|||}	||	||<|||d||	<qWnlt}
|
j
}xWt|D]I}||}	x|	|
krh||}	qMW||	||	||<q8W|S)	Nz>Population must be a sequence or set.  For dicts, use list(d).rzSample larger than populationr)r,r5)r>_SetrP	_SequencerRrXrBrQ_ceil_loglistrqsetadd)r.
populationrirrraresultsetsizepoolrorsselectedselected_addr0r0r1r!s6	
!		
z
Random.samplecCs||||jS)N)r)r.rHrbr0r0r1r_szRandom.uniformgg?cCs|j}y(|dkr!dn||||}Wntk
rL|SYnX||krzd|}d|}||}}|||||dS)Ng?g?)rZeroDivisionError)r.lowhighmodeurJr0r0r1r es	(
	


zRandom.triangularcCsf|j}xN|}d|}t|d|}||d}|t|krPqW|||S)Ng?g?g@)r
NV_MAGICCONSTry)r.musigmaru1u2zzzr0r0r1r{s
		
zRandom.normalvariatecCst|j||S)N)_expr)r.rrr0r0r1rszRandom.lognormvariatecCstd|j|S)Ng?)ryr)r.lambdr0r0r1rszRandom.expovariatecCs|j}|dkr t|Sd|}|td||}xc|}tt|}|||}|}	|	d||ks|	d|t|krEPqEWd|}
|
|d|
|}|}|dkr|t|t}
n|t|t}
|
S)Ngư>g?g?)rTWOPI_sqrt_cos_pir_acos)r.rkapparsrjrrdrqfu3thetar0r0r1rs&	
		.
	zRandom.vonmisesvariatecCs|dks|dkr$td|j}|dkrtd|d}|t}||}x|}d|kodknsqdd|}t|d||}	|t|	}
|||}|||	|
}|td|dks|t|krd|
|SqdWn|dkrZ|}
x|
dkrJ|}
q2Wt|
|Sx|}
t|t}||
}|dkr|d|}
nt|||}
|}|dkr||
|dkrPq]|t|
kr]Pq]W|
|SdS)Ngz*gammavariate: alpha and beta must be > 0.0g?g@gHz>gP?g@)rQrrLOG4ryr
SG_MAGICCONST_e)r.alphabetarainvbbbcccrrvr/rrjrrbpr0r0r1rsJ	

	
*	
	
	zRandom.gammavariatecCs|j}|j}d|_|dkrt|t}tdtd|}t||}t|||_|||S)Ng@g?g)rr-rrryr_sin)r.rrrrx2pig2radr0r0r1r!+s			
zRandom.gausscCs>|j|d}|dkr"dS|||j|dSdS)Ng?rg)r)r.rryr0r0r1r"`s
zRandom.betavariatecCs d|j}d|d|S)Ng?)r)r.rrr0r0r1r#rszRandom.paretovariatecCs'd|j}|t|d|S)Ng?)rry)r.rrrr0r0r1r${szRandom.weibullvariate)!__name__
__module____qualname__rLr2rr%r&rUrVrWr9rrBPFrf_MethodType_BuiltinMethodTyperXrrrrr rrrrrr!r"r#r$r0r0)rKr1rDs4	),
>0H5	c@sJeZdZddZddZddZddZeZZd	S)
r(cCstjtddd?tS)Nr6r3r,)r9r:r;	RECIP_BPF)r.r0r0r1rszSystemRandom.randomcCsl|dkrtd|t|kr6td|dd}tjt|d}||d|?S)Nrz(number of bits must be greater than zeroz#number of bits should be an integerr6r3)rQr9rRr:r;)r.rinumbytesr/r0r0r1r'szSystemRandom.getrandbitscOsdS)Nr0)r.argskwdsr0r0r1rszSystemRandom.seedcOstddS)Nz*System entropy source does not have state.)r<)r.rrr0r0r1_notimplementedszSystemRandom._notimplementedN)	rrrrr'rrr%r&r0r0r0r1r(s

cCsddl}t|d|jd}d}d}d
}|j}xVt|D]H}	||}
||
7}||
|
}t|
|}t|
|}qPW|j}tt||dddd||}t||||}
td	||
||fdS)Nrtimesgg _Br,zsec,end z"avg %g, stddev %g, min %g, max %g
g _)r=printrrqminmaxroundr)rafuncrr=totalsqsumsmallestlargestt0ror/t1avgstddevr0r0r1_test_generators&
 
ricCst|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 )Nr0r0r1_tests r__main__)Iwarningsrrdtypesrrrrmathrryrrrrrrr	rxr
rrrrrr
rosrr;_collections_abcrrvrrwhashlibrrE__all__rrrrrr_randomrr(rr_instrrrr rrrrrrrrrrr!r"r#r$r%r&r'rr0r0r0r1<module>'sb("		
F!																						
Back to Directory File Manager