403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  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-311.pyc
�

d�cE��	��ddlZddlZddlZddlmZddlZddlZddlZddlZ	ddl
mZmZm
Z
ddlmZddlmZmZmZmZmZmZmZddlmZddlmZddlmZmZdd	lmZm Z dd
l!m"Z"Gd�d��Z#d
de#��ifddgd�ifddgd�ifdde#��ifdde#��ifde#��dd�fgZ$ej%j&dkrej%j'dkrdZ(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/ggd0fd1d2e	j.d3gd4fd1d2e	j/d3gd4fd/d/gd5fgZ0d6e1d7fd8e1d7fgZ2d9ed:fd;ed:fgZ3d<ed:fe	j/e	j/fed:fe	j/e	j/fed:fe	j/e	j/fed:fe	j/e	j.fe1d=fe	j.e	j/fe1d=fgZ4de	j.fe1d=fe	j.e	j.fe1d=fgZ5ej6�7d>e3e2ze5z��ej6�7d?e$��d@�����Z8ej6�7d?e$��dA���Z9dB�Z:dC�Z;ej6�7d?e$��dD���Z<ej6�7dEgdF���dG���Z=dH�Z>dI�Z?dJ�Z@dK�ZAej6�7dLgdM���dN���ZBej6�7dLddg��GdO�dP����ZCGdQ�dR��ZDGdS�dT��ZEGdU�dV��ZFGdW�dX��ZGGdY�dZ��ZHGd[�d\��ZIdS)]�N)�deepcopy)�assert_allclose�assert_equal�suppress_warnings)�NumpyVersion)�TransformedDensityRejection�DiscreteAliasUrn�DiscreteGuideTable�NumericalInversePolynomial�NumericalInverseHermite�SimpleRatioUniforms�UNURANError)�stats)�special)�	chisquare�cramervonmises)�distdiscrete�distcont)�check_random_statec� �eZdZd�Zd�Zd�ZdS)�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.pdf s4���"�'�"�R�U�(�#�#�#�b�f�T�A�X�a�Z�&8�&8�8�8�c��dtjdtjz��z|ztjd|z|z��zSrrr"s  r%�dpdfzStandardNormal.dpdf$s;���"�'�"�R�U�(�#�#�#�q�b�(�2�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%rrsA������9�9�9�>�>�>�����r'rr�distr	)�{�G�z�?�
ףp=
�?皙�����?r
rrr
)r3�mode�pypy)���
z.unsupported operand type for float\(\): 'list'zmust be real number, not listc��|Sr+r2�r$s r%�<lambda>r>?s���r�r'z...c��gSr+r2r=s r%r>r>A���r�r'c��tSr+��foor=s r%r>r>C���s�r'�name 'foo' is not definedc��tjSr+�r�infr=s r%r>r>E���r�v�r'c��tjSr+�r�nanr=s r%r>r>GrIr'c��dS�Nrr2r2r'r%r>r>I���S�r'�,takes 0 positional arguments but 1 was givenc��tjSr+rGr=s r%r>r>PrIr'c��tjSr+rKr=s r%r>r>RrIr'c��gSr+r2r=s r%r>r>Tr@r'c��tSr+rBr=s r%r>r>VrDr'c��dSrNr2r2r'r%r>r>XrOr'c��gSr+r2r=s r%r>r>_r@r'c��tSr+rBr=s r%r>r>arDr'c��tjSr+rGr=s r%r>r>crIr'c��tjSr+rKr=s r%r>r>erIr'c��dSrNr2r2r'r%r>r>grOr'z!must contain at least one elementr�z0wrong number of dimensions \(expected 1, got 2\)皙�����?皙�����?r6�)must contain only finite / non-nan values�(must contain at least one non-zero value)��r:zmust be a length 2 tupler2)rar`z
left >= right)r`r`)r;r;zonly non-nan values�domain, err, msgzmethod, kwargsc��ttj|��}tj||���5|di|�d|i��ddd��dS#1swxYwYdS)N��match�domainr2)�getattrr�sampling�pytest�raises)rf�err�msg�method�kwargs�Methods      r%�test_bad_domainrp�s���
�U�^�V�
,�
,�F�	��s�#�	&�	&�	&�(�(���'�'��'�'��'�'�'�'�(�(�(�(�(�(�(�(�(�(�(�(����(�(�(�(�(�(s�
A�A�Ac�~�ttj|��}d}|di|�d|i��}|di|�d|i��}t|�d��|�d����t
j�d��|di|��}|�d��}t
j�d��|di|�ddi��}|�d��}t||��t
j�t
j�	d����}t
j�
t
j�	d����}	|di|�d|i��}|di|�d|	i��}t|�d��|�d����dS)N�{�random_state�dr2)rgrrhr�rvsr�random�seed�RandomState�MT19937�	Generator)
rmrnrorw�rng1�rng2�rvs1�rvs2�seed1�seed2s
          r%�test_random_stater��s���
�U�^�V�
,�
,�F��D��6�.�.�F�.�.��.�.�.�D��6�.�.�F�.�.��.�.�.�D�����#�������
�
�.�.�.��I�N�N�3�����6���F���D��8�8�C�=�=�D��I�N�N�4�����6�-�-�F�-�-��-�-�-�D��8�8�C�=�=�D���t����

�I�!�!�"�)�"3�"3�C�"8�"8�9�9�E��I����	� 1� 1�#� 6� 6�7�7�E��6�/�/�F�/�/��/�/�/�D��6�/�/�F�/�/��/�/�/�D�����#�������
�
�.�.�.�.�.r'c���tt��d���}tt����}|�d��t|�d��|�d����tt��d���}|�d��}|�d��|�d��}t||��dS)Nrr�rsrt)rr�set_random_staterru)r{r|�rngr}r~s     r%�test_set_random_stater��s���&�~�'7�'7�c�J�J�J�D�&�~�'7�'7�8�8�D����#��������#�������
�
�.�.�.�
%�n�&6�&6�S�
I�
I�
I�C��7�7�3�<�<�D���������7�7�3�<�<�D���t�����r'c�r���ddd��Gd�d�����fd�}��fd�}tj|���}tj|���}|���|���|���|����ddksJ��d	d
ksJ�dS)N)�err1�err2c� �eZdZd�Zd�Zd�ZdS)�.test_threading_behaviour.<locals>.Distributionc��||_dSr+)�pdf_msg)r#r�s  r%�__init__z7test_threading_behaviour.<locals>.Distribution.__init__�s
��"�D�L�L�Lr'c�N�d|cxkrdkrnnt|j���|S)Ng33333�H@gI@)�
ValueErrorr�r"s  r%r&z2test_threading_behaviour.<locals>.Distribution.pdf�s0���a�����$������ ���.�.�.��Hr'c��dS�Nr`r2r"s  r%r)z3test_threading_behaviour.<locals>.Distribution.dpdf�s���1r'N)r/r0r1r�r&r)r2r'r%�Distributionr��sA������	#�	#�	#�	�	�	�
	�	�	�	�	r'r�c����d��}t|dd���}	|�d��dS#t$r}|jd�d<Yd}~dSd}~wwxYw)NrC�r;rt��rfrs順rr��rrur��args�r3r��er��errorss   ��r%�func1z'test_threading_behaviour.<locals>.func1�s����|�E�"�"��)�$�y�79�;�;�;��	'��G�G�F�O�O�O�O�O���	'�	'�	'��V�A�Y�F�6�N�N�N�N�N�N�N�����	'�����7�
A�A�Ac����d��}t|dd���}	|�d��dS#t$r}|jd�d<Yd}~dSd}~wwxYw)N�barr�rar�r�rr�r�r�s   ��r%�func2z'test_threading_behaviour.<locals>.func2�s����|�E�"�"��)�$�y�78�:�:�:��	'��G�G�F�O�O�O�O�O���	'�	'�	'��V�A�Y�F�6�N�N�N�N�N�N�N�����	'���r�)�targetr�rCr�r�)�	threading�Thread�start�join)r�r��t1�t2r�r�s    @@r%�test_threading_behaviourr��s�����D�
)�
)�F�
�
�
�
�
�
�
�
�'�'�'�'�'�'�'�'�'�'�'�'�
�	��	'�	'�	'�B�	�	��	'�	'�	'�B��H�H�J�J�J��H�H�J�J�J��G�G�I�I�I��G�G�I�I�I��&�>�U�"�"�"�"��&�>�U�"�"�"�"�"�"r'c��ttj|��}|di|�ddi��}tj|��}tj|��}t
|�d��|�d����dS)Nrsrrrtr2)rgrrh�pickle�dumps�loadsrru)rmrnror{�objr|s      r%�test_pickler��s{��
�U�^�V�
,�
,�F��6�-�-�F�-�-��-�-�-�D�
�,�t�
�
�C��<����D�����#�������
�
�.�.�.�.�.r'�size)Nr)rr`)r;r:)rar:��)rr)rr`c��tt����}|�+tj|�|����sJ�dStj|��r|f}|�|��j|ksJ�dSr+)rrr�isscalarru�shape)r�r�s  r%�
test_rvs_sizer�s��
&�n�&6�&6�
7�
7�C��|��{�3�7�7�4�=�=�)�)�)�)�)�)�)�
�;�t���	��8�D��w�w�t�}�}�"�d�*�*�*�*�*�*r'c��tj��}tj�d��}t||���}tjddd���}t|||�����t|�	|��|�	|����tjdd���}t||���}t|||�����t|�	|��|�	|����tj
d	d
��}t||���}|���}|�
tj|d|ddz����}t|||�����dS)Nrr�r`rt��num�$@�@)�loc�scaler;r\)r�normrrv�default_rngr�linspace�check_cont_samplesr�ppf�binomr	�support�pmf�arange�check_discr_samples)r3�urngr��urf�pvs      r%�test_with_scipy_distributionr�se���:�<�<�D�
�9� � ��#�#�D�
!�$�T�
:�
:�
:�C�
��A�q�c�"�"�"�A��s�D�$�*�*�,�,�/�/�/��D�H�H�Q�K�K�������,�,�,��:�#�R�(�(�(�D�
!�$�T�
:�
:�
:�C��s�D�$�*�*�,�,�/�/�/��D�H�H�Q�K�K�������,�,�,��;�r�3���D�
�4�d�
3�
3�
3�C�
�\�\�^�^�F�	
���"�)�F�1�I�v�a�y��{�3�3�	4�	4�B���R������.�.�.�.�.r'c��|�d��}|���|���f}tj|d��rt||dd���|�d��}tj|j��|_t||j��j	}|dksJ�dS)Nr�r`gH�����z>皙�����?��rtol�atoli�)
ru�mean�varr�isfiniter�	vectorizer-r�pvalue)r�r3�mv_exru�mv�pvals      r%r�r�(s���

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

�'�'�#�,�,�C��|�D�H�%�%�D�H��#�t�x�(�(�/�D��#�:�:�:�:�:�:r'c��|�d��}|���|���f}t||dd���||���z}tj|��}tj|d���\}}||���z}||d|j�<t||��j
}|dksJ�dS)Nr����MbP?r�r�T)�
return_counts)rur�r�r�sumr�
zeros_like�uniquer�rr�)	r�r�r�rur��	obs_freqs�_�freqsr�s	         r%r�r�5s���

�'�'�&�/�/�C�	�����S�W�W�Y�Y�	�B��B��D�t�4�4�4�4�	�b�f�f�h�h��B��
�b�!�!�I��y��D�1�1�1�H�A�u��E�I�I�K�K��E�"�I�k�u�z�k���Y��#�#�*�D��#�:�:�:�:�:�:r'c�N�d}tjt|���5tt	��dd���ddd��n#1swxYwYtjt|���5tt	��d���ddd��dS#1swxYwYdS)Nz.102 : center moved into domain of distributionrdr�r:r�)�centerrf�rf)ri�warns�RuntimeWarningrr)rls r%�!test_warning_center_not_in_domainr�EsE��;�C�	��n�C�	0�	0�	0�N�N�"�>�#3�#3�A�f�M�M�M�M�N�N�N�N�N�N�N�N�N�N�N����N�N�N�N�	��n�C�	0�	0�	0�D�D�"�>�#3�#3�F�C�C�C�C�D�D�D�D�D�D�D�D�D�D�D�D����D�D�D�D�D�Ds#�A	�	A
�A
�/B�B�!Brm)r
rrc���ttj|��}d}tjt
|���5|t
��dd���ddd��dS#1swxYwYdS)Nz17 : mode not in domainrdrr�)r7rf)rgrrhrirjrr)rmrorls   r%�test_error_mode_not_in_domainr�Os����U�^�V�
,�
,�F�
#�C�	��{�#�	.�	.�	.�8�8���~���a��7�7�7�7�8�8�8�8�8�8�8�8�8�8�8�8����8�8�8�8�8�8s�A � A$�'A$c��eZdZd�Zdej�dd���ej�dd���gZde	��fddd	d
gZ
de	��fde	��fdgZej
�de��ej
�d
e
��ej
�de��d�������Zd�ZdS)�TestQRVSc�4�d}tjt|���5ttj|��}|t
����}|�d���ddd��n#1swxYwYttj|��}|t
����}d}tjt|���5|�dtj�	d�����ddd��dS#1swxYwYdS)	Nz&`qmc_engine` must be an instance of...rdr)�
qmc_engine�6`d` must be consistent with dimension of `qmc_engine`.r:ra��dr�)
rirjr�rgrrhr�qrvs�qmc�Halton)r#rmrero�gens     r%�test_input_validationzTestQRVS.test_input_validation`sw��8��
�]�:�U�
3�
3�
3�	#�	#��U�^�V�4�4�F��&��)�)�*�*�C��H�H��H�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�����0�0���f�^�%�%�&�&��H��
�]�:�U�
3�
3�
3�	:�	:��H�H�q�U�Y�%5�%5�a�%8�%8�H�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:s$�AA2�2A6�9A6�5D
�
D�DNr`r�rwr:)r`)r`)r��r�)r�r�)�rar�r�)r:)r:�qrng�size_in, size_outzd_in, d_outc�@�tjdkotj��ddk}|r|dkrtjd��t��}t
tj|��}	|	|��}
|�\|�Z|j	|krOd}tj
t|���5|
�|||���ddd��n#1swxYwYdS|�|�|j	d	kr|j	f}||z}t|��}
|
�|||�
��}|�
|j|ksJ�|
�o|
�t!j|��pd	��}tj�|���|��}t+||d���dSdS)
N�win32r�32bitrz4NumericalInversePolynomial.qrvs fails for Win 32-bitr�rdr�r`�r�r�r���-���q=�r�)�sys�platform�architectureri�xfailrrgrrhr�rjr�r�rr�rvr�prodr�r��reshaper)r#r��size_in�size_out�d_in�d_outrm�w32r3ror�re�shape_expected�qrng2r��uniform�qrvs2s                 r%�test_QRVS_shape_consistencyz$TestQRVS.test_QRVS_shape_consistencyvs���
�l�g�%�O�(�*?�*A�*A�!�*D��*O���	#�6�9�9�9��L�"�
#�
#�
#���������0�0���f�T�l�l����� 0�T�V�t�^�^�L�E���z��7�7�7�
;�
;�����D�T��:�:�:�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;����
;�
;�
;�
;��F��<�D�,���1����V�I�E�!�E�)��������x�x�W���x�>�>�����:��/�/�/�/����l�l�2�7�7�#3�#3�#8�q�9�9�G��J�N�N�7�+�+�3�3�N�C�C�E��D�%�e�4�4�4�4�4�4��s�)C�C�Cc�N�t��}ttj|��}||��}d}d}tj�|d���}tj�|d���}|�tj|����}	|�	|||���}
tj
�|	��}t|��D]=}|
d|f}
|dd�|f�
|��}t|
|d����>dS)	N)r:r�r�rr�r.rr)rrgrrhr�r�rvrrr�r�r��rangerr)r#rmr3ror�r�r�r�rrr�r�i�sample�sample2s               r%�test_QRVS_size_tuplezTestQRVS.test_QRVS_size_tuple�s����������0�0���f�T�l�l����
���y������*�*���	� � ��� �+�+���,�,�r�w�t�}�}�-�-���x�x�T�Q�4�x�8�8���
���w�'�'���q���	9�	9�A��#�q�&�\�F��A�A�A�q�D�k�)�)�$�/�/�G��F�G�%�8�8�8�8�8�	9�	9r')r/r0r1r�rr��Sobolr��qrngs�tuple�sizes�dsri�mark�parametrizerrr2r'r%r�r�]s������
:�
:�
:��5�9�?�?�1�1�?�-�-�u�y�/?�/?���/?�/J�/J�K�E��E�E�G�G�_�i��
�+�
-�E������/�A�u�u�w�w�<��	3�B��[���V�U�+�+��[���0�%�8�8��[���]�B�/�/� 5� 5�0�/�9�8�,�+� 5�D9�9�9�9�9r'r�c
���eZdZGd�d��ZGd�d��ZGd�d��Ze��e��ed��ed��gZdd	gZdd
gZde	j
gZde	j
gZeeeegZ
ej�deee
����d���Zd
�edfgZeez
Zej�de��d���Zej�de��d���Zej�de��d���Zej�dgd���d���Zd�Zej�dde	je	j
ddg��d���Ze	jddd �!��ggge	jge	j
e	je	j
gde	jd"dgd#d$e	j
ggd%�ggZ ej�d&e ��d'���Z!d(�Z"d)S)*�TestTransformedDensityRejectionc�&�eZdZd�Zd�Zd�Zd�ZdS)�%TestTransformedDensityRejection.dist0c��dd||zz
zS�N��?r`r2r"s  r%r&z)TestTransformedDensityRejection.dist0.pdf�����!�A�a�C�%�=� r'c��dd|zzS)Nr&���r2r"s  r%r)z*TestTransformedDensityRejection.dist0.dpdf�s���"�Q�$�<�r'c�$�d||dzdzz
dzzS�Nr&r:gUUUUUU�?r2r"s  r%r-z)TestTransformedDensityRejection.dist0.cdf�����!�a��d�1�f�*�s�*�+�+r'c��dS�N)���r`r2�r#s r%r�z-TestTransformedDensityRejection.dist0.support�����5r'N�r/r0r1r&r)r-r�r2r'r%�dist0r#�sP������	!�	!�	!�	 �	 �	 �	,�	,�	,�	�	�	�	�	r'r3c� �eZdZd�Zd�Zd�ZdS)�%TestTransformedDensityRejection.dist1c�F�tj�|dz��S�Nr��rr��_pdfr"s  r%r&z)TestTransformedDensityRejection.dist1.pdf�����:�?�?�1�s�7�+�+�+r'c�T�|dztj�|dz��zS)N�{�G�z�?r�r8r"s  r%r)z*TestTransformedDensityRejection.dist1.dpdf�s%���2��9�u�z���q�3�w�7�7�7�7r'c�F�tj�|dz��Sr7�rr��_cdfr"s  r%r-z)TestTransformedDensityRejection.dist1.cdf�r:r'Nr.r2r'r%�dist1r5�sA������	,�	,�	,�	8�	8�	8�	,�	,�	,�	,�	,r'r@c�&�eZdZd�Zd�Zd�Zd�ZdS)�%TestTransformedDensityRejection.dist2c��||_dSr+��shift�r#rEs  r%r�z.TestTransformedDensityRejection.dist2.__init__�s
���D�J�J�Jr'c�P�||jz}dt|��dzz}d|z|zS�Nr��?�rE�abs�r#r$�ys   r%r&z)TestTransformedDensityRejection.dist2.pdf��/��
���O�A��c�!�f�f�r�k�"�A���7�Q�;�r'c�f�||jz}dt|��dzz}||z|z}|dkr|n|S)Nrr[rJrLs   r%r)z*TestTransformedDensityRejection.dist2.dpdf�sB��
���O�A��c�!�f�f�r�k�"�A��A���	�A��R���1�1�q�b�(r'c�H�||jz}|dkrdd|z
zSddd|zzz
S�Nr[rIrrDr"s  r%r-z)TestTransformedDensityRejection.dist2.cdf��7��
���O�A��B�w�w��b�1�f�~�%��C�2��6�N�*�*r'N)r/r0r1r�r&r)r-r2r'r%�dist2rB�sP������	�	�	�	�	�	�
	)�	)�	)�	+�	+�	+�	+�	+r'rSr[���@��?r<�dist, mv_exc���t��5}|�t��t|d���}ddd��n#1swxYwYt	|||��dS�N�*r�)r�filterr�rr�)r#r3r��supr�s     r%�
test_basicz*TestTransformedDensityRejection.test_basic�s����
 �
 �	E�C��J�J�~�&�&�&�-�d��D�D�D�C�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�	�3��e�,�,�,�,�,s�,A�A�Ac��dS)Nrr2r=s r%r>z(TestTransformedDensityRejection.<lambda>s��1�r'�50 : bad construction points.�
pdf, err, msgc��Gd�d��}||_d�|_tj||���5t	|��ddd��dS#1swxYwYdS)Nc��eZdZdS)�:TestTransformedDensityRejection.test_bad_pdf.<locals>.distN�r/r0r1r2r'r%r3rb��������Dr'r3c��dSr�r2r=s r%r>z>TestTransformedDensityRejection.test_bad_pdf.<locals>.<lambda>s��a�r'rd�r&r)rirjr�r#r&rkrlr3s     r%�test_bad_pdfz,TestTransformedDensityRejection.test_bad_pdfs���	�	�	�	�	�	�	�	�����K��	�
�]�3�c�
*�
*�
*�	.�	.�'��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s�A�A�Azdpdf, err, msgc��Gd�d��}d�|_||_tj||���5t	|d���ddd��dS#1swxYwYdS)Nc��eZdZdS)�;TestTransformedDensityRejection.test_bad_dpdf.<locals>.distNrcr2r'r%r3rkrdr'r3c��|Sr+r2r=s r%r>z?TestTransformedDensityRejection.test_bad_dpdf.<locals>.<lambda>s��Q�r'rd�r`r;r�rf)r#r)rkrlr3s     r%�
test_bad_dpdfz-TestTransformedDensityRejection.test_bad_dpdfs���	�	�	�	�	�	�	�	��;�����	�
�]�3�c�
*�
*�
*�	>�	>�'��W�=�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>s�A�A�Arbc��tj||���5tt��|���ddd��dS#1swxYwYdS�Nrdr�)rirjrr�r#rfrkrls    r%�test_inf_nan_domainsz4TestTransformedDensityRejection.test_inf_nan_domainss���
�]�3�c�
*�
*�
*�	I�	I�'��(8�(8��H�H�H�H�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I�	I�	I��A�A�	A�construction_points)r/rr�c��tjtd���5tt	��|���ddd��dS#1swxYwYdS)Nz1`construction_points` must be a positive integer.rd�rt�rirjr�rr�r#rts  r%�#test_bad_construction_points_scalarzCTestTransformedDensityRejection.test_bad_construction_points_scalars���
�]�:�.D�E�E�E�	�	�'�� � �6I�
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�Ac���g}tjtd���5tt	��|���ddd��n#1swxYwYgd�}tjtd���5tt	��|���ddd��n#1swxYwYtjtjtjg}tjtd���5tt	��|���ddd��n#1swxYwYddg}tjtd	���5tt	��d
|���ddd��dS#1swxYwYdS)NzC`construction_points` must either be a scalar or a non-empty array.rdrv)r`r`r`r`r`r`z:33 : starting points not strictly monotonically increasingr^���r;z!50 : starting point out of domain)���r:)rfrt)
rirjr�rrr�r�rrLrrxs  r%�"test_bad_construction_points_arrayzBTestTransformedDensityRejection.test_bad_construction_points_array$s��� ��
�]�:�.M�N�N�N�	�	�
(�� � �6I�
�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�1�0�0��
�\�.�1>�?�?�?�	�	�
(�� � �6I�
�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	� "�v�r�v�r�v�6��
�]�;�/9�:�:�:�	�	�'�� � �6I�
�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	� #�B�i��
�\�.�1:�;�;�;�	�	�'�� � ��$7�
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sG�A�A�A�2B�B �#B �%D�D�D�9E%�%E)�,E)�c��r�rc��d}tjt|���5tt	��d���ddd��dS#1swxYwYdS)Nz`c` must either be -0.5 or 0.rdr)r~rw)r#r~rls   r%�
test_bad_cz*TestTransformedDensityRejection.test_bad_cHs���.��
�]�:�S�
1�
1�
1�	A�	A�'��(8�(8�C�@�@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A�	A�	A��A	�	A
�A
rr`i�r�rIr\r]�r)r:r�r�c��tt��d���}t��5}|�td��|�td��|�td��|�td��|�|��}tj�|��}ddd��n#1swxYwYt||dd�	��|j
|j
ksJ�dS)
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_equalr���h㈵��>r�)rrrrZr��ppf_hatrr�r�rr�)r#r�r�r[�res�expecteds      r%�test_ppf_hatz,TestTransformedDensityRejection.test_ppf_hatRs@��*�.�*:�*:�@F�H�H�H���
 �
 �	)�C��J�J�~�'M�N�N�N��J�J�~�(7�
8�
8�
8��J�J�~�'J�K�K�K��J�J�~�(4�
5�
5�
5��+�+�a�.�.�C��z�~�~�a�(�(�H�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	��X�D�t�<�<�<�<��y�H�N�*�*�*�*�*�*s�B!C�C� Cc�L�Gd�d��}d}tjt|���5t|��ddd��n#1swxYwYGd�d��}d}tjt|���5t|��ddd��dS#1swxYwYdS)Nc��eZdZdS)�;TestTransformedDensityRejection.test_bad_dist.<locals>.distNrcr2r'r%r3r�hs�������Cr'r3z`pdf` required but not found.rdc��eZdZd�ZdS)r�c��d||zz
Sr�r2r=s r%r>zDTestTransformedDensityRejection.test_bad_dist.<locals>.dist.<lambda>qs��A�a��c�E�r'N�r/r0r1r&r2r'r%r3z;TestTransformedDensityRejection.test_bad_dist.<locals>.distps������!�/�C�C�Cr'z`dpdf` required but not found.)rirjr�r)r#r3rls   r%�
test_bad_distz-TestTransformedDensityRejection.test_bad_distfs_��	�	�	�	�	�	�	�	�/��
�]�:�S�
1�
1�
1�	.�	.�'��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	"�	"�	"�	"�	"�	"�	"�	"�0��
�]�:�S�
1�
1�
1�	.�	.�'��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s#�A�A�A�<B�B� BN)#r/r0r1r3r@rS�dists�mv0�mv1rrH�mv2�mv3�mvsrirr�zipr\r�bad_pdfs�bad_pdfs_commonrh�bad_dpdf_commonrn�inf_nan_domainsrrryr}rLr�r�r�r�r�r2r'r%r!r!�s���������������,�,�,�,�,�,�,�,�+�+�+�+�+�+�+�+�,�U�W�W�e�e�g�g�u�u�R�y�y�%�%��-�-�8�E��v�,�C�
�t�*�C�
�r�v�,�C��2�6�
�C���S�#�
�C��[���]� �S���_�_�.�.�-�-�.�.�-���k�+K�L�M�H����H��[���_�h�7�7�.�.�8�7�.��[���-��?�?�>�>�@�?�>��[���/��A�A�I�I�B�A�I��[���2�L�L�L�A�A���B�A��"�"�"�H�[���S�3������R�"@�A�A�A�A�B�A�A�

���Q��t�	$�	$�	$�b�2�$����
�6�'�2�6�2�6�	"�A�
�6�3��
�s�C���0�*�*�*�	=�	?�A��[���S�!�$�$�+�+�%�$�+�&.�.�.�.�.r'r!c	�Z�eZdZhd�Zej�de��d���Zd�e	dfd�e	dfd�e	dfd	�e
d
fd�e	dfd
�edfd�edfgZ
ej�de
��d���Zej�dgd�gd�g��d���Zej�de��d���ZejejfejejfejejfdejfejdfgZej�de��d���Zd�Zd�ZdS)�TestDiscreteAliasUrn��randint�nchypergeom_fisher�nchypergeom_wallenius�distname, paramsc��||jvrd}tj|��t|t��s|}ntt|��}||�}|���}tj	|d|dz
��stjd��tj
|d|ddz��}|�|��}|�d��}t|d���}	t|	||��dS)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�rYr�)�basic_fail_distsri�skip�
isinstance�strrgrr�rr�r�r�r	r��
r#�distname�paramsrlr3rf�kr�r�r�s
          r%r\zTestDiscreteAliasUrn.test_basic�s���t�,�,�,�:�C��K������(�C�(�(�	,��D�D��5�(�+�+�D��t�V�}���������{�6�!�9�v�a�y�0�1�1�	@�
�K�>�?�?�?��I�f�Q�i����1��-�-��
�X�X�a�[�[���
�
�4� � ���t�"�5�5�5���C��U�+�+�+�+�+r'c��tjSr+rGr=s r%r>zTestDiscreteAliasUrn.<lambda>����2�6�r'r^c��tjSr+rKr=s r%r>zTestDiscreteAliasUrn.<lambda>�r�r'c��dS)Nr[r2r=s r%r>zTestDiscreteAliasUrn.<lambda>�s��3�r'r_c��tSr+rBr=s r%r>zTestDiscreteAliasUrn.<lambda>�s��3�r'rEc��gSr+r2r=s r%r>zTestDiscreteAliasUrn.<lambda>�s��2�r'z)setting an array element with a sequence.c��|Sr+r2r=s r%r>zTestDiscreteAliasUrn.<lambda>�s��A�2�r'z50 : probability < 0c��dSrNr2r2r'r%r>zTestDiscreteAliasUrn.<lambda>�s���r'rPz
pmf, err, msgc��Gd�d��}||_tj||���5t|d���ddd��dS#1swxYwYdS)Nc��eZdZdS)�/TestDiscreteAliasUrn.test_bad_pmf.<locals>.distNrcr2r'r%r3r��rdr'r3rdrmr�)r�rirjr	)r#r�rkrlr3s     r%�test_bad_pmfz!TestDiscreteAliasUrn.test_bad_pmf�s���	�	�	�	�	�	�	�	����
�]�3�c�
*�
*�
*�	3�	3��T�'�2�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s�A
�
A�Ar�)r5r4r6)rrg@�@r�g@c��tj|tj���}t|d���}|�d��}||���z}tjdt|����}tj||���}tj||z
dz|���}||f}t|||��dS)N)�dtyperrr�r�r)�weightsra)
r�asarray�float64r	rur�r��len�averager�)r#r�r�ru�variates�
m_expected�
v_expected�mv_expecteds        r%�test_sampling_with_pvz*TestDiscreteAliasUrn.test_sampling_with_pv�s����Z��"�*�
-�
-�
-���r��4�4�4���g�g�g����
�"�&�&�(�(�]���9�Q��B���(�(���Z��"�5�5�5�
��Z��J�!6�1� <�b�I�I�I�
� �*�,���C��[�1�1�1�1�1r'�pv, msgc��tjt|���5t|��ddd��dS#1swxYwYdS�Nrd�rirjr�r	�r#r�rls   r%�test_bad_pvz TestDiscreteAliasUrn.test_bad_pv�s���
�]�:�S�
1�
1�
1�	!�	!��R� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!�
�9�=�=rrfc��tjtd���5tt	jdd��|���ddd��dS#1swxYwYdS�Nzmust be finiterdr;r\r�)rirjr�r	rr��r#rfs  r%�test_inf_domainz$TestDiscreteAliasUrn.test_inf_domain�s���
�]�:�->�
?�
?�
?�	B�	B��U�[��S�1�1�&�A�A�A�A�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	B��%A�A�Ac��tjtd���5tddgd���ddd��dS#1swxYwYdS)Nzrelative urn size < 1.rdrIr/)�
urn_factor)rir�r�r	r0s r%�test_bad_urn_factorz(TestDiscreteAliasUrn.test_bad_urn_factor�s���
�\�.�0I�
J�
J�
J�	8�	8��c�3�Z�B�7�7�7�7�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8s�=�A�Ac��d}Gd�d��}tjt|���5t|��ddd��dS#1swxYwYdS)NzG`domain` must be provided when the probability vector is not available.c��eZdZd�ZdS)�0TestDiscreteAliasUrn.test_bad_args.<locals>.distc��|Sr+r2r"s  r%r�z4TestDiscreteAliasUrn.test_bad_args.<locals>.dist.pmf�s���r'N)r/r0r1r�r2r'r%r3r��s#������
�
�
�
�
r'r3rdr�)r#rlr3s   r%�
test_bad_argsz"TestDiscreteAliasUrn.test_bad_args�s���7��	�	�	�	�	�	�	�	��]�:�S�
1�
1�
1�	#�	#��T�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#s�A�A�AN)r/r0r1r�rirrrr\r��	NameErrorr�	TypeError�bad_pmfr�r��
bad_pv_commonr�rrH�
inf_domainr�r�r�r2r'r%r�r�xs�����������[���/��>�>�,�,�?�>�,�2
�	�:�	5�	7�
�	�:�	5�	7�
��
�	4�	6�
��	�	%�	'�
��z�	5�	7�
��{�	 �	"�
��i�	8�	:�)�G�0�[���_�g�6�6�3�3�7�6�3��[���T�$5�$5�$5�$B�$B�$B�$D�E�E�
2�
2�E�E�
2��[���Y�
�6�6�!�!�7�6�!��F�7�B�F�#�b�f�b�f�%5����"�&��7I��b�f�+�����|�-�J��[���X�z�2�2�B�B�3�2�B�8�8�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�deee����d���Zgd�Zgd�Zejjej�de��d�����Zej�de��d���Zej�de��d���Zej�de��d���Ze
jddd� ��ggge
j ge
j!e
j e
j!gde
j d!d"gd#d$e
j!ggd%�ggZ"ej�d&e"��d'���Z#e
jd(d)d� ��ggge
j ge
j!e
j e
j!gde
j d!d"gd#d$e
j!ge
j!d*d+gggZ$ej�d,e$��d-���Z%d.�Z&dd/d0e
j!e
j gZ'd1d"e
j!e
j gZ(ej�d2e'��d3���Z)ej�d4e(��d5���Z*d6�Z+d7�Z,d8S)9�TestNumericalInversePolynomialc� �eZdZd�Zd�Zd�ZdS)�$TestNumericalInversePolynomial.dist0c��dd||zz
zSr%r2r"s  r%r&z(TestNumericalInversePolynomial.dist0.pdf�r'r'c�$�d||dzdzz
dzzSr+r2r"s  r%r-z(TestNumericalInversePolynomial.dist0.cdf�r,r'c��dSr.r2r0s r%r�z,TestNumericalInversePolynomial.dist0.support�r1r'N�r/r0r1r&r-r�r2r'r%r3r��sA������	!�	!�	!�	,�	,�	,�	�	�	�	�	r'r3c��eZdZd�Zd�ZdS)�$TestNumericalInversePolynomial.dist1c�F�tj�|dz��Sr7r8r"s  r%r&z(TestNumericalInversePolynomial.dist1.pdf�r:r'c�F�tj�|dz��Sr7r>r"s  r%r-z(TestNumericalInversePolynomial.dist1.cdf�r:r'N)r/r0r1r&r-r2r'r%r@r��s2������	,�	,�	,�	,�	,�	,�	,�	,r'r@c� �eZdZd�Zd�Zd�ZdS)�$TestNumericalInversePolynomial.dist2c�\�dddtjdtjz|z��zzzS)N皙�����?��������?r`ra�r�sinr r"s  r%r&z(TestNumericalInversePolynomial.dist2.pdfs+���$�!�b�f�Q�r�u�W�Q�Y�&7�&7�"7�8�8�8r'c��d|dzzdddtjzd|zzztjdtjz|z��z
zdtjzzzS)Nr�r`g�������?rrr��rr �cosr"s  r%r-z(TestNumericalInversePolynomial.dist2.cdfsZ���!�a�%�L���b���h��A��.�.����2�5���
�1C�1C�C�D����X���
 r'c��dSr.r2r0s r%r�z,TestNumericalInversePolynomial.dist2.supportr1r'Nr�r2r'r%rSr��sA������	9�	9�	9�	 �	 �	 �
	�	�	�	�	r'rSc� �eZdZd�Zd�Zd�ZdS)�$TestNumericalInversePolynomial.dist3c�b�ddddtjdtjz|z��zzzzS)Nr\r�r�r`rar�r"s  r%r&z(TestNumericalInversePolynomial.dist3.pdfs0���$���R�V�A�b�e�G�A�I�->�->�)>�!?�?�@�@r'c���|dzdzddtjzztjdtjz��tjdtjz|z��z
zzS)Nr�rIg
ףp=
�?rar;r�r"s  r%r-z(TestNumericalInversePolynomial.dist3.cdfsZ���S�5�3�;��q���w��2�6�"�R�U�(�3C�3C�35�6�!�B�E�'�!�)�3D�3D�4E�"F�F�
Fr'c��dS)N)���r�r2r0s r%r�z,TestNumericalInversePolynomial.dist3.supportr1r'Nr�r2r'r%�dist3r�sG������	A�	A�	A�	F�	F�	F�	�	�	�	�	r'rr[rUr<g������ܿ�UUUUUU�?g�Q����?rag������ @rVc�J�t|d���}t|||��dSrX)rr��r#r3r�r�s    r%r\z)TestNumericalInversePolynomial.test_basic$s.��)��B�?�?�?���3��e�,�,�,�,�,r')�studentized_range�	trapezoid�triang�vonmises�levy_stable�kappa4�ksone�kstwo�levy_l�
gausshyper�anglit)	�ncf�pareto�chi2�fatiguelife�halfgennorm�gibrat�lognorm�ncx2�tr�c��||jvrtjd|����||jvrtjd|����t	|t
��rt
t|��n|}||�}t��5}|�	t��t|d���}ddd��n#1swxYwYt|||�
��|���g��dS)NzPINV too slow for zPINV fails for rYr�)�very_slow_distsrir��
fail_distsr�r�rgrrrZr�rr�r�r�)r#r�r�r3r[r�s      r%�test_basic_all_scipy_distsz9TestNumericalInversePolynomial.test_basic_all_scipy_dists3sH���t�+�+�+��K�7�X�7�7�8�8�8��t��&�&��K�4�(�4�4�5�5�5��h��,�,����x�(�(�(��	
��t�V�}��
�
 �
 �	D�C��J�J�~�&�&�&�,�T��C�C�C�C�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�	�3��t�y�y�{�{�D�H�H�J�J�&?�@�@�@�@�@s�,B8�8B<�?B<r_c��Gd�d��}||_tj||���5t|ddg���ddd��dS#1swxYwYdS)Nc��eZdZdS)�9TestNumericalInversePolynomial.test_bad_pdf.<locals>.distNrcr2r'r%r3rErdr'r3rdrr�r�)r&rirjrrgs     r%rhz+TestNumericalInversePolynomial.test_bad_pdfCs���	�	�	�	�	�	�	�	����
�]�3�c�
*�
*�
*�	<�	<�&�t�Q��F�;�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�	<�	<��A�A�Azlogpdf, err, msgc��Gd�d��}||_tj||���5t|ddg���ddd��dS#1swxYwYdS)Nc��eZdZdS)�<TestNumericalInversePolynomial.test_bad_logpdf.<locals>.distNrcr2r'r%r3r"Mrdr'r3rdrr�r�)�logpdfrirjr)r#r#rkrlr3s     r%�test_bad_logpdfz.TestNumericalInversePolynomial.test_bad_logpdfKs���	�	�	�	�	�	�	�	����
�]�3�c�
*�
*�
*�	<�	<�&�t�Q��F�;�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�	<�	<rrbc��tj||���5tt��|���ddd��dS#1swxYwYdSrp)rirjrrrqs    r%rrz3TestNumericalInversePolynomial.test_inf_nan_domainsUs���
�]�3�c�
*�
*�
*�	H�	H�&�~�'7�'7��G�G�G�G�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H����	H�	H�	H�	H�	H�	Hrsrr`�'r�rIr�r\r]r�r�c��t��}t|d���}t��5}|�td��|�td��|�td��|�td��|�|��}tj�|��}ddd��n#1swxYwYt||dd���|j	|j	ksJ�dS�	N�+����=��u_resolutionr�r�r�r�g�dy���=r�)
rrrrZr�r�rr�rr��r#r�r3r�r[r�r�s       r%�test_ppfz'TestNumericalInversePolynomial.test_ppfi�9������(��E�B�B�B���
 �
 �	)�C��J�J�~�'M�N�N�N��J�J�~�(7�
8�
8�
8��J�J�~�'J�K�K�K��J�J�~�(4�
5�
5�
5��'�'�!�*�*�C��z�~�~�a�(�(�H�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	��X�E��>�>�>�>��y�H�N�*�*�*�*�*�*��B!C�C�"Cr{r;r:r�r$c��t��}t|d���}t��5}|�td��|�td��|�td��|�td��|�|��}tj�|��}ddd��n#1swxYwYt||dd���|j	|j	ksJ�dSr()
rrrrZr�r-rr�rr�)r#r$r3r�r[r�r�s       r%�test_cdfz'TestNumericalInversePolynomial.test_cdfr.r/c��t��}t|d���}|���\}}|dksJ�||ksJ�t|d���}|���\}}|dksJ�||ksJ�dS�Ng�����|�=r*r))rr�u_error)r#r3r��	max_error�maes     r%�test_u_errorz+TestNumericalInversePolynomial.test_u_error�s�������(��E�B�B�B��������	�3��5� � � � ��i�����(��E�B�B�B��������	�3��5� � � � ��i������r'g@�g#B����;�orderc��t��}d}tjt|���5t	||���ddd��dS#1swxYwYdS)Nz2`order` must be an integer in the range \[3, 17\].rd�r9)rrirjr�r)r#r9r3rls    r%�test_bad_ordersz.TestNumericalInversePolynomial.test_bad_orders�s�������C��
�]�:�S�
1�
1�
1�	:�	:�&�t�5�9�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:s�A�A�Ar+c��d}tjt|���5tt	��|���ddd��dS#1swxYwYdS)Nz.`u_resolution` must be between 1e-15 and 1e-5.rdr*)rirjr�rr)r#r+rls   r%�test_bad_u_resolutionz4TestNumericalInversePolynomial.test_bad_u_resolution�s���?��
�]�:�S�
1�
1�
1�	B�	B�&�~�'7�'7�4@�
B�
B�
B�
B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	Br�c�j�Gd�d��}|��}d}tjt|���5t|��}ddd��n#1swxYwYt	��}t|��}d}tjt|���5|�d��ddd��n#1swxYwYGd�d��}|��}t|��}d	}tjt|���5|���ddd��dS#1swxYwYdS)
Nc��eZdZd�ZdS)�=TestNumericalInversePolynomial.test_bad_args.<locals>.BadDistc�@�tj�|��Sr+r>r"s  r%r-zATestNumericalInversePolynomial.test_bad_args.<locals>.BadDist.cdf�s���z���q�)�)�)r'N)r/r0r1r-r2r'r%�BadDistrA��#������
*�
*�
*�
*�
*r'rCz9Either of the methods `pdf` or `logpdf` must be specifiedrdz4`sample_size` must be greater than or equal to 1000.r;c��eZdZd�ZdS)�BTestNumericalInversePolynomial.test_bad_args.<locals>.Distributionc�6�tjd|z|z��S)Nr)rr!r"s  r%r&zFTestNumericalInversePolynomial.test_bad_args.<locals>.Distribution.pdf�s���v�d�Q�h�q�j�)�)�)r'Nr�r2r'r%r�rF�rDr'r�z!Exact CDF required but not found.)rirjr�rrr4)r#rCr3rlr�r�s      r%r�z,TestNumericalInversePolynomial.test_bad_args�s��	*�	*�	*�	*�	*�	*�	*�	*��w�y�y��J��
�]�:�S�
1�
1�
1�	3�	3�,�T�2�2�C�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�����(��.�.��E��
�]�:�S�
1�
1�
1�	�	��K�K��O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	*�	*�	*�	*�	*�	*�	*�	*��|�~�~��(��.�.��2��
�]�:�S�
1�
1�
1�	�	��K�K�M�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s5�A�A�A�B8�8B<�?B<�D(�(D,�/D,c�>�Gd�d��}|��}d�|_t|��}|��}d�|_t|��}tjddd���}t|�|��|�|����dS)	Nc��eZdZdS)�JTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.MyDistNrcr2r'r%�MyDistrJ�rdr'rKc�8�tj||zdz��S�Nra)�mathr!r=s r%r>zLTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.<lambda>�s����1�"�Q�$�q�&�!1�!1�r'c��||zdzSrMr2r=s r%r>zLTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.<lambda>�s���r�!�t�A�v�r'r�gwJ��?rtr�)r&rr#rr�rr�)r#rK�dist_pdfr{�dist_logpdfr|�qs       r%�test_logpdf_pdf_consistencyz:TestNumericalInversePolynomial.test_logpdf_pdf_consistency�s���	�	�	�	�	�	�	�	��6�8�8��1�1���)�(�3�3���f�h�h��-�-���)�+�6�6���K��f�#�.�.�.���������T�X�X�a�[�[�1�1�1�1�1r'N)-r/r0r1r3r@rSrr�r�r�rr r�r�r�rirrr�r\rr�xslowrrr�rh�bad_logpdfs_commonr$r�rrr�rLrHr�r-r$r1r7�
bad_orders�bad_u_resolutionr<r>r�rSr2r'r%r�r��sK��������������,�,�,�,�,�,�,�,�
�
�
�
�
�
�
�
�"	�	�	�	�	�	�	�	��U�W�W�e�e�g�g�u�u�w�w�����0�E��v�,�C�
�t�*�C����;��'�"�%��(�"2�2�
3�C����;�)�G�B�E�1�H�,<�<�
=�C���S�#�
�C��[���]� �S���_�_�.�.�-�-�.�.�-�/�/�/�O�4�4�4�J��[���[���/��:�:�A�A�;�:���A��[���_�o�>�>�<�<�?�>�<��[���/�1C�D�D�<�<�E�D�<��[���/��A�A�H�H�B�A�H�	���A�q�e�$�$�$�
�R�D�	���B�F�7�B�F�B�F�+�	�
�&�#�s�	�c�3���/����<�
	�A��[���S�!�$�$�+�+�%�$�+�"
���S�"�%�	(�	(�	(�"�r�d�R�V�H�
�6�'�2�6�2�6�	"�A�
�6�3��
�s�C���0�B�F�7�A�q�/�	B�	D�A��[���S�!�$�$�+�+�%�$�+�"	 �	 �	 ��S�"�b�f�b�f�-�J��t�R�V�R�V�4���[���W�j�1�1�:�:�2�1�:��[���^�-=�>�>�B�B�?�>�B����62�2�2�2�2r'r�c
��eZdZGd�d��ZGd�d��Ze��e��gZddejzzddd	ejzejzzz
gZd
dddejzejzzz
dz
gZ	ee	gZ
ej�
d
eee
����ej�
dddg��d�����Zej�
de��d���Zd�Zej�d��ejjej�
de��d�������Zej�d��d���Zd�Zddej�d��gZe�ej�d����de��fddgZej�
de��ej�
de��d �����Z d!�Z!d"�Z"ej#d#d$d%�&��gggej$gej%ej$ej%gdej$d'd(gd)d*ej%ggd+�ggZ&ej�
d,e&��d-���Z'd.�Z(dS)/�TestNumericalInverseHermitec�&�eZdZd�Zd�Zd�Zd�ZdS)�!TestNumericalInverseHermite.dist0c�V�ddtjdtjz|z��zzS)NrIrrr�r"s  r%r&z%TestNumericalInverseHermite.dist0.pdf�s&����R�V�B�r�u�H�Q�J�/�/�/�0�0r'c�d�tjtjdtjz|z��zS)Nrr�r"s  r%r)z&TestNumericalInverseHermite.dist0.dpdf�s#���5����2�5���
�+�+�+�+r'c��ddtjzd|zzztjdtjz|z��z
dtjzzS)Nrrr`r�r�r"s  r%r-z%TestNumericalInverseHermite.dist0.cdf�s@����B�E��1�q�5�)�)�B�F�2�b�e�8�A�:�,>�,>�>�2�b�e�8�L�Lr'c��dSr.r2r0s r%r�z)TestNumericalInverseHermite.dist0.support�r1r'Nr2r2r'r%r3r[�sS������	1�	1�	1�	,�	,�	,�	M�	M�	M�	�	�	�	�	r'r3c�&�eZdZd�Zd�Zd�Zd�ZdS)�!TestNumericalInverseHermite.dist1c��|dkr4tjdtjz|z��dztjzS|dkrdS|dkr4tjdtjz|z��dztjzSdS)NrrrIr[r�r"s  r%r&z%TestNumericalInverseHermite.dist1.pdf�sw���T�	�	��v�r�B�E�z�Q�.�/�/�#�5���=�=��B����r��S����v�r�B�E�z�Q�.�/�/�#�5���=�=��r'c�&�|dkr>tjdtjz|z��tjztjzS|dkrdS|dkr>tjdtjz|z��tjztjzSdS)Nrrr[rI�rr�r r"s  r%r)z&TestNumericalInverseHermite.dist1.dpdf�s{���T�	�	��v�r�B�E�z�Q�.�/�/�"�%�7�"�%�?�?��B����r��S����v�r�B�E�z�Q�.�/�/�"�%�7�"�%�?�?��r'c���|dkr*ddtjdtjz|z��z
zS|dkrdS|dkr*ddtjdtjz|z��zz
SdS)Nrg�?r`rr[rIr&rdr"s  r%r-z%TestNumericalInverseHermite.dist1.cdfss���T�	�	��q�2�6�2���:��*:�#;�#;�;�<�<��B����s��S����d�R�V�R�"�%�Z�1�,<�%=�%=�=�=�=��r'c��dS)N)r/rIr2r0s r%r�z)TestNumericalInverseHermite.dist1.support
s���7r'Nr2r2r'r%r@ra�sS������	>�	>�	>�	@�	@�	@�	>�	>�	>�	�	�	�	�	r'r@r/rarr`r�gпg�?g�?rVr9r:r�c�L�t||d���}t|||��dS)NrY)r9rs)rr�)r#r3r�r9r�s     r%r\z&TestNumericalInverseHermite.test_basics0��&�d�%�b�I�I�I���3��e�,�,�,�,�,r'rbc��tj||���5tt��|���ddd��dS#1swxYwYdSrp)rirjrrrqs    r%rrz0TestNumericalInverseHermite.test_inf_nan_domains s���
�]�3�c�
*�
*�
*�	E�	E�#�N�$4�$4�V�D�D�D�D�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�	E�	Ersc	���hd�}hd�}||vrtjd��||vrtjd��tj�d��t
t|��|�}t|��}tj�	d��}tj
tj|�|��|�|��z
��tj|�|����z��}tj
tj|�
|�|����|z
����}	|dksJ�|	dksJ�dS)	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)rir�rrrvrwrgrr�rand�maxrKr�r-)
r#r��shapes�
slow_distsrr3�fnir$�p_tol�u_tols
          r%�basic_test_all_scipy_distsz6TestNumericalInverseHermite.basic_test_all_scipy_dists%sD��B�B�B�
�@�@�@�
��z�!�!��K�2�3�3�3��z�!�!�
�L�D�E�E�E�
�	���q����'�w�u�h�'�'��0��%�d�+�+���I�N�N�2������r�v�d�h�h�q�k�k�#�'�'�!�*�*�4�5�5�b�f�T�X�X�a�[�[�6I�6I�I�J�J����r�v�d�h�h�s�w�w�q�z�z�2�2�Q�6�7�7�8�8���t�|�|�|�|��u�}�}�}�}�}�}r'zignore::RuntimeWarning)r�ruc�2�|�||��dSr+�rz)r#r�rus   r%rz6TestNumericalInverseHermite.test_basic_all_scipy_dists>s ��	
�'�'��&�9�9�9�9�9r'c�2�|�dd��dS)N�	truncnorm)r�rar|r0s r%�test_basic_truncnorm_gh17155z8TestNumericalInverseHermite.test_basic_truncnorm_gh17155Fs���'�'��X�>�>�>�>�>r'c���d}tjt|���5tt	��d���ddd��n#1swxYwYd}tjt|���5td��ddd��n#1swxYwYd}tjt|���5tt	��d�	��ddd��dS#1swxYwYdS)
Nz"`order` must be either 1, 3, or 5.rdrar;z`cdf` required but not foundr�z!could not convert string to float�ekkir*)rirjr�rr)r#res  r%r�z1TestNumericalInverseHermite.test_input_validationJs���5��
�]�:�U�
3�
3�
3�	?�	?�#�N�$4�$4�A�>�>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�/��
�]�:�U�
3�
3�
3�	,�	,�#�F�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�4��
�]�:�U�
3�
3�
3�	9�	9�#�N�$4�$4�17�
9�
9�
9�
9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	9�	9s5�A�A�A�0B�B�B�4C�C#�&C#Nr)�)r�)�r�r��r�r�r�c�Z�t��}t|��}t|��}|�||���}|�
|j|ksJ�|�Vt|��}|�|���}tj�	|��}	t||	��dSdS)N)r�rs)r�)rrrrur�rrrr�r�r)
r#r�r	r
r3rwr|rurr~s
          r%�test_RVSz$TestNumericalInverseHermite.test_RVS\s�������%�d�+�+����}�}���g�g�7��g�5�5�����9��(�(�(�(���%�d�+�+�D��l�l��l�0�0�G��:�>�>�'�*�*�D��C��&�&�&�&�&�	�r'c���d}d}tjt|���5tt	j|���ddd��n#1swxYwYtt	j|�d���dS)N)g��ds�z@g@��e�?zg98 : one or more intervals very short; possibly due to numerical problems with a pole or very flat tailrdrrr*)rir�r�rrrl)r#rures   r%�test_inaccurate_CDFz/TestNumericalInverseHermite.test_inaccurate_CDFms���:��D���\�.��
6�
6�
6�	9�	9�#�E�J��$7�8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	 ��
�F� 3�$�G�G�G�G�G�Gs�A�A�Ac���t��}t|��}tj��}t|��}t	|�d���|�d�����dS)Nrr�)rrrr�rru)r#r@�fni1rS�fni2s     r%�test_custom_distributionz4TestNumericalInverseHermite.test_custom_distribution{sd��� � ��&�u�-�-���
����&�u�-�-������a��0�0�$�(�(��(�2J�2J�K�K�K�K�Kr'r[rr&r�rIr�r\r]r�r�c��t��}t|d���}t��5}|�td��|�td��|�td��|�td��|�|��}tj�|��}ddd��n#1swxYwYt||dd�	��|j	|j	ksJ�dS)
Nrr*r�r�r�r�g��&�.>gL�a㧝�=r�)
rrrrZr�r�rr�rr�r,s       r%r-z$TestNumericalInverseHermite.test_ppf�s9������%�d��?�?�?���
 �
 �	)�C��J�J�~�'M�N�N�N��J�J�~�(7�
8�
8�
8��J�J�~�'J�K�K�K��J�J�~�(4�
5�
5�
5��'�'�!�*�*�C��z�~�~�a�(�(�H�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	��X�D�u�=�=�=�=��y�H�N�*�*�*�*�*�*r/c��t��}t|d���}|���\}}|dksJ�||ksJ�t��5}|�t
��t|d���}ddd��n#1swxYwY|���\}}|dksJ�||ksJ�dSr3)rrr4rrZr�)r#r3r�r5r6r[s      r%r7z(TestNumericalInverseHermite.test_u_error�s������%�d��?�?�?��������	�3��5� � � � ��i�����
�
 �
 �	D�C��J�J�~�&�&�&�)�$�U�C�C�C�C�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�������	�3��5� � � � ��i������s�,B
�
B�B))r/r0r1r3r@r�rr r�r�r�rirrr�r\r�rrrz�filterwarningsrTrrrr�rvrx�rngs�appendr�rrr�r�r�r�rLrHr�r-r7r2r'r%rYrY�sr������
��������"��������8�U�W�W�e�e�g�g��E��q���w�<��q�!�B�E�'�"�%�-�0�0�
1�C���Q��"�%����
�&�&��-�
.�C���*�C��[���]� �S���_�_�.�.��[���W�q�!�f�-�-�-�-�.�-�.�.�-��[���/��A�A�E�E�B�A�E����2�[��� 8�9�9��[���[���3�X�>�>�:�:�?�>���:�9�:�
�[��� 8�9�9�?�?�:�9�?�9�9�9�
�!�R�Y�*�*�1�-�-�.�D��K�K��	�%�%�a�(�(�)�)�)��E�E�G�G�_�i�)?�@�E��[���U�D�)�)��[���0�%�8�8�
'�
'�9�8�*�)�
'�H�H�H�L�L�L�	���B���&�&�&�
�R�D�	���B�F�7�B�F�B�F�+�	�
�&�#�s�	�c�3���/����<�
	�A��[���S�!�$�$�+�+�%�$�+�" � � � � r'rYc
�T�eZdZhd�Zd�Zd�Zd�Zej�	de
��d���Zej
ddd	�
��gggejgejejejgdejddgd
dejggd�ggZej�	de��d���Zej�	de��d���ZejejfejejfejejfdejfejdfgZej�	de��d���ZdS)�TestDiscreteGuideTabler�c���gd�}tj���}tjt
��5t
||d���ddd��dS#1swxYwYdS)N�r�g333333�?g333333�?r9�rs�guide_factor�rrvr�rir�r�r
�r#r�r�s   r%�$test_guide_factor_gt3_raises_warningz;TestDiscreteGuideTable.test_guide_factor_gt3_raises_warning����
�_�_���y�$�$�&�&��
�\�.�
)�
)�	F�	F��r��1�E�E�E�E�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F�	F�	F��A�A �#A c���gd�}tj���}tjt
��5t
||d���ddd��dS#1swxYwYdS)Nr�rr�r�r�s   r%�%test_guide_factor_zero_raises_warningz<TestDiscreteGuideTable.test_guide_factor_zero_raises_warning�r�r�c���gd�}tj���}tjt
��5t
||d���ddd��dS#1swxYwYdS)Nr�r/r�r�r�s   r%�)test_negative_guide_factor_raises_warningz@TestDiscreteGuideTable.test_negative_guide_factor_raises_warning�s����_�_���y�$�$�&�&��
�\�.�
)�
)�	G�	G��r��2�F�F�F�F�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G����	G�	G�	G�	G�	G�	Gr�r�c��||jvrd}tj|��t|t��s|}ntt|��}||�}|���}tj	|d|dz
��stjd��tj
|d|ddz��}|�|��}|�d��}t|d���}	t|	||��dS)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�rYr�)r�rir�r�r�rgrr�rr�r�r�r
r�r�s
          r%r\z!TestDiscreteGuideTable.test_basic�s���t�,�,�,�:�C��K������(�C�(�(�	,��D�D��5�(�+�+�D��t�V�}���������{�6�!�9�v�a�y�0�1�1�	@�
�K�>�?�?�?��I�f�Q�i����1��-�-��
�X�X�a�[�[���
�
�4� � �� ��B�7�7�7���C��U�+�+�+�+�+r'rr`r&r�rIr�r\r]r�r�c�@�d\}}tj||��}t|d���}t��5}|�t
d��|�t
d��|�t
d��|�t
d��|�|��}tj�|||��}ddd��n#1swxYwYt|j|j��t||��dS)N)r�r�rYr�r�r�r�r�)	rr�r
rrZr�r�rr�)	r#r��n�pr3r�r[r�r�s	         r%r-zTestDiscreteGuideTable.test_ppf�sF�����1��{�1�a� � �� ��B�7�7�7���
 �
 �		0�C��J�J�~�'M�N�N�N��J�J�~�(7�
8�
8�
8��J�J�~�'J�K�K�K��J�J�~�(4�
5�
5�
5��'�'�!�*�*�C��{���q�!�Q�/�/�H�		0�		0�		0�		0�		0�		0�		0�		0�		0�		0�		0����		0�		0�		0�		0�	�S�Y���/�/�/��S�(�#�#�#�#�#s�B#C)�)C-�0C-r�c��tjt|���5t|��ddd��dS#1swxYwYdSr�)rirjr�r
r�s   r%r�z"TestDiscreteGuideTable.test_bad_pv
s���
�]�:�S�
1�
1�
1�	#�	#��r�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#r�rfc��tjtd���5tt	jdd��|���ddd��dS#1swxYwYdSr�)rirjr�r
rr�r�s  r%r�z&TestDiscreteGuideTable.test_inf_domains���
�]�:�->�
?�
?�
?�	D�	D��u�{�2�s�3�3�F�C�C�C�C�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�	D�	Dr�N)r/r0r1r�r�r�r�rirrrr\rr�rLrHr�r-r�r�r�r�r2r'r%r�r��s�����������F�F�F�F�F�F�G�G�G��[���/��>�>�,�,�?�>�,�6	���A�q�e�$�$�$�
�R�D�	���B�F�7�B�F�B�F�+�	�
�&�#�s�	�c�3���/����<�	�A��[���S�!�$�$�$�$�%�$�$�(�[���Y�
�6�6�#�#�7�6�#��F�7�B�F�#�b�f�b�f�%5����"�&��7I��b�f�+�����|�-�J��[���X�z�2�2�D�D�3�2�D�D�Dr'r�c�*�eZdZGd�d��Zed��ed��gZdejgZdejgZeegZ	e
j�de
ee	����d���Ze
j�de��d���Zd	�Zd
S)�TestSimpleRatioUniformsc� �eZdZd�Zd�Zd�ZdS)�TestSimpleRatioUniforms.distc�"�||_||_dSr+)rEr7rFs  r%r�z%TestSimpleRatioUniforms.dist.__init__"s���D�J��D�I�I�Ir'c�P�||jz}dt|��dzz}d|z|zSrHrJrLs   r%r&z TestSimpleRatioUniforms.dist.pdf&rNr'c�H�||jz}|dkrdd|z
zSddd|zzz
SrQrDr"s  r%r-z TestSimpleRatioUniforms.dist.cdf+rRr'N)r/r0r1r�r&r-r2r'r%r3r�!sA������	�	�	�	�	�	�
	+�	+�	+�	+�	+r'r3r[rTrVc���t||jd���}t|||��t||j|�|j��d���}t|||��dS)NrY)r7rs)r7�cdf_at_moders)r
r7r�r-rs    r%r\z"TestSimpleRatioUniforms.test_basic9st��"�$�T�Y�R�H�H�H���3��e�,�,�,�!�$�T�Y�.2�h�h�t�y�.A�.A�/1�3�3�3��	�3��e�,�,�,�,�,r'rbc��tj||���5tt��|���ddd��dS#1swxYwYdSrp)rirjr
rrqs    r%rrz,TestSimpleRatioUniforms.test_inf_nan_domainsEs���
�]�3�c�
*�
*�
*�	A�	A��� 0� 0��@�@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A�	A�	Arsc��tjtd���5tt	��dd���ddd��dS#1swxYwYdS)Nz`pdf_area` must be > 0rdrr/)r7�pdf_area)rirjr�r
rr0s r%r�z%TestSimpleRatioUniforms.test_bad_argsJs���
�]�:�-F�
G�
G�
G�	G�	G��� 0� 0�q�2�F�F�F�F�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G����	G�	G�	G�	G�	G�	Gs�A�A�AN)r/r0r1r3r�rrHr�r�r�rirrr�r\r�rrr�r2r'r%r�r�s�������+�+�+�+�+�+�+�+�"�T�"�X�X�t�t�F�|�|�$�E��r�v�,�C��2�6�
�C���*�C��[���]� �S���_�_�.�.�-�-�.�.�-��[���/��A�A�A�A�B�A�A�G�G�G�G�Gr'r�)Jr�r�ri�copyrrrrN�numpyr�
numpy.testingrrr�	numpy.libr�scipy.stats.samplingrr	r
rrr
r�scipyrr�scipy.statsrr�scipy.stats._distr_paramsrr�scipy._lib._utilrr�all_methods�implementation�name�version�floaterrr�r�r�r�rUrLrHr�r��bad_sized_domains�bad_domainsr��nan_domainsrrrpr�r�r�r�r�r�r�r�r�r�r�r!r�r�rYr�r�r2r'r%�<module>r�s�������
�
�
�
�
�
�
�
�����������
�
�
�
���������J�J�J�J�J�J�J�J�J�J�"�"�"�"�"�"�������������������������������1�1�1�1�1�1�1�1�<�<�<�<�<�<�<�<�/�/�/�/�/�/�	�	�	�	�	�	�	�	�#�V�^�^�-=�-=�$>�?��&�"3�"3�"3�4�5��F�$5�$5�$5�6�7�!�F�N�N�,<�,<�#=�>�����)9�)9� :�;��^�^�%5�%5�q�A�A�B�
�����v�%�%���&��3�3�@�H�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�b�f��{�$4�5�	�v�g���w���&6�7��f�r�v�g���%5�6�	�v�g�r�v��
�$:�;��f�b�f��z�#9�:�	�����[�*�4�5��f�b�f��z�#9�:�������+�$�'8�8�$�%�&�&�����)�;�7�7�(�(�8�7�&�&�(�����)�;�7�7�/�/�8�7�/�8	�	�	�.#�.#�.#�b����)�;�7�7�/�/�8�7�/������"2�"2�"2�3�3�	+�	+�3�3�	+�/�/�/�*
�
�
�
�
�
� D�D�D������$C�$C�$C�D�D�8�8�D�D�8������$=�$@�$B�C�C�X9�X9�X9�X9�X9�X9�X9�C�C�X9�v{.�{.�{.�{.�{.�{.�{.�{.�|k#�k#�k#�k#�k#�k#�k#�k#�\u2�u2�u2�u2�u2�u2�u2�u2�pS �S �S �S �S �S �S �S �lfD�fD�fD�fD�fD�fD�fD�fD�R0G�0G�0G�0G�0G�0G�0G�0G�0G�0Gr'

Youez - 2016 - github.com/yon3zu
LinuXploit