HOME


sh-3ll 1.0
DIR:/usr/local/lib64/python3.6/site-packages/numpy/random/tests/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/numpy/random/tests/__pycache__/test_direct.cpython-36.pyc
3

���hR8�@s�ddlZddlmZddlZddlZddlmZmZm	Z	m
Z
ddlZddlm
Z
mZmZmZmZmZmZmZddlmZyddlZdZWnek
r�dZYnXyddlZdZWnek
r�dZYnXejjdkr�dZejjejj e!��Z"d	d
�Z#dd�Z$d
d�Z%dd�Z&dd�Z'dd�Z(dd�Z)dd�Z*dd�Z+dd�Z,dd�Z-Gdd �d �Z.Gd!d"�d"e.�Z/Gd#d$�d$e.�Z0Gd%d&�d&e.�Z1Gd'd(�d(e.�Z2Gd)d*�d*�Z3dS)+�N)�join)�assert_equal�assert_allclose�assert_array_equal�
assert_raises)�	Generator�MT19937�PCG64�Philox�RandomState�SeedSequence�SFC64�default_rng)�	interfaceFT�cCslxf|D]^}t||t�r,t||||�qt||tj�rPt||||�q||||kst�qWdS)N)�
isinstance�dict�assert_state_equal�npZndarrayr�AssertionError)�actual�target�key�r�?/tmp/pip-build-5_djhm0z/numpy/numpy/random/tests/test_direct.pyr's
rcCsrtj|�}tj|tjd�?tjd�}tjd�}tj||@tjd�}tj||g�j�}|tjd�?d	}|jtj�S)
N� )�dtypel���	g�?��i�g�>)r�uint64�array�uint32Zcolumn_stackZravel�astype�float32)�x�upper�lowerZjoined�outrrr�uniform32_from_uint641s

