403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.221
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/scipy/stats/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/scipy/stats/tests/__pycache__/test_sampling.cpython-312.pyc
�

x�f���	��ddlZddlZddlZddlmZddlZddlZddlZddlZ	ddl
mZmZm
Z
ddlmZmZmZmZmZmZmZddlmZddlmZddlmZmZddlmZmZdd	lm Z Gd
�d�Z!dd
e!�ifdd
gd�ifdd
gd�ifdd
e!�ifdd
e!�ifde!�dd�fgZ"ejFjHdk(rejFjJdkrdZ&ndZ&d�edfd�e'e&fd�e(dfd�edfd�edfd �e'd!fgZ)d"�edfd#�edfd$�e'e&fd%�e(dfd&�e'd!fgZ*d'�e'e&fd(�e(dfd)�edfd*�edfd+�e'd!fgZ+gd,fd-d.ggd/fd0d1e	jXd2gd3fd0d1e	jZd2gd3fd.d.gd4fgZ.d5e/d6fd7e/d6fgZ0d8ed9fd:ed9fgZ1d;ed9fe	jZe	jZfed9fe	jZe	jZfed9fe	jZe	jZfed9fe	jZe	jXfe/d<fe	jXe	jZfe/d<fgZ2de	jXfe/d<fe	jXe	jXfe/d<fgZ3ejhjkd=e1e0ze3z�ejhjkd>e"�d?���Z6ejhjkd>e"�d@��Z7dA�Z8dB�Z9ejhjkd>e"�dC��Z:ejhjkdDgdE��dF��Z;dG�Z<d\dH�Z=d]dI�Z>dJ�Z?ejhjkdKgdL��dM��Z@ejhjkdKddg�GdN�dO��ZAGdP�dQ�ZBGdR�dS�ZCGdT�dU�ZDGdV�dW�ZEGdX�dY�ZFGdZ�d[�ZGy)^�N)�deepcopy)�assert_allclose�assert_equal�suppress_warnings)�TransformedDensityRejection�DiscreteAliasUrn�DiscreteGuideTable�NumericalInversePolynomial�NumericalInverseHermite�SimpleRatioUniforms�UNURANError)�stats)�special)�	chisquare�cramervonmises)�distdiscrete�distcont)�check_random_statec��eZdZd�Zd�Zd�Zy)�StandardNormalc��dtjdtjz�ztjd|z|z�zS�N��?�@�࿩�np�sqrt�pi�exp��self�xs  �A/usr/lib/python3/dist-packages/scipy/stats/tests/test_sampling.py�pdfzStandardNormal.pdfs4���"�'�'�"�R�U�U�(�#�#�b�f�f�T�A�X�a�Z�&8�8�8�c��dtjdtjz�z|ztjd|z|z�zSrrr!s  r$�dpdfzStandardNormal.dpdf#s;���"�'�'�"�R�U�U�(�#�#�q�b�(�2�6�6�$��(�1�*�+=�=�=r&c�,�tj|�S�N)r�ndtrr!s  r$�cdfzStandardNormal.cdf&s���|�|�A��r&N��__name__�
__module__�__qualname__r%r(r,�r&r$rrs��9�>�r&rr�distr)�{�G�z�?�
ףp=
�?皙�����?r	r
rr)r2�mode�pypy)���
z.unsupported operand type for float\(\): 'list'zmust be real number, not listc��|Sr*r1�r#s r$�<lambda>r=>s���r�r&z...c��gSr*r1r<s r$r=r=@���r�r&c��tSr*��foor<s r$r=r=B���s�r&�name 'foo' is not definedc�"�tjSr*�r�infr<s r$r=r=D�
��r�v�v�r&c�"�tjSr*�r�nanr<s r$r=r=FrHr&c��y�Nrr1r1r&r$r=r=H��r&�,takes 0 positional arguments but 1 was givenc�"�tjSr*rFr<s r$r=r=OrHr&c�"�tjSr*rJr<s r$r=r=QrHr&c��gSr*r1r<s r$r=r=Sr?r&c��tSr*rAr<s r$r=r=UrCr&c��yrMr1r1r&r$r=r=WrNr&c��gSr*r1r<s r$r=r=^r?r&c��tSr*rAr<s r$r=r=`rCr&c�"�tjSr*rFr<s r$r=r=brHr&c�"�tjSr*rJr<s r$r=r=drHr&c��yrMr1r1r&r$r=r=frNr&z!must contain at least one elementr�z0wrong number of dimensions \(expected 1, got 2\)皙�����?皙�����?r5�)must contain only finite / non-nan values�(must contain at least one non-zero value)��r9zmust be a length 2 tupler1)r`r_z
left >= right)r_r_)r:r:zonly non-nan values�domain, err, msgzmethod, kwargsc��ttj|�}tj||��5|di|�d|i��ddd�y#1swYyxYw)N��match�domainr1)�getattrr�sampling�pytest�raises)re�err�msg�method�kwargs�Methods      r$�test_bad_domainro�sG��
�U�^�^�V�
,�F�	���s�#�	&�(��'��'��'�(�(�(�s�
A�Ac�4�ttj|�}d}|di|�d|i��}|di|�d|i��}t|j	d�|j	d��t
jjd�|di|��}|j	d�}t
jjd�|di|�ddi��}|j	d�}t||�t
jjt
jjd��}t
jjt
jjd��}	|di|�d|i��}|di|�d|	i��}t|j	d�|j	d��y)N�{�random_state�dr1)rfrrgr�rvsr�random�seed�RandomState�MT19937�	Generator)
rlrmrnrv�rng1�rng2�rvs1�rvs2�seed1�seed2s
          r$�test_random_stater��sB��
�U�^�^�V�
,�F��D��.�F�.��.�D��.�F�.��.�D�����#������
�.��I�I�N�N�3����F��D��8�8�C�=�D��I�I�N�N�4���-�F�-��-�D��8�8�C�=�D���t��

�I�I�!�!�"�)�)�"3�"3�C�"8�9�E��I�I����	�	� 1� 1�#� 6�7�E��/�F�/��/�D��/�F�/��/�D�����#������
�.r&c�r�tt�d��}tt��}|jd�t|j	d�|j	d��tt�d��}|j	d�}|jd�|j	d�}t||�y)Nrq�rrrs)rr�set_random_staterrt)rzr{�rngr|r}s     r$�test_set_random_stater��s���&�~�'7�c�J�D�&�~�'7�8�D����#������#������
�.�
%�n�&6�S�
I�C��7�7�3�<�D�������7�7�3�<�D���t�r&c�>���ddd��Gd�d����fd�}��fd�}tj|��}tj|��}|j�|j�|j�|j��ddk(sJ��d	d
k(sJ�y)N)�err1�err2c��eZdZd�Zd�Zd�Zy)�.test_threading_behaviour.<locals>.Distributionc��||_yr*)�pdf_msg)r"r�s  r$�__init__z7test_threading_behaviour.<locals>.Distribution.__init__�s	��"�D�Lr&c�N�d|cxkrdkrn|St|j��|S)Ng33333�H@gI@)�
ValueErrorr�r!s  r$r%z2test_threading_behaviour.<locals>.Distribution.pdf�s(���a��$���H�!����.�.��Hr&c��y�Nr_r1r!s  r$r(z3test_threading_behaviour.<locals>.Distribution.dpdf�s��r&N)r.r/r0r�r%r(r1r&r$�Distributionr��s��	#�	�
	r&r�c����d�}t|dd��}	|jd�y#t$r}|jd�d<Yd}~yd}~wwxYw)NrB�r:rs��rerr順rr��rrtr��args�r2r��er��errorss   ��r$�func1z'test_threading_behaviour.<locals>.func1�sO����E�"��)�$�y�79�;��	'��G�G�F�O���	'��V�V�A�Y�F�6�N��	'���+�	A�A�Ac����d�}t|dd��}	|jd�y#t$r}|jd�d<Yd}~yd}~wwxYw)N�barr�r`r�r�rr�r�r�s   ��r$�func2z'test_threading_behaviour.<locals>.func2�sO����E�"��)�$�y�78�:��	'��G�G�F�O���	'��V�V�A�Y�F�6�N��	'�r�)�targetr�rBr�r�)�	threading�Thread�start�join)r�r��t1�t2r�r�s    @@r$�test_threading_behaviourr��s�����D�
)�F�
�
�'�'�
�	�	��	'�B�	�	�	��	'�B��H�H�J��H�H�J��G�G�I��G�G�I��&�>�U�"�"�"��&�>�U�"�"�"r&c��ttj|�}|di|�ddi��}tj|�}tj
|�}t
|jd�|jd��y)Nrrrqrsr1)rfrrg�pickle�dumps�loadsrrt)rlrmrnrz�objr{s      r$�test_pickler��sZ��
�U�^�^�V�
,�F��-�F�-��-�D�
�,�,�t�
�C��<�<���D�����#������
�.r&�size)Nr)rr_)r:r9)r`r9��)rr)rr_c���tt��}|�'tj|j	|��sJ�ytj|�r|f}|j	|�j
|k(sJ�yr*)rrr�isscalarrt�shape)r�r�s  r$�
test_rvs_sizer�s_��
&�n�&6�
7�C��|��{�{�3�7�7�4�=�)�)�)�
�;�;�t���8�D��w�w�t�}�"�"�d�*�*�*r&c��tj�}tjj	d�}t||��}tjddd��}t|||j��t|j|�|j|��tjdd��}t||��}t|||j��t|j|�|j|��tjd	d
�}t||��}|j�}|jtj|d|ddz��}t|||j��y)Nrr�r_rs��num�$@�@)�loc�scaler:r[)r�normrru�default_rngr�linspace�check_cont_samplesr�ppf�binomr�support�pmf�arange�check_discr_samples)r2�urngr��ure�pvs      r$�test_with_scipy_distributionr�s���:�:�<�D�
�9�9� � ��#�D�
!�$�T�
:�C�
���A�q�c�"�A��s�D�$�*�*�,�/��D�H�H�Q�K������,��:�:�#�R�(�D�
!�$�T�
:�C��s�D�$�*�*�,�/��D�H�H�Q�K������,��;�;�r�3��D�
�4�d�
3�C�
�\�\�^�F�	
���"�)�)�F�1�I�v�a�y��{�3�	4�B���R�����.r&c�l�|jd�}|j�|j�f}tj|d�rt||||��|jd�}tj|j�|_t||j�j}|dkDsJ�y)Nr�r_��rtol�atoli�皙�����?)
rt�mean�varr�isfiniter�	vectorizer,r�pvalue)r�r2�mv_exr�r�rt�mv�pvals        r$r�r�'s���

�'�'�&�/�C�	����S�W�W�Y�	�B�	�{�{�5��8����E��4�8�

�'�'�#�,�C��|�|�D�H�H�%�D�H��#�t�x�x�(�/�/�D��#�:��:r&c��|jd�}|j�|j�f}t||||��||j	�z}tj|�}tj|d��\}}	|	|	j	�z}	|	|d|	jt||�j}
|
dkDsJ�y)Nr�r�T)�
return_countsr�)rtr�r�r�sumr�
zeros_like�uniquer�rr�)r�r�r�r�r�rtr��	obs_freqs�_�freqsr�s           r$r�r�4s���

�'�'�&�/�C�	����S�W�W�Y�	�B��B��D�t�4�	�b�f�f�h��B��
�
�b�!�I��y�y��D�1�H�A�u��E�I�I�K��E�"�I�k�u�z�z���Y��#�*�*�D��#�:��:r&c��d}tjt|��5tt	�dd��ddd�tjt|��5tt	�d��ddd�y#1swY�CxYw#1swYyxYw)Nz.102 : center moved into domain of distributionrcr�r9r�)�centerre�re)rh�warns�RuntimeWarningr
r)rks r$�!test_warning_center_not_in_domainr�Dsy��;�C�	���n�C�	0�N�"�>�#3�A�f�M�N�	���n�C�	0�D�"�>�#3�F�C�D�D�N�N��D�D�s�A7�B�7B�Brl)rr
rc���ttj|�}d}tjt
|��5|t
�dd��ddd�y#1swYyxYw)Nz17 : mode not in domainrcrr�)r6re)rfrrgrhrir
r)rlrnrks   r$�test_error_mode_not_in_domainr�NsK���U�^�^�V�
,�F�
#�C�	���{�#�	.�8��~��a��7�8�8�8�s�A�Ac��eZdZd�Zdej
j
dd��ej
jdd��gZde	�fddd	d
gZ
de	�fde	�fdgZejjde�ejjd
e
�ejjde�d����Zd�Zy)�TestQRVSc��d}tjt|��5ttj
|�}|t
��}|jd��ddd�ttj
|�}|t
��}d}tjt|��5|jdtjjd���ddd�y#1swY��xYw#1swYyxYw)	Nz&`qmc_engine` must be an instance of...rcr)�
qmc_engine�6`d` must be consistent with dimension of `qmc_engine`.r9r`��dr�)
rhrir�rfrrgr�qrvs�qmc�Halton)r"rlrdrn�gens     r$�test_input_validationzTestQRVS.test_input_validation_s���8��
�]�]�:�U�
3�	#��U�^�^�V�4�F���)�*�C��H�H��H�"�	#������0���^�%�&��H��
�]�]�:�U�
3�	:��H�H�q�U�Y�Y�%5�%5�a�%8�H�9�	:�	:�	#�	#��	:�	:�s�=C$�*1C0�$C-�0C9Nr_r�rvr9)r_)r_)r��r�)r�r�)�r`r�r�)r9)r9�qrng�size_in, size_outzd_in, d_outc�"�tjdk(xrtj�ddk(}|r|dk(rtjd�t�}t
tj|�}	|	|�}
|�L|�J|j|k7r;d}tjt|��5|
j|||��ddd�y|�|�|jd	k7r
|jf}||z}t|�}
|
j|||�
�}|�|j|k(sJ�|
�e|
jt!j"|�xsd	�}tj$j'|�j)|�}t+||d��yy#1swYyxYw)
N�win32r�32bitr
z4NumericalInversePolynomial.qrvs fails for Win 32-bitr�rcr�r_�r�r�r���-���q=�r�)�sys�platform�architecturerh�xfailrrfrrgr�rir�r�rr�rur�prodr�r��reshaper)r"r��size_in�size_out�d_in�d_outrl�w32r2rnr�rd�shape_expected�qrng2r��uniform�qrvs2s                 r$�test_QRVS_shape_consistencyz$TestQRVS.test_QRVS_shape_consistencyusk��
�l�l�g�%�O�(�*?�*?�*A�!�*D��*O���6�9�9��L�L�"�
#���������0���T�l����� 0�T�V�V�t�^�L�E����z��7�
;�����D�T��:�
;���<�D�,����1���V�V�I�E�!�E�)�������x�x�W���x�>�����:�:��/�/�/����l�l�2�7�7�7�#3�#8�q�9�G��J�J�N�N�7�+�3�3�N�C�E��D�%�e�4��
;��s�(F�Fc��t�}ttj|�}||�}d}d}tjj|d��}tjj|d��}|j
tj|��}	|j|||��}
tjj|	�}t|�D]/}|
d|f}
|dd�|fj|�}t|
|d���1y)	N)r9r�r�rr�r�.r�r)rrfrrgr�r�rurrr�r�r��rangerr)r"rlr2rnr�r�r�r�r
rr�r�i�sample�sample2s               r$�test_QRVS_size_tuplezTestQRVS.test_QRVS_size_tuple�s�����������0���T�l����
���y�y������*���	�	� � ��� �+���,�,�r�w�w�t�}�-���x�x�T�Q�4�x�8���
�
���w�'���q��	9�A��#�q�&�\�F��A�q�D�k�)�)�$�/�G��F�G�%�8�	9r&)r.r/r0r�rr��Sobolr��qrngs�tuple�sizes�dsrh�mark�parametrizerrr1r&r$r�r�\s���
:��5�9�9�?�?�1�1�?�-�u�y�y�/?�/?���/?�/J�K�E��E�G�_�i��
�+�
-�E����/�A�u�w�<��	3�B��[�[���V�U�+��[�[���0�%�8��[�[���]�B�/� 5�0�9�,� 5�D9r&r�c
���eZdZGd�d�ZGd�d�ZGd�d�Ze�e�ed�ed�gZdd	gZdd
gZde	jgZde	jgZeeeegZ
ejj!deee
��d��Zd
�edfgZeez
Zejj!de�d��Zejj!de�d��Zejj!de�d��Zejj!dgd��d��Zd�Zejj!dde	j:e	jddg�d��Ze	j>ddd �!�ggge	j:ge	je	j:e	jgde	j:d"dgd#d$e	jggd%�ggZ ejj!d&e �d'��Z!d(�Z"y))*�TestTransformedDensityRejectionc�$�eZdZd�Zd�Zd�Zd�Zy)�%TestTransformedDensityRejection.dist0c��dd||zz
zS�N��?r_r1r!s  r$r%z)TestTransformedDensityRejection.dist0.pdf�����!�A�a�C�%�=� r&c��dd|zzS)Nr$���r1r!s  r$r(z*TestTransformedDensityRejection.dist0.dpdf�s���"�Q�$�<�r&c�$�d||dzdzz
dzzS�Nr$r9gUUUUUU�?r1r!s  r$r,z)TestTransformedDensityRejection.dist0.cdf�����!�a��d�1�f�*�s�*�+�+r&c��y�N)���r_r1�r"s r$r�z-TestTransformedDensityRejection.dist0.support����r&N�r.r/r0r%r(r,r�r1r&r$�dist0r!�s��	!�	 �	,�	r&r1c��eZdZd�Zd�Zd�Zy)�%TestTransformedDensityRejection.dist1c�F�tjj|dz�S�Nr��rr��_pdfr!s  r$r%z)TestTransformedDensityRejection.dist1.pdf�����:�:�?�?�1�s�7�+�+r&c�T�|dztjj|dz�zS)N�{�G�z�?r�r6r!s  r$r(z*TestTransformedDensityRejection.dist1.dpdf�s$���2��9�u�z�z���q�3�w�7�7�7r&c�F�tjj|dz�Sr5�rr��_cdfr!s  r$r,z)TestTransformedDensityRejection.dist1.cdf�r8r&Nr-r1r&r$�dist1r3�s��	,�	8�	,r&r>c�$�eZdZd�Zd�Zd�Zd�Zy)�%TestTransformedDensityRejection.dist2c��||_yr*��shift�r"rCs  r$r�z.TestTransformedDensityRejection.dist2.__init__�s	���D�Jr&c�R�||jz}dt|�dzz}d|z|zS�Nr��?�rC�abs�r"r#�ys   r$r%z)TestTransformedDensityRejection.dist2.pdf��/��
����O�A��c�!�f�r�k�"�A���7�Q�;�r&c�f�||jz}dt|�dzz}||z|z}|dkr|S|S)NrrZrHrJs   r$r(z*TestTransformedDensityRejection.dist2.dpdf�sA��
����O�A��c�!�f�r�k�"�A��A���	�A��R��1�(�q�b�(r&c�P�||jz}|dkrdd|z
zSddd|zzz
S�NrZrGrrBr!s  r$r,z)TestTransformedDensityRejection.dist2.cdf��7��
����O�A��B�w��b�1�f�~�%��C�2��6�N�*�*r&N)r.r/r0r�r%r(r,r1r&r$�dist2r@�s��	�	�
	)�	+r&rQrZ���@��?r:�dist, mv_exc��t�5}|jt�t|d��}ddd�t	||�y#1swY�xYw�N�*r�)r�filterr�rr�)r"r2r��supr�s     r$�
