https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/numpy/random/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/numpy/random/tests/__pycache__/test_random.cpython-310.pyc
o

6��a��@s�ddlZddlZddlZddlmZmZmZmZm	Z	m
Z
mZmZddlm
Z
ddlZGdd�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@�4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestSeedcCs<tj�d�}t|�d�d�tj�d�}t|�d�d�dS)Nr��i����i�)�npr
�RandomStater�randint��self�s�r�@/usr/lib/python3/dist-packages/numpy/random/tests/test_random.py�test_scalarszTestSeed.test_scalarcCs�tj�td��}t|�d�d�tj�t�d��}t|�d�d�tj�dg�}t|�d�d�tj�dg�}t|�d�d�dS)N�
r
i�ri�ri	)rr
r�rangerr�arangerrrr�
test_arrayszTestSeed.test_arraycCs$tttjjd�tttjjd�dS)N������r�	TypeErrorrr
r�
ValueError�rrrr�test_invalid_scalar szTestSeed.test_invalid_scalarcCsbtttjjdg�tttjjdg�tttjjdg�tttjjgd��tttjjgd��dS)Nrr�)��r#)r$���r#rr!rrr�test_invalid_array%s
zTestSeed.test_invalid_arraycCsRtttjjtjgtjd��tttjjgd�g�tttjjgd�gd�g�dS)N��dtype�r$r%�)���)rr rr
r�array�int64r!rrr�test_invalid_array_shape-s
�
�z!TestSeed.test_invalid_array_shapeN)�__name__�
__module__�__qualname__rrr"r'r1rrrrrs
rc@seZdZdd�Zdd�ZdS)�TestBinomialcCsBtjddd�}dD]}tt�d|�dk�tt�||�|�q	dS)Nr%�intr()r��?r$r)r�zerosrr
�binomialr)rr8�prrr�test_n_zero7s
�zTestBinomial.test_n_zerocCstttjdtj�dS)Nr$)rr r
r9r�nanr!rrr�
test_p_is_nan@szTestBinomial.test_p_is_nanN)r2r3r4r;r=rrrrr56s	r5c@r)�TestMultinomialcCst�dddg�dS)N�d皙�����?皙�����?�r
�multinomialr!rrr�
test_basicF�zTestMultinomial.test_basiccCst�dgd��dS)Nr?)r@rA�rFrFrBr!rrr�test_zero_probabilityIrEz%TestMultinomial.test_zero_probabilitycCsZtdt�dd�kodkn�t�ddd�}tt�d|k��tt�|dk��dS)N���rr-)rr
rr�all)r�xrrr�test_int_negative_intervalLs$z*TestMultinomial.test_int_negative_intervalcCs�ddg}ttj�d|t�d��jd�ttj�d|t�d��jd�ttj�d|t�d��jd�ttj�d|ddg�jd�ttj�d|d�jd�ttj�d|t�d��jd�tttjjd|t	d��dS)Nr7r$�r$r%r%�r%r%r%�r%r%)
rrr
rC�uint32�shaper/rr�float�rr:rrr�	test_sizeRs��zTestMultinomial.test_sizec	Cs�tttjjdddgg�tttjjddgdgg�tttjjddgdggdgdggg�tttjjdt�ddgddgg��dS)Nrrr$)rr rr
rCr/r!rrr�test_multidimensional_pvals`s&(z+TestMultinomial.test_multidimensional_pvalsN)r2r3r4rDrGrKrSrTrrrrr>Esr>c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestSetStatecCs$d|_t�|j�|_|j��|_dS�Ni��I)�seedr
r�prng�	get_state�stater!rrr�setuphszTestSetState.setupcCs<|j�d�}|j�|j�|j�d�}tt�||k��dS)N�)rX�tomaxint�	set_staterZrrrI�r�old�newrrrrDmszTestSetState.test_basiccCs@|jjdd�}|j�|j�|jjdd�}tt�||k��dS�Nr+��size)rX�standard_normalr^rZrrrIr_rrr�test_gaussian_resetssz TestSetState.test_gaussian_resetcCsR|j��|j��}|jjdd�}|j�|�|jjdd�}tt�||k��dSrb)rXrerYr^rrrI)rrZr`rarrr� test_gaussian_reset_in_media_reszs

