%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib64/python3.9/site-packages/numpy/random/tests/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib64/python3.9/site-packages/numpy/random/tests/__pycache__/test_randomstate.cpython-39.pyc

a

z[yc�?�	@s�ddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZmZm
Z
mZmZddlmZmZddlmZddddde�d	�d
fddd
d�Ze�e�jdkr�ddddddddd�Zndddddddd d�Zejd!ed"�d#d$��Zd%d&�ZGd'd(�d(�ZGd)d*�d*�ZGd+d,�d,�ZGd-d.�d.�Z Gd/d0�d0�Z!Gd1d2�d2�Z"Gd3d4�d4�Z#Gd5d6�d6�Z$Gd7d8�d8�Z%d9d:�Z&d;d<�Z'd=d>�Z(dS)?�N)�assert_�
assert_raises�assert_equal�assert_warns�assert_no_warnings�assert_array_equal�assert_array_almost_equal�suppress_warnings)�MT19937�PCG64)�random)gY@g333333�?)��?)�r�
r�g@)�dr
)�$@)�)�binomial�	geometric�hypergeometric�	logseries�multinomial�negative_binomial�poisson�zipf�Z@2fbead005fc63942decb5326d36a1f32fe2c9d32c904ee61e46866b88447c263Z@23ead5dcde35d4cfd4ef2c105e4c3d43304b45dc1b1444b7823b9ee4fa144ebbZ@0d764db64f5c3bad48c8c33551c13b4d07a1e7b470f77629bef6c985cac76fcfZ@7b59bf2f1691626c5815cdcd9a49e1dd68697251d4521575219e4d2a1b8b2c67Z@d754fa5b92943a38ec07630de92362dd2e02c43577fc147417dc5b9db94ccdd3Z@8eb216f7cb2a63cf55605422845caaff002fddc64a7dc8b2d45acd477a49e824Z@70c891d76104013ebd6f6bcf30d403a9074b886ff62e4e6b8eb605bf1a4673b7Z@01f074f97517cd5d21747148ac6ca4074dde7fcb7acbaec0a936606fecacd93f)rrrrrrrrZ@8626dd9d052cb608e93d8868de0a7b347258b199493871a1dc56e2a26cacb112Z@8edd53d272e49c4fc8fbbe6c7d08d563d62e482921f3131d0a0e068af30f0db9Z@83496cc4281c77b786c9b7ad88b74d42e01603a55c60577ebab81c3ba8d45657Z@65878a38747c176bc00e930ebafebb69d4e1e16cd3a704e264ea8f5e24f548dbZ@7a984ae6dca26fd25374479e118b22f55db0aedccd5a0f2584ceada33db98605Z@d636d968e6a24ae92ab52fe11c46ac45b0897e98714426764e820a7d77602a61Z@956552176f77e7c9cb20d0118fc9cf690be488d790ed4b4c4747b965e61b0bb4Z@f84ba7feffda41e606e20b28dfc0f1ea9964a74574513d4a4cbc98433a8bfa45�module)Zscope�paramscCs|jt|jt|jfS�N)Zparam�	INT_FUNCS�INT_FUNC_HASHES)Zrequest�r"�I/usr/lib64/python3.9/site-packages/numpy/random/tests/test_randomstate.py�int_func2s�r$cCsnt|d|d�t|dd|dd�t|dd|dd�t|d|d�t|d|d�dS)N�
bit_generator�state�key�pos�	has_gaussZgauss)rr)�a�br"r"r#�assert_mt19937_state_equal8s
r,c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�TestSeedcCs8t�d�}t|�d�d�t�d�}t|�d�d�dS)Nr��i����i�)r�RandomStater�randint��self�sr"r"r#�test_scalarAs

zTestSeed.test_scalarcCszt�td��}t|�d�d�t�t�d��}t|�d�d�t�dg�}t|�d�d�t�dg�}t|�d�d�dS)Nrr.i�ri�r/i	)rr0�rangerr1�np�aranger2r"r"r#�
test_arrayGszTestSeed.test_arraycCs tttjd�tttjd�dS)N������r�	TypeErrorrr0�
ValueError�r3r"r"r#�test_invalid_scalarQszTestSeed.test_invalid_scalarcCsXtttjdg�tttjdg�tttjdg�tttjgd��tttjgd��dS)Nr:r;r)�rr)rA���rr<r?r"r"r#�test_invalid_arrayVs
zTestSeed.test_invalid_arraycCsLtttjtjgtjd��tttjgd�g�tttjgd�gd�g�dS)N��dtype�rAr�)��r)rr>rr0r7�array�int64r?r"r"r#�test_invalid_array_shape^s��z!TestSeed.test_invalid_array_shapecCsDt�td��}tt��|�d�Wd�n1s60YdS)Nr��)rr0rrr=�seed)r3�rsr"r"r#�test_cannot_seedfs
zTestSeed.test_cannot_seedcCstttjt�dSr)rr>rr0r
r?r"r"r#�test_invalid_initializationksz$TestSeed.test_invalid_initializationN)
�__name__�
__module__�__qualname__r5r9r@rCrLrPrQr"r"r"r#r-@s
r-c@seZdZdd�Zdd�ZdS)�TestBinomialcCsBtjddd�}dD]*}tt�d|�dk�tt�||�|�qdS)Nr�intrD)rr
rAr)r7�zerosrrrr)r3rW�pr"r"r#�test_n_zeropszTestBinomial.test_n_zerocCstttjdtj�dS)NrA)rr>rrr7�nanr?r"r"r#�
test_p_is_nanyszTestBinomial.test_p_is_nanN)rRrSrTrYr[r"r"r"r#rUos	rUc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�TestMultinomialcCst�dddg�dS)Nr皙�����?皙�����?�rrr?r"r"r#�
test_basicszTestMultinomial.test_basiccCst�dgd��dS)Nr)r]r^�rarar_r?r"r"r#�test_zero_probability�sz%TestMultinomial.test_zero_probabilitycCsZtdt�dd�kodkn�t�ddd�}tt�d|k��tt�|dk��dS)N���r;rI)rrr1r7�all�r3�xr"r"r#�test_int_negative_interval�s$z*TestMultinomial.test_int_negative_intervalcCs�ddg}tt�d|t�d��jd�tt�d|t�d��jd�tt�d|t�d��jd�tt�d|ddg�jd�tt�d|d�jd�tt�d|t�d��jd�tttjd|t	d��dS)Nr
rA�rArr�rrr�rr)
rrrr7�uint32�shaperJrr=�float�r3rXr"r"r#�	test_size�s��zTestMultinomial.test_sizecCs,tttjdddg�tttjdddg�dS)Nr皙�����?r]皙��������������?�rr>rrr?r"r"r#�test_invalid_prob�sz!TestMultinomial.test_invalid_probcCstttjdddg�dS)Nr;r^r]rsr?r"r"r#�test_invalid_n�szTestMultinomial.test_invalid_ncCstt�d�}|t�|ddd��}|ddd�}t�d�tjd|d�}t�d�tjdt�|�d�}t||�dS)Ng.@rArGi۠iUr)�pvals)r7r8�sumrrNr�ascontiguousarrayr)r3rXrv�
non_contig�contigr"r"r#�test_p_non_contiguous�s


z%TestMultinomial.test_p_non_contiguouscCsbtjgd�tjd�}||��}d}tjt|d��t�d|�Wd�n1sT0YdS)N)
�G�z��?r|��&�.>r}r}r}r}r}r}r}rDz-[\w\s]*pvals array is cast to 64-bit floating)�matchrA)	r7rJ�float32rw�pytest�raisesr>rr)r3rfrvr~r"r"r#�test_multinomial_pvals_float32�s
�z.TestMultinomial.test_multinomial_pvals_float32N)rRrSrTr`rbrgrortrur{r�r"r"r"r#r\~s
r\c@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�TestSetStatecCs$d|_t�|j�|_|j��|_dS�Ni��I)rNrr0�random_state�	get_stater&r?r"r"r#�setup_method�szTestSetState.setup_methodcCs<|j�d�}|j�|j�|j�d�}tt�||k��dS)N�)r��tomaxint�	set_stater&rr7rd�r3�old�newr"r"r#r`�szTestSetState.test_basiccCs@|jjdd�}|j�|j�|jjdd�}tt�||k��dS�NrG��size)r��standard_normalr�r&rr7rdr�r"r"r#�test_gaussian_reset�sz TestSetState.test_gaussian_resetcCsR|j��|j��}|jjdd�}|j�|�|jjdd�}tt�||k��dSr�)r�r�r�r�rr7rd)r3r&r�r�r"r"r#� test_gaussian_reset_in_media_res�s

