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_random.cpython-36.pyc
3

���h-�@s�ddlZddlZddlmZmZmZmZmZm	Z	m
Z
mZddlmZddl
Z
Gdd�d�ZGdd�d�ZGdd	�d	�ZGd
d�d�ZGdd
�d
�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZdS)�N)�assert_�
assert_raises�assert_equal�assert_warns�assert_no_warnings�assert_array_equal�assert_array_almost_equal�suppress_warnings)�randomc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestSeedcCs<tjjd�}t|jd�d�tjjd�}t|jd�d�dS)Nri�i�l��i�)�npr
�RandomStater�randint)�self�s�r�?/tmp/pip-build-5_djhm0z/numpy/numpy/random/tests/test_random.py�test_scalarszTestSeed.test_scalarcCs�tjjtd��}t|jd�d�tjjtjd��}t|jd�d�tjjdg�}t|jd�d�tjjdg�}t|jd�d�dS)N�
i�i�ri�l��i	)rr
r
�rangerr�arange)rrrrr�
test_arrayszTestSeed.test_arraycCs$tttjjd�tttjjd�dS)Ng�?�g����)r�	TypeErrorrr
r
�
ValueError)rrrr�test_invalid_scalarszTestSeed.test_invalid_scalarcCsftttjjdg�tttjjdg�tttjjdg�tttjjdddg�tttjjdddg�dS)Ng�?rl�g�r���)rrrr
r
r)rrrr�test_invalid_array#s
zTestSeed.test_invalid_arraycCsXtttjjtjgtjd��tttjjdddgg�tttjjdddgdddgg�dS)N)�dtyperr����)rrrr
r
�array�int64)rrrr�test_invalid_array_shape+s

z!TestSeed.test_invalid_array_shapeN)�__name__�
__module__�__qualname__rrrrr'rrrrr
s

rc@seZdZdd�Zdd�ZdS)�TestBinomialcCsFtjddd�}x2dD]*}ttjd|�dk�ttj||�|�qWdS)Nr�int)r r��?r)rr-r)r�zerosrr
�binomialr)rr.�prrr�test_n_zero5s
zTestBinomial.test_n_zerocCstttjdtj�dS)Nr)rrr
r/r�nan)rrrr�
test_p_is_nan>szTestBinomial.test_p_is_nanN)r(r)r*r1r3rrrrr+4s	r+c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestMultinomialcCstjdddg�dS)N�dg�������?g�������?)r
�multinomial)rrrr�
test_basicDszTestMultinomial.test_basiccCstjddddddg�dS)Nr5g�������?g�������?g)r
r6)rrrr�test_zero_probabilityGsz%TestMultinomial.test_zero_probabilitycCsZtdtjdd�kodkn�tjddd�}ttjd	|k��ttj|d
k��dS)Nr#r���r9rrr9rr9r)rr
rr�all)r�xrrr�test_int_negative_intervalJs$z*TestMultinomial.test_int_negative_intervalcCs�ddg}ttjjd|tjd��jd�ttjjd|tjd��jd�ttjjd|tjd��jd�ttjjd|ddg�jd�ttjjd|d�jd	�ttjjd|tjd
��jd�tttjjd|t	d��dS)Ng�?rr)rr)rr)rr)rrr)rr)rrr)rr)rrr)
rrr
r6�uint32�shaper%rr�float)rr0rrr�	test_sizePszTestMultinomial.test_sizecCs�tttjjdddgg�tttjjddgdgg�tttjjddgdggdgdggg�tttjjdtjddgddgg��dS)Nrrr)rrrr
r6r%)rrrr�test_multidimensional_pvals^s&z+TestMultinomial.test_multidimensional_pvalsN)r(r)r*r7r8r<r@rArrrrr4Cs
r4c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestSetStatecCs$d|_tj|j�|_|jj�|_dS)Ni��I)�seedr
r
�prng�	get_state�state)rrrr�setupfszTestSetState.setupcCs<|jjd�}|jj|j�|jjd�}ttj||k��dS)N�)rDZtomaxint�	set_staterFrrr:)r�old�newrrrr7kszTestSetState.test_basiccCs@|jjdd�}|jj|j�|jjdd�}ttj||k��dS)Nr!)�size)rD�standard_normalrIrFrrr:)rrJrKrrr�test_gaussian_resetqsz TestSetState.test_gaussian_resetcCsR|jj�|jj�}|jjdd�}|jj|�|jjdd�}ttj||k��dS)Nr!)rL)rDrMrErIrrr:)rrFrJrKrrr� test_gaussian_reset_in_media_resxs

z-TestSetState.test_gaussian_reset_in_media_rescCsz|jdd�}|jjdd�}|jj|�|jjdd�}|jj|j�|jjdd�}ttj||k��ttj||k��dS)NrrH)rLr)rFrDrMrIrrr:)r�	old_stateZx1Zx2Zx3rrr�test_backwards_compatibility�sz)TestSetState.test_backwards_compatibilitycCs|jjdd�dS)Ng�?)rD�negative_binomial)rrrr�test_negative_binomial�sz#TestSetState.test_negative_binomialN)	r(r)r*rGr7rNrOrQrSrrrrrBesrBc	@s|eZdZejjZejejej	ej
ejejej
ejejg	Zdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�ZdS)�TestRandintcCstt|jdtd�dS)Nr)r )rr�rfuncr?)rrrr�test_unsupported_type�sz!TestRandint.test_unsupported_typecCs�x�|jD]�}|tjkrdn
tj|�j}|tjkr4dntj|�jd}tt|j|d||d�tt|j||d|d�tt|j|||d�tt|jdd|d�qWdS)Nrrr)r )	�ityper�bool_�iinfo�min�maxrrrU)r�dt�lbnd�ubndrrr�test_bounds_checking�sz TestRandint.test_bounds_checkingcCs�x�|jD]�}|tjkrdn
tj|�j}|tjkr4dntj|�jd}|d}t|j||dd|d�|�|}t|j||dd|d�|�||d}t|j||dd|d�|�qWdS)Nrrri�)rLr )rWrrXrYrZr[rrU)rr\r]r^�tgtrrr�test_rng_zero_and_extremes�sz&TestRandint.test_rng_zero_and_extremescCs�x�|jD]�}|tjkrdn
tj|�j}|tjkr4dntj|�jd}y|j|||d�Wqtk
r�}ztdt	|���WYdd}~XqXqWdS)Nrrr)r zMNo error should have been raised, but one was with the following message:

%s)
rWrrXrYrZr[rU�	Exception�AssertionError�str)rr\r]r^�errr�test_full_range�szTestRandint.test_full_rangecCs�tjj�xV|jdd�D]D}x>dD]6}|jd|d	|d�}t|j�|k�t|j�dk�q$WqW|jddd
tjd�}t|j�dk�t|j�dk�dS)Nrr"�rHr)rLr r)r"rgrHii)	rr
rCrWrUrr[rZrX)rr\r^�valsrrr�test_in_bounds_fuzz�s

zTestRandint.test_in_bounds_fuzzc
Cs�ddl}dddddddddd�	}x�|jdd�D]r}tjjd	�tjd
kr^|jddd|d
�}n|jddd|d
�j�}|j	|j
tj��j�}t
|tj|�j|k�q0Wtjjd	�|jdddtd
�j
tj�}|j	|�j�}t
|tjt�j|k�dS)NrZ 7dd3170d7aa461d201a65f8bcf3944b0Z 1b7741b80964bb190c50d541dca1cac1Z 4dc9fcc2b395577ebb51793e58ed1a05Z 17db902806f448331b5a758d7d2ee672Z 27dd30c4e08a797063dffac2490b0be6)	�bool�int16�int32r&�int8�uint16r=�uint64�uint8ri��littler$i�)rLr r)�hashlibrWrr
rC�sys�	byteorderrUZbyteswap�md5�viewrm�	hexdigestrr �namerj)rrrr`r\�val�resrrr�test_repeatability�s*
zTestRandint.test_repeatabilitycCs`tj}tjtj�j}tjtjtj�j�}tjtjtj�jd�}tjj|||d�}t||�dS)Nr)r )rr&rYr[ror
rr)rr\r`r]r^�actualrrr�test_int64_uint64_corner_case�s
z)TestRandint.test_int64_uint64_corner_casecCs�xh|jD]^}|tjkrdn
tj|�j}|tjkr4dntj|�jd}|j|||d�}t|jtj|��qWxxt	t
tjjfD]f}|t	kr�dn
tj|�j}|t	kr�dntj|�jd}|j|||d�}t
t|d��tt|�|�qzWdS)Nrrr)r r )rWrrXrYrZr[rUrr rjr,�compat�longr�hasattr�type)rr\r]r^�samplerrr�test_respect_dtype_singletonsz(TestRandint.test_respect_dtype_singletonN)r(r)r*rr
rrUrXrmrprkrnrlr=r&rorWrVr_rarfrir{r}r�rrrrrT�s	!rTc@s4eZdZdd�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^�Z1d_d`�Z2dadb�Z3dcdd�Z4dedf�Z5dgdh�Z6didj�Z7dkdl�Z8dmdn�Z9dodp�Z:dqdr�Z;dsdt�Z<dudv�Z=dwdx�Z>dydz�Z?d{d|�Z@d}d~�ZAdd��ZBd�d��ZCd�d��ZDd�d��ZEd�d��ZFd�d��ZGd�S)��TestRandomDistcCs
d|_dS)Ni��I)rC)rrrrrG#szTestRandomDist.setupcCsJtjj|j�tjjdd�}tjddgddgddgg�}t||d	d
�dS)Nr!rg_�\�*��?g�������?g<�p�?g�,��o��?g���H�?gZ������?�)�decimal)rr
rCZrandr%r)rr|�desiredrrr�	test_rand&s
zTestRandomDist.test_randcCsJtjj|j�tjjdd�}tjddgddgddgg�}t||d	d
�dS)Nr!rg�!�<Oq�?g4�u,�?g���3��?gL�I/D�?g�@��?@g�HS�\@r�)r�gL�I/DͿ)rr
rCZrandnr%r)rr|r�rrr�
test_randn.s
zTestRandomDist.test_randncCsJtjj|j�tjjd
ddd�}tjddgddgd
dgg�}t||�dS)N�cr!r)rL��4�)�0�Bi����)r!ri���i���i����)rr
rCrr%r)rr|r�rrr�test_randint6s
zTestRandomDist.test_randintcCsvtjj|j�t��2}|jt�}tjjdddd�}tt|�dk�WdQRXtj	ddgd
dgddgg�}t
||�dS)Nr�r!r)rLrr�r�r�r�r�i����)r!ri���i���i����)rr
rCr	�record�DeprecationWarning�random_integersr�lenr%r)r�sup�wr|r�rrr�test_random_integers>s