z-TestSetState.test_gaussian_reset_in_media_rescCsz|jdd�}|jjdd�}|j�|�|jjdd�}|j�|j�|jjdd�}tt�||k��tt�||k��dS)Nr&r\rc)rZrXrer^rrrI)r�	old_state�x1�x2�x3rrr�test_backwards_compatibility�sz)TestSetState.test_backwards_compatibilitycCs|j�dd�dS�Nr7)rX�negative_binomialr!rrr�test_negative_binomial�sz#TestSetState.test_negative_binomialN)	r2r3r4r[rDrfrgrlrorrrrrUgsrUc	@s|eZdZejjZejejej	ej
ejejej
ejejg	Zdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�ZdS)�TestRandintcCstt|jdtd�dS�Nr$r()rr�rfuncrQr!rrr�test_unsupported_type�sz!TestRandint.test_unsupported_typecCs�|jD]J}|tjurdnt�|�j}|tjurdnt�|�jd}tt|j|d||d�tt|j||d|d�tt|j|||d�tt|jdd|d�qdS)Nrr%r$r()	�ityper�bool_�iinfo�min�maxrr rr)r�dt�lbnd�ubndrrr�test_bounds_checking�s
�z TestRandint.test_bounds_checkingcCs�|jD]T}|tjurdnt�|�j}|tjurdnt�|�jd}|d}t|j||dd|d�|�|}t|j||dd|d�|�||d}t|j||dd|d�|�qdS)Nrr%r$r
�rdr))rtrrurvrwrxrrr)rryrzr{�tgtrrr�test_rng_zero_and_extremes�s
�z&TestRandint.test_rng_zero_and_extremescCs�|jD]<}|tjurdnt�|�j}|tjurdnt�|�jd}z
|j|||d�Wqty?}ztdt	|���d}~wwdS)Nrr%r$r(zMNo error should have been raised, but one was with the following message:

%s)
rtrrurvrwrxrr�	Exception�AssertionError�str)rryrzr{�errr�test_full_range�s
����zTestRandint.test_full_rangecCs�tj��|jdd�D] }dD]}|jd|d|d�}t|��|k�t|��dk�qq|jdddtjd�}t|��dk�t|��dk�dS)Nr$)r,�r\r%ir}r)	rr
rWrtrrrrxrwru)rryr{�valsrrr�test_in_bounds_fuzz�s
�zTestRandint.test_in_bounds_fuzzc
Cs�ddl}dddddddddd�	}|jdd�D]9}tj�d	�tjd
kr.|jddd|d
�}n|jddd|d
���}|�	|�
tj����}t
|t�|�j|k�qtj�d	�|jdddtd
��
tj�}|�	|���}t
|t�t�j|k�dS)Nr�@509aea74d792fb931784c4b0135392c65aec64beee12b0cc167548a2c3d31e71�@7b07f1a920e46f6d0fe02314155a2330bcfd7635e708da50e536c5ebb631a7d4�@e577bfed6c935de944424667e3da285012e741892dcb7051a8f1ce68ab05c92f�@0fbead0b06759df2cfb55e43148822d4a1ff953c7eb19a5b08445a63bb64fa9e�@001aac3a5acb935a9b186cbe14a1ca064b8bb2dd0b045d48abeacf74d0203404)	�bool�int16�int32r0�int8�uint16rO�uint64�uint8r$i��littler.r
r}r%)�hashlibrtrr
rW�sys�	byteorderrr�byteswap�sha256�viewr��	hexdigestrr)�namer�)rr�r~ry�val�resrrr�test_repeatability�s,�

zTestRandint.test_repeatabilitycCs`tj}t�tj�j}t�t�tj�j�}t�t�tj�jd�}tjj|||d�}t||�dSrq)rr0rvrxr�r
rr)rryr~rzr{�actualrrr�test_int64_uint64_corner_case�s
z)TestRandint.test_int64_uint64_corner_casecCs�|jD]/}|tjurdnt�|�j}|tjurdnt�|�jd}|j|||d�}t|jt�|��qt	t
tjjfD]3}|t	urBdnt�|�j}|t	urNdnt�|�jd}|j|||d�}t
t|d��tt|�|�q:dS)Nrr%r$r(r))rtrrurvrwrxrrrr)r�r6�compat�longr�hasattr�type)rryrzr{�samplerrr�test_respect_dtype_singletons
�z(TestRandint.test_respect_dtype_singletonN)r2r3r4rr
rrrrur�r�r�r�r�rOr0r�rtrsr|rr�r�r�r�r�rrrrrp�s�	!rpc@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&�Zej�d'ejej��ej��g�d(d)��Zej�d'ejej��ej��g�ej�d*d+d,g�d-d.���Zd/d0�Zd1d2�Z d3d4�Z!d5d6�Z"d7d8�Z#d9d:�Z$d;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�Z0dSdT�Z1dUdV�Z2dWdX�Z3dYdZ�Z4d[d\�Z5d]d^�Z6d_d`�Z7dadb�Z8dcdd�Z9dedf�Z:dgdh�Z;didj�Z<dkdl�Z=dmdn�Z>dodp�Z?dqdr�Z@dsdt�ZAdudv�ZBdwdx�ZCdydz�ZDd{d|�ZEd}d~�ZFdd��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQd�S)��TestRandomDistcC�
d|_dSrV�rWr!rrrr[%�
zTestRandomDist.setupcC�Jtj�|j�tj�dd�}t�ddgddgddgg�}t||d	d
�dS)Nr+r%�_�\�*��?琛�����?�<�p�?�,��o��?���H�?�Z������?���decimal)rr
rW�randr/r�rr��desiredrrr�	test_rand(�
�zTestRandomDist.test_randcCr�)Nr+r%�!�<Oq�?�4�u,�?��3��?�L�I/DͿ��@��?@�HS�\@r�r�)rr
rW�randnr/rr�rrr�
test_randn0r�zTestRandomDist.test_randncC�Jtj�|j�tjjdddd�}t�ddgddgd	d
gg�}t||�dS)N����c�r+r%rc�r+�����)�������)rr
rWrr/rr�rrr�test_randint8�
�zTestRandomDist.test_randintcCs�tj�|j�t��}|�t�}tjjdddd�}tt|�dk�Wd�n1s+wYt�	ddgdd	gd
dgg�}t
||�dS)Nr�r�r�rcr$r�r+r�r�r�r�)rr
rWr	�record�DeprecationWarning�random_integersr�lenr/r�r�sup�wr�r�rrr�test_random_integers@s
�
�z#TestRandomDist.test_random_integerscCsxt��$}|�t�}tj�t�d�jt�d�j�}tt	|�dk�Wd�n1s*wYt�d�j}t
||�dS)N�lr$)r	r�r�rr
r�rvrxrr�rr�rrr�test_random_integers_max_intKs

��z+TestRandomDist.test_random_integers_max_intcCstt���,t�dt�tttjjt�d�j	�tttjjt�d�j	t�d�j	�Wd�dS1s3wYdS)N�errorr�)
�warnings�catch_warnings�simplefilterr�rrr
r�rvrxr!rrr�test_random_integers_deprecatedZs

��"�z.TestRandomDist.test_random_integers_deprecatedcCsHtj�|j�tj�d�}t�ddgddgddgg�}t||dd	�dS)
Nr�r�r�r�r�r�r�r�r�)rr
rWr/rr�rrr�test_randomhs
�zTestRandomDist.test_randomcCs8tj�|j�tj�dd�}t�gd��}t||�dS)Nr,)r%r+r%r+�rr
rW�choicer/rr�rrr�test_choice_uniform_replacepsz*TestRandomDist.test_choice_uniform_replacecCs@tj�|j�tjjddgd�d�}t�gd��}t||�dS)Nr,)皙�����?r�皙�����?r��r:)r$r$r%r%r�r�rrr�test_choice_nonuniform_replacevsz-TestRandomDist.test_choice_nonuniform_replacecCs<tj�|j�tjjdddd�}t�gd��}t||�dS)Nr,r+F��replace)rr$r+r�r�rrr�test_choice_uniform_noreplace|�z,TestRandomDist.test_choice_uniform_noreplacecCsBtj�|j�tjjdddgd�d�}t�gd��}t||�dS)Nr,r+F)r�g333333�?r7r��r�r:)r%r+r$r�r�rrr� test_choice_nonuniform_noreplace�s�z/TestRandomDist.test_choice_nonuniform_noreplacecCs<tj�|j�tj�gd�d�}t�gd��}t||�dS)N)�a�b�c�dr,)r�r�r�r�r�r�rrr�test_choice_noninteger�r�z%TestRandomDist.test_choice_nonintegercCs4tjj}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)Nrr+g@r$r%r,)r$r%r+r,g�?r�)r�r�r@g�������?g��������r�r*Fr�r&)r)rr$)r$rrr�)rr
r�rr )rr�rrr�test_choice_exceptions�s$�
�z%TestRandomDist.test_choice_exceptionsc	Cs4ddg}tt�tjjddd���tt�tjjddd���tt�tjjdd|d���tt�tjjdd|d���tt�tjjddgdd���ttjjdgdd�du�t�ddg�}tjdtd	�}||d
<ttjj|dd�|u�t�}tt�tjjd|dd���tt�tjjd|dd���tt�tjjd|d|d���tt�tjjd|d|d���tt�tjjddg|dd���ttjjdg|dd�j	d
k�t�ddg�}tjdtd	�}||d
<ttjj||dd��
�|u�d}gd�}ttjjd
|dd�j|�ttjjd
|dd�j|�ttjjd
|d|d�j|�ttjjd
|d|d�j|�ttjjt�
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)Nr���������?r%Tr�Fr�r$r(r)r%r+)r�r�r�r�r�r@r.)r+rr,rci����)rrr�r�)rr�isscalarr
r�r/�empty�object�tuple�ndim�itemrrPrrrr )rr:r��arrrrrr�test_choice_return_shape�sL  " �z'TestRandomDist.test_choice_return_shapecCs.t�gd��}gd�}tttjj||d�dS)N)�*r$r%)NNNr�)rr/rr r
r�)rr�r:rrr�test_choice_nan_probabilities�sz,TestRandomDist.test_choice_nan_probabilitiescCs,tj�|j�tj�d�}d}t||�dS)Nrs
�Ui���+Wf�)rr
rW�bytesrr�rrr�
test_bytes�szTestRandomDist.test_bytescCs�dd�dd�dd�dd�dd�dd�dd�d	d�d
d�dd�dd�fD]"}tj�|j�|gd
��}tj�|�|}|gd��}t||�q#dS)NcSs
t�g�S�N)rr/�rJrrr�<lambda>�s
z-TestRandomDist.test_shuffle.<locals>.<lambda>cSs|Sr�rr�rrrr�scS�t�|��tj�Sr�)r�asarray�astyper�r�rrrr��cSrr�)rrr�float32r�rrrr�rcSrr�)rrr�	complex64r�rrrr�rcSst�|��t�Sr�)rrrr�r�rrrr��cSsdd�|D�S)NcS�g|]}||f�qSrr��.0�irrr�
<listcomp>���ATestRandomDist.test_shuffle.<locals>.<lambda>.<locals>.<listcomp>rr�rrrr�scSst�dd�|D��S)NcSsg|]}||g�qSrrr	rrrr�r
r)rrr�rrrr�r
cSst�||g�jSr�)r�vstack�Tr�rrrr�rcSs*t�dd�|D�dtfdtfg��tj�S)NcSrrrr	rrrr�r
rr�r�)rrr6r��recarrayr�rrrr�s�
cSs$t�dd�|D�dtfdtjfg�S)NcSrrrr	rrrr�r
rr�r�)rrr�r�r�rrrr�s�)
r$r%r+r,r-r.�r��	r)
rr$rr.r%r,r-r�rr+)rr
rW�shuffler)r�conv�alistr�r�rrr�test_shuffle�s&��zTestRandomDist.test_shufflecCs�tj�t�td�d�ddd�}tj�t�d�ddd�}|��}|��}td�D]4}tj�|�t	t
|j|j�t
|j|j��tj�|�t	t
|j|j�t
|j|j��q+dS)N�)r-r,r+r$r�2)
r�ma�
masked_values�reshaperr�copyr
rr�sorted�data�mask)rr�r��a_orig�b_origrrrr�test_shuffle_masked�s" � ��z"TestRandomDist.test_shuffle_maskedr
cCsbdddddddd�}tjtd	d
��
}|�|�Wd�n1s!wYd|djvs/J�dS)Nrr$r%r+r,r-r.)rr$r%r+r,r-r.z!you are shuffling a 'dict' object��matchr�)�pytest�warns�UserWarningr�filename)rr
�values�recrrr�test_shuffle_untyped_warnings��z+TestRandomDist.test_shuffle_untyped_warning�use_array_likeTFcs�Gdd�dtj�}dt�dg�t�d�t�d�t�d�g}tj|td�}dd�|D��|r2|�|�}t�fd	d
�|D��s?J�|rgt|tjj	�sgt
jtdd��|�
|�Wd�dS1s`wYdS|�
|�t�fd
d
�|D��syJ�dS)Nc@seZdZdS)z>TestRandomDist.test_shuffle_no_object_unpacking.<locals>.MyArrN)r2r3r4rrrr�MyArrsr.r+rrr(cSsh|]}t|��qSr��idr	rrr�	<setcomp>r
zBTestRandomDist.test_shuffle_no_object_unpacking.<locals>.<setcomp>c3��|]	}t|��vVqdSr�r/r	��item_idsrr�	<genexpr>��zBTestRandomDist.test_shuffle_no_object_unpacking.<locals>.<genexpr>z#Shuffling a one dimensional array.*r$c3r2r�r/r	r3rrr5&r6)r�ndarrayr/�float64r�r�rI�
isinstancer
�	Generatorr&r'r(r)rr
r-r.�itemsr�rr3r� test_shuffle_no_object_unpacking
s $�
�"�
z/TestRandomDist.test_shuffle_no_object_unpackingcCs�tj�|j�t�d�j}tj�|�tt�|�gd��tj�|j�}|�|�tt�|�gd��tj�	|j�}|�|�tt�|�gd��dS)Nr-)rr$r,r+r%)rr$r%r+r,)r,r$rr+r%)
rr
rWrrrrrr�default_rng)rr��rngrrr�test_shuffle_memoryview(s

z&TestRandomDist.test_shuffle_memoryviewcC�Ntj�|j�tjjdddd�}t�ddgddgd	d
gg�}t||dd�dS)
Nr�r�r�rcgA�Kč?g���hA?g �҇o�>gάXf�+q?gS��1�$?g'8zX� ?r�r�)rr
rW�betar/rr�rrr�	test_beta7s��zTestRandomDist.test_betacCr�)Nr?g�v��/�?r�rc�%�+r��0�.�-)rr
rWr9r/rr�rrr�
test_binomial@r�zTestRandomDist.test_binomialcC�Ltj�|j�tjjddd�}t�ddgddgdd	gg�}t||d
d�dS)Nrr�rcg+Q�]u�O@g����+Q@gY7`�ZqP@g�e�(f�G@g�v�t�R@gEIȋR@�
r�)rr
rW�	chisquarer/rr�rrr�test_chisquareH�
�zTestRandomDist.test_chisquarecCsttj�|j�t�ddg�}tjjj|dd�}t�ddgddggd	d
gddggd
dgddggg�}t||dd�dS)N���I<�I@��EZ�C@r�rcg�i{
�s�?gn,	�A�?g��]�^��?gpD�B�?gȧ#�y��?gr�����?g��1U��?g�Ѩ�UC�?g��^,%��?g��B���?gډOoX;�?gM�`!O��?r�r�)rr
rWr/�mtrand�	dirichletr)r�alphar�r�rrr�test_dirichletPs
����zTestRandomDist.test_dirichletcCs�t�ddg�}ttj�|t�d��jd�ttj�|t�d��jd�ttj�|t�d��jd�ttj�|ddg�jd�ttj�|d�jd�ttj�|t�d��jd�tttjj|t	d��dS)NrNrOr$rLr%rMrN)
rr/rr
rQrOrPrrrQrRrrr�test_dirichlet_size\sz"TestRandomDist.test_dirichlet_sizecCs�t�ddg�}tttjjj|�tttjddgg�tttjdgdgg�tttjdgdggdgdggg�tttjt�ddgddgg��dS)NgH�z�G�?g��ؗ�Ҝ�r-r$)rr/rr r
rPrQ)rrRrrr�test_dirichlet_bad_alphahs"$z'TestRandomDist.test_dirichlet_bad_alphacCrI)Ng�8EGr��?r�rcgN��U�?gbI0��?g�VU\��@g�:��3�@g��U��?g��"qo�?r�r�)rr
rW�exponentialr/rr�rrr�test_exponentialsrMzTestRandomDist.test_exponentialcC�*ttjjdd�d�tttjjdd�dS�Nr��scale��)rrr
rVrr r!rrr�test_exponential_0{�z!TestRandomDist.test_exponential_0cCr@)
N��Mr�rcg7���?g�`j���?g6�"+�?gܳ2>���?g�c�>+Y�?g�_}�S��?r�r�)rr
rW�fr/rr�rrr�test_f�
�zTestRandomDist.test_fcCr@)
Nr-r+r�rcgԏGM�8@g���Ȍ<@g�	�":@g�v���#)@gZQ��?@gr��[��@@�r�)rr
rW�gammar/rr�rrr�
test_gamma�rczTestRandomDist.test_gammacCs.ttjjddd�d�tttjjddd�dS)Nr)rPr[r\)rrr
rerr r!rrr�test_gamma_0�szTestRandomDist.test_gamma_0cC�Htj�|j�tjjddd�}t�ddgddgddgg�}t||�dS)	N�_c97ݚ�?r�rcr�r�r-r_)rr
rW�	geometricr/rr�rrr�test_geometric��
�zTestRandomDist.test_geometriccCr@)
Nri�@r���locr[rdg�ؕ��?g�s0��?g��#0��g�(�x���g-�K�D��?g�ůp`@�r�r�)rr
rW�gumbelr/rr�rrr�test_gumbel�rczTestRandomDist.test_gumbelcCrXrY)rrr
rqrr r!rrr�
test_gumbel_0�r^zTestRandomDist.test_gumbel_0cCs�tj�|j�tjjddddd�}t�ddgddgddgg�}t||�tjjdddd	d�}t�gd
��}t||�tjjdddd	d�}t�gd
��}t||�tjjdddd	d�}t�gd��}t||�tjjdddd	d�}t�gd��}t||�dS)Nrr-rdr�rcrrr+r,)r+r+r+r+r�r_)r_r_r_r_)rrrr)rr
rW�hypergeometricr/rr�rrr�test_hypergeometric�s&
�



z"TestRandomDist.test_hypergeometriccCr@)
Nrirnr�rog� b�O�?g�¸����?gpJm��	@g{K�*�t	@g�:^w-���g�Y~o���?r�r�)rr
rW�laplacer/rr�rrr�test_laplace�rczTestRandomDist.test_laplacecCrXrY)rrr
rvrr r!rrr�test_laplace_0�r^zTestRandomDist.test_laplace_0cCr@)
Nrirnr�rog#��K-z�?g��J���?g�92��@gر�[@g�#+^�˿g��-��@r�r�)rr
rW�logisticr/rr�rrr�
test_logistic�rczTestRandomDist.test_logisticcCr@)
Nrirnr�)�mean�sigmardg����Ɂ0@go�,+4FB@g���)ʭ6@g��5���?gn�xN�nP@g��)���U@rJr�)rr
rW�	lognormalr/rr�rrr�test_lognormal�rczTestRandomDist.test_lognormalcCs*ttjjdd�d�tttjjdd�dS)Nr)r|r$r\)rrr
r}rr r!rrr�test_lognormal_0�r^zTestRandomDist.test_lognormal_0cCsHtj�|j�tjjddd�}t�ddgddgddgg�}t||�dS)Ngƀ@���?r�)r:rdr%r.rjr+)rr
rW�	logseriesr/rr�rrr�test_logseries�rmzTestRandomDist.test_logseriescCshtj�|j�tjjddgddd�}t�gd�gd�ggd�gd	�ggd
�gd�gg�}t||�dS)Nr�UUUUUU�?r.r�rc)r,r+r-r,r%r%)r-r%r�r%r%r$)r+r,r+r.rr,)r%r$r,r+r.r,)r,r,r%r-r%r+)r,r+r,r%r+r,)rr
rWrCr/rr�rrr�test_multinomial�s
����zTestRandomDist.test_multinomialcCsftj�|j�d}ddgddgg}d}tj�|||�}t�ddgddggd	d
gddggd
dgddggg�}t||dd�tj�||�}t�ddg�}t||dd�ddg}ddgddgg}tttjj||�ttjj||dd�t	t
tjj||dd�tjddgddggtjd�}t��}tj�||�|�
t�}t|�dks�J�Wd�dS1s�wYdS)N)rirr$rr�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"@r%�ignore)�check_valid�raiser�r()rr
rW�multivariate_normalr/rr�RuntimeWarningrrr rr	r�r�)rr{�covrdr�r�r�r�rrr�test_multivariate_normal�sD
������
"�z'TestRandomDist.test_multivariate_normalcCr�)Nr?g|�Pk��?r�)�nr:rdiPiIi|icii�)rr
rWrnr/rr�rrrror�z%TestRandomDist.test_negative_binomialcCs�tj�|j�tjjdddd�}t�ddgddgdd	gg�}t||d
d�tjjdd
dd�}t�ddgddgddgg�}t||d
d�tj�|j�tjjdddd�}t�ddgddgddgg�}t||d
d�dS)Nr-r�)�df�noncrdg��G�7@g!��ܴ*@g�1}�z9?@g�+驸�0@g26E_r#@g��I�!�1@rdr�r7r@g�����?g��T��D�?g��?T�?g�+�qnl�?g�~|�D�?g밬���?rg�{�0�1#@gp���rs'@g�~;���$@g"��dI�
@g����*@g�}�'�,@)rr
rW�noncentral_chisquarer/rr�rrr�test_noncentral_chisquare$s(
�
�
�z(TestRandomDist.test_noncentral_chisquarecC�Ptj�|j�tjjddddd�}t�ddgdd	gd
dgg�}t||dd
�dS)Nr-r%r$r�)�dfnum�dfdenr�rdg�^���~�?g�/+c���?g"��.�@g������@g�7���?g��E���?rdr�)rr
rW�noncentral_fr/rr�rrr�test_noncentral_f9��
�z TestRandomDist.test_noncentral_fcCr@)
Nrirnr�rog�&&n@gO�G_�@g�~w��@gt��w]տgm&�5��@g��$�>�@r�r�)rr
rW�normalr/rr�rrr�test_normalBrczTestRandomDist.test_normalcCrXrY)rrr
r�rr r!rrr�
test_normal_0Jr^zTestRandomDist.test_normal_0cCsPtj�|j�tjjddd�}t�ddgddgdd	gg�}tjj||d
d�dS)Nrir��r�rdg�W�I�@g
�Ԩy�@gy��]�0�Ag1~��\�Ag����a@g�Y�
�7A�)�nulp)rr
rW�paretor/�testing�assert_array_almost_equal_nulpr�rrr�test_paretoNs��
zTestRandomDist.test_paretocCsHtj�|j�tjjddd�}t�ddgddgddgg�}t||�dS)Nrir�)�lamrdrr$)rr
rW�poissonr/rr�rrr�test_poisson]rmzTestRandomDist.test_poissoncCs`t�d�j}d}tttjj|�tttjj|gd�tttjj|�tttjj|gd�dS)Nr�rr)rrvrxrr r
r�)r�lambig�lamnegrrr�test_poisson_exceptionsesz&TestRandomDist.test_poisson_exceptionscCrI)Nrir�r�g�;�'��?gܴ�w�*�?g��5��?gF�G�?g��D]?g��$`��?r�r�)rr
rW�powerr/rr�rrr�
test_powermrMzTestRandomDist.test_powercCrI)Nrr�)r[rdg"�u���+@g�N$MB�*@g7v8B�4@g���55@ge��&@g~�ӣ�Z1@rdr�)rr
rW�rayleighr/rr�rrr�
test_rayleighurMzTestRandomDist.test_rayleighcCrXrY)rrr
r�rr r!rrr�test_rayleigh_0}r^zTestRandomDist.test_rayleigh_0cC�Jtj�|j�tjjdd�}t�ddgddgddgg�}t||d	d
�dS)Nr�rcgMo�DL��?g6�([9�g�rF=��?g�M'	-��g�V���gVA:�Qy�?r�r�)rr
rW�standard_cauchyr/rr�rrr�test_standard_cauchy�r�z#TestRandomDist.test_standard_cauchycCr�)Nr�rcg���܁��?gc!z��?g&N��"�@g�NI��@gF��>���?g�~�ME�?r�r�)rr
rW�standard_exponentialr/rr�rrr�test_standard_exponential�r�z(TestRandomDist.test_standard_exponentialcCrI)Nr+r�)rPrdg)��@g��ľ��@gd]�,q�@gP�k�{@g9B#�1@g��v�� @rdr�)rr
rW�standard_gammar/rr�rrr�test_standard_gamma�rMz"TestRandomDist.test_standard_gammacCrX)Nr)rPr\)rrr
r�rr r!rrr�test_standard_gamma_0�r^z$TestRandomDist.test_standard_gamma_0cCr�)Nr�rcr�r�r�r�r�r�r�r�)rr
rWrer/rr�rrr�test_standard_normal�r�z#TestRandomDist.test_standard_normalcCrI)Nrr�)r�rdg\V�H��?g�hU�%���g�H$�M�?g���L���gV�qdz�ǿg㖀���?r�r�)rr
rW�
standard_tr/rr�rrr�test_standard_t�rMzTestRandomDist.test_standard_tcCr�)Ng{�G�z@g�(\��u$@gףp=
W4@r�)�left�mode�rightrdg:�}��\)@ghرTj�(@g�ǨL�30@g6ڜ��A0@g6���sh&@g��<��,@rdr�)rr
rW�
triangularr/rr�rrr�test_triangular�r�zTestRandomDist.test_triangularcCr@)
N�G�z��?g�G�z%@r�)�low�highrdg>#�H�@g��u��@g��#@g�}d]#@g���N��@g�w)*� @r�r�)rr
rW�uniformr/rr�rrr�test_uniform�rczTestRandomDist.test_uniformcCs�t�d�j}t�d�j}tjj}tt|tjd�tt|dtj�tt|||�tt|tjgdg�tt|dgtjg�tjjt�	|d�|dd�dS)NrQrr$g�؅W4vC)r�r�)
r�finforwrxr
r�r�
OverflowError�inf�	nextafter)r�fmin�fmax�funcrrr�test_uniform_range_bounds�s z(TestRandomDist.test_uniform_range_boundscCsnGdd�dtj�}t�d��|�}tttjj||�Gdd�dtj�}t�d��|�}tttjj|dd�dS)Nc@seZdZdd�ZdS)zGTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloatcS�t�r��rr!rrr�	__float__��zQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloat.__float__N)r2r3r4r�rrrr�
ThrowingFloat�sr�g�?c@seZdZdd�ZeZdS)zITestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingIntegercSr�r�r�r!rrr�__int__�r�zQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingInteger.__int__N)r2r3r4r��	__index__rrrr�ThrowingInteger�sr�r$)	rr7r/r�rrr
r�rt)rr��throwing_floatr��throwing_intrrr�!test_scalar_exception_propagation�s�z0TestRandomDist.test_scalar_exception_propagationcCr@)
Nr��p=
ף�?r���mu�kappardgL�ZI@g��'N"@g����kr�?g�k=m�@g��ډ�?g�^�=�\�?r�r�)rr
rW�vonmisesr/rr�rrr�
test_vonmises�rczTestRandomDist.test_vonmisescCs:tj�|j�tjjdddd�}tj�t�|����dS)NrFgg5_P�G>i@Br�)rr
rWr�r�r�isfiniterI)r�rrrr�test_vonmises_small�sz"TestRandomDist.test_vonmises_smallcCr@)
Nr�r�r�)r{r[rdg�Z���@g-�
g�@g�8
��m�?g��VP"�?g`V���?gx�^�&3�?rdr�)rr
rW�waldr/rr�rrr�	test_wald�rczTestRandomDist.test_waldcCrI)Nr�r�r�g@��6�?g���]A�?g(�1ڥR�?g��U��?g��2�_u�?g^}-�Q�?r�r�)rr
rW�weibullr/rr�rrr�test_weibull�rMzTestRandomDist.test_weibullcCs@tj�|j�ttjjddd�t�d��tttjjdd�dS)Nrr_r�r\)r�)rr
rWrr�r8rr r!rrr�test_weibull_0szTestRandomDist.test_weibull_0cCrh)	Nr�r�r��B�r$r+rJ)rr
rW�zipfr/rr�rrr�	test_zipf	rmzTestRandomDist.test_zipfN)Rr2r3r4r[r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr#r&�mark�parametrizerr
rr=r,r<r?rBrHrLrSrTrUrWr]rbrfrgrlrrrsrurwrxrzr~rr�r�r�ror�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�rrrrr�!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�
TestBroadcastcCr�)Ni�[r�r!rrrr[r�zTestBroadcast.setupcCstj�|j�dSr�)rr
rWr!rrr�setSeedszTestBroadcast.setSeedcCsndg}dg}tjj}t�gd��}|��||d|�}t||dd�|��|||d�}t||dd�dS)Nrr$�g�l���?g_x
���?g=�*BN�?r+rdr�)rr
r�r/r�r)rr�r�r�r�r�rrrr�szTestBroadcast.test_uniformcC�dg}dg}dg}tjj}t�gd��}|��||d|�}t||dd�tt||d|�|��|||d�}t||dd�tt|||d�dS)Nrr$r)g-r��@g�Y�l�@g-�`�w�?r+rdr�)rr
r�r/r�rrr )rrpr[�	bad_scaler�r�r�rrrr�.�zTestBroadcast.test_normalcC��dg}dg}dg}dg}tjj}t�gd��}|��||d|�}t||dd�tt||d|�tt||d|�|��|||d�}t||dd�tt|||d�tt|||d�dS)	Nr$r%rr&)gn�QVf�?gV���KB�?gv�`k��?r+rdr�)rr
rAr/r�rrr )rr�r��bad_a�bad_brAr�r�rrrrBA� zTestBroadcast.test_betacC�Xdg}dg}tjj}t�gd��}|��||d�}t||dd�tt||d�dS�Nr$r)g�.Ug�Z�?giPr�q�?g��E
K��?r+rdr�)rr
rVr/r�rrr )rr[r�rVr�r�rrrrWW�zTestBroadcast.test_exponentialcCr�r�)rr
r�r/r�rrr )rrP�	bad_shape�	std_gammar�r�rrrr�dr�z!TestBroadcast.test_standard_gammacCr�)	Nr$r%rr&)g�.Ug�Z�?giPr�q�?g��E
K�?r+rdr�)rr
rer/r�rrr )rrPr[r�r�rer�r�rrrrfqr�zTestBroadcast.test_gammacCr�)	Nr$r%rr&)gb��yʜ�?g��o���?gT��7�@r+rdr�)rr
rar/r�rrr )rr�r��	bad_dfnum�	bad_dfdenrar�r�rrrrb�r�zTestBroadcast.test_fc
Csddg}dg}dg}dg}dg}dg}tjj}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�dS)
Nr%r+r,rrr&)g�r�^G"@g/�
*@g���ц�!@rdr�)rr
r�r/r�rrr )
rr�r�r�r�r��bad_nonc�nonc_fr�r�rrrr��s4zTestBroadcast.test_noncentral_fcCs<|��t�ddg�}tjjddddd�}t||dd�dS)Ng��a��z@gn4M;�%�?r�r%rcrdr�)r�rr/r
r�r)rr�r�rrr�test_noncentral_f_small_df�sz(TestBroadcast.test_noncentral_f_small_dfcCr�)Nr$r)g~�}�N?�?g�$F���?g'rS��?r+rdr�)rr
rKr/r�rrr )rr��bad_dfrKr�r�rrrrL�r�zTestBroadcast.test_chisquarecCr�)	Nr$r%rr&)g�� w�"@g2��WR@g���RY@r+rdr�)rr
r�r/r�rrr )rr�r�r�r��nonc_chir�r�rrrr��r�z'TestBroadcast.test_noncentral_chisquarecCr�)Nr$r)gT
��@g~�F�l@gƚt��p�?r+rdr�)rr
r�r/r�rrr )rr�r��tr�r�rrrr��r�zTestBroadcast.test_standard_tcCr�)Nr%r$r)g��W!�@g��OB���g�}�?�r+rdr�)rr
r�r/r�rrr )rr�r��	bad_kappar�r�r�rrrr��r�zTestBroadcast.test_vonmisescCr�)Nr$r)g&�8�?�?g�e��FX�?g�Ջː��?r+rdr�)rr
r�r/r�rrr )rr�r�r�r�r�rrrr�r�zTestBroadcast.test_paretocCr�r�)rr
r�r/r�rrr )rr�r�r�r�r�rrrr�r�zTestBroadcast.test_weibullcCr�)Nr$rr�r+rdr�)rr
r�r/r�rrr )rr�r�r�r�r�rrrr�!r�zTestBroadcast.test_powercCr�)Nrr$r)g:��BKc�?g�3��k�?g�~q���?r+rdr�)rr
rvr/r�rrr )rrpr[r�rvr�r�rrrrw.r�zTestBroadcast.test_laplacecCr�)Nrr$r)g�'��Zy�?g�dSO=�?g�3L�1��?r+rdr�)rr
rqr/r�rrr )rrpr[r�rqr�r�rrrrrAr�zTestBroadcast.test_gumbelcCr�)Nrr$r)g“y��?g��J�R��?g�
~�&��?r+rdr�)rr
ryr/r�rrr )rrpr[r�ryr�r�rrrrzTr�zTestBroadcast.test_logisticcCr�)Nrr$r)g����H"@g��ܮ�� @gvv	��:@r+rdr�)rr
r}r/r�rrr )rr{r|�	bad_sigmar}r�r�rrrr~gr�zTestBroadcast.test_lognormalcCr�)Nr$r)gݱl�o��?g�/ӂ���?gz~�R�?r+rdr�)rr
r�r/r�rrr )rr[r�r�r�r�rrrr�zr�zTestBroadcast.test_rayleighcCs�dg}dg}dg}dg}tjj}t�gd��}|��||d|�}t||dd�tt||d|�tt||d|�|��|||d�}t||dd�tt|||d�tt|||d�tt|d	d�tt|dd	�dS)
Nr7r$rr&)g@m� �e�?g��`�I߿?g��|2��?r+rdr�rF)rr
r�r/r�rrr )rr{r[�bad_meanr�r�r�r�rrrr��s$zTestBroadcast.test_waldcCsjdg}dg}dg}dg}dg}|d\}}tjj}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�dS)Nr$r+r%r,)g,�P;bD@g����%G@g,~S��@rdr�)rr
r�r/r�rrr )rr�r�r��bad_left_one�bad_mode_one�bad_left_two�bad_mode_twor�r�r�rrrr��s@��
�zTestBroadcast.test_triangularc	C��dg}dg}dg}dg}dg}tjj}t�gd��}|��||d|�}t||�tt||d|�tt||d|�tt||d|�|��|||d�}t||�tt|||d�tt|||d�tt|||d�dS)Nr$r7r��?�r$r$r$r+)rr
r9r/r�rrr )	rr�r:�bad_n�	bad_p_one�	bad_p_two�binomr�r�rrrrH��&

zTestBroadcast.test_binomialc	Cr)Nr$r7rr)r$rr$r+)rr
rnr/r�rrr )	rr�r:rr	r
�	neg_binomr�r�rrrro�rz$TestBroadcast.test_negative_binomialcCsztj��j}dg}dg}|dg}tjj}t�gd��}|��||d�}t||�tt	||d�tt	||d�dS)Nr$rr%)r$r$rr+)
rr
r�_poisson_lam_maxr�r/r�rrr )r�max_lamr��bad_lam_one�bad_lam_twor�r�r�rrrr��s

zTestBroadcast.test_poissoncCs�dg}dg}tjj}t�gd��}|��||d�}t||�tt||d�tjdd��tt|tj	�tt|ddtj	g�Wd�dS1sKwYdS)Nr%r)r%r%r$r+r�)�invalid)
rr
r�r/r�rrr �errstater<)rr�r�r�r�r�rrrr�s
"�zTestBroadcast.test_zipfcC�jdg}dg}dg}tjj}t�gd��}|��||d�}t||�tt||d�tt||d�dS)Nr7rrrMr+)rr
rkr/r�rrr )rr:r	r
�geomr�r�rrrrl�
zTestBroadcast.test_geometriccCs�dg}dg}dg}dg}dg}dg}dg}tjj}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�dS)	Nr$r%rr&rr,rr+)rr
rtr/r�rrr )r�ngood�nbad�nsample�	bad_ngood�bad_nbad�bad_nsample_one�bad_nsample_two�	hypergeomr�r�rrrrus<


z!TestBroadcast.test_hypergeometriccCr)Nr7r%rrr+)rr
r�r/r�rrr )rr:r	r
r�r�r�rrrr�>rzTestBroadcast.test_logseriesN)#r2r3r4r[r�r�r�rBrWr�rfrbr�r�rLr�r�r�r�r�r�rwrrrzr~r�r�r�rHror�r�rlrur�rrrrr�sB

!





$
#r�c@r)�
TestThreadcCstd�|_dS)Nr,)r�seedsr!rrrr[NszTestThread.setupcs�ddlm�t�t|j�f|�}t�t|j�f|�}��fdd�t|j|�D�}dd�|D�dd�|D�t|j|�D]
\}}�tj�|�|�q>t�	�j
jdkr`tj
dkr`t||�dSt||�dS)	Nr)�Threadcs(g|]\}}��tj�|�|fd��qS))�target�args)rr
r)r
r�o�r!�functionrrrXs�z-TestThread.check_function.<locals>.<listcomp>cS�g|]}|���qSr)�start�r
rJrrrrZr
cSr'r)�joinr)rrrr[r
r,�win32)�	threadingr!rr�r�r �zipr
r�intpr)�itemsizer��platformrr)rr&�sz�out1�out2r�rr$rr%r�check_functionQs
�zTestThread.check_functioncC�dd�}|j|dd�dS)NcSs|jdd�|d<dS)N�'rc.)r��rZ�outrrr�
gen_randomhrEz*TestThread.test_normal.<locals>.gen_random)r6�r1�r4�rr9rrrr�g�zTestThread.test_normalcCr5)NcSs|jt�d�d�|d<dS)N�r?r
rZ.)rVr�onesr7rrrr9msz'TestThread.test_exp.<locals>.gen_randomr>r:r;r<rrr�test_explr=zTestThread.test_expcCr5)NcSs|jddgddd�|d<dS)Nrr�r.r6rc.)rCr7rrrr9rsz/TestThread.test_multinomial.<locals>.gen_random)r6r.r:r;r<rrrr�qr=zTestThread.test_multinomialN)r2r3r4r[r4r�r@r�rrrrrLsrc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestSingleEltArrayInputcCs4t�dg�|_t�dg�|_t�dg�|_d|_dS)Nr%r+r,)r$)rr/�argOne�argTwo�argThree�tgtShaper!rrrr[ys
zTestSingleEltArrayInput.setupcCs�tjjtjjtjjtjjtjjtjjtjjtjj	tjj
tjjtjjtjj
f}tjjtjj
f}|D]}||vr?|t�dg��}n||j�}t|j|j�q0dSrm)rr
rVr�rKr�r�r�r�r�r�r�rkr�r/rBrrPrE)r�funcs�	probfuncsr�r8rrr�test_one_arg_funcss�
�z*TestSingleEltArrayInput.test_one_arg_funcscCs�tjjtjjtjjtjjtjjtjjtjjtjj	tjj
tjjtjjtjj
tjjtjjf}tjjtjjf}|D];}||vrCt�dg�}n|j}||j|�}t|j|j�||jd|�}t|j|j�||j|d�}t|j|j�q6dS)Nr7r)rr
r�r�rArerar�r�rvrqryr}r�r9rnr/rCrBrrPrE)rrFrGr�rCr8rrr�test_two_arg_funcs�s(��z*TestSingleEltArrayInput.test_two_arg_funcscCs�tjjtjjtjjg}|D]6}||j|j|j�}t|j	|j
�||jd|j|j�}t|j	|j
�||j|jd|j�}t|j	|j
�q
dS)Nr)rr
r�r�rtrBrCrDrrPrE)rrFr�r8rrr�test_three_arg_funcs�s��z,TestSingleEltArrayInput.test_three_arg_funcsN)r2r3r4r[rHrIrJrrrrrAxs
-rA)r�r&�numpyr�
numpy.testingrrrrrrrr	r
r�rr5r>rUrpr�r�rrArrrr�<module>s2('"0v>,

https://t.me/RX1948 - 2025