z-TestSetState.test_gaussian_reset_in_media_rescCsz|jdd�}|jjdd�}|j�|�|jjdd�}|j�|j�|jjdd�}tt�||k��tt�||k��dS)NrBr�r�)r&r�r�r�rr7rd)r3Z	old_stateZx1Zx2Zx3r"r"r#�test_backwards_compatibility�sz)TestSetState.test_backwards_compatibilitycCs|j�dd�dS�Nr
)r�rr?r"r"r#�test_negative_binomial�sz#TestSetState.test_negative_binomialcCsvt�t��}t��P}|�t�}|��}tt|�dk�t	|t
�sDJ�|ddksTJ�Wd�n1sh0YdS)NrAr%r)rr0rr	�record�RuntimeWarningr�r�len�
isinstance�dict)r3rO�sup�wr&r"r"r#�test_get_state_warning�s
z#TestSetState.test_get_state_warningcCsl|j��}d|dd�}tt|jj|�tt|jjtj|td��|jjdd�}|d=tt|jj|�dS)N)ZUnknownrArDF��legacyr%)	r�r�rr>r�r=r7rJ�object)r3r&Z	new_stater"r"r#�!test_invalid_legacy_state_setting�s

�z.TestSetState.test_invalid_legacy_state_settingcCsj|j�d�|j�d�|j��|jjdd�}t|dd�t�t�|j��}|jdd�}t	||�dS)NrrFr�r)rA)
r�rN�
random_sampler�r�r�pickle�loads�dumpsr,)r3ZpickledZ	rs_unpickZ	unpickledr"r"r#�test_pickle�s
zTestSetState.test_picklecCs<|j��}|j��|j�|�|jjdd�}t||�dS)NFr�)r��__getstate__r��__setstate__r�r,)r3Z
attr_stater&r"r"r#�test_state_setting�s


zTestSetState.test_state_settingcCst|j��d�sJ�dS)NzRandomState(MT19937))�reprr��
startswithr?r"r"r#�	test_reprszTestSetState.test_reprN)rRrSrTr�r`r�r�r�r�r�r�r�r�r�r"r"r"r#r��s	

r�c	@s�eZdZejZejejej	ej
ejejej
ejejg	Zdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zejje�d
�jdkdd�dd��Zdd�Zdd�ZdS)�TestRandintcCstt|jdtd�dS�NrArD)rr=�rfuncrmr?r"r"r#�test_unsupported_typesz!TestRandint.test_unsupported_typecCs�|jD]�}|tjurdn
t�|�j}|tjur2dnt�|�jd}tt|j|d||d�tt|j||d|d�tt|j|||d�tt|jdd|d�qdS)NrrrArD)	�ityper7�bool_�iinfo�min�maxrr>r�)r3�dt�lbnd�ubndr"r"r#�test_bounds_checkings
z TestRandint.test_bounds_checkingcCs�|jD]�}|tjurdn
t�|�j}|tjur2dnt�|�jd}|d}t|j||dd|d�|�|}t|j||dd|d�|�||d}t|j||dd|d�|�qdS)NrrrAr.�r�rE)r�r7r�r�r�r�rr�)r3r�r�r��tgtr"r"r#�test_rng_zero_and_extremess
z&TestRandint.test_rng_zero_and_extremescCs�|jD]�}|tjurdn
t�|�j}|tjur2dnt�|�jd}z|j|||d�Wqty�}ztdt	|���WYd}~qd}~00qdS)NrrrArDzMNo error should have been raised, but one was with the following message:

%s)
r�r7r�r�r�r�r��	Exception�AssertionError�str)r3r�r�r��er"r"r#�test_full_range,s
�zTestRandint.test_full_rangecCs�t��|jdd�D]@}dD]6}|jd|d|d�}t|��|k�t|��dk�qq|jdddtjd�}t|��dk�t|��dk�dS)NrA)rH�r�rir�r)	rrNr�r�rr�r�r7r�)r3r�r�Zvalsr"r"r#�test_in_bounds_fuzz:szTestRandint.test_in_bounds_fuzzc
Cs�dddddddddd�	}|jdd�D]p}t�d�tjd	krR|jd
dd|d
�}n|jd
dd|d
���}t�|�	t
j����}t
|t
�|�j|k�q&t�d�|jd
ddtd
��	t
j�}t�|���}t
|t
�t�j|k�dS)NZ@509aea74d792fb931784c4b0135392c65aec64beee12b0cc167548a2c3d31e71Z@7b07f1a920e46f6d0fe02314155a2330bcfd7635e708da50e536c5ebb631a7d4Z@e577bfed6c935de944424667e3da285012e741892dcb7051a8f1ce68ab05c92fZ@0fbead0b06759df2cfb55e43148822d4a1ff953c7eb19a5b08445a63bb64fa9eZ@001aac3a5acb935a9b186cbe14a1ca064b8bb2dd0b045d48abeacf74d0203404)	�bool�int16�int32rK�int8�uint16rk�uint64�uint8rArM�littlerrr.r�r)r�rrN�sys�	byteorderr��byteswap�hashlib�sha256�viewr7r��	hexdigestrrE�namer�)r3r�r��val�resr"r"r#�test_repeatabilityIs*�



zTestRandint.test_repeatability�lrzCannot test with 32-bit C long)�reasonc
Cs�t�gd�gd�gd�ggd�gd�gd�ggd�gd�gd	�ggd
�gd�gd�ggd
�gd�gd�gg�}dD]H}t�d�|jdgdgdgggd�|d�}t||dur�|n|d�qrdS)N)l�Q�[ldm�"l�0)l;�ilvl�mliXp)i\L�_l�Z�NiwU�')l�<�~l�20liP�?)i�fi��wLl@
Vo)l�o�\i���wi�
1])i{�YSlr=�|i��)l�0ll�i�&�})lQZ�)l�(q
l'}�Q)lWqV1i�M
l'�t)inMl�b�"l))i��al��lS"f)i�d�i9
8l�nDk)l�Jci��-l�)i�Mi�'�*l�l�,)N)rIrGrGi90r;rrA)r/rlr�)r7rJrrNr�r)r3�desiredr�rfr"r"r#�.test_repeatability_32bit_boundary_broadcastingis6
������
�z:TestRandint.test_repeatability_32bit_boundary_broadcastingcCs^tj}t�tj�j}t�t�tj�j�}t�t�tj�jd�}tj|||d�}t||�dSr�)r7rKr�r�r�rr1r)r3r�r�r�r��actualr"r"r#�test_int64_uint64_corner_case�s
z)TestRandint.test_int64_uint64_corner_casecCs�|jD]^}|tjurdn
t�|�j}|tjur2dnt�|�jd}|j|||d�}t|jt�|��qt	t
tjjfD]f}|t	ur�dn
t�|�j}|t	ur�dnt�|�jd}|j|||d�}t
t|d��tt|�|�qtdS)NrrrArDrE)r�r7r�r�r�r�r�rrEr�rV�compatZlongr�hasattr�type)r3r�r�r��sampler"r"r#�test_respect_dtype_singleton�s
z(TestRandint.test_respect_dtype_singletonN)rRrSrTrr1r�r7r�r�r�r�r�r�rkrKr�r�r�r�r�r�r�r�r��markZskipifr�r�r�r�r�r"r"r"r#r�
s �	 �
r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0d]d^�Z1e2j3�4d_e5�6d`da�dbe5j7dcg�ddde��Z8dfdg�Z9dhdi�Z:djdk�Z;dldm�Z<dndo�Z=dpdq�Z>drds�Z?dtdu�Z@dvdw�ZAdxdy�ZBdzd{�ZCd|d}�ZDd~d�ZEd�d��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUd�d��ZVd�d��ZWd�d��ZXd�d��ZYd�d��ZZd�S)��TestRandomDistcCs
d|_dSr��rNr?r"r"r#r��szTestRandomDist.setup_methodcCsFt�|j�t�dd�}t�ddgddgddgg�}t||d	d
�dS)NrGr�_�\�*��?琛�����?�<�p�?�,��o��?���H�?�Z������?���decimal)rrN�randr7rJr�r3r�r�r"r"r#�	test_rand�s
�zTestRandomDist.test_randcCs*t�|j�t��}d}t||dd�dS)Nr�r�r�)rrNr�rr�r"r"r#�test_rand_singleton�sz"TestRandomDist.test_rand_singletoncCslt�|j�t�dd�}t�ddgddgddgg�}t||d	d
�t�|j�t��}t||dd	d
�dS)NrGr�!�<Oq�?�4�u,�?��3��?�L�I/DͿ��@��?@�HS�\@r�r��rr�rrNZrandnr7rJrr�r"r"r#�
test_randn�s
�zTestRandomDist.test_randncCsFt�|j�tjdddd�}t�ddgddgd	d
gg�}t||�dS)N����c�rGrr��rG�����)�������)rrNr1r7rJrr�r"r"r#�test_randint�s
�zTestRandomDist.test_randintcCs�t�|j�t��:}|�t�}tjdddd�}tt|�dk�Wd�n1sR0Yt�	ddgdd	gd
dgg�}t
||�t�|j�t��8}|�t�}tjddd�}tt|�dk�Wd�n1s�0Yt
||d
�dS)Nr�r�r�r�rAr�rGrrrr��r)rrNr	r��DeprecationWarning�random_integersrr�r7rJr)r3r�r�r�r�r"r"r#�test_random_integers�s 
.
�

.z#TestRandomDist.test_random_integerscCs�t�|j�t�|j�}|jdd�}t�t�jdkrXtjddgddgdd	ggtj	d
�}n"tjddgd
dgddggtj	d
�}t
||�|�|j�|��}t
||d�dS)Nr�r�i���i��4Oi�˕+i�R�KiriFb�qi���rDl�K+W+�ylr&&�J�]l��;	l��nBz
l�@X�H�TlD+l++�r�)rrNr0r�r7r�rVr�rJrKr)r3rOr�r�r"r"r#�
test_tomaxint�s(
��
��
zTestRandomDist.test_tomaxintcCs�t��F}|�t�}t�t�d�jt�d�j�}tt	|�dk�Wd�n1sR0Yt�d�j}t
||�t��Z}|�t�}t�d�j}t�|t�d�j�|t�d�j��}tt	|�dk�Wd�n1s�0Yt
||�dS)Nr�rA)
r	r�rrrr7r�r�rr�rrEr�)r3r�r�r�r�Ztyperr"r"r#�test_random_integers_max_int�s 

�.

�.z+TestRandomDist.test_random_integers_max_intcCsnt���Rt�dt�tttjt�d�j	�tttjt�d�j	t�d�j	�Wd�n1s`0YdS)N�errorr�)
�warnings�catch_warnings�simplefilterrrrrr7r�r�r?r"r"r#�test_random_integers_deprecateds

��z.TestRandomDist.test_random_integers_deprecatedcCsjt�|j�t�d�}t�ddgddgddgg�}t||dd	�t�|j�t��}t||d
dd	�dS)Nr�r�r�r�r�r�r�r�r�r�)rrNr�r7rJrr�r"r"r#�test_random_samples

�z!TestRandomDist.test_random_samplecCs4t�|j�t�dd�}t�gd��}t||�dS)NrH)rrGrrG�rrN�choicer7rJrr�r"r"r#�test_choice_uniform_replace*sz*TestRandomDist.test_choice_uniform_replacecCs<t�|j�tjddgd�d�}t�gd��}t||�dS)NrH)皙�����?r皙�����?r�rX)rArArrrr�r"r"r#�test_choice_nonuniform_replace0sz-TestRandomDist.test_choice_nonuniform_replacecCs8t�|j�tjdddd�}t�gd��}t||�dS)NrHrGF��replace)rrArGrr�r"r"r#�test_choice_uniform_noreplace6sz,TestRandomDist.test_choice_uniform_noreplacecCs>t�|j�tjdddgd�d�}t�gd��}t||�dS)NrHrGF)r�333333�?r
r�rrX)rrGrArr�r"r"r#� test_choice_nonuniform_noreplace<sz/TestRandomDist.test_choice_nonuniform_noreplacecCs8t�|j�t�gd�d�}t�gd��}t||�dS)N)r*r+�c�drH)rrrrrr�r"r"r#�test_choice_nonintegerBsz%TestRandomDist.test_choice_nonintegercCs2tj}tt|dd�tt|dd�tt|ddgddggd�tt|gd�tt|gd�dddgddggd	�tt|ddgdgd
�d	�tt|ddgdddgd	�tt|ddgdd
d
gd	�tt|gd�ddd�tt|gd�ddd�tt|gd�ddd�tt|gd�ddd�tt|gd�ddgd�d�dS)Nr;rG�@rArrH)rArrGrHg�?r)rrr]rprqrrFFrrB)r;)r;rA)rArrr)rrrr>)r3r�r"r"r#�test_choice_exceptionsHs$��z%TestRandomDist.test_choice_exceptionsc	Csddg}tt�tjddd���tt�tjddd���tt�tjdd|d���tt�tjdd|d���tt�tjddgdd���ttjdgdd�du�t�ddg�}tjdtd	�}||d
<ttj|dd�|u�t�}tt�tjd|dd���tt�tjd|dd���tt�tjd|d|d���tt�tjd|d|d���tt�tjddg|dd���ttjdg|dd�j	d
k�t�ddg�}tjdtd	�}||d
<ttj||dd��
�|u�d}gd�}ttjd
|dd�j|�ttjd
|dd�j|�ttjd
|d|d�j|�ttjd
|d|d�j|�ttjt�
d
�|dd�j|�ttjd
d
dd�jd�ttjd
dd
d�jd�ttjddd
d�jd�ttjd
d
d�jd�ttjgdd�jd�ttjddgdd�jd�tttjgd�dS)NrrrrTrFrrArDr)rrG)rrrrrr]r)rGrrHr�i����)rrr*r+)rr7ZisscalarrrrJ�emptyr��tuple�ndim�itemrrlr8r1rr>)r3rXr*Zarrr4r"r"r#�test_choice_return_shape[sL �z'TestRandomDist.test_choice_return_shapecCs,t�gd��}gd�}tttj||d�dS)N)�*rAr)NNNr)r7rJrr>rr)r3r*rXr"r"r#�test_choice_nan_probabilities�sz,TestRandomDist.test_choice_nan_probabilitiesc	Cs|t�d�d}d|ddd�<t�|j�tjdd|ddd�d�}t�|j�tjddt�|ddd��d�}t||�dS)NrrIr!rArrGr)r7�onesrrNrrxr)r3rXryrzr"r"r#�test_choice_p_non_contiguous�s z+TestRandomDist.test_choice_p_non_contiguouscCs(t�|j�t�d�}d}t||�dS)Nrs
�Ui���+Wf�)rrN�bytesrr�r"r"r#�
test_bytes�s
zTestRandomDist.test_bytescCs�dd�dd�dd�dd�dd�dd�dd�d	d�d
d�dd�dd�fD]@}t�|j�|gd
��}t�|�|}|gd��}t||�qFdS)NcSs
t�g�Sr)r7rJ�rfr"r"r#�<lambda>��z-TestRandomDist.test_shuffle.<locals>.<lambda>cSs|Srr"r.r"r"r#r/�r0cSst�|��tj�Sr)r7�asarray�astyper�r.r"r"r#r/�r0cSst�|��tj�Sr)r7r1r2rr.r"r"r#r/�r0cSst�|��tj�Sr)r7r1r2Z	complex64r.r"r"r#r/�r0cSst�|��t�Sr)r7r1r2r�r.r"r"r#r/�r0cSsdd�|D�S)NcSsg|]}||f�qSr"r"��.0�ir"r"r#�
<listcomp>�r0�ATestRandomDist.test_shuffle.<locals>.<lambda>.<locals>.<listcomp>r"r.r"r"r#r/�r0cSst�dd�|D��S)NcSsg|]}||g�qSr"r"r3r"r"r#r6�r0r7)r7r1r.r"r"r#r/�r0cSst�||g�jSr)r7Zvstack�Tr.r"r"r#r/�r0cSs*t�dd�|D�dtfdtfg��tj�S)NcSsg|]}||f�qSr"r"r3r"r"r#r6�r0r7r*r+)r7r1rVr�Zrecarrayr.r"r"r#r/�s��cSs(t�dd�|D�dtdfdtjdfg�S)NcSsg|]}||f�qSr"r"r3r"r"r#r6�r0r7r*�rAr+)r7r1r�r�r.r"r"r#r/�s
���
rArrGrHrIr�r��	r�
rrAr<rrrHrIr�r;rG)rrN�shuffler)r3�conv�alistr�r�r"r"r#�test_shuffle�s$�
zTestRandomDist.test_shufflecCs�tj�t�td�d�ddd�}tj�t�d�ddd�}|��}|��}td�D]d}t�|�t	t
|j|j�t
|j|j��t�|�t	t
|j|j�t
|j|j��qVdd�}dS)	Nr)rIrHrGrAr;�2cSst�d�}tttj|�dS)NrG)r7rJrr=rr>rer"r"r#�test_shuffle_invalid_objects�s
zHTestRandomDist.test_shuffle_masked.<locals>.test_shuffle_invalid_objects)
r7ZmaZ
masked_valuesZreshaper6r8�copyrr>r�sorted�data�mask)r3r*r+Za_origZb_origr5rCr"r"r#�test_shuffle_masked�s"
 �
 �z"TestRandomDist.test_shuffle_maskedcCs�t�|j�gd�}t�|�}gd�}t||�t�|j�t�gd��j}t�|�}t|t�|�j�t�|j�d}tttj|�t�|j�d}tttj|�d}gd�}t�|j�t�|�}t||�dS)Nr:r=Zabcdg333333�?r)