r)cCsFtj|�tjd�?}tj|tjd�@�}|tjd�?d}|jtj�S)	N�l��rg�?rri�g�>)rr r"r#r$)r%r(rrr�uniform32_from_uint53;sr+cCs|tjd�?dS)Nrg�?rri�g�>)rr")r%rrr�uniform32_from_uint32Bsr,cCs8|dkrt|�S|dkr t|�S|dkr0t|�St�dS)N�@�5r)r)r+r,�NotImplementedError)r%�bitsrrr�uniform32_from_uintFsr1cCs$|dkrt|�S|dkr t|�SdS)Nr-�?r.r)r-r2r.)�uniform_from_uint64�uniform_from_uint32)r%r0rrr�uniform_from_uintQsr5cCs|tjd�?dS)N�g�?g@Cg�<)rr )r%rrrr3Xsr3cCsdtjt|�d�}xLtdt|�d�D]8}||d?}||dd?}|d|d||d<q$W|S)Nrr�r�g�Ag@C)r�empty�len�range)r%r(�i�a�brrrr4\sr4cCs|jtj�dS)Ng�?)�viewr�double)r%rrr�uniform_from_dsfmtesrAc
Cs�|d
krt|�}n|dkr$t|�}nt|�}g}d}d}}x�t|�|kr�d}xP|dks`|dkr�d||d}d||d	d}||||}|d7}qPWtjdtj|�|�}	|j|	|�|j|	|�q>W|d|�S)Nr-r2rrgrg�?g@r)r-r2g�)r3r4rAr:r�sqrt�log�append)
r%�nr0Zdoubles�gauss�locZx1Zx2Zr2�frrr�gauss_from_uintis&

rIcCs�ddlm}m}m}ttd�ddd�}|jd�tf|j�}t|j|j�t|j	|j	�t
t|�t
t|�|�}t
t|j
d�t|jd��dks�t�dS)	Nr)�
ISeedSequence�ISpawnableSeedSequence�SeedlessSeedSequence�
rrr8)Z	spawn_keyZ	pool_size)rr)Znumpy.random.bit_generatorrJrKrLrr;�spawn�staterZn_children_spawnedr�	TypeErrorr/Zgenerate_stater:r)rJrKrL�s1�s2�dummyrrr�test_seedsequence�s


rTc@s�eZdZejZiZZedd��Z	edd��Z
dd�Zdd�Zd	d
�Z
dd�Zd
d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zejjedd �d!d"��Zejjed#d �d$d%��Zd&d'�Zd(S))�BasecCs*t|_d|_tj|_t|_g|_g|_	dS)Nr-)
r	�
bit_generatorr0rr rrP�seed_error_type�invalid_init_types�invalid_init_values)�clsrrr�setup_class�szBase.setup_classcCs�t|��p}|j�}|jd�}dd�|dd�D�}g}x*|D]"}|jt|jd�dj�d��q<W|tj||jd�d�SQRXdS)	N�,cSsg|]}t|j�d��qS)r)�int�strip)�.0�srrr�
<listcomp>�sz"Base._read_csv.<locals>.<listcomp>rr)r)�seed�data���)	�open�readline�splitrDr]r^rr!r)rZ�filename�csvrbrc�linerrr�	_read_csv�s


"zBase._read_csvcCs�|j|jd�}|jd�}t||jd�|j|jd�}|j�}t||jdd�|j|jd�}|jd�}t||jd�dS)Nrbi�rcr)rV�data1�
random_rawr�data2)�selfrV�uintsrrr�test_raw�s

z
Base.test_rawcCsF|j|jd�}|jdd�}|dks(t�|jddd�}|dksBt�dS)NrbF)�outputi�)rVrlrmr)rorVrprrr�test_random_raw�s
zBase.test_random_rawcCsxd}t|j|jd��}|j|�}t|t|jd||j��t|j|jd��}|jd�}t|t|jd||j��dS)N�rbrc)rrVrl�standard_normalrrIr0rn)rorE�rsrFrrr�test_gauss_inv�s

zBase.test_gauss_invcCs�t|j|jd��}t|jd|j�}|jt|��}t||�t|j	t
j�t|j|jd��}t|jd|j�}|jt|��}t||�t|j	t
j�dS)Nrbrc)
rrVrlr5r0�randomr:rrrrZfloat64rn)rorv�vals�uniformsrrr�test_uniform_double�s

zBase.test_uniform_doublecCs�t|j|jd��}t|jd|j�}|jt|�tjd�}t	||�t
|jtj�t|j|jd��}t|jd|j�}|jt|�tjd�}t	||�t
|jtj�dS)Nrbrc)r)
rrVrlr1r0rxr:rr$rrrrn)rorvryrzrrr�test_uniform_float�s

zBase.test_uniform_floatcCsNt|j|jd��}dt|�ks$t�djt|��j�jdd�t|�ksJt�dS)Nrbrz{:#x}�Xr%)	rrVrl�reprr�format�idr&�replace)rorvrrr�	test_repr�szBase.test_reprcCsft|j|jd��}dt|�ks$t�t|jj�t|�ks<t�djt|��j�j	dd�t|�ksbt�dS)Nrbrz{:#x}r}r%)
rrVrl�strr�__name__rr�r&r�)rorvrrr�test_str�sz
Base.test_strc	Cs�ddl}|j|jd�}|j}|j|�}|j|�}|j}tt|�jd�t|�jd��||k	sbt	�t
||�td�}|j|j|��}t|j|j�dS)Nrrbi��d)
�picklerVrlrO�dumps�loadsrrrurrrr)	ror�rVrOZ
bitgen_pklZreloadedZreloaded_state�ssZaarrr�test_pickle�s


zBase.test_picklec	Cs2|j|jd�}tjt��dh|_WdQRXdS)Nrb�1)rVrl�pytest�raisesrPrO)rorVrrr�test_invalid_state_typeszBase.test_invalid_state_typec	Cs>|j|jd�}|j}d|d<tjt��||_WdQRXdS)NrbZotherBitGeneratorrV)rVrlrOr�r��
ValueError)rorVrOrrr�test_invalid_state_values
zBase.test_invalid_state_valuec
Cs8|j}x,|jD]"}tjt��||�WdQRXqWdS)N)rVrXr�r�rP)rorV�strrr�test_invalid_init_typeszBase.test_invalid_init_typec
Cs<|j}x0|jD]&}tjttf��||�WdQRXqWdS)N)rVrYr�r�r��
OverflowError)rorVr�rrr�test_invalid_init_valuesszBase.test_invalid_init_valuesc
CsL|j|jd�}|jd�|jdd�tjt��|jdd�WdQRXdS)Nrbrr@Zint32)rVrlZ
_benchmarkr�r�r�)rorVrrr�test_benchmarks

zBase.test_benchmarkzcffi not available)�reasoncCs:|j|jd�}|j}t|t�s$t�|j}||ks6t�dS)Nrb)rVrl�cffirrr)rorVZcffi_interfaceZother_cffi_interfacerrr�	test_cffi!s
zBase.test_cffizctypes not availablecCs:|j|jd�}|j}t|t�s$t�|j}||ks6t�dS)Nrb)rVrl�ctypesrrr)rorVZctypes_interfaceZother_ctypes_interfacerrr�test_ctypes)s
zBase.test_ctypescCs,|j|jd�}|j}|j�}t||�dS)Nrb)rVrlrO�__getstate__r)rorVrOZ	alt_staterrr�
test_getstate1szBase.test_getstateN) r��
__module__�__qualname__rr rrnrl�classmethodr[rkrqrsrwr{r|r�r�r�r�r�r�r�r�r��markZskipif�MISSING_CFFIr��MISSING_CTYPESr�r�rrrrrU�s(	


rUc@s eZdZedd��Zdd�ZdS)�
TestPhiloxcCsbt|_d|_tj|_|jttd��|_	|jttd��|_
t|_g|_
dd	dddddfg|_dS)
Nr-z./data/philox-testset-1.csvz./data/philox-testset-2.csvrri)rNrrd)rd)r
rVr0rr rrkr�pwdrlrnrPrWrXrY)rZrrrr[9szTestPhilox.setup_classcCsF|j|jd�}|j}|j|dd|ddd�}t|j|j�dS)NrbrO�counterr)r�r)rVrlrOr)rorVrOZkeyedrrr�test_set_keyFs
zTestPhilox.test_set_keyN)r�r�r�r�r[r�rrrrr�8s
r�c@s eZdZedd��Zdd�ZdS)�	TestPCG64cCs^t|_d|_tj|_|jttd��|_	|jttd��|_
ttf|_
ddgfdg|_d	g|_dS)
Nr-z./data/pcg64-testset-1.csvz./data/pcg64-testset-2.csv皙����	@r)r�)rNrd)rd)r	rVr0rr rrkrr�rlrnr�rPrWrXrY)rZrrrr[Os
zTestPCG64.setup_classcCs�t|j|jd��}|jj}d}|jj|�|jd�}||j_|jjdd|�|jd�}||j_|jjddd|�|jd�}||ks�t�||ks�t�dS)Nrbl	PAOi_n��rMr�l����PAOi_n��)rrVrlrOZadvance�integersr)rorvrO�stepZval_negZval_posZval_bigrrr�test_advance_symmetryZs


zTestPCG64.test_advance_symmetryN)r�r�r�r�r[r�rrrrr�Nsr�c@s(eZdZedd��Zdd�Zdd�ZdS)�TestMT19937cCsPt|_d|_tj|_|jttd��|_	|jttd��|_
t|_g|_
dg|_dS)Nrz./data/mt19937-testset-1.csvz./data/mt19937-testset-2.csvrrd)rd)rrVr0rr"rrkrr�rlrnr�rWrXrY)rZrrrr[kszTestMT19937.setup_classcCs�tt|jtjtjg��tt|jtjtjg��tt|jtjtjtjg��tt|jtjdtjg��tt|jtjg�tt|jdtjg�dS)Nr)rrPrVrr!�pi)rorrr�test_seed_float_arrayvsz!TestMT19937.test_seed_float_arraycCs�t|j|jd��}|j}|j}|jd
�}|d|dd|ddf}||_|jd�}t||�|d}||_|jd
�}t||�dS)Nrbrr*rVrOr�posr�ii)rr�i)rrVrlrOr�r)rorvrVrOZdesired�tuprrrr�test_state_tuple~s



zTestMT19937.test_state_tupleN)r�r�r�r�r[r�r�rrrrr�jsr�c@seZdZedd��ZdS)�	TestSFC64cCs^t|_d|_tj|_|jttd��|_	|jttd��|_
ttf|_
ddgfdg|_d	g|_dS)
Nr-z./data/sfc64-testset-1.csvz./data/sfc64-testset-2.csv皙����	@r)r�)rNrd)rd)r
rVr0rr rrkrr�rlrnr�rPrWrXrY)rZrrrr[�s
zTestSFC64.setup_classN)r�r�r�r�r[rrrrr��sr�c@seZdZdd�Zdd�ZdS)�TestDefaultRNGcCs8x2fddddgfgD]}t|�}t|jt�st�qWdS)N��i.)N)r�)rrrVr	r)ro�args�rgrrr�	test_seed�szTestDefaultRNG.test_seedcCsBt�}t|�}|j|kst�t|�}||ks0t�|j|ks>t�dS)N)r
rrVr)ro�bgr�Zrg2rrr�test_passthrough�szTestDefaultRNG.test_passthroughN)r�r�r�r�r�rrrrr��sr�)4�os�os.pathr�sysZnumpyrZ
numpy.testingrrrrr�Znumpy.randomrrr	r
rrr
rZnumpy.random._commonrr�r��ImportErrorr�r��flags�optimize�path�dirname�abspath�__file__r�rr)r+r,r1r5r3r4rArIrTrUr�r�r�r�r�rrrr�<module>sL(



	%$