z#TestRandomDist.test_random_integerscCsdt��>}|jt�}tjjtjd�jtjd�j�}tt	|�dk�WdQRXtjd�j}t
||�dS)N�lr)r	r�r�rr
r�rYr[rr�r)rr�r�r|r�rrr�test_random_integers_max_intIs
z+TestRandomDist.test_random_integers_max_intc
Cs^tj��Ltjdt�tttjjtjd�j	�tttjjtjd�j	tjd�j	�WdQRXdS)N�errorr�)
�warnings�catch_warnings�simplefilterr�rrr
r�rYr[)rrrr�test_random_integers_deprecatedXs
z.TestRandomDist.test_random_integers_deprecatedcCsHtjj|j�tjjd�}tjddgddgddgg�}t||d	d
�dS)Nr!rg_�\�*��?g�������?g<�p�?g�,��o��?g���H�?gZ������?r�)r�)r!r)rr
rCr%r)rr|r�rrr�test_randomfs
zTestRandomDist.test_randomcCs<tjj|j�tjjdd�}tjddddg�}t||�dS)Nr"rr!)rr
rC�choicer%r)rr|r�rrr�test_choice_uniform_replacensz*TestRandomDist.test_choice_uniform_replacecCsHtjj|j�tjjddddddgd�}tjddddg�}t||�dS)Nr"g�������?g�������?)r0rr)rr
rCr�r%r)rr|r�rrr�test_choice_nonuniform_replacetsz-TestRandomDist.test_choice_nonuniform_replacecCs>tjj|j�tjjdddd�}tjdddg�}t||�dS)Nr"r!F)�replacerr)rr
rCr�r%r)rr|r�rrr�test_choice_uniform_noreplacezsz,TestRandomDist.test_choice_uniform_noreplacecCsHtjj|j�tjjdddddddgd�}tjddd	g�}t||�dS)
Nr"r!Fg�������?g333333�?g�?)r�r0rr)rr
rCr�r%r)rr|r�rrr� test_choice_nonuniform_noreplace�s
z/TestRandomDist.test_choice_nonuniform_noreplacecCsDtjj|j�tjjddddgd�}tjddddg�}t||�dS)N�a�b�c�dr")rr
rCr�r%r)rr|r�rrr�test_choice_noninteger�sz%TestRandomDist.test_choice_nonintegerc	CsFtjj}tt|dd�tt|dd�tt|ddgddggd�tt|gd�tt|ddddgdddgddggd�tt|ddgdddd	gd�tt|ddgdd
dgd�tt|ddgdddgd�tt|dddgddd
�tt|dddgddd
�tt|dddgddd
�tt|dddgddd
�tt|dddgdddddgd�dS)Nrr!g@rr"g�?)r0g�������?g�������?g�������?g�������?F)r�r)r�r0rg��������rr)rr)rr)rr
r�rr)rr�rrr�test_choice_exceptions�s z%TestRandomDist.test_choice_exceptionscCs<ddg}ttjtjjddd���ttjtjjddd���ttjtjjdd|d���ttjtjjdd|d���ttjtjjddgdd���ttjjdgdd�dk�tjddg�}tjdtd	�}||d
<ttjj|dd�|k�t�}ttjtjjd|dd���ttjtjjd|dd���ttjtjjd|d|d���ttjtjjd|d|d���ttjtjjddg|dd���ttjjdg|dd�j	d
k�tjddg�}tjdtd	�}||d
<ttjj||dd�j
�|k�d}dddddd
g}ttjjd|dd�j|�ttjjd|dd�j|�ttjjd|d|d�j|�ttjjd|d|d�j|�ttjjtj
d�|dd�j|�ttjjd
d
dd�jd�ttjjd
dd
d�jd�ttjjddd
d�jd�ttjjd
d
d�jd�ttjjgdd�jd�ttjjddgdd�jd�tttjjgd�dS)Ng�������?g�������?rT)r�F)r�r0r)r rr!g�������?g�������?r$r")rLrr�r�)rr!)r!rr")r!rr"i����)r)r)r)r)r)r!rr")r!rr")rrZisscalarr
r�r%�empty�object�tuple�ndim�itemrr>rrrr)rr0r�Zarrrrrr�test_choice_return_shape�sJ  " z'TestRandomDist.test_choice_return_shapecCs2tjdddg�}dddg}tttjj||d�dS)N�*rr)r0)rr%rrr
r�)rr�r0rrr�test_choice_nan_probabilities�s
z,TestRandomDist.test_choice_nan_probabilitiescCs,tjj|j�tjjd�}d}t||�dS)Nrs
�Ui���+Wf�)rr
rC�bytesr)rr|r�rrr�
test_bytes�szTestRandomDist.test_bytescCs�x�dd�dd�dd�dd�dd�dd�dd�d	d�d
d�dd�dd�gD]d}tjj|j�|d
dddddddddg
�}tjj|�|}|dd
ddddddddg
�}t||�qHWdS)NcSs
tjg�S)N)rr%)r;rrr�<lambda>�sz-TestRandomDist.test_shuffle.<locals>.<lambda>cSs|S)Nr)r;rrrr��scSstj|�jtj�S)N)r�asarray�astyperm)r;rrrr��scSstj|�jtj�S)N)rr�r��float32)r;rrrr��scSstj|�jtj�S)N)rr�r�Z	complex64)r;rrrr��scSstj|�jt�S)N)rr�r�r�)r;rrrr��scSsdd�|D�S)NcSsg|]}||f�qSrr)�.0�irrr�
<listcomp>�szATestRandomDist.test_shuffle.<locals>.<lambda>.<locals>.<listcomp>r)r;rrrr��scSstjdd�|D��S)NcSsg|]}||g�qSrr)r�r�rrrr��szATestRandomDist.test_shuffle.<locals>.<lambda>.<locals>.<listcomp>)rr�)r;rrrr��scSstj||g�jS)N)rZvstack�T)r;rrrr��scSs*tjdd�|D�dtfdtfg�jtj�S)NcSsg|]}||f�qSrr)r�r�rrrr��szATestRandomDist.test_shuffle.<locals>.<lambda>.<locals>.<listcomp>r�r�)rr�r,rvZrecarray)r;rrrr��scSs$tjdd�|D�dtfdtjfg�S)NcSsg|]}||f�qSrr)r�r�rrrr��szATestRandomDist.test_shuffle.<locals>.<lambda>.<locals>.<listcomp>r�r�)rr�r�rl)r;rrrr��srrr!r"r#r$�rg�	r)rr
rC�shuffler)r�conv�alistr|r�rrr�test_shuffle�s"zTestRandomDist.test_shufflecCs�tjjtjtd�d�ddd�}tjjtjd�ddd	�}|j�}|j�}xttd�D]h}tjj|�t	t
|j|j�t
|j|j��tjj|�t	t
|j|j�t
|j|j��qXWdS)
N�r#r"r!r�2)r#r"rr)
r�maZ
masked_valuesZreshaperr�copyr
r�r�sorted�data�mask)rr�r�Za_origZb_origr�rrr�test_shuffle_masked�s"$z"TestRandomDist.test_shuffle_maskedcCsNtjj|j�tjjdddd�}tjddgdd	gd
dgg�}t||dd
�dS)Ng�������?g�������?r!r)rLgA�Kč?g���hA?g �҇o�>gάXf�+q?gS��1�$?g'8zX� ?r�)r�)r!r)rr
rC�betar%r)rr|r�rrr�	test_betaszTestRandomDist.test_betacCsJtjj|j�tjjdddd�}tjddgdd	gd
dgg�}t||�dS)
Nr5g�v��/�?r!r)rL�%�+r�r��.�-)r!r)rr
rCr/r%r)rr|r�rrr�
test_binomial
s
zTestRandomDist.test_binomialcCsLtjj|j�tjjdd
d�}tjddgddgd	d
gg�}t||dd�dS)Nr�r!r)rLg+Q�]u�O@g����+Q@gY7`�ZqP@g�e�(f�G@g�v�t�R@gEIȋR@�
)r�)r!r)rr
rC�	chisquarer%r)rr|r�rrr�test_chisquares
zTestRandomDist.test_chisquarecCsttjj|j�tjddg�}tjjj|dd�}tjddgdd	ggd
dgdd
ggddgddggg�}t||dd�dS)Ng��I<�I@g��EZ�C@r!r)rLg�i{
�s�?gn,	�A�?g��]�^��?gpD�B�?gȧ#�y��?gr�����?g��1U��?g�Ѩ�UC�?g��^,%��?g��B���?gډOoX;�?gM�`!O��?r�)r�)r!r)rr
rCr%�mtrand�	dirichletr)r�alphar|r�rrr�test_dirichlets
zTestRandomDist.test_dirichletcCs�tjddg�}ttjj|tjd��jd�ttjj|tjd��jd�ttjj|tjd��jd�ttjj|ddg�jd�ttjj|d	�jd
�ttjj|tjd��jd�tttjj|t	d��dS)
Ng��I<�I@g��EZ�C@rr)rr)rr)rr)rrr)rr)rrr)rr)rrr)
rr%rr
r�r=r>rrr?)rr0rrr�test_dirichlet_size&sz"TestRandomDist.test_dirichlet_sizecCs�tjddg�}tttjjj|�tttjddgg�tttjdgdgg�tttjdgdggdgdggg�tttjtjddgddgg��dS)NgH�z�G�?g��ؗ�Ҝ<r#rg��ؗ�Ҝ�)rr%rrr
r�r�)rr�rrr�test_dirichlet_bad_alpha2s"z'TestRandomDist.test_dirichlet_bad_alphacCsLtjj|j�tjjdd
d�}tjddgddgd	d
gg�}t||dd�dS)Ng�8EGr��?r!r)rLgN��U�?gbI0��?g�VU\��@g�:��3�@g��U��?g��"qo�?r�)r�)r!r)rr
rC�exponentialr%r)rr|r�rrr�test_exponential=s
zTestRandomDist.test_exponentialcCs*ttjjdd�d�tttjjdd�dS)Nr)�scalegg�)rrr
r�rr)rrrr�test_exponential_0Esz!TestRandomDist.test_exponential_0cCsNtjj|j�tjjdddd�}tjddgdd	gd
dgg�}t||dd
�dS)N��Mr!r)rLg7���?g�`j���?g6�"+�?gܳ2>���?g�c�>+Y�?g�_}�S��?r�)r�)r!r)rr
rC�fr%r)rr|r�rrr�test_fIs
zTestRandomDist.test_fcCsNtjj|j�tjjddd
d�}tjddgddgd	d
gg�}t||dd�dS)Nr#r!r)rLgԏGM�8@g���Ȍ<@g�	�":@g�v���#)@gZQ��?@gr��[��@@�)r�)r!r)rr
rC�gammar%r)rr|r�rrr�
test_gammaQs
zTestRandomDist.test_gammacCs.ttjjddd�d�tttjjddd�dS)Nr)r>r�gg�g�)rrr
r�rr)rrrr�test_gamma_0YszTestRandomDist.test_gamma_0cCsHtjj|j�tjjdd
d�}tjddgddgdd	gg�}t||�dS)Ng_c97ݚ�?r!r)rLrgr��r#r�)r!r)rr
rC�	geometricr%r)rr|r�rrr�test_geometric]s
zTestRandomDist.test_geometriccCsNtjj|j�tjjdddd�}tjddgddgd
dgg�}t||dd
�dS)Ng_c97ݚ�?g@r!r)�locr�rLg�ؕ��?g�s0��?g��#0�?g�(�x��?g-�K�D��?g�ůp`@�?r�)r�)r!rg��#0��g�(�x���g�ůp`@�)rr
rC�gumbelr%r)rr|r�rrr�test_gumbeles
zTestRandomDist.test_gumbelcCs*ttjjdd�d�tttjjdd�dS)Nr)r�gg�)rrr
r�rr)rrrr�
test_gumbel_0mszTestRandomDist.test_gumbel_0cCstjj|j�tjjddddd�}tjddgddgddgg�}t||�tjjdddd	d�}tjddddg�}t||�tjjd
ddd	d�}tjddddg�}t||�tjjdddd	d�}tjddddg�}t||�tjjdd
dd	d�}tjddddg�}t||�dS)
Nrr#r�r!r)rLr�rr"r�r�)r!r)rr
rC�hypergeometricr%r)rr|r�rrr�test_hypergeometricqs$




z"TestRandomDist.test_hypergeometriccCsNtjj|j�tjjdddd�}tjddgdd	gddgg�}t||dd
�dS)Ng_c97ݚ�?g@r!r)r�r�rLg� b�O�?g�¸����?gpJm��	@g{K�*�t	@g�:^w-��?g�Y~o���?r�)r�)r!rg�:^w-���)rr
rC�laplacer%r)rr|r�rrr�test_laplace�s
zTestRandomDist.test_laplacecCs*ttjjdd�d�tttjjdd�dS)Nr)r�gg�)rrr
r�rr)rrrr�test_laplace_0�szTestRandomDist.test_laplace_0cCsNtjj|j�tjjdddd�}tjddgdd	gddgg�}t||dd
�dS)Ng_c97ݚ�?g@r!r)r�r�rLg#��K-z�?g��J���?g�92��@gر�[@g�#+^��?g��-��@r�)r�)r!rg�#+^�˿)rr
rC�logisticr%r)rr|r�rrr�
test_logistic�s
zTestRandomDist.test_logisticcCsNtjj|j�tjjdddd�}tjddgdd	gd
dgg�}t||dd
�dS)Ng_c97ݚ�?g@r!r)�mean�sigmarLg����Ɂ0@go�,+4FB@g���)ʭ6@g��5���?gn�xN�nP@g��)���U@r�)r�)r!r)rr
rC�	lognormalr%r)rr|r�rrr�test_lognormal�s
zTestRandomDist.test_lognormalcCs*ttjjdd�d�tttjjdd�dS)Nr)r�rgg�)rrr
r�rr)rrrr�test_lognormal_0�szTestRandomDist.test_lognormal_0cCsHtjj|j�tjjddd�}tjddgddgddgg�}t||�dS)Ngƀ@���?r!r)r0rLr$r�)r!r)rr
rC�	logseriesr%r)rr|r�rrr�test_logseries�s
zTestRandomDist.test_logseriesc
Cs�tjj|j�tjjddgdd
d�}tjddd	dddgd	dd
dddggddddddgddddddggdddd	ddgddddddggg�}t||�dS)Nr�rg@r$r!r)rLr"r#rgrgUUUUUU�?)r!r)rr
rCr6r%r)rr|r�rrr�test_multinomial�szTestRandomDist.test_multinomialc
CsRtjj|j�d}ddgddgg}d}tjj|||�}tjddgd	d
ggddgd
dggddgddggg�}t||dd�tjj||�}tjddg�}t||dd�ddg}ddgddgg}tttjj||�ttjj||dd�t	t
tjj||dd�tjddgddggtjd�}t��0}tjj||�|j
t�}t|�dk�sDt�WdQRXdS)N�_c97ݚ�?rrrr!rg4�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"@�ignore)Zcheck_valid�raiseg�������?)r )r�r)r!rg�4�x���)rr
rCZmultivariate_normalr%rr�RuntimeWarningrrrr�r	r�r�rc)rr�ZcovrLr|r�r�r�rrr�test_multivariate_normal�s6

z'TestRandomDist.test_multivariate_normalcCsJtjj|j�tjjdddd�}tjddgdd	gd
dgg�}t||�dS)
Nr5g|�Pk��?r!r)�nr0rLiPiIi|icii�)r!r)rr
rCrRr%r)rr|r�rrrrS�s
z%TestRandomDist.test_negative_binomialcCs�tjj|j�tjjdddd�}tjddgddgd	d
gg�}t||dd�tjjd
ddd�}tjddgddgddgg�}t||dd�tjj|j�tjjdddd�}tjddgddgddgg�}t||dd�dS)Nr#r!r)�df�noncrLg��G�7@g!��ܴ*@g�1}�z9?@g�+驸�0@g26E_r#@g��I�!�1@r�)r�g�?g�������?g�����?g��T��D�?g��?T�?g�+�qnl�?g�~|�D�?g밬���?rg�{�0�1#@gp���rs'@g�~;���$@g"��dI�
@g����*@g�}�'�,@)r!r)r!r)r!r)rr
rC�noncentral_chisquarer%r)rr|r�rrr�test_noncentral_chisquare�s"


z(TestRandomDist.test_noncentral_chisquarecCsPtjj|j�tjjddddd�}tjddgdd	gd
dgg�}t||dd
�dS)Nr#rrr!)�dfnum�dfdenrrLg�^���~�?g�/+c���?g"��.�@g������@g�7���?g��E���?r�)r�)r!r)rr
rC�noncentral_fr%r)rr|r�rrr�test_noncentral_fs
z TestRandomDist.test_noncentral_fcCsNtjj|j�tjjdddd�}tjddgddgd
dgg�}t||dd
�dS)Ng_c97ݚ�?g@r!r)r�r�rLg�&&n@gO�G_�@g�~w��@gt��w]�?gm&�5��@g��$�>�@r�)r�)r!rgt��w]տ)rr
rC�normalr%r)rr|r�rrr�test_normals
zTestRandomDist.test_normalcCs*ttjjdd�d�tttjjdd�dS)Nr)r�gg�)rrr
rrr)rrrr�
test_normal_0szTestRandomDist.test_normal_0cCsPtjj|j�tjjdd
d�}tjddgddgd	d
gg�}tjj||dd�dS)Ng_c97ݚ�?r!r)r�rLg�W�I�@g
�Ԩy�@gy��]�0�Ag1~��\�Ag����a@g�Y�
�7A�)Znulp)r!r)rr
rC�paretor%�testingZassert_array_almost_equal_nulp)rr|r�rrr�test_paretoszTestRandomDist.test_paretocCsHtjj|j�tjjddd�}tjddgddgddgg�}t||�dS)Ng_c97ݚ�?r!r)�lamrLrr)r!r)rr
rC�poissonr%r)rr|r�rrr�test_poisson's
zTestRandomDist.test_poissoncCs`tjd�j}d}tttjj|�tttjj|gd�tttjj|�tttjj|gd�dS)Nr�rrr)rrYr[rrr
r)rZlambigZlamnegrrr�test_poisson_exceptions/sz&TestRandomDist.test_poisson_exceptionscCsLtjj|j�tjjdd
d�}tjddgddgd	d
gg�}t||dd�dS)Ng_c97ݚ�?r!r)r�rLg�;�'��?gܴ�w�*�?g��5��?gF�G�?g��D]?g��$`��?r�)r�)r!r)rr
rC�powerr%r)rr|r�rrr�
test_power7s
zTestRandomDist.test_powercCsLtjj|j�tjjdd
d�}tjddgddgd	d
gg�}t||dd�dS)Nrr!r)r�rLg"�u���+@g�N$MB�*@g7v8B�4@g���55@ge��&@g~�ӣ�Z1@r�)r�)r!r)rr
rC�rayleighr%r)rr|r�rrr�
test_rayleigh?s
zTestRandomDist.test_rayleighcCs*ttjjdd�d�tttjjdd�dS)Nr)r�gg�)rrr
rrr)rrrr�test_rayleigh_0GszTestRandomDist.test_rayleigh_0cCsJtjj|j�tjjdd�}tjdd
gddgdd	gg�}t||d
d�dS)Nr!r)rLgMo�DL��?g6�([9@g�rF=��?g�M'	-�@g�V��@gVA:�Qy�?r�)r�)r!rg6�([9�g�M'	-��g�V���)rr
rCZstandard_cauchyr%r)rr|r�rrr�test_standard_cauchyKs
z#TestRandomDist.test_standard_cauchycCsJtjj|j�tjjdd�}tjddgddgdd	gg�}t||d
d�dS)
Nr!r)rLg���܁��?gc!z��?g&N��"�@g�NI��@gF��>���?g�~�ME�?r�)r�)r!r)rr
rCZstandard_exponentialr%r)rr|r�rrr�test_standard_exponentialSs
z(TestRandomDist.test_standard_exponentialcCsLtjj|j�tjjddd�}tjddgddgdd	gg�}t||d
d�dS)
Nr!r)r>rLg)��@g��ľ��@gd]�,q�@gP�k�{@g9B#�1@g��v�� @r�)r�)r!r)rr
rC�standard_gammar%r)rr|r�rrr�test_standard_gamma[s
z"TestRandomDist.test_standard_gammacCs*ttjjdd�d�tttjjdd�dS)Nr)r>gg�)rrr
rrr)rrrr�test_standard_gamma_0csz$TestRandomDist.test_standard_gamma_0cCsJtjj|j�tjjdd�}tjddgdd
gdd	gg�}t||d
d�dS)Nr!r)rLg�!�<Oq�?g4�u,�?g���3��?gL�I/D�?g�@��?@g�HS�\@r�)r�)r!rgL�I/DͿ)rr
rCrMr%r)rr|r�rrr�test_standard_normalgs
z#TestRandomDist.test_standard_normalcCsLtjj|j�tjjdd
d�}tjddgddgdd
gg�}t||dd�dS)Nrr!r)rrLg\V�H��?g�hU�%��?g�H$�M�?g���L���?gV�qdz��?g㖀���?r�)r�)r!rg�hU�%���g���L���gV�qdz�ǿ)rr
rC�
standard_tr%r)rr|r�rrr�test_standard_tos
zTestRandomDist.test_standard_tcCsPtjj|j�tjjddddd�}tjddgd	d
gddgg�}t||d
d�dS)Ng{�G�z@g�(\��u$@gףp=
W4@r!r)�left�mode�rightrLg:�}��\)@ghرTj�(@g�ǨL�30@g6ڜ��A0@g6���sh&@g��<��,@r�)r�)r!r)rr
rC�
triangularr%r)rr|r�rrr�test_triangularws
zTestRandomDist.test_triangularcCsNtjj|j�tjjdddd�}tjddgdd	gd
dgg�}t||dd
�dS)Ng�G�z��?g�G�z%@r!r)�low�highrLg>#�H�@g��u��@g��#@g�}d]#@g���N��@g�w)*� @r�)r�)r!r)rr
rC�uniformr%r)rr|r�rrr�test_uniform�s
zTestRandomDist.test_uniformcCs�tjd�j}tjd�j}tjj}tt|tjd�tt|dtj�tt|||�tt|tjgdg�tt|dgtjg�tjjtj	|d�|dd�dS)Nr?rrg�؅W4vC)r)r*)
rZfinforZr[r
r+r�
OverflowError�infZ	nextafter)rZfminZfmax�funcrrr�test_uniform_range_bounds�sz(TestRandomDist.test_uniform_range_boundscCsnGdd�dtj�}tjd�j|�}tttjj||�Gdd�dtj�}tjd�j|�}tttjj|dd�dS)Nc@seZdZdd�ZdS)zGTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloatcSst�dS)N)r)rrrr�	__float__�szQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloat.__float__N)r(r)r*r1rrrr�
ThrowingFloat�sr2g�?c@seZdZdd�ZeZdS)zITestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingIntegercSst�dS)N)r)rrrr�__int__�szQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingInteger.__int__N)r(r)r*r3�	__index__rrrr�ThrowingInteger�sr5r)	rZndarrayr%rvrrr
r+r�)rr2Zthrowing_floatr5Zthrowing_intrrr�!test_scalar_exception_propagation�sz0TestRandomDist.test_scalar_exception_propagationcCsNtjj|j�tjjdddd�}tjddgdd	gd
dgg�}t||dd
�dS)Ng�G�z��?g�p=
ף�?r!r)�mu�kapparLgL�ZI@g��'N"@g����kr�?g�k=m�@g��ډ�?g�^�=�\�?r�)r�)r!r)rr
rC�vonmisesr%r)rr|r�rrr�
test_vonmises�s
zTestRandomDist.test_vonmisescCs:tjj|j�tjjdddd�}tjjtj|�j��dS)Nggg5_P�G>rr$)r7r8rLi@B)rr
rCr9rr�isfiniter:)r�rrrr�test_vonmises_small�sz"TestRandomDist.test_vonmises_smallcCsNtjj|j�tjjdddd�}tjddgdd	gd
dgg�}t||dd
�dS)Ng�G�z��?g�p=
ף�?r!r)r�r�rLg�Z���@g-�
g�@g�8
��m�?g��VP"�?g`V���?gx�^�&3�?r�)r�)r!r)rr
rC�waldr%r)rr|r�rrr�	test_wald�s
zTestRandomDist.test_waldcCsLtjj|j�tjjdd
d�}tjddgddgd	d
gg�}t||dd�dS)Ng�G�z��?r!r)r�rLg@��6�?g���]A�?g(�1ڥR�?g��U��?g��2�_u�?g^}-�Q�?r�)r�)r!r)rr
rC�weibullr%r)rr|r�rrr�test_weibull�s
zTestRandomDist.test_weibullcCs@tjj|j�ttjjddd�tjd��tttjjdd�dS)Nrr�)r�rLg)r�g�)rr
rCrr@r.rr)rrrr�test_weibull_0�szTestRandomDist.test_weibull_0cCsHtjj|j�tjjdd	d�}tjddgddgddgg�}t||�dS)
Ng�G�z��?r!r)r�rLr��rr�)r!r)rr
rC�zipfr%r)rr|r�rrr�	test_zipf�s
zTestRandomDist.test_zipfN)Hr(r)r*rGr�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�rrSrrr
rrrrrrrrrrr r!r#r(r,r0r6r:r=r?rArBrErrrrr�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"dAS)B�
TestBroadcastcCs
d|_dS)Ni�[)rC)rrrrrG�szTestBroadcast.setupcCstjj|j�dS)N)rr
rC)rrrr�setSeed�szTestBroadcast.setSeedcCspdg}dg}tjj}tjdddg�}|j�||d|�}t||dd�|j�|||d�}t||dd�dS)	Nrrg�l���?g_x
���?g=�*BN�?r!r�)r�)rr
r+r%rGr)rr)r*r+r�r|rrrr,�szTestBroadcast.test_uniformcCs�dg}dg}d	g}tjj}tjdddg�}|j�||d|�}t||dd�tt||d|�|j�|||d�}t||dd�tt|||d�dS)
Nrrg-r��@g�Y�l�@g-�`�w�?r!r�)r�r)rr
rr%rGrrr)rr�r��	bad_scalerr�r|rrrr
�szTestBroadcast.test_normalcCs�dg}dg}d	g}d
g}tjj}tjdddg�}|j�||d|�}t||dd�tt||d|�tt||d|�|j�|||d�}t||dd�tt|||d�tt|||d�dS)Nrrgn�QVf�?gV���KB�?gv�`k��?r!r�)r�rr)rr
r�r%rGrrr)rr�r��bad_aZbad_br�r�r|rrrr�s$zTestBroadcast.test_betacCsZdg}dg}tjj}tjdddg�}|j�||d�}t||dd�tt||d�dS)	Nrg�.Ug�Z�?giPr�q�?g��E
K��?r!r�)r�r)rr
r�r%rGrrr)rr�rHr�r�r|rrrr�!szTestBroadcast.test_exponentialcCsZdg}dg}tjj}tjdddg�}|j�||d�}t||dd�tt||d�dS)	Nrg�.Ug�Z�?giPr�q�?g��E
K��?r!r�)r�r)rr
rr%rGrrr)rr>�	bad_shapeZ	std_gammar�r|rrrr.sz!TestBroadcast.test_standard_gammacCs�dg}dg}d	g}d
g}tjj}tjdddg�}|j�||d|�}t||dd�tt||d|�tt||d|�|j�|||d�}t||dd�tt|||d�tt|||d�dS)Nrrg�.Ug�Z�?giPr�q�?g��E
K�?r!r�)r�rr)rr
r�r%rGrrr)rr>r�rJrHr�r�r|rrrr�;s$zTestBroadcast.test_gammacCs�dg}dg}d	g}d
g}tjj}tjdddg�}|j�||d|�}t||dd�tt||d|�tt||d|�|j�|||d�}t||dd�tt|||d�tt|||d�dS)Nrrgb��yʜ�?g��o���?gT��7�@r!r�)r�rr)rr
r�r%rGrrr)rrr	�	bad_dfnum�	bad_dfdenr�r�r|rrrr�Qs$zTestBroadcast.test_fc
Csfdg}dg}dg}dg}dg}dg}tjj}tjdddg�}|j�||d||�}	t|	|d	d
�tt||d||�tt||d||�tt||d||�|j�|||d|�}	t|	|d	d
�tt|||d|�tt|||d|�tt|||d|�|j�||||d�}	t|	|d	d
�tt||||d�tt||||d�tt||||d�dS)
Nrr!r"rrg�r�^G"@g/�
*@g���ц�!@r�)r�rr)rr
r
r%rGrrr)
rrr	rrKrL�bad_noncZnonc_fr�r|rrrrgs8zTestBroadcast.test_noncentral_fcCs<|j�tjddg�}tjjddddd�}t||dd�dS)Ng��a��z@gn4M;�%�?g�������?r)rLr�)r�)rGrr%r
r
r)rr�r|rrr�test_noncentral_f_small_df�sz(TestBroadcast.test_noncentral_f_small_dfcCsZdg}dg}tjj}tjdddg�}|j�||d�}t||dd�tt||d�dS)	Nrg~�}�N?�?g�$F���?g'rS��?r!r�)r�r)rr
r�r%rGrrr)rr�bad_dfr�r�r|rrrr��szTestBroadcast.test_chisquarecCs�dg}dg}d	g}d
g}tjj}tjdddg�}|j�||d|�}t||dd�tt||d|�tt||d|�|j�|||d�}t||dd�tt|||d�tt|||d�dS)Nrrg�� w�"@g2��WR@g���RY@r!r�)r�rr)rr
rr%rGrrr)rrrrOrMZnonc_chir�r|rrrr�s$z'TestBroadcast.test_noncentral_chisquarecCsZdg}dg}tjj}tjdddg�}|j�||d�}t||dd�tt||d�dS)	NrgT
��@g~�F�l@gƚt��p�?r!r�)r�r)rr
r"r%rGrrr)rrrO�tr�r|rrrr#�szTestBroadcast.test_standard_tcCs�dg}dg}d	g}tjj}tjdd
dg�}|j�||d|�}t||dd�tt||d|�|j�|||d�}t||dd�tt|||d�dS)Nrrg��W!�@g��OB��@g�}�?�?r!r�)r�rg��OB���g�}�?�)rr
r9r%rGrrr)rr7r8Z	bad_kappar9r�r|rrrr:�szTestBroadcast.test_vonmisescCsZdg}dg}tjj}tjdddg�}|j�||d�}t||dd�tt||d�dS)	Nrg&�8�?�?g�e��FX�?g�Ջː��?r!r�)r�r)rr
rr%rGrrr)rr�rIrr�r|rrrr�szTestBroadcast.test_paretocCsZdg}dg}tjj}tjdddg�}|j�||d�}t||dd�tt||d�dS)	Nrg�.Ug�Z�?giPr�q�?g��E
K��?r!r�)r�r)rr
r@r%rGrrr)rr�rIr@r�r|rrrrA�szTestBroadcast.test_weibullcCsZdg}dg}tjj}tjdddg�}|j�||d�}t||dd�tt||d�dS)	Nrg�l���?g_x
���?g=�*BN�?r!r�)r�r)rr
rr%rGrrr)rr�rIrr�r|rrrr�szTestBroadcast.test_powercCs�dg}dg}d	g}tjj}tjdddg�}|j�||d|�}t||dd�tt||d|�|j�|||d�}t||dd�tt|||d�dS)
Nrrg:��BKc�?g�3��k�?g�~q���?r!r�)r�r)rr
r�r%rGrrr)rr�r�rHr�r�r|rrrr��szTestBroadcast.test_laplacecCs�dg}dg}d	g}tjj}tjdddg�}|j�||d|�}t||dd�tt||d|�|j�|||d�}t||dd�tt|||d�dS)
Nrrg�'��Zy�?g�dSO=�?g�3L�1��?r!r�)r�r)rr
r�r%rGrrr)rr�r�rHr�r�r|rrrr�szTestBroadcast.test_gumbelcCs�dg}dg}d	g}tjj}tjdddg�}|j�||d|�}t||dd�tt||d|�|j�|||d�}t||dd�tt|||d�dS)
Nrrg“y��?g��J�R��?g�
~�&��?r!r�)r�r)rr
r�r%rGrrr)rr�r�rHr�r�r|rrrr�szTestBroadcast.test_logisticcCs�dg}dg}d	g}tjj}tjdddg�}|j�||d|�}t||dd�tt||d|�|j�|||d�}t||dd�tt|||d�dS)
Nrrg����H"@g��ܮ�� @gvv	��:@r!r�)r�r)rr
r�r%rGrrr)rr�r�Z	bad_sigmar�r�r|rrrr�1szTestBroadcast.test_lognormalcCsZdg}dg}tjj}tjdddg�}|j�||d�}t||dd�tt||d�dS)	Nrgݱl�o��?g�/ӂ���?gz~�R�?r!r�)r�r)rr
rr%rGrrr)rr�rHrr�r|rrrrDszTestBroadcast.test_rayleighcCs�dg}dg}dg}dg}tjj}tjdddg�}|j�||d|�}t||d	d
�tt||d|�tt||d|�|j�|||d�}t||d	d
�tt|||d�tt|||d�tt|dd�tt|dd�dS)
Ng�?rrrg@m� �e�?g��`�I߿?g��|2��?r!r�)r�gr)rr
r>r%rGrrr)rr�r�Zbad_meanrHr>r�r|rrrr?Qs(zTestBroadcast.test_waldcCsldg}dg}dg}dg}dg}|d\}}tjj}tjdddg�}	|j�||d||�}
t|
|	dd	�tt||d||�tt||d||�tt||d||�|j�|||d|�}
t|
|	dd	�tt|||d|�tt|||d|�tt|||d|�|j�||||d�}
t|
|	dd	�tt||||d�tt||||d�tt||||d�dS)
Nrr!rr"g,�P;bD@g����%G@g,~S��@r�)r�)rr
r'r%rGrrr)rr$r&r%Zbad_left_oneZbad_mode_oneZbad_left_twoZbad_mode_twor'r�r|rrrr(is>
zTestBroadcast.test_triangularc	Cs�dg}dg}dg}dg}dg}tjj}tjdddg�}|j�||d|�}t||�tt||d|�tt||d|�tt||d|�|j�|||d�}t||�tt|||d�tt|||d�tt|||d�dS)Nrg�?g�?r!rr)rr
r/r%rGrrr)	rrr0�bad_n�	bad_p_one�	bad_p_twoZbinomr�r|rrrr��s&

zTestBroadcast.test_binomialc	Cs�dg}dg}dg}dg}dg}tjj}tjdddg�}|j�||d|�}t||�tt||d|�tt||d|�tt||d|�|j�|||d�}t||�tt|||d�tt|||d�tt|||d�dS)Nrg�?g�?rr!rr)rr
rRr%rGrrr)	rrr0rQrRrSZ	neg_binomr�r|rrrrS�s&

z$TestBroadcast.test_negative_binomialcCs|tjj�j}dg}dg}|dg}tjj}tjdddg�}|j�||d�}t||�tt	||d�tt	||d�dS)Nrrrr!r)
rr
r
Z_poisson_lam_maxrr%rGrrr)rZmax_lamrZbad_lam_oneZbad_lam_tworr�r|rrrr�s

zTestBroadcast.test_poissonc
Cs�dg}dg}tjj}tjdddg�}|j�||d�}t||�tt||d�tjdd��(tt|tj	�tt|ddtj	g�WdQRXdS)Nrrrr!r�)�invalid)
rr
rDr%rGrrrZerrstater2)rr�rIrDr�r|rrrrE�s
zTestBroadcast.test_zipfcCsldg}dg}dg}tjj}tjdddg�}|j�||d�}t||�tt||d�tt||d�dS)Ng�?rg�?rr!r)rr
r�r%rGrrr)rr0rRrSZgeomr�r|rrrr��s
zTestBroadcast.test_geometriccCs�dg}dg}dg}dg}dg}dg}dg}tjj}tjdddg�}	|j�||d||�}
t|
|	�tt||d||�tt||d||�tt||d||�tt||d||�|j�|||d|�}
t|
|	�tt|||d|�tt|||d|�tt|||d|�tt|||d|�|j�||||d�}
t|
|	�tt||||d�tt||||d�tt||||d�tt||||d�dS)Nrrrr"r!rr)rr
r�r%rGrrr)rZngoodZnbadZnsampleZ	bad_ngoodZbad_nbadZbad_nsample_oneZbad_nsample_twoZ	hypergeomr�r|rrrr��s<


z!TestBroadcast.test_hypergeometriccCsldg}dg}dg}tjj}tjdddg�}|j�||d�}t||�tt||d�tt||d�dS)Ng�?rrr!r)rr
r�r%rGrrr)rr0rRrSr�r�r|rrrr�s
zTestBroadcast.test_logseriesN)#r(r)r*rGrGr,r
r�r�rr�r�rrNr�rr#r:rrArr�r�r�r�rr?r(r�rSrrEr�r�r�rrrrrF�s@

!





$
#rFc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�
TestThreadcCstd�|_dS)Nr")r�seeds)rrrrrGszTestThread.setupcs�ddlm�tjt|j�f|�}tjt|j�f|�}��fdd�t|j|�D�}dd�|D�dd�|D�x*t|j|�D]\}}�tjj|�|�q~Wtj	�j
jdkr�tj
dkr�t||�n
t||�dS)	Nr)�Threadcs(g|] \}}��tjj|�|fd��qS))�target�args)rr
r
)r�r�o)rW�functionrrr�"sz-TestThread.check_function.<locals>.<listcomp>cSsg|]}|j��qSr)�start)r�r;rrrr�$scSsg|]}|j��qSr)�join)r�r;rrrr�%sr"�win32)�	threadingrWrr�r�rV�zipr
r
Zintpr �itemsizers�platformrr)rr[�szZout1Zout2rPrrZr)rWr[r�check_functionszTestThread.check_functioncCsdd�}|j|dd�dS)NcSs|jdd�|d<dS)Ni')rL.)r)rF�outrrr�
gen_random2sz*TestThread.test_normal.<locals>.gen_random�')rc)rg)rd)rrfrrrr
1szTestThread.test_normalcCsdd�}|j|dd�dS)NcSs|jtjd�d�|d<dS)Nr5��)r�.)r5rh)r�rZones)rFrerrrrf7sz'TestThread.test_exp.<locals>.gen_randomr5��)rc)r5ri)rd)rrfrrr�test_exp6szTestThread.test_expcCsdd�}|j|dd�dS)NcSs|jddgddd�|d<dS)	Nrrg@r$i')rL.gUUUUUU�?)r6)rFrerrrrf<sz/TestThread.test_multinomial.<locals>.gen_random�'r$)rc)rkr$)rd)rrfrrrr�;szTestThread.test_multinomialN)r(r)r*rGrdr
rjr�rrrrrUs
rUc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestSingleEltArrayInputcCs4tjdg�|_tjdg�|_tjdg�|_d|_dS)Nrr!r"r)r)rr%�argOne�argTwo�argThree�tgtShape)rrrrrGCszTestSingleEltArrayInput.setupcCs�tjjtjjtjjtjjtjjtjjtjjtjj	tjj
tjjtjjtjj
f}tjjtjj
f}x>|D]6}||kr�|tjdg��}n
||j�}t|j|j�qbWdS)Ng�?)rr
r�rr�r"rr@rrrrDr�r�r%rmrr>rp)r�funcs�	probfuncsr/rerrr�test_one_arg_funcsIs

z*TestSingleEltArrayInput.test_one_arg_funcscCs�tjjtjjtjjtjjtjjtjjtjjtjj	tjj
tjjtjjtjj
tjjtjjf}tjjtjjf}x~|D]v}||kr�tjdg�}n|j}||j|�}t|j|j�||jd|�}t|j|j�||j|d�}t|j|j�qnWdS)Ng�?r)rr
r+rr�r�r�rr9r�r�r�r�r>r/rRr%rnrmrr>rp)rrqrrr/rnrerrr�test_two_arg_funcs\s$
z*TestSingleEltArrayInput.test_two_arg_funcscCs�tjjtjjtjjg}xt|D]l}||j|j|j�}t|j	|j
�||jd|j|j�}t|j	|j
�||j|jd|j�}t|j	|j
�qWdS)Nr)rr
r
r'r�rmrnrorr>rp)rrqr/rerrr�test_three_arg_funcs�s

z,TestSingleEltArrayInput.test_three_arg_funcsN)r(r)r*rGrsrtrurrrrrlBs-rl)r�ZnumpyrZ
numpy.testingrrrrrrrr	r
rsrr+r4rBrTr�rFrUrlrrrr�<module>s.('"0B>,