r<rr�rIrArGrHr;rr)	rrNZpermutationrr7Z
atleast_2dr8r�
IndexError)r3r@r�r�Zarr_2dZ	bad_x_strZbad_x_floatZinteger_valr"r"r#�test_permutation�s(



zTestRandomDist.test_permutationcCsJt�|j�tjdddd�}t�ddgddgd	d
gg�}t||dd�dS)
Nrrrr�r�gA�Kč?g���hA?g �҇o�>gάXf�+q?gS��1�$?g'8zX� ?r�r�)rrN�betar7rJrr�r"r"r#�	test_beta�s��zTestRandomDist.test_betacCslt�|j�tjdddd�}t�ddgddgd	d
gg�}t||�t�|j�t�dd�}d}t||�dS)NgZd;�Y@g�v��/�?r�r��%�+r(�0�.�-)rrNrr7rJrr�r"r"r#�
test_binomial�s
�
zTestRandomDist.test_binomialcCsHt�|j�tjddd�}t�ddgddgdd	gg�}t||d
d�dS)NrBr�r�g+Q�]u�O@g����+Q@gY7`�ZqP@g�e�(f�G@g�v�t�R@gEIȋR@�
r�)rrN�	chisquarer7rJrr�r"r"r#�test_chisquare�s
�zTestRandomDist.test_chisquarecCs�t�|j�t�ddg�}tj|dd�}t�ddgddggd	d
gddggd
dgddggg�}t||dd�t�ddg�}tttj|�t�|j�t�ddg�}t�|�}t||ddd�dS)N���I<�I@��EZ�C@r�r�g�i{
�s�?gn,	�A�?g��]�^��?gpD�B�?gȧ#�y��?gr�����?g��1U��?g�Ѩ�UC�?g��^,%��?g��B���?gډOoX;�?gM�`!O��?r�r��H�z�G�?缉ؗ�Ҝ�r�)rrNr7rJ�	dirichletrrr>)r3�alphar�r�Z	bad_alphar"r"r#�test_dirichlets(
����
zTestRandomDist.test_dirichletcCs�t�ddg�}tt�|t�d��jd�tt�|t�d��jd�tt�|t�d��jd�tt�|ddg�jd�tt�|d�jd�tt�|t�d��jd�tttj|t	d��dS)NrVrWrArhrrirj)
r7rJrrrZrkrlrr=rmrnr"r"r#�test_dirichlet_sizesz"TestRandomDist.test_dirichlet_sizecCs t�ddg�}tttj|�dS)NrXrY)r7rJrr>rrZ)r3r[r"r"r#�test_dirichlet_bad_alpha"sz'TestRandomDist.test_dirichlet_bad_alphacCsdt�gd��}|ddd�}t�|j�tj|dd�}t�|j�tjt�|�dd�}t||�dS)N)rVg�rWrr�r�)r7rJrrNrZrxr)r3r*r[ryrzr"r"r#�#test_dirichlet_alpha_non_contiguous's�z2TestRandomDist.test_dirichlet_alpha_non_contiguouscCsHt�|j�tjddd�}t�ddgddgdd	gg�}t||d
d�dS)Ng�8EGr��?r�r�gN��U�?gbI0��?g�VU\��@g�:��3�@g��U��?g��"qo�?r�r�)rrN�exponentialr7rJrr�r"r"r#�test_exponential1s
�zTestRandomDist.test_exponentialcCs&ttjdd�d�tttjdd�dS�Nr��scale��)rrr`rr>r?r"r"r#�test_exponential_09sz!TestRandomDist.test_exponential_0cCsJt�|j�tjdddd�}t�ddgddgd	d
gg�}t||dd�dS)
N��Mr�r�g7���?g�`j���?g6�"+�?gܳ2>���?g�c�>+Y�?g�_}�S��?r�r�)rrN�fr7rJrr�r"r"r#�test_f=s
�zTestRandomDist.test_fcCsJt�|j�tjdddd�}t�ddgddgd	d
gg�}t||dd�dS)
NrIrGr�r�gԏGM�8@g���Ȍ<@g�	�":@g�v���#)@gZQ��?@gr��[��@@�r�)rrN�gammar7rJrr�r"r"r#�
test_gammaEs
�zTestRandomDist.test_gammacCs*ttjddd�d�tttjddd�dS)Nr)rlrdre)rrrlrr>r?r"r"r#�test_gamma_0MszTestRandomDist.test_gamma_0cCsDt�|j�tjddd�}t�ddgddgddgg�}t||�dS)	N�_c97ݚ�?r�r�r�r;�rIrg)rrNrr7rJrr�r"r"r#�test_geometricQs
�zTestRandomDist.test_geometriccCs�tttjd�tttjdgd�tttjd�tttjdgd�t��@}|�t�tttjtj�tttjtjgd�Wd�n1s�0YdS)Nrprrq)	rr>rrr	r�r�r7rZ�r3r�r"r"r#�test_geometric_exceptionsYs
z(TestRandomDist.test_geometric_exceptionscCsJt�|j�tjdddd�}t�ddgddgd	d
gg�}t||dd�dS)
Nro�@r���locrdr�g�ؕ��?g�s0��?g��#0��g�(�x���g-�K�D��?g�ůp`@�r�r�)rrN�gumbelr7rJrr�r"r"r#�test_gumbelcs
�zTestRandomDist.test_gumbelcCs&ttjdd�d�tttjdd�dSrb)rrrwrr>r?r"r"r#�
test_gumbel_0kszTestRandomDist.test_gumbel_0cCs�t�|j�tjddddd�}t�ddgddgddgg�}t||�tjdd	d
dd�}t�gd��}t||�tjd
d	ddd�}t�gd��}t||�tjd	dd
dd�}t�gd��}t||�tjd	d
ddd�}t�gd��}t||�dS)Ng333333$@g@rkr�r�rr<rIrrGrH)rGrGrGrGr�rg)rgrgrgrg)rrrr)rrNrr7rJrr�r"r"r#�test_hypergeometricos&
�



z"TestRandomDist.test_hypergeometriccCsJt�|j�tjdddd�}t�ddgddgd	d
gg�}t||dd�dS)
Nrortr�rug� b�O�?g�¸����?gpJm��	@g{K�*�t	@g�:^w-���g�Y~o���?r�r�)rrN�laplacer7rJrr�r"r"r#�test_laplace�s
�zTestRandomDist.test_laplacecCs&ttjdd�d�tttjdd�dSrb)rrr{rr>r?r"r"r#�test_laplace_0�szTestRandomDist.test_laplace_0cCsJt�|j�tjdddd�}t�ddgddgd	d
gg�}t||dd�dS)
Nrortr�rug#��K-z�?g��J���?g�92��@gر�[@g�#+^�˿g��-��@r�r�)rrN�logisticr7rJrr�r"r"r#�
test_logistic�s
�zTestRandomDist.test_logisticcCsJt�|j�tjdddd�}t�ddgddgd	d
gg�}t||dd�dS)
Nrortr�)�mean�sigmar�g����Ɂ0@go�,+4FB@g���)ʭ6@g��5���?gn�xN�nP@g��)���U@rSr�)rrN�	lognormalr7rJrr�r"r"r#�test_lognormal�s
�zTestRandomDist.test_lognormalcCs&ttjdd�d�tttjdd�dS)Nr)r�rAre)rrr�rr>r?r"r"r#�test_lognormal_0�szTestRandomDist.test_lognormal_0cCsDt�|j�tjddd�}t�ddgddgddgg�}t||�dS)Ngƀ@���?r�)rXr�rrrprG)rrNrr7rJrr�r"r"r#�test_logseries�s
�zTestRandomDist.test_logseriescCst�d�dksJ�dS)NrrA)rrr?r"r"r#�test_logseries_zero�sz"TestRandomDist.test_logseries_zero�valuerar;��?g@c	Cs�tjdd���t�t��t�|�Wd�n1s80Yt�t��&t�t�|gd��Wd�n1sx0Yt�t��0t�t�|gd�ddd��Wd�n1s�0YWd�n1s�0YdS)N�ignore�Zinvalidrr)r7�errstater�r�r>rrrJ)r3r�r"r"r#�test_logseries_exceptions�s(4z(TestRandomDist.test_logseries_exceptionscCsdt�|j�tjddgddd�}t�gd�gd�ggd�gd	�ggd
�gd�gg�}t||�dS)Nr�UUUUUU�?rr�r�)rHrGrIrHrr)rIrr�rrrA)rGrHrGrrrH)rrArHrGrrH)rHrHrrIrrG)rHrGrHrrGrH)rrNrr7rJrr�r"r"r#�test_multinomial�s
����zTestRandomDist.test_multinomialc	Cs�t�|j�d}ddgddgg}d}t�|||�}t�ddgddggd	d
gddggd
dgddggg�}t||dd�t�||�}t�ddg�}t||dd�ddg}ddgddgg}tttj||�ttj||dd�t	t
tj||dd�tjddgddggtjd�}t��8}t�||�|�
t�}t|�dk�s6J�Wd�n1�sL0Yt�d�}t�d�}t	t
tj||dd�t	t
tjt�d�|�t	t
tj|t�d��t	t
tj|t�d��dS)N)rorrArr�g4�V�j�?g����y'@g�I1���?g�S�B�#@g���e<@g��4W(@g6�R¿��?g�9r
v"@g��с�?g{����#@g�4�x���g��"�f"@r�r�gN}�O6��?g��YM�W"@rr�)Zcheck_valid�raiserrD�other)rrArArG)rrNZmultivariate_normalr7rJrrr�rrr>rr	r�r�rWZeyer#)	r3r�Zcovr�r�r�r�r��mur"r"r#�test_multivariate_normal�s^
����
��
2

�
�
�
�z'TestRandomDist.test_multivariate_normalcCsFt�|j�tjdddd�}t�ddgddgd	d
gg�}t||�dS)Nrg|�Pk��?r�)�nrXr�iPiIi|icii�)rrNrr7rJrr�r"r"r#r��s
�z%TestRandomDist.test_negative_binomialcCs^t��D}|�t�tttjdtj�tttjdtjgd�Wd�n1sP0YdS)Nrr)	r	r�r�rr>rrr7rZrrr"r"r#�!test_negative_binomial_exceptionss