test_basicz*TestTransformedDensityRejection.test_basic�sK���
 �	E�C��J�J�~�&�-�d��D�C�	E�	�3��e�,�		E�	E�s�#A�A
c��y)Nrr1r<s r$r=z(TestTransformedDensityRejection.<lambda>�rNr&�50 : bad construction points.�
pdf, err, msgc��Gd�d�}||_d�|_tj||��5t	|�ddd�y#1swYyxYw)Nc��eZdZy)�:TestTransformedDensityRejection.test_bad_pdf.<locals>.distN�r.r/r0r1r&r$r2r`���r&r2c��yr�r1r<s r$r=z>TestTransformedDensityRejection.test_bad_pdf.<locals>.<lambda>rNr&rc�r%r(rhrir�r"r%rjrkr2s     r$�test_bad_pdfz,TestTransformedDensityRejection.test_bad_pdfsE��	�	������	�
�]�]�3�c�
*�	.�'��-�	.�	.�	.�s�A�Azdpdf, err, msgc��Gd�d�}d�|_||_tj||��5t	|d��ddd�y#1swYyxYw)Nc��eZdZy)�;TestTransformedDensityRejection.test_bad_dpdf.<locals>.distNrar1r&r$r2ri
rbr&r2c��|Sr*r1r<s r$r=z?TestTransformedDensityRejection.test_bad_dpdf.<locals>.<lambda>s��Q�r&rc�r_r:r�rd)r"r(rjrkr2s     r$�
test_bad_dpdfz-TestTransformedDensityRejection.test_bad_dpdfsG��	�	������	�
�]�]�3�c�
*�	>�'��W�=�	>�	>�	>�s�A�Arac��tj||��5tt�|��ddd�y#1swYyxYw�Nrcr�)rhrirr�r"rerjrks    r$�test_inf_nan_domainsz4TestTransformedDensityRejection.test_inf_nan_domainss6��
�]�]�3�c�
*�	I�'��(8��H�	I�	I�	I��	�7�A�construction_points)r-rr�c��tjtd��5tt	�|��ddd�y#1swYyxYw)Nz1`construction_points` must be a positive integer.rc�rr�rhrir�rr�r"rrs  r$�#test_bad_construction_points_scalarzCTestTransformedDensityRejection.test_bad_construction_points_scalars=��
�]�]�:�.D�E�	�'�� �6I�
�	�	�	�s	�;�Ac��g}tjtd��5tt	�|��ddd�gd�}tj
td��5tt	�|��ddd�tjtjtjg}tjtd��5tt	�|��ddd�ddg}tj
td	��5tt	�d
|��ddd�y#1swY��xYw#1swY��xYw#1swY�`xYw#1swYyxYw)NzC`construction_points` must either be a scalar or a non-empty array.rcrt)r_r_r_r_r_r_z:33 : starting points not strictly monotonically increasingr\���r:z!50 : starting point out of domain)���r9)rerr)
rhrir�rrr�r�rrKr
rvs  r$�"test_bad_construction_points_arrayzBTestTransformedDensityRejection.test_bad_construction_points_array#s(�� ��
�]�]�:�.M�N�	�
(�� �6I�
�	�1��
�\�\�.�1>�?�	�
(�� �6I�
�	� "�v�v�r�v�v�r�v�v�6��
�]�]�;�/9�:�	�'�� �6I�
�	� #�B�i��
�\�\�.�1:�;�	�'�� ��$7�
�	�	�5	�	��	�	��	�	��	�	�s/�D �D,�D8�E� D)�,D5�8E�E
�c��r�rc��d}tjt|��5tt	�d��ddd�y#1swYyxYw)Nz`c` must either be -0.5 or 0.rcr})r|ru)r"r|rks   r$�
test_bad_cz*TestTransformedDensityRejection.test_bad_cGs;��.��
�]�]�:�S�
1�	A�'��(8�C�@�	A�	A�	A��	�=�Arr_i�r�rGr[r\�r'r9r�r�c���tt�d��}t�5}|jtd�|jtd�|jtd�|jtd�|j|�}tjj|�}ddd�tdd�	�|j|jk(sJ�y#1swY�4xYw)
Ng��H.��?)�max_squeeze_hat_ratio�$invalid value encountered in greater�*invalid value encountered in greater_equal�!invalid value encountered in less�'invalid value encountered in less_equal���MbP?��h㈵��>r�)rrrrXr��ppf_hatrr�r�rr�)r"r�r�rY�res�expecteds      r$�test_ppf_hatz,TestTransformedDensityRejection.test_ppf_hatQs���*�.�*:�@F�H���
 �	)�C��J�J�~�'M�N��J�J�~�(7�
8��J�J�~�'J�K��J�J�~�(4�
5��+�+�a�.�C��z�z�~�~�a�(�H�	)�	��X�D�t�<��y�y�H�N�N�*�*�*�	)�	)�s�B	C�C%c� �Gd�d�}d}tjt|��5t|�ddd�Gd�d�}d}tjt|��5t|�ddd�y#1swY�ExYw#1swYyxYw)Nc��eZdZy)�;TestTransformedDensityRejection.test_bad_dist.<locals>.distNrar1r&r$r2r�gs��r&r2z`pdf` required but not found.rcc��eZdZd�Zy)r�c��d||zz
Sr�r1r<s r$r=zDTestTransformedDensityRejection.test_bad_dist.<locals>.dist.<lambda>ps��A�a��c�E�r&N�r.r/r0r%r1r&r$r2z;TestTransformedDensityRejection.test_bad_dist.<locals>.distos��!�Cr&z`dpdf` required but not found.)rhrir�r)r"r2rks   r$�
test_bad_distz-TestTransformedDensityRejection.test_bad_distes��	�	�/��
�]�]�:�S�
1�	.�'��-�	.�	"�	"�0��
�]�]�:�S�
1�	.�'��-�	.�	.�	.�	.��	.�	.�s�A8�#B�8B�B
N)#r.r/r0r1r>rQ�dists�mv0�mv1rrG�mv2�mv3�mvsrhrr�ziprZr
�bad_pdfs�bad_pdfs_commonrf�bad_dpdf_commonrl�inf_nan_domainsrprwr{rKrr�r�r�r�r1r&r$rr�s)����,�,�+�+�,�W�e�g�u�R�y�%��-�8�E��v�,�C�
�t�*�C�
�r�v�v�,�C��2�6�6�
�C���S�#�
�C��[�[���]� ���_�.�-�.�-��k�+K�L�M�H����H��[�[���_�h�7�.�8�.��[�[���-��?�>�@�>��[�[���/��A�I�B�I��[�[���2�L�A��B��"�H�[�[���S�3��������R�"@�A�A�B�A�

����Q��t�	$�b�2�$�����
�6�6�'�2�6�6�2�6�6�	"�A�
�6�6�3��
�s�C����0�*�	=�	?�A��[�[���S�!�$�+�%�+�&.r&rc	��eZdZhd�Zej
j
de�d��Zd�e	dfd�e	dfd�e	dfd	�e
d
fd�e	dfd
�edfd�edfgZ
ej
j
de
�d��Zej
j
dgd�gd�g�d��Zej
j
de�d��Zej&ej&fej&ej&fej&ej&fdej&fej&dfgZej
j
de�d��Zd�Zd�Zd�Zy) �TestDiscreteAliasUrn>�randint�nchypergeom_fisher�nchypergeom_wallenius�distname, paramsc���||jvrd}tj|�t|t�s|}ntt|�}||�}|j�}tj|d|dz
�stjd�tj|d|ddz�}|j|�}|j
d�}t|d��}	t|	||�y)NzYDAU fails on these probably because of large domains and small computation errors in PMF.r_rz$DAU only works with a finite domain.r�rWr�)�basic_fail_distsrh�skip�
isinstance�strrfrr�rr�r�r�rr��
r"�distname�paramsrkr2re�kr�r�r�s
          r$rZzTestDiscreteAliasUrn.test_basic�s����t�,�,�,�:�C��K�K����(�C�(��D��5�(�+�D��V�}��������{�{�6�!�9�v�a�y�0�1�
�K�K�>�?��I�I�f�Q�i����1��-��
�X�X�a�[���
�
�4� ���t�"�5���C��U�+r&c�"�tjSr*rFr<s r$r=zTestDiscreteAliasUrn.<lambda>��
��2�6�6�r&r]c�"�tjSr*rJr<s r$r=zTestDiscreteAliasUrn.<lambda>�r�r&c��y)NrZr1r<s r$r=zTestDiscreteAliasUrn.<lambda>�rNr&r^c��tSr*rAr<s r$r=zTestDiscreteAliasUrn.<lambda>�s��3�r&rDc��gSr*r1r<s r$r=zTestDiscreteAliasUrn.<lambda>�s��2�r&z)setting an array element with a sequence.c��|Sr*r1r<s r$r=zTestDiscreteAliasUrn.<lambda>�s��A�2�r&z50 : probability < 0c��yrMr1r1r&r$r=zTestDiscreteAliasUrn.<lambda>�rNr&rOz
pmf, err, msgc��Gd�d�}||_tj||��5t|d��ddd�y#1swYyxYw)Nc��eZdZy)�/TestDiscreteAliasUrn.test_bad_pmf.<locals>.distNrar1r&r$r2r��rbr&r2rcrkr�)r�rhrir)r"r�rjrkr2s     r$�test_bad_pmfz!TestDiscreteAliasUrn.test_bad_pmf�s@��	�	����
�]�]�3�c�
*�	3��T�'�2�	3�	3�	3�s�A�A	r�)r4r3r5)rrg@�@r�g@c�x�tj|tj��}t|d��}|j	d�||j�z}tjdt|��}tj||��}tj||z
dz|��}||f}t|||�y)N)�dtyperqr�r�r)�weightsr`)
r�asarray�float64rrtr�r��len�averager�)r"r�r��variates�
m_expected�
v_expected�mv_expecteds       r$�test_sampling_with_pvz*TestDiscreteAliasUrn.test_sampling_with_pv�s����Z�Z��"�*�*�
-���r��4�������
�"�&�&�(�]���9�9�Q��B��(���Z�Z��"�5�
��Z�Z��J�!6�1� <�b�I�
� �*�,���C��[�1r&�pv, msgc�z�tjt|��5t|�ddd�y#1swYyxYw�Nrc�rhrir�r�r"r�rks   r$�test_bad_pvz TestDiscreteAliasUrn.test_bad_pv�s-��
�]�]�:�S�
1�	!��R� �	!�	!�	!���1�:rrec��tjtd��5tt	j
dd�|��ddd�y#1swYyxYw�Nzmust be finitercr:r[r�)rhrir�rrr��r"res  r$�test_inf_domainz$TestDiscreteAliasUrn.test_inf_domain�s?��
�]�]�:�->�
?�	B��U�[�[��S�1�&�A�	B�	B�	B���"A�Ac��tjtd��5tddgd��ddd�y#1swYyxYw)Nzrelative urn size < 1.rcrGr-)�
urn_factor)rhr�r�rr.s r$�test_bad_urn_factorz(TestDiscreteAliasUrn.test_bad_urn_factor�s4��
�\�\�.�0I�
J�	8��c�3�Z�B�7�	8�	8�	8�s�5�>c��d}Gd�d�}tjt|��5t|�ddd�y#1swYyxYw)NzG`domain` must be provided when the probability vector is not available.c��eZdZd�Zy)�0TestDiscreteAliasUrn.test_bad_args.<locals>.distc��|Sr*r1r!s  r$r�z4TestDiscreteAliasUrn.test_bad_args.<locals>.dist.pmf�s���r&N)r.r/r0r�r1r&r$r2r��s��
r&r2rcr�)r"rkr2s   r$�
test_bad_argsz"TestDiscreteAliasUrn.test_bad_args�s@��7��	�	��]�]�:�S�
1�	#��T�"�	#�	#�	#�s	�=�Ac��tjtjd��}t	|d��}t||dd��y)N)i�rWr�)g�@g
�Ag{�G�zt?)r�)r�softmaxr�onesrr�)r"r�r�s   r$�test_gh19359z!TestDiscreteAliasUrn.test_gh19359�s7��
�_�_�R�W�W�W�-�
.���r��3���C��%C�!%�	'r&N)r.r/r0r�rhrrrrZr��	NameErrorr
�	TypeError�bad_pmfr�r��
bad_pv_commonr�rrG�
inf_domainr�r�r�r�r1r&r$r�r�ws������[�[���/��>�,�?�,�2
�:�	5�	7�
�:�	5�	7�
�
�	4�	6�
�	�	%�	'�
�z�	5�	7�
�{�	 �	"�
�i�	8�	:�)�G�0�[�[���_�g�6�3�7�3��[�[���T�$5�$B�$D�E�
2�E�
2��[�[���Y�
�6�!�7�!��F�F�7�B�F�F�#�b�f�f�b�f�f�%5�����"�&�&��7I��b�f�f�+������|�-�J��[�[���X�z�2�B�3�B�8�	#�'r&r�c��eZdZGd�d�ZGd�d�ZGd�d�ZGd�d�Ze�e�e�e�gZd	d
gZd	dgZ	de
jzd
de
jdzzz
gZde
jzdde
jdzzz
gZ
ee	ee
gZej j#deee��d��Zej j(ej j#de�d���Zej j#de�d��Zej j#de�d��Zej j#de�d��Ze
j:ddd��ggge
j<ge
j>e
j<e
j>gde
j<dd gd!d"e
j>ggd#�ggZ ej j#d$e �d%��Z!e
j:d&d'd��ggge
j<ge
j>e
j<e
j>gde
j<dd gd!d"e
j>ge
j>d(d)gggZ"ej j#d*e"�d+��Z#d,�Z$dd-d.e
j>e
j<gZ%d/d e
j>e
j<gZ&ej j#d0e%�d1��Z'ej j#d2e&�d3��Z(d4�Z)d5�Z*y6)7�TestNumericalInversePolynomialc��eZdZd�Zd�Zd�Zy)�$TestNumericalInversePolynomial.dist0c��dd||zz
zSr#r1r!s  r$r%z(TestNumericalInversePolynomial.dist0.pdf�r%r&c�$�d||dzdzz
dzzSr)r1r!s  r$r,z(TestNumericalInversePolynomial.dist0.cdf�r*r&c��yr,r1r.s r$r�z,TestNumericalInversePolynomial.dist0.support�r/r&N�r.r/r0r%r,r�r1r&r$r1r��s��	!�	,�	r&r1c��eZdZd�Zd�Zy)�$TestNumericalInversePolynomial.dist1c�F�tjj|dz�Sr5r6r!s  r$r%z(TestNumericalInversePolynomial.dist1.pdf�r8r&c�F�tjj|dz�Sr5r<r!s  r$r,z(TestNumericalInversePolynomial.dist1.cdf�r8r&N)r.r/r0r%r,r1r&r$r>r��s��	,�	,r&r>c��eZdZd�Zd�Zd�Zy)�$TestNumericalInversePolynomial.dist2c�f�dddtjdtjz|z�zzzS)N皙�����?��������?r_r`�r�sinrr!s  r$r%z(TestNumericalInversePolynomial.dist2.pdfs,���$�!�b�f�f�Q�r�u�u�W�Q�Y�&7�"7�8�8�8r&c���d|dzzdddtjzd|zzztjdtjz|z�z
zdtjzzzS)Nr�r_g�������?rrr��rr�cosr!s  r$r,z(TestNumericalInversePolynomial.dist2.cdf	s_���!�a�%�L���b����h��A��.�.�����2�5�5���
�1C�C�D�����X���
 r&c��yr,r1r.s r$r�z,TestNumericalInversePolynomial.dist2.supportr/r&Nr�r1r&r$rQr�s��	9�	 �
	r&rQc��eZdZd�Zd�Zd�Zy)�$TestNumericalInversePolynomial.dist3c�l�ddddtjdtjz|z�zzzzS)Nr[r�r�r_r`r�r!s  r$r%z(TestNumericalInversePolynomial.dist3.pdfs1���$���R�V�V�A�b�e�e�G�A�I�->�)>�!?�?�@�@r&c���|dzdzddtjzztjdtjz�tjdtjz|z�z
zzS)Nr�rGg
ףp=
�?r`r:r�r!s  r$r,z(TestNumericalInversePolynomial.dist3.cdfs^���S�5�3�;��q����w��2�6�6�"�R�U�U�(�3C�35�6�6�!�B�E�E�'�!�)�3D�4E�"F�F�
Fr&c��y)N)���r�r1r.s r$r�z,TestNumericalInversePolynomial.dist3.supportr/r&Nr�r1r&r$�dist3r�s��	A�	F�	r&rrZrSr:g������ܿ�UUUUUU�?g�Q����?r`g������ @rTc�8�t|d��}t|||�yrV)r
r��r"r2r�r�s    r$rZz)TestNumericalInversePolynomial.test_basic*s��)��B�?���3��e�,r&r�c��gd�}gd�}dg}||vrtjd|���||vrtjd|���t|t�rt	t
|�n|}||�}t
�5}|jt�t|d��}ddd�||vryt||j�|j�g�y#1swY�:xYw)N)�anglit�
gausshyper�kappa4�ksone�kstwo�levy_l�levy_stable�studentized_range�	trapezoid�triang�vonmises)	�chi2�fatiguelife�gibrat�halfgennorm�lognorm�ncf�ncx2�pareto�t�rel_breitwignerzPINV too slow for zPINV fails for rWr�)
rhr�r�r�rfrrrXr�r
r�r�r�)	r"r�r��very_slow_dists�
fail_dists�skip_sample_moment_checkr2rYr�s	         r$�test_basic_all_scipy_distsz9TestNumericalInversePolynomial.test_basic_all_scipy_dists0s���>��-�
�%6�#6� ���&��K�K�,�X�J�7�8��z�!��K�K�/�(��4�5��h��,���x�(��	
��V�}��
�
 �	D�C��J�J�~�&�,�T��C�C�	D��/�/���3��t�y�y�{�D�H�H�J�&?�@�	D�	D�s�5#C�Cr]c��Gd�d�}||_tj||��5t|ddg��ddd�y#1swYyxYw)Nc��eZdZy)�9TestNumericalInversePolynomial.test_bad_pdf.<locals>.distNrar1r&r$r2r"Trbr&r2rcrr�r�)r%rhrir
res     r$rfz+TestNumericalInversePolynomial.test_bad_pdfRsD��	�	����
�]�]�3�c�
*�	<�&�t�Q��F�;�	<�	<�	<���A�Azlogpdf, err, msgc��Gd�d�}||_tj||��5t|ddg��ddd�y#1swYyxYw)Nc��eZdZy)�<TestNumericalInversePolynomial.test_bad_logpdf.<locals>.distNrar1r&r$r2r&\rbr&r2rcrr�r�)�logpdfrhrir
)r"r'rjrkr2s     r$�test_bad_logpdfz.TestNumericalInversePolynomial.test_bad_logpdfZsD��	�	����
�]�]�3�c�
*�	<�&�t�Q��F�;�	<�	<�	<�r#rac��tj||��5tt�|��ddd�y#1swYyxYwrn)rhrir
rros    r$rpz3TestNumericalInversePolynomial.test_inf_nan_domainsds6��
�]�]�3�c�
*�	H�&�~�'7��G�	H�	H�	H�rqrr_�'r�rGr�r[r\r�r�c���t�}t|d��}t�5}|jtd�|jtd�|jtd�|jtd�|j|�}tjj|�}ddd�tdd��|j|jk(sJ�y#1swY�4xYw�	N�+����=��u_resolutionr�r�r�r�g�dy���=r�)
rr
rrXr�r�rr�rr��r"r�r2r�rYr�r�s       r$�test_ppfz'TestNumericalInversePolynomial.test_ppfx������(��E�B���
 �	)�C��J�J�~�'M�N��J�J�~�(7�
8��J�J�~�'J�K��J�J�~�(4�
5��'�'�!�*�C��z�z�~�~�a�(�H�	)�	��X�E��>��y�y�H�N�N�*�*�*�	)�	)���B	C�C'ryr:r9r�r#c���t�}t|d��}t�5}|jtd�|jtd�|jtd�|jtd�|j|�}tjj|�}ddd�tdd��|j|jk(sJ�y#1swY�4xYwr,)
rr
rrXr�r,rr�rr�)r"r#r2r�rYr�r�s       r$�test_cdfz'TestNumericalInversePolynomial.test_cdf�r2r3c���t�}t|d��}|j�\}}|dksJ�||ksJ�t|d��}|j�\}}|dksJ�||ksJ�y�Ng�����|�=r.r-)rr
�u_error)r"r2r��	max_error�maes     r$�test_u_errorz+TestNumericalInversePolynomial.test_u_error�sx�����(��E�B�������	�3��5� � � ��i����(��E�B�������	�3��5� � � ��i���r&g@�g#B����;�orderc��t�}d}tjt|��5t	||��ddd�y#1swYyxYw)Nz2`order` must be an integer in the range \[3, 17\].rc�r=)rrhrir�r
)r"r=r2rks    r$�test_bad_ordersz.TestNumericalInversePolynomial.test_bad_orders�s<�����C��
�]�]�:�S�
1�	:�&�t�5�9�	:�	:�	:�s	�?�Ar/c��d}tjt|��5tt	�|��ddd�y#1swYyxYw)Nz.`u_resolution` must be between 1e-15 and 1e-5.rcr.)rhrir�r
r)r"r/rks   r$�test_bad_u_resolutionz4TestNumericalInversePolynomial.test_bad_u_resolution�s?��?��
�]�]�:�S�
1�	B�&�~�'7�4@�
B�	B�	B�	B�r�c��Gd�d�}|�}d}tjt|��5t|�}ddd�t	�}t|�}d}tjt|��5|jd�ddd�Gd�d�}|�}t|�}d	}tjt|��5|j�ddd�y#1swY��xYw#1swY�hxYw#1swYyxYw)
Nc��eZdZd�Zy)�=TestNumericalInversePolynomial.test_bad_args.<locals>.BadDistc�@�tjj|�Sr*r<r!s  r$r,zATestNumericalInversePolynomial.test_bad_args.<locals>.BadDist.cdf�s���z�z���q�)�)r&N)r.r/r0r,r1r&r$�BadDistrE����
*r&rGz9Either of the methods `pdf` or `logpdf` must be specifiedrcz4`sample_size` must be greater than or equal to 1000.r:c��eZdZd�Zy)�BTestNumericalInversePolynomial.test_bad_args.<locals>.Distributionc�8�tjd|z|z�S)Nr)rr r!s  r$r%zFTestNumericalInversePolynomial.test_bad_args.<locals>.Distribution.pdf�s���v�v�d�Q�h�q�j�)�)r&Nr�r1r&r$r�rJ�rHr&r�z!Exact CDF required but not found.)rhrir�r
rr8)r"rGr2rkr�r�s      r$r�z,TestNumericalInversePolynomial.test_bad_args�s���	*�	*��y��J��
�]�]�:�S�
1�	3�,�T�2�C�	3����(��.��E��
�]�]�:�S�
1�	��K�K��O�	�	*�	*��~��(��.��2��
�]�]�:�S�
1�	��K�K�M�	�	�!	3�	3��	�	��	�	�s#�C"�5C.�C:�"C+�.C7�:Dc��Gd�d�}|�}d�|_t|�}|�}d�|_t|�}tjddd��}t|j
|�|j
|��y)	Nc��eZdZy)�JTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.MyDistNrar1r&r$�MyDistrN�rbr&rOc�:�tj||zdz�S�Nr`)�mathr r<s r$r=zLTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.<lambda>�s�����1�"�Q�$�q�&�!1�r&c��||zdzSrQr1r<s r$r=zLTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.<lambda>�s���r�!�t�A�v�r&r�gwJ��?rsr�)r%r
r'rr�rr�)r"rO�dist_pdfrz�dist_logpdfr{�qs       r$�test_logpdf_pdf_consistencyz:TestNumericalInversePolynomial.test_logpdf_pdf_consistency�sm��	�	��8��1���)�(�3���h��-���)�+�6���K�K��f�#�.��������T�X�X�a�[�1r&N)+r.r/r0r1r>rQrr�r�r�rrr�r�r�rhrrr�rZ�xslowrrr�rf�bad_logpdfs_commonr(r�rpr�rKrGr�r1r#r5r;�
bad_orders�bad_u_resolutionr@rBr�rWr1r&r$r�r��s6����,�,�
�
�"	�	��W�e�g�u�w���0�E��v�,�C�
�t�*�C�����;��'�"�%�%��(�"2�2�
3�C�����;�)�G�B�E�E�1�H�,<�<�
=�C���S�#�
�C��[�[���]� ���_�.�-�.�-��[�[����[�[���/��:�A�;��A�@�[�[���_�o�>�<�?�<��[�[���/�1C�D�<�E�<��[�[���/��A�H�B�H�	����A�q�e�$�
�R�D�	����B�F�F�7�B�F�F�B�F�F�+�	�
�&�&�#�s�	�c�3����/��<�
	�A��[�[���S�!�$�+�%�+�"
����S�"�%�	(�"�r�d�R�V�V�H�
�6�6�'�2�6�6�2�6�6�	"�A�
�6�6�3��
�s�C����0�B�F�F�7�A�q�/�	B�	D�A��[�[���S�!�$�+�%�+�"	 ��S�"�b�f�f�b�f�f�-�J��t�R�V�V�R�V�V�4���[�[���W�j�1�:�2�:��[�[���^�-=�>�B�?�B��62r&r�c
�8�eZdZGd�d�ZGd�d�Ze�e�gZddejzzddd	ejzejzzz
gZd
dddejzejzzz
dz
gZ	ee	gZ
ejjd
eee
��ejjdddg�d���Zejjde�d��Zd�Zejj'd�ejj(ejjde�d����Zejj'd�d��Zd�Zddej2j5d�gZej9ej2j;d��de�fddgZejjde�ejjde�d ���Z d!�Z!d"�Z"ejFd#d$d%�&�gggejHgejJejHejJgdejHd'd(gd)d*ejJggd+�ggZ&ejjd,e&�d-��Z'd.�Z(y)/�TestNumericalInverseHermitec�$�eZdZd�Zd�Zd�Zd�Zy)�!TestNumericalInverseHermite.dist0c�`�ddtjdtjz|z�zzS)NrGrrr�r!s  r$r%z%TestNumericalInverseHermite.dist0.pdf�s'����R�V�V�B�r�u�u�H�Q�J�/�/�0�0r&c�v�tjtjdtjz|z�zS)Nrr�r!s  r$r(z&TestNumericalInverseHermite.dist0.dpdf�s&���5�5�����2�5�5���
�+�+�+r&c��ddtjzd|zzztjdtjz|z�z
dtjzzS)Nrrr_r�r�r!s  r$r,z%TestNumericalInverseHermite.dist0.cdf�sE����B�E�E��1�q�5�)�)�B�F�F�2�b�e�e�8�A�:�,>�>�2�b�e�e�8�L�Lr&c��yr,r1r.s r$r�z)TestNumericalInverseHermite.dist0.support�r/r&Nr0r1r&r$r1r_�s��	1�	,�	M�	r&r1c�$�eZdZd�Zd�Zd�Zd�Zy)�!TestNumericalInverseHermite.dist1c��|dkr=tjdtjz|z�dztjzS|dkry|dkr=tjdtjz|z�dztjzSy)NrrrGrZr�r!s  r$r%z%TestNumericalInverseHermite.dist1.pdfss���T�	��v�v�r�B�E�E�z�Q�.�/�#�5����=�=��B����S���v�v�r�B�E�E�z�Q�.�/�#�5����=�=�r&c�P�|dkrKtjdtjz|z�tjztjzS|dkry|dkrKtjdtjz|z�tjztjzSy)NrrrZrG�rr�rr!s  r$r(z&TestNumericalInverseHermite.dist1.dpdfs{���T�	��v�v�r�B�E�E�z�Q�.�/�"�%�%�7�"�%�%�?�?��B����S���v�v�r�B�E�E�z�Q�.�/�"�%�%�7�"�%�%�?�?�r&c���|dkr/ddtjdtjz|z�z
zS|dkry|dkr/ddtjdtjz|z�zz
Sy)Nrg�?r_rrZrGr$rhr!s  r$r,z%TestNumericalInverseHermite.dist1.cdfsk���T�	��q�2�6�6�2����:��*:�#;�;�<�<��B����S���d�R�V�V�R�"�%�%�Z�1�,<�%=�=�=�=�r&c��y)N)r-rGr1r.s r$r�z)TestNumericalInverseHermite.dist1.supports��r&Nr0r1r&r$r>res��	>�	@�	>�	r&r>r-r`rr_r�gпg�?g�?rTr=r9r�c�:�t||d��}t|||�y)NrW)r=rr)rr�)r"r2r�r=r�s     r$rZz&TestNumericalInverseHermite.test_basic&s��&�d�%�b�I���3��e�,r&rac��tj||��5tt�|��ddd�y#1swYyxYwrn)rhrirrros    r$rpz0TestNumericalInverseHermite.test_inf_nan_domains/s6��
�]�]�3�c�
*�	E�#�N�$4�V�D�	E�	E�	E�rqc	��hd�}hd�}||vrtjd�||vrtjd�tjjd�t
t|�|�}t|�}tjjd�}tjtj|j|�|j|�z
�tj|j|��z�}tjtj|j|j|��|z
��}	|dksJ�|	dksJ�y)	N>r
r�skewnormr
>r�nct�beta�waldr	�invgaussrr�geninvgauss�norminvgauss�
genhyperbolicrzDistribution is too slowz)Fails - usually due to inaccurate CDF/PDFrr:�:�0�yE>r�)rhr�rrrurvrfrr�rand�maxrIr�r,)
r"r��shapes�
slow_distsrr2�fnir#�p_tol�u_tols
          r$�basic_test_all_scipy_distsz6TestNumericalInverseHermite.basic_test_all_scipy_dists4s��B�
�@�
��z�!��K�K�2�3��z�!�
�L�L�D�E�
�	�	���q��'�w�u�h�'��0��%�d�+���I�I�N�N�2������r�v�v�d�h�h�q�k�#�'�'�!�*�4�5�b�f�f�T�X�X�a�[�6I�I�J�����r�v�v�d�h�h�s�w�w�q�z�2�Q�6�7�8���t�|��|��u�}��}r&zignore::RuntimeWarning)r�ryc�(�|j||�yr*�r~)r"r�rys   r$rz6TestNumericalInverseHermite.test_basic_all_scipy_distsMs��	
�'�'��&�9r&c�(�|jdd�y)N�	truncnorm)r�r`r�r.s r$�test_basic_truncnorm_gh17155z8TestNumericalInverseHermite.test_basic_truncnorm_gh17155Us���'�'��X�>r&c��d}tjt|��5tt	�d��ddd�d}tjt|��5td�ddd�d}tjt|��5tt	�d�	�ddd�y#1swY�vxYw#1swY�QxYw#1swYyxYw)
Nz"`order` must be either 1, 3, or 5.rcr`r?z`cdf` required but not foundr�z!could not convert string to float�ekkir.)rhrir�rr)r"rds  r$r�z1TestNumericalInverseHermite.test_input_validationYs���5��
�]�]�:�U�
3�	?�#�N�$4�A�>�	?�/��
�]�]�:�U�
3�	,�#�F�+�	,�4��
�]�]�:�U�
3�	9�#�N�$4�17�
9�	9�	9�	?�	?��	,�	,��	9�	9�s#�B)�B5�
C�)B2�5B>�C
Nr)�)r�)�r�r��r�r�r�c�&�t�}t|�}t|�}|j||��}|�|j|k(sJ�|�It|�}|j
|��}tjj|�}	t||	�yy)N)r�rr)r�)rrrrtr�rrrr�r�r)
r"r�rrr2r{r{rtrr}s
          r$�test_RVSz$TestNumericalInverseHermite.test_RVSks������%�d�+����}���g�g�7��g�5�����9�9��(�(�(���%�d�+�D��l�l��l�0�G��:�:�>�>�'�*�D��C��&�	r&c���d}d}tjt|��5tt	j
|��ddd�tt	j
|�d��y#1swY�'xYw)N)g��ds�z@g@��e�?zg98 : one or more intervals very short; possibly due to numerical problems with a pole or very flat tailrcrvr.)rhr�r�rrrp)r"ryrds   r$�test_inaccurate_CDFz/TestNumericalInverseHermite.test_inaccurate_CDF|s\��:��D���\�\�.��
6�	9�#�E�J�J��$7�8�	9�	 ��
�
�F� 3�$�G�		9�	9�s�A"�"A+c���t�}t|�}tj�}t|�}t	|jd��|jd���y)Nrr�)rrrr�rrt)r"r>�fni1rQ�fni2s     r$�test_custom_distributionz4TestNumericalInverseHermite.test_custom_distribution�sI��� ��&�u�-���
�
���&�u�-������a��0�$�(�(��(�2J�Kr&rZrr*r�rGr�r[r\r�r�c���t�}t|d��}t�5}|jtd�|jtd�|jtd�|jtd�|j|�}tjj|�}ddd�tdd�	�|j|jk(sJ�y#1swY�4xYw)
Nr�r.r�r�r�r�g��&�.>gL�a㧝�=r�)
rrrrXr�r�rr�rr�r0s       r$r1z$TestNumericalInverseHermite.test_ppf�s������%�d��?���
 �	)�C��J�J�~�'M�N��J�J�~�(7�
8��J�J�~�'J�K��J�J�~�(4�
5��'�'�!�*�C��z�z�~�~�a�(�H�	)�	��X�D�u�=��y�y�H�N�N�*�*�*�	)�	)�r3c�8�t�}t|d��}|j�\}}|dksJ�||ksJ�t�5}|j	t
�t|d��}ddd�|j�\}}|dksJ�||ksJ�y#1swY�+xYwr7)rrr8rrXr�)r"r2r�r9r:rYs      r$r;z(TestNumericalInverseHermite.test_u_error�s������%�d��?�������	�3��5� � � ��i����
�
 �	D�C��J�J�~�&�)�$�U�C�C�	D������	�3��5� � � ��i����
	D�	D�s�#B�B))r.r/r0r1r>r�rrr�r�r�rhrrr�rZr�rpr~�filterwarningsrXrrr�r�rurw�rngs�appendr�rrr�r�r�r�rKrGr�r1r;r1r&r$r]r]�s���
��"��8�W�e�g��E��q����w�<��q�!�B�E�E�'�"�%�%�-�0�0�
1�C���Q��"�%�%�����
�&�&��-�
.�C���*�C��[�[���]� ���_�.��[�[���W�q�!�f�-�-�.�.�-��[�[���/��A�E�B�E��2�[�[��� 8�9��[�[����[�[���3�X�>�:�?��:�:�
�[�[��� 8�9�?�:�?�9�
�!�R�Y�Y�*�*�1�-�.�D��K�K��	�	�%�%�a�(�)��E�G�_�i�)?�@�E��[�[���U�D�)��[�[���0�%�8�
'�9�*�
'�H�L�	����B���&�
�R�D�	����B�F�F�7�B�F�F�B�F�F�+�	�
�&�&�#�s�	�c�3����/��<�
	�A��[�[���S�!�$�+�%�+�" r&r]c
���eZdZhd�Zd�Zd�Zd�Zejjde
�d��Zejddd	�
�gggejgejejejgdejddgd
dejggd�ggZejjde�d��Zejjde�d��ZejejfejejfejejfdejfejdfgZejjde�d��Zy)�TestDiscreteGuideTable>r�r�r�c��gd�}tjj�}tjt
�5t
||d��ddd�y#1swYyxYw)N�r�g333333�?g333333�?r8�rr�guide_factor�rrur�rhr�r�r	�r"r�r�s   r$�$test_guide_factor_gt3_raises_warningz;TestDiscreteGuideTable.test_guide_factor_gt3_raises_warning��J��
���y�y�$�$�&��
�\�\�.�
)�	F��r��1�E�	F�	F�	F���A�Ac��gd�}tjj�}tjt
�5t
||d��ddd�y#1swYyxYw)Nr�rr�r�r�s   r$�%test_guide_factor_zero_raises_warningz<TestDiscreteGuideTable.test_guide_factor_zero_raises_warning�r�r�c��gd�}tjj�}tjt
�5t
||d��ddd�y#1swYyxYw)Nr�r-r�r�r�s   r$�)test_negative_guide_factor_raises_warningz@TestDiscreteGuideTable.test_negative_guide_factor_raises_warning�sL�����y�y�$�$�&��
�\�\�.�
)�	G��r��2�F�	G�	G�	G�r�r�c���||jvrd}tj|�t|t�s|}ntt|�}||�}|j�}tj|d|dz
�stjd�tj|d|ddz�}|j|�}|j
d�}t|d��}	t|	||�y)NzYDGT fails on these probably because of large domains and small computation errors in PMF.r_rz$DGT only works with a finite domain.r�rWr�)r�rhr�r�r�rfrr�rr�r�r�r	r�r�s
          r$rZz!TestDiscreteGuideTable.test_basic�s����t�,�,�,�:�C��K�K����(�C�(��D��5�(�+�D��V�}��������{�{�6�!�9�v�a�y�0�1�
�K�K�>�?��I�I�f�Q�i����1��-��
�X�X�a�[���
�
�4� �� ��B�7���C��U�+r&rr_r*r�rGr�r[r\r�r�c��d\}}tj||�}t|d��}t�5}|j	t
d�|j	t
d�|j	t
d�|j	t
d�|j
|�}tjj
|||�}ddd�tjj�t||�y#1swY�6xYw)N)r�r�rWr�r�r�r�r�)	rr�r	rrXr�r�rr�)	r"r��n�pr2r�rYr�r�s	         r$r1zTestDiscreteGuideTable.test_ppfs������1��{�{�1�a� �� ��B�7���
 �		0�C��J�J�~�'M�N��J�J�~�(7�
8��J�J�~�'J�K��J�J�~�(4�
5��'�'�!�*�C��{�{���q�!�Q�/�H�		0�	�S�Y�Y����/��S�(�#�		0�		0�s�BC3�3C<r�c�z�tjt|��5t|�ddd�y#1swYyxYwr�)rhrir�r	r�s   r$r�z"TestDiscreteGuideTable.test_bad_pvs-��
�]�]�:�S�
1�	#��r�"�	#�	#�	#�r�rec��tjtd��5tt	j
dd�|��ddd�y#1swYyxYwr�)rhrir�r	rr�r�s  r$r�z&TestDiscreteGuideTable.test_inf_domain&s?��
�]�]�:�->�
?�	D��u�{�{�2�s�3�F�C�	D�	D�	D�r�N)r.r/r0r�r�r�r�rhrrrrZrr�rKrGr�r1r�r�r�r�r1r&r$r�r��sn����F�F�G��[�[���/��>�,�?�,�6	����A�q�e�$�
�R�D�	����B�F�F�7�B�F�F�B�F�F�+�	�
�&�&�#�s�	�c�3����/��<�	�A��[�[���S�!�$�$�%�$�(�[�[���Y�
�6�#�7�#��F�F�7�B�F�F�#�b�f�f�b�f�f�%5�����"�&�&��7I��b�f�f�+������|�-�J��[�[���X�z�2�D�3�Dr&r�c��eZdZGd�d�Zed�ed�gZdejgZdejgZeegZ	e
jjde
ee	��d��Ze
jjde�d��Zd	�Zy
)�TestSimpleRatioUniformsc��eZdZd�Zd�Zd�Zy)�TestSimpleRatioUniforms.distc� �||_||_yr*)rCr6rDs  r$r�z%TestSimpleRatioUniforms.dist.__init__1s���D�J��D�Ir&c�R�||jz}dt|�dzz}d|z|zSrFrHrJs   r$r%z TestSimpleRatioUniforms.dist.pdf5rLr&c�P�||jz}|dkrdd|z
zSddd|zzz
SrOrBr!s  r$r,z TestSimpleRatioUniforms.dist.cdf:rPr&N)r.r/r0r�r%r,r1r&r$r2r�0s��	�	�
	+r&r2rZrRrTc���t||jd��}t|||�t||j|j|j�d��}t|||�y)NrW)r6rr)r6�cdf_at_moderr)rr6r�r,rs    r$rZz"TestSimpleRatioUniforms.test_basicHsU��"�$�T�Y�Y�R�H���3��e�,�!�$�T�Y�Y�.2�h�h�t�y�y�.A�/1�3��	�3��e�,r&rac��tj||��5tt�|��ddd�y#1swYyxYwrn)rhrirrros    r$rpz,TestSimpleRatioUniforms.test_inf_nan_domainsTs6��
�]�]�3�c�
*�	A��� 0��@�	A�	A�	A�rqc��tjtd��5tt	�dd��ddd�y#1swYyxYw)Nz`pdf_area` must be > 0rcrr-)r6�pdf_area)rhrir�rrr.s r$r�z%TestSimpleRatioUniforms.test_bad_argsYs9��
�]�]�:�-F�
G�	G��� 0�q�2�F�	G�	G�	G�s	�<�AN)r.r/r0r2r�rrGr�r�r�rhrrr�rZr�rpr�r1r&r$r�r�,s���+�+�"�"�X�t�F�|�$�E��r�v�v�,�C��2�6�6�
�C���*�C��[�[���]� ���_�.�-�.�-��[�[���/��A�A�B�A�Gr&r�)gH�����z>r�)r�r�)Hr�r�rh�copyrrrrR�numpyr�
numpy.testingrrr�scipy.stats.samplingrrr	r
rrr
�scipyrr�scipy.statsrr�scipy.stats._distr_paramsrr�scipy._lib._utilrr�all_methods�implementation�name�version�floaterrr�r�r�r�rYrKrGr�r��bad_sized_domains�bad_domainsr��nan_domainsrrror�r�r�r�r�r�r�r�r�r�r�rr�r�r]r�r�r1r&r$�<module>r�s����
�
���
���J�J������1�<�/�	�	�#�V�^�-=�$>�?��&�"3�4�5��F�$5�6�7�!�F�N�,<�#=�>����)9� :�;��^�%5�q�A�B�
�������v�%����&�&��3�@�H�/�H��;��'��9�h�'��I�;�<��{�F�+��{�F�+��)�L�M�
��&�{�F�+��{�F�+��9�h�'��I�;�<��)�L�M���"�9�h�'��I�;�<��{�F�+��{�F�+��)�L�M����	-�.�
�C�j�\�F�G�	�3������J�K�	�3������J�K�	�3�Z�<�=��
��
�7�8���0�1�	���[�*�+��[�*�+����{�,�-��f�f�b�f�f��{�$4�5�	�v�v�g����w���&6�7��f�f�r�v�v�g���%5�6�	�v�v�g�r�v�v��
�$:�;��f�f�b�f�f��z�#9�:�	������[�*�4�5��f�f�b�f�f��z�#9�:��������+�$�'8�8�$�%�&������)�;�7�(�8�&�(������)�;�7�/�8�/�8	�.#�b�����)�;�7�/�8�/�������"2�3�	+�3�	+�/�*
�
� D�������$C�D�8�D�8�������$=�$@�$B�C�X9�X9�C�X9�v{.�{.�|r'�r'�j~2�~2�BS �S �lfD�fD�R0G�0Gr&

Youez - 2016 - github.com/yon3zu
LinuXploit