�z0TestRandomDist.test_negative_binomial_exceptionscCs�t�|j�tjdddd�}t�ddgddgdd	gg�}t||d
d�tjdd
dd�}t�ddgddgddgg�}t||d
d�t�|j�tjdddd�}t�ddgddgddgg�}t||d
d�dS)NrIr�)�df�noncr�g��G�7@g!��ܴ*@g�1}�z9?@g�+驸�0@g26E_r#@g��I�!�1@rkr�r
r]g�����?g��T��D�?g��?T�?g�+�qnl�?g�~|�D�?g밬���?rg�{�0�1#@gp���rs'@g�~;���$@g"��dI�
@g����*@g�}�'�,@)rrN�noncentral_chisquarer7rJrr�r"r"r#�test_noncentral_chisquare
s(
�
�
�z(TestRandomDist.test_noncentral_chisquarecCsLt�|j�tjddddd�}t�ddgdd	gd
dgg�}t||dd
�dS)NrIrrAr�)�dfnum�dfdenr�r�g�^���~�?g�/+c���?g"��.�@g������@g�7���?g��E���?rkr�)rrN�noncentral_fr7rJrr�r"r"r#�test_noncentral_f"s
�
�z TestRandomDist.test_noncentral_fcCs0t�|j�tjddtjd�}t�|�s,J�dS)NrIr)r�r�r�)rrNr�r7rZ�isnan)r3r�r"r"r#�test_noncentral_f_nan+sz$TestRandomDist.test_noncentral_f_nancCsJt�|j�tjdddd�}t�ddgddgd	d
gg�}t||dd�dS)
Nrortr�rug�&&n@gO�G_�@g�~w��@gt��w]տgm&�5��@g��$�>�@r�r�)rrN�normalr7rJrr�r"r"r#�test_normal0s
�zTestRandomDist.test_normalcCs&ttjdd�d�tttjdd�dSrb)rrr�rr>r?r"r"r#�
test_normal_08szTestRandomDist.test_normal_0cCsLt�|j�tjddd�}t�ddgddgdd	gg�}tjj||d
d�dS)Nror��r*r�g�W�I�@g
�Ԩy�@gy��]�0�Ag1~��\�Ag����a@g�Y�
�7A�)Znulp)rrN�paretor7rJZtestingZassert_array_almost_equal_nulpr�r"r"r#�test_pareto<s��
zTestRandomDist.test_paretocCsDt�|j�tjddd�}t�ddgddgddgg�}t||�dS)Nror�)�lamr�rrA)rrNrr7rJrr�r"r"r#�test_poissonKs
�zTestRandomDist.test_poissoncCs�t�d�j}d}tttj|�tttj|gd�tttj|�tttj|gd�t��@}|�t	�tttjtj
�tttjtj
gd�Wd�n1s�0YdS)Nr�r;r)r7r�r�rr>rrr	r�r�rZ)r3ZlambigZlamnegr�r"r"r#�test_poisson_exceptionsSs
z&TestRandomDist.test_poisson_exceptionscCsHt�|j�tjddd�}t�ddgddgdd	gg�}t||d
d�dS)Nror�r�g�;�'��?gܴ�w�*�?g��5��?gF�G�?g��D]?g��$`��?r�r�)rrN�powerr7rJrr�r"r"r#�
test_power_s
�zTestRandomDist.test_powercCsHt�|j�tjddd�}t�ddgddgdd	gg�}t||d
d�dS)Nrr�)rdr�g"�u���+@g�N$MB�*@g7v8B�4@g���55@ge��&@g~�ӣ�Z1@rkr�)rrN�rayleighr7rJrr�r"r"r#�
test_rayleighgs
�zTestRandomDist.test_rayleighcCs&ttjdd�d�tttjdd�dSrb)rrr�rr>r?r"r"r#�test_rayleigh_0oszTestRandomDist.test_rayleigh_0cCsFt�|j�tjdd�}t�ddgddgddgg�}t||d	d
�dS)Nr�r�gMo�DL��?g6�([9�g�rF=��?g�M'	-��g�V���gVA:�Qy�?r�r�)rrNZstandard_cauchyr7rJrr�r"r"r#�test_standard_cauchyss
�z#TestRandomDist.test_standard_cauchycCsFt�|j�tjdd�}t�ddgddgddgg�}t||d	d
�dS)Nr�r�g���܁��?gc!z��?g&N��"�@g�NI��@gF��>���?g�~�ME�?r�r�)rrNZstandard_exponentialr7rJrr�r"r"r#�test_standard_exponential{s
�z(TestRandomDist.test_standard_exponentialcCsHt�|j�tjddd�}t�ddgddgdd	gg�}t||d
d�dS)NrGr�)rlr�g)��@g��ľ��@gd]�,q�@gP�k�{@g9B#�1@g��v�� @rkr�)rrN�standard_gammar7rJrr�r"r"r#�test_standard_gamma�s
�z"TestRandomDist.test_standard_gammacCs&ttjdd�d�tttjdd�dS)Nr)rlre)rrr�rr>r?r"r"r#�test_standard_gamma_0�sz$TestRandomDist.test_standard_gamma_0cCsFt�|j�tjdd�}t�ddgddgddgg�}t||d	d
�dS)Nr�r�r�r�r�r�r�r�r�r�)rrNr�r7rJrr�r"r"r#�test_standard_normal�s
�z#TestRandomDist.test_standard_normalcCs0t�|j�t��}t�d�}t||dd�dS)Nr�r�r�r�r�r"r"r#�test_randn_singleton�s
z#TestRandomDist.test_randn_singletoncCsHt�|j�tjddd�}t�ddgddgdd	gg�}t||d
d�dS)Nrr�)r�r�g\V�H��?g�hU�%���g�H$�M�?g���L���gV�qdz�ǿg㖀���?r�r�)rrN�
standard_tr7rJrr�r"r"r#�test_standard_t�s
�zTestRandomDist.test_standard_tcCsLt�|j�tjddddd�}t�ddgdd	gd
dgg�}t||dd
�dS)Ng{�G�z@g�(\��u$@gףp=
W4@r�)�left�mode�rightr�g:�}��\)@ghرTj�(@g�ǨL�30@g6ڜ��A0@g6���sh&@g��<��,@rkr�)rrN�
triangularr7rJrr�r"r"r#�test_triangular�s
�
�zTestRandomDist.test_triangularcCsJt�|j�tjdddd�}t�ddgddgd	d
gg�}t||dd�dS)
N�G�z��?g�G�z%@r�)�low�highr�g>#�H�@g��u��@g��#@g�}d]#@g���N��@g�w)*� @r�r�)rrN�uniformr7rJrr�r"r"r#�test_uniform�s
�zTestRandomDist.test_uniformcCs�t�d�j}t�d�j}tj}tt|tjd�tt|dtj�tt|||�tt|tjgdg�tt|dgtjg�tjt�	|d�|dd�dS)NrmrrAg�؅W4vC)r�r�)
r7Zfinfor�r�rr�r�
OverflowError�inf�	nextafter)r3ZfminZfmax�funcr"r"r#�test_uniform_range_bounds�sz(TestRandomDist.test_uniform_range_boundscCsjGdd�dtj�}t�d��|�}tttj||�Gdd�dtj�}t�d��|�}tttj|dd�dS)Nc@seZdZdd�ZdS)zGTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloatcSst�dSr�r=r?r"r"r#�	__float__�szQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloat.__float__N)rRrSrTr�r"r"r"r#�
ThrowingFloat�sr�r�c@seZdZdd�ZdS)zITestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingIntegercSst�dSrr�r?r"r"r#�__int__�szQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingInteger.__int__N)rRrSrTr�r"r"r"r#�ThrowingInteger�sr�rA)	r7ZndarrayrJr�rr=rr�r)r3r�Zthrowing_floatr�Zthrowing_intr"r"r#�!test_scalar_exception_propagation�s
�z0TestRandomDist.test_scalar_exception_propagationcCsJt�|j�tjdddd�}t�ddgddgd	d
gg�}t||dd�dS)
Nr��p=
ף�?r��r��kappar�gL�ZI@g��'N"@g����kr�?g�k=m�@g��ډ�?g�^�=�\�?r�r��rrN�vonmisesr7rJrr�r"r"r#�
test_vonmises�s
�zTestRandomDist.test_vonmisescCs2t�|j�tjdddd�}tt�|����dS)Nragg5_P�G>�@Br�)rrNr�rr7Zisfiniterd�r3�rr"r"r#�test_vonmises_small�sz"TestRandomDist.test_vonmises_smallcCs<t�|j�tjdddd�}t�gd��}t||dd�dS)Nrag�cArGr�)g�A�^>?g@��R7?gx�.�r�r�r�r�r"r"r#�test_vonmises_large�sz"TestRandomDist.test_vonmises_largecCs.t�|j�tjdtjd�}tt�|��dS)Nra)r�r�)rrNr�r7rZrr�r�r"r"r#�test_vonmises_nan�sz TestRandomDist.test_vonmises_nancCsJt�|j�tjdddd�}t�ddgddgd	d
gg�}t||dd�dS)
Nr�r�r�)r�rdr�g�Z���@g-�
g�@g�8
��m�?g��VP"�?g`V���?gx�^�&3�?rkr�)rrN�waldr7rJrr�r"r"r#�	test_wald�s
�zTestRandomDist.test_waldcCsHt�|j�tjddd�}t�ddgddgdd	gg�}t||d
d�dS)Nr�r�r�g@��6�?g���]A�?g(�1ڥR�?g��U��?g��2�_u�?g^}-�Q�?r�r�)rrN�weibullr7rJrr�r"r"r#�test_weibulls
�zTestRandomDist.test_weibullcCs:t�|j�ttjddd�t�d��tttjdd�dS)Nrrgr�re)r*)rrNrr�r7rWrr>r?r"r"r#�test_weibull_0szTestRandomDist.test_weibull_0cCsDt�|j�tjddd�}t�ddgddgddgg�}t||�dS)	Nr�r�r��B�rArGrS)rrNrr7rJrr�r"r"r#�	test_zipf
s
�zTestRandomDist.test_zipfN)[rRrSrTr�r�r�r�rrr	r
rrrrrrr r"r'r)r+r-rArHrJrLrRrUr\r]r^r_rarfrjrmrnrqrsrxryrzr|r}rr�r�r�r�r�r�Zparametrizer7r�rZr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r"r"r"r#r��s�.		



3			r�c@seZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAS)B�
TestBroadcastcCs
d|_dS)N��[r�r?r"r"r#r�szTestBroadcast.setup_methodcCst�|j�dSr)rrNr?r"r"r#�set_seedszTestBroadcast.set_seedcCsldg}dg}tj}t�gd��}|��||d|�}t||dd�|��|||d�}t||dd�dS)NrrA�g�l���?g_x
���?g=�*BN�?rGrkr�)rr�r7rJr�r)r3r�r�r�r�r�r"r"r#r�szTestBroadcast.test_uniformcCs�dg}dg}dg}tj}t�gd��}|��||d|�}t||dd�tt||d|�|��|||d�}t||dd�tt|||d�dS)NrrAr;)g-r��@g�Y�l�@g-�`�w�?rGrkr�)rr�r7rJr�rrr>)r3rvrd�	bad_scaler�r�r�r"r"r#r�/szTestBroadcast.test_normalcCs�dg}dg}dg}dg}tj}t�gd��}|��||d|�}t||dd�tt||d|�tt||d|�|��|||d�}t||dd�tt|||d�tt|||d�dS)	NrArr;rB)gn�QVf�?gV���KB�?gv�`k��?rGrkr�)rrKr7rJr�rrr>)r3r*r+�bad_aZbad_brKr�r�r"r"r#rLBs zTestBroadcast.test_betacCsVdg}dg}tj}t�gd��}|��||d�}t||dd�tt||d�dS�NrAr;)g�.Ug�Z�?giPr�q�?g��E
K��?rGrkr�)rr`r7rJr�rrr>)r3rdr�r`r�r�r"r"r#raXszTestBroadcast.test_exponentialcCsVdg}dg}tj}t�gd��}|��||d�}t||dd�tt||d�dSr�)rr�r7rJr�rrr>)r3rl�	bad_shapeZ	std_gammar�r�r"r"r#r�esz!TestBroadcast.test_standard_gammacCs�dg}dg}dg}dg}tj}t�gd��}|��||d|�}t||dd�tt||d|�tt||d|�|��|||d�}t||dd�tt|||d�tt|||d�dS)	NrArr;rB)g�.Ug�Z�?giPr�q�?g��E
K�?rGrkr�)rrlr7rJr�rrr>)r3rlrdr�r�rlr�r�r"r"r#rmrs zTestBroadcast.test_gammacCs�dg}dg}dg}dg}tj}t�gd��}|��||d|�}t||dd�tt||d|�tt||d|�|��|||d�}t||dd�tt|||d�tt|||d�dS)	NrArr;rB)gb��yʜ�?g��o���?gT��7�@rGrkr�)rrir7rJr�rrr>)r3r�r��	bad_dfnum�	bad_dfdenrir�r�r"r"r#rj�s zTestBroadcast.test_fc
	Cs�dg}dg}dg}dg}dg}dg}tj}t�gd��}|��||d||�}	t|	|dd	�t�t�|||tjgd���s�J�t	t
||d||�t	t
||d||�t	t
||d||�|��|||d|�}	t|	|dd	�t	t
|||d|�t	t
|||d|�t	t
|||d|�|��||||d�}	t|	|dd	�t	t
||||d�t	t
||||d�t	t
||||d�dS)
NrrGrHrr;rB)g�r�^G"@g/�
*@g���ц�!@rkr�)rr�r7rJr�rrdr�rZrr>)
r3r�r�r�r�r��bad_noncZnonc_fr�r�r"r"r#r��s6$zTestBroadcast.test_noncentral_fcCs:|��t�ddg�}tjddddd�}t||dd�dS)Ng��a��z@gn4M;�%�?rrrr�rkr�)r�r7rJrr�r)r3r�r�r"r"r#�test_noncentral_f_small_df�sz(TestBroadcast.test_noncentral_f_small_dfcCsVdg}dg}tj}t�gd��}|��||d�}t||dd�tt||d�dS)NrAr;)g~�}�N?�?g�$F���?g'rS��?rGrkr�)rrTr7rJr�rrr>)r3r��bad_dfrTr�r�r"r"r#rU�szTestBroadcast.test_chisquarecCs�dg}dg}dg}dg}tj}t�gd��}|��||d|�}t||dd�tt||d|�tt||d|�|��|||d�}t||dd�tt|||d�tt|||d�dS)	NrArr;rB)g�� w�"@g2��WR@g���RY@rGrkr�)rr�r7rJr�rrr>)r3r�r�r�r�Znonc_chir�r�r"r"r#r��s z'TestBroadcast.test_noncentral_chisquarecCshdg}dg}tj}t�gd��}|��||d�}t||dd�tt||d�tttj|d�dS)NrAr;)gT
��@g~�F�l@gƚt��p�?rGrkr�)rr�r7rJr�rrr>)r3r�r��tr�r�r"r"r#r��szTestBroadcast.test_standard_tcCs�dg}dg}dg}tj}t�gd��}|��||d|�}t||dd�tt||d|�|��|||d�}t||dd�tt|||d�dS)NrrAr;)g��W!�@g��OB���g�}�?�rGrkr�)rr�r7rJr�rrr>)r3r�r�Z	bad_kappar�r�r�r"r"r#r��szTestBroadcast.test_vonmisescCshdg}dg}tj}t�gd��}|��||d�}t||dd�tt||d�tttj|d�dS)NrAr;)g&�8�?�?g�e��FX�?g�Ջː��?rGrkr�)rr�r7rJr�rrr>)r3r*r�r�r�r�r"r"r#r�szTestBroadcast.test_paretocCshdg}dg}tj}t�gd��}|��||d�}t||dd�tt||d�tttj|d�dSr�)rr�r7rJr�rrr>)r3r*r�r�r�r�r"r"r#r�szTestBroadcast.test_weibullcCshdg}dg}tj}t�gd��}|��||d�}t||dd�tt||d�tttj|d�dS)NrAr;r�rGrkr�)rr�r7rJr�rrr>)r3r*r�r�r�r�r"r"r#r�'szTestBroadcast.test_powercCs�dg}dg}dg}tj}t�gd��}|��||d|�}t||dd�tt||d|�|��|||d�}t||dd�tt|||d�dS)NrrAr;)g:��BKc�?g�3��k�?g�~q���?rGrkr�)rr{r7rJr�rrr>)r3rvrdr�r{r�r�r"r"r#r|5szTestBroadcast.test_laplacecCs�dg}dg}dg}tj}t�gd��}|��||d|�}t||dd�tt||d|�|��|||d�}t||dd�tt|||d�dS)NrrAr;)g�'��Zy�?g�dSO=�?g�3L�1��?rGrkr�)rrwr7rJr�rrr>)r3rvrdr�rwr�r�r"r"r#rxHszTestBroadcast.test_gumbelcCs�dg}dg}dg}tj}t�gd��}|��||d|�}t||dd�tt||d|�|��|||d�}t||dd�tt|||d�tt�dd	�d�dS)
NrrAr;)g“y��?g��J�R��?g�
~�&��?rGrkr�r�ra)	rr~r7rJr�rrr>r)r3rvrdr�r~r�r�r"r"r#r[szTestBroadcast.test_logisticcCs�dg}dg}dg}tj}t�gd��}|��||d|�}t||dd�tt||d|�tttj|d|�|��|||d�}t||dd�tt|||d�tttj||d�dS)NrrAr;)g����H"@g��ܮ�� @gvv	��:@rGrkr�)rr�r7rJr�rrr>)r3r�r�Z	bad_sigmar�r�r�r"r"r#r�oszTestBroadcast.test_lognormalcCsVdg}dg}tj}t�gd��}|��||d�}t||dd�tt||d�dS)NrAr;)gݱl�o��?g�/ӂ���?gz~�R�?rGrkr�)rr�r7rJr�rrr>)r3rdr�r�r�r�r"r"r#r��szTestBroadcast.test_rayleighcCsdg}dg}dg}dg}tj}t�gd��}|��||d|�}t||dd�tt||d|�tt||d|�tttj|d|�tttj|d|�|��|||d�}t||dd�tt|||d�tt|||d�tt|d	d�tt|dd	�dS)
Nr
rArrB)g@m� �e�?g��`�I߿?g��|2��?rGrkr�ra)rr�r7rJr�rrr>)r3r�rdZbad_meanr�r�r�r�r"r"r#r��s(zTestBroadcast.test_waldcCs�dg}dg}dg}dg}dg}|d\}}tj}t�gd��}	|��||d||�}
t|
|	dd�tt||d||�tt||d||�tt||d||�|��|||d|�}
t|
|	dd�tt|||d|�tt|||d|�tt|||d|�|��||||d�}
t|
|	dd�tt||||d�tt||||d�tt||||d�tt|dd	d
�tt|ddd
�tt|ddd�dS)NrArGrrH)g,�P;bD@g����%G@g,~S��@rkr�rrag4@g9@)rr�r7rJr�rrr>)r3r�r�r�Zbad_left_oneZbad_mode_oneZbad_left_twoZbad_mode_twor�r�r�r"r"r#r��sF��
�zTestBroadcast.test_triangularc	Cs�dg}dg}dg}dg}dg}tj}t�gd��}|��||d|�}t||�tt||d|�tt||d|�tt||d|�|��|||d�}t||�tt|||d�tt|||d�tt|||d�dS)NrAr
r;��?�rArArArG)rrr7rJr�rrr>)	r3r�rX�bad_n�	bad_p_one�	bad_p_twoZbinomr�r�r"r"r#rR�s&

zTestBroadcast.test_binomialc	Cs�dg}dg}dg}dg}dg}tj}t�gd��}|��||d|�}t||�tt||d|�tt||d|�tt||d|�|��|||d�}t||�tt|||d�tt|||d�tt|||d�dS)NrAr
r;r�)rArrArG)rrr7rJr�rrr>)	r3r�rXr�r�r�Z	neg_binomr�r�r"r"r#r��s&

z$TestBroadcast.test_negative_binomialcCsvt��j}dg}dg}|dg}tj}t�gd��}|��||d�}t||�tt	||d�tt	||d�dS)NrAr;r)rArArrG)
rr0Z_poisson_lam_maxrr7rJr�rrr>)r3Zmax_lamr�Zbad_lam_oneZbad_lam_tworr�r�r"r"r#r�s


zTestBroadcast.test_poissoncCs�dg}dg}tj}t�gd��}|��||d�}t||�tt||d�tjdd��2tt|tj	�tt|ddtj	g�Wd�n1s�0YdS)Nrr)rrrArGr�r�)
rrr7rJr�rrr>r�rZ)r3r*r�rr�r�r"r"r#r�s
zTestBroadcast.test_zipfcCshdg}dg}dg}tj}t�gd��}|��||d�}t||�tt||d�tt||d�dS)Nr
r;r�rirG)rrr7rJr�rrr>)r3rXr�r�Zgeomr�r�r"r"r#rqs
zTestBroadcast.test_geometriccCs�dg}dg}dg}dg}dg}dg}dg}tj}t�gd��}	|��||d||�}
t|
|	�tt||d||�tt||d||�tt||d||�tt||d||�|��|||d|�}
t|
|	�tt|||d|�tt|||d|�tt|||d|�tt|||d|�|��||||d�}
t|
|	�tt||||d�tt||||d�tt||||d�tt||||d�tt|dd	d
�tt|d	dd
�tt|d	d	d�tt|d	d	d�dS)NrArr;rBrrHr�rGrr�)rrr7rJr�rrr>)r3ZngoodZnbadZnsampleZ	bad_ngoodZbad_nbadZbad_nsample_oneZbad_nsample_twoZ	hypergeomr�r�r"r"r#rz+sD


z!TestBroadcast.test_hypergeometriccCshdg}dg}dg}tj}t�gd��}|��||d�}t||�tt||d�tt||d�dS)Nr
rr;r�rG)rrr7rJr�rrr>)r3rXr�r�rr�r�r"r"r#r�Ss
zTestBroadcast.test_logseriesN)#rRrSrTr�r�r�r�rLrar�rmrjr�r�rUr�r�r�r�r�r�r|rxrr�r�r�r�rRr�r�r�rqrzr�r"r"r"r#r�s@

#

(
(r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�
TestThreadcCstd�|_dS)NrH)r6�seedsr?r"r"r#r�cszTestThread.setup_methodcs�ddlm�t�t|j�f|�}t�t|j�f|�}��fdd�t|j|�D�}dd�|D�dd�|D�t|j|�D]\}}�t�|�|�q|t�	�j
jdkr�tj
dkr�t||�n
t||�dS)	Nr)�Threadcs&g|]\}}��t�|�|fd��qS))�target�args)rr0)r4r4�o�r��functionr"r#r6ms�z-TestThread.check_function.<locals>.<listcomp>cSsg|]}|���qSr")�start�r4rfr"r"r#r6or0cSsg|]}|���qSr")�joinr�r"r"r#r6pr0rH�win32)�	threadingr�r7r#r�r��ziprr0ZintprE�itemsizer��platformrr)r3r��szZout1Zout2r�r4r�r"r�r#�check_functionfs
�zTestThread.check_functioncCsdd�}|j|dd�dS)NcSs|jdd�|d<dS)N�'r�.)r��r&�outr"r"r#�
gen_random}sz*TestThread.test_normal.<locals>.gen_random)r�r�r�r3r	r"r"r#r�|szTestThread.test_normalcCsdd�}|j|dd�dS)NcSs|jt�d�d�|d<dS)N�rr.rc.)r`r7r*rr"r"r#r	�sz'TestThread.test_exp.<locals>.gen_randomr
r
rrr"r"r#�test_exp�szTestThread.test_expcCsdd�}|j|dd�dS)NcSs|jddgddd�|d<dS)Nrr�rrr�.)rrr"r"r#r	�sz/TestThread.test_multinomial.<locals>.gen_random)rrr
rrr"r"r#r��szTestThread.test_multinomialN)rRrSrTr�rr�rr�r"r"r"r#r�as
r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestSingleEltArrayInputcCs4t�dg�|_t�dg�|_t�dg�|_d|_dS)NrrGrHr9)r7rJ�argOne�argTwo�argThree�tgtShaper?r"r"r#r��sz$TestSingleEltArrayInput.setup_methodcCs�tjtjtjtjtjtjtjtjtj	tj
tjtjf}tjtjf}|D]6}||vrb|t
�dg��}n
||j�}t|j|j�qDdSr�)rr`r�rTr�r�r�r�r�rrrrr7rJrrrlr)r3�funcs�	probfuncsr�rr"r"r#�test_one_arg_funcs�s�
z*TestSingleEltArrayInput.test_one_arg_funcscCs�tjtjtjtjtjtjtjtjtj	tj
tjtjtj
tjf}tj
tjf}|D]v}||vrft�dg�}n|j}||j|�}t|j|j�||jd|�}t|j|j�||j|d�}t|j|j�qLdS)Nr
r)rr�r�rKrlrir�r�r{rwr~r�r�rrr7rJrrrrlr)r3rrr�rrr"r"r#�test_two_arg_funcs�s&�z*TestSingleEltArrayInput.test_two_arg_funcscCs�tjtjtjg}|D]l}||j|j|j�}t|j|j	�||jd|j|j�}t|j|j	�||j|jd|j�}t|j|j	�qdS)Nr)
rr�r�rrrrrrlr)r3rr�rr"r"r#�test_three_arg_funcs�s�z,TestSingleEltArrayInput.test_three_arg_funcsN)rRrSrTr�rrrr"r"r"r#r�srcCsDt�d�|\}}}tt|�}||ddi�}t|jt�d�k�dS)Nr�r�rr�)rrN�getattrrrEr7)r$�fnamer�r�rir�r"r"r#�test_integer_dtype�s



rcCsdt�d�|\}}}tt|�}||ddi�}tjdkr>|��}t�|�t	j
����}t||k�dS)Nr�r�r�r�)
rrNrr�r�r�r�r�r�r7r�r�r)r$rr�r�rir�r�r"r"r#�test_integer_repeat�s



rcCs�t�t��$tjdddgdd�Wd�n1s40Yt�t��$tjddgddd�Wd�n1sr0Yt�t��(tjddgddgdd�Wd�n1s�0YdS)NrArgffffff�?)rrAr�r)r�r�r>rrr"r"r"r#�test_broadcast_size_error�s22r))r�r�r�rZnumpyr7r�Z
numpy.testingrrrrrrrr	Znumpy.randomr
rrr*r r�rVr�r!Zfixturer$r,r-rUr\r�r�r�r�r�rrrrr"r"r"r#�<module>s|(�
�
�
/5W"qO/E

Zerion Mini Shell 1.0