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_hypotests.cpython-311.pyc
�

d�ck����ddlmZddlZddlZddlZddlmZmZm	Z	m
Z
ddlmZddl
mZddl
mZddlmZmZmZmZmZmZmZddlmZmZdd	lmZdd
lmZGd�d��ZGd
�d��Z Gd�d��Z!Gd�de!��Z"ej#j$d���Z%Gd�de��Z&Gd�d��Z'Gd�d��Z(Gd�d��Z)Gd�d��Z*Gd�d��Z+dS) �)�productN)�assert_�assert_equal�assert_allclose�assert_almost_equal)�raises)�
distributions)�epps_singleton_2samp�cramervonmises�_cdf_cvm�cramervonmises_2samp�_pval_cvm_2samp_exact�
barnard_exact�boschloo_exact)�mannwhitneyu�
_mwu_state�)�check_named_results)�_TestPythranFuncc�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�TestEppsSingletonc���tjgd���}tjgd���}t||��\}}t|dd���t|dd���dS)N)
gffffffֿgffffff@g�G�z��?�\��(\�?�ffffff�?g��Q��@gq=
ףp�?g�G�z�g�G�z�׿g�p=
�#(@)
gffffff�g333333ÿgףp=
�@g
@g�G�z�
@g)\��(@g@g�(\��@g�(\�� @�333333!@gH�z�G.@r��decimalg�Q,��r?�)�np�arrayr
r��self�x�y�w�ps     �B/usr/lib/python3/dist-packages/scipy/stats/tests/test_hypotests.py�test_statistic_1z"TestEppsSingleton.test_statistic_1s���

�H�7�7�7�
8�
8���H�4�4�4�
5�
5��#�A�q�)�)���1��A�u�a�0�0�0�0��A�w��2�2�2�2�2�2�c���tjd��}tjd��}t||��\}}t|dd���t	|dd���dS)	N)rr�r+r+r+rrrr��r-r-r-��
r/r/r/)r/r,rr-r/r/rr-r.�r/rrr0r�rr-r1r/g������!@���MbP?��atolg&���J�?rr)rr r
rrr!s     r'�test_statistic_2z"TestEppsSingleton.test_statistic_2#sq���H�"�
#�
#���H� �
!�
!��#�A�q�)�)���1���5�u�-�-�-�-��A�w��2�2�2�2�2�2r)c���tj�d��tjd��tjd��}}t	t|��t|����\}}t	t
|��t
|����\}}t	||��\}}t||cxko|knc��t||cxko|knc��dS)N����)r�random�seed�aranger
�list�tupler)	r"r#r$�w1�p1�w2�p2�w3�p3s	         r'�test_epps_singleton_array_likez0TestEppsSingleton.test_epps_singleton_array_like-s���
�	���t�����y��}�}�b�i��m�m�1��%�d�1�g�g�t�A�w�w�7�7���B�%�e�A�h�h��a���9�9���B�%�a��+�+���B���b�����B����������b�����B���������r)c�j�dtjd��}}ttt||��dS)N�rr+rr,r/)rr<�
assert_raises�
ValueErrorr
�r"r#r$s   r'�test_epps_singleton_sizez*TestEppsSingleton.test_epps_singleton_size8s.���R�Y�r�]�]�1���j�"6��1�=�=�=�=�=r)c��dddddtjftjd��}}ttt
||��tjd��dddddtjf}}ttt
||��dS)Nrr+rr,r-r/)r�infr<rHrIr
�nanrJs   r'�test_epps_singleton_nonfinitez/TestEppsSingleton.test_epps_singleton_nonfinite=sr���1�a��A�r�v�&��	�"�
�
�1���j�"6��1�=�=�=��y��}�}�q�!�Q��1�b�f�5�1���j�"6��1�=�=�=�=�=r)c��tjd���dd��}ttt
||��dS)N�d���r)rr<�reshaperHrIr
�r"r#s  r'�test_epps_singleton_1d_inputz.TestEppsSingleton.test_epps_singleton_1d_inputDs:���I�c�N�N�"�"�2�q�)�)���j�"6��1�=�=�=�=�=r)c��tjd��tjd��}}t||��}d}t||��dS)N�r8)�	statistic�pvalue)rr<r
r)r"r#r$�res�
attributess     r'�
test_nameszTestEppsSingleton.test_namesHsE���y��}�}�b�i��m�m�1��"�1�a�(�(��,�
��C��,�,�,�,�,r)N)
�__name__�
__module__�__qualname__r(r5rErKrOrUr\�r)r'rrs}������3�3�3�3�3�3�	 �	 �	 �>�>�>�
>�>�>�>�>�>�-�-�-�-�-r)rc�P�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
dS)
�TestCvmc�N�ttgd�d��gd�d���dS)N)gy;�i���?g#��^�?g�E�>��?g�D�
)�?r,��{�G�z�?皙�����?��?g+����?�-C��6?r3�rr�r"s r'�
test_cdf_4zTestCvm.test_cdf_4SsC����=�=�=�q�A�A�(�(�(��	�	�	�	�	�	r)c�N�ttgd�d��gd�d���dS)N)g�8�*5�?g@�߾��?g�Hm��?g%��1 �?r/)rerfrgg333333�?rhr3rirjs r'�test_cdf_10zTestCvm.test_cdf_10YsC����=�=�=�r�B�B�(�(�(��	�	�	�	�	�	r)c�N�ttgd�d��gd�d���dS)N)g�}t��g�?g�`���?g�I�5�o�?g�ׁsF��?��rdrhr3rirjs r'�
test_cdf_1000zTestCvm.test_cdf_1000_sC����=�=�=�t�D�D�(�(�(��	�	�	�	�	�	r)c�L�ttgd���gd�d���dS)N)�a��+e�?�+�����?��&p�n�?�+MJA���?rdrhr3rirjs r'�test_cdf_infzTestCvm.test_cdf_infesA����=�=�=�>�>�(�(�(��	�	�	�	�	�	r)c��ttddgd��ddg��ttddgd��ddg��dS)	Ng�X�(~$?gUUUUU5f@irrg�a�ah?g������"@�)rrrjs r'�test_cdf_supportzTestCvm.test_cdf_supportksN���X�z�5�1�3�7�7�!�Q��@�@�@��X��
�;�R�@�@�1�a�&�I�I�I�I�Ir)c�h�ttgd�d��tgd���d���dS)N)rrrsrtrurQ�'rhr3rirjs r'�test_cdf_large_nzTestCvm.test_cdf_large_npsL����B�B�B�E�J�J��B�B�B�C�C��	�	�	�	�	�	r)c��tdtdd��cxkodknc��tdtd��cxkodknc��dS)NgwJ��?g������t@ro��?)rrrjs r'�test_large_xzTestCvm.test_large_xwsn��	��(�5�$�/�/�5�5�5�5�#�5�5�5�5�6�6�6���(�5�/�/�/�/�/�/�C�/�/�/�/�0�0�0�0�0r)c���d}ttj|��dzd��}tt	|j|��dk��t
|jd��dS)N�皙�����?�normr~r)rr�onesrrrXrrY)r"�nrZs   r'�
test_low_pzTestCvm.test_low_p�s[��
���R�W�Q�Z�Z��^�V�4�4�������*�*�S�0�1�1�1��S�Z��#�#�#�#�#r)c��tjd���d��}ttt
|d��ttt
dgd��ttt
dd��dS)Nr/�r+r-r���?r`)rr<rSrHrIrrTs  r'�test_invalid_inputzTestCvm.test_invalid_input�sa���I�b�M�M�!�!�&�)�)���j�.�!�V�<�<�<��j�.�3�%��@�@�@��j�.�"�f�=�=�=�=�=r)c��tgd�d��}t|jdd���t|jdd���tgd�dd��}t|jdd���t|jd	d���tgd
�d��}t|jdd���t|jd
d���dS)N)g333333��r+rg�������?r,皙�����?�333333�?r�g�Z	�%q�?���ư>r3g�Eж��?)rr�g!O!W*�?gz"�W��`?)	rr+r-�ffffff�?g�Q���?��
��������?�@�expong�e��.��?gnz\�(r?)rrrXrY)r"rZs  r'�
test_values_RzTestCvm.test_values_R�s����;�;�;�V�D�D����
�x�d�;�;�;�;���
�I�D�9�9�9�9��;�;�;�V�X�N�N����
�y�t�<�<�<�<���
�K�d�;�;�;�;��C�C�C�W�M�M����
�y�t�<�<�<�<���
�K�d�;�;�;�;�;�;r)c��tjd��d}}t|tjj��}t|d��}t
|j|jf|j|jf��t|tj	j|��}t|d|��}t
|j|jf|j|jf��dS)Nr-)r��ffffff�?r��beta)
rr<rr	r��cdfrrXrYr�)r"r#�args�r1�r2s     r'�test_callable_cdfzTestCvm.test_callable_cdf�s����)�A�,�,�
�4��
�A�}�2�6�
7�
7��
�A�w�
'�
'���b�l�B�I�.���r�y�0I�J�J�J�
�A�}�1�5�t�
<�
<��
�A�v�t�
,�
,���b�l�B�I�.���r�y�0I�J�J�J�J�Jr)N)r]r^r_rkrmrprvryr|rr�r�r�r�r`r)r'rbrbOs�������������������J�J�J�
���1�1�1�$�$�$�>�>�>�<�<�<�$K�K�K�K�Kr)rbc���eZdZd�Zd�Zd�Zgd�Zgd�Zddd�d	gd
dd�dgddd�d
gddd�dgd
dd�dgddd�dggZe	j
�de��d���Zddd�dgd
dd�dgddd�dgddd�dgd
dd�dgddd�dggZ
e	j
�de
��d���Zd�Zgd�gd �gd!�d"�Zgd#�gd$�gd%�gd&�d'�Zgd(�gd)�gd*�gd+�gd,�d-�Zgd.�gd/�gd0�gd1�gd2�gd3�d4�Zd5�Zd6�Zd7�Zddd�d8gd
dd�d9gddd�d:gddd�d8gd
dd�d9gddd�d8ggZe	j
�d;e��d<���Zd=�Ze	j
�d>ddg��d?���Zd@�Zgd'�dAdBdCdDejdAdEdFdGdGdHgdIdJfgd'�dAdBdCdDejejdEdFdGdGdHgdKdLfdFdEejdGgdAdBdCdDejdAdEdFdGdGdHgdMdNfdFdEejdGgdAdBdCdDejejdEdFdGdGdHgdOdPfdFejejdGgdAdBdCdDejejdEdFdGdGdHgdQdRfgZe	j
�dSe��dT���ZgdU�gdV�gdW�gdX�gdY�gdZ�gd[�gd\�gd]�g	Z e	j
�d^e ��d_���Z!d`�Z"da�Z#gd"�dbdcgdddggd"�dbdcgd
ddggd"�dbdcgddeggd"�dEgddfggd"�dEgd
dfggd"�dEgddggdFdEgdFdEgddhgdFdEgdFdEgd
dhgdFdEgdFdEgddigg	Z$e	j
�gdj�e$��dk���Z%dl�Z&dmS)n�TestMannWhitneyUc��dt_dS)NT�r�
_recursiverjs r'�setup_methodzTestMannWhitneyU.setup_method���� $�
���r)c�X�tjddg��}tjddg��}ttd���5t	g|��ddd��n#1swxYwYttd���5t	|g��ddd��n#1swxYwYttd���5t	||d�	��ddd��n#1swxYwYttd
���5t	||d���ddd��n#1swxYwYttd���5t	||d
���ddd��n#1swxYwYttd���5t	||d���ddd��dS#1swxYwYdS)Nrr+rr,�`x` and `y` must be of nonzero��matchz`use_continuity` must be one�ekki)�use_continuityz`alternative` must be one of��alternativez`axis` must be an integerr���axisz`method` must be one of��method)rr rHrIrrJs   r'�test_input_validationz&TestMannWhitneyU.test_input_validation�s!���H�a��V�����H�a��V����
�:�-M�
N�
N�
N�	 �	 ���Q����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�:�-M�
N�
N�
N�	 �	 ���B����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�:�-K�
L�
L�
L�	6�	6���A�f�5�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�
�:�-K�
L�
L�
L�	3�	3���A�6�2�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�:�-H�
I�
I�
I�	)�	)���A�C�(�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�
�:�-F�
G�
G�
G�	.�	.���A�f�-�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.sl�A � A$�'A$�B�B"�%B"�?C�C"�%C"�?D�D"�%D"�?E�E"�%E"�?F�F#�&F#c���tj�d��d}tj�|dz
��}tj�|dz
��}t	||��}t	||d���}t	||d���}|j|jksJ�|j|jksJ�tj�|dz
��}tj�|dz��}t	||��}t	||d���}t	||d���}|j|jksJ�|j|jksJ�t	||��}t	||d���}t	||d���}|j|jksJ�|j|jksJ�tj�|dz��}tj�|dz��}t	||��}t	||d���}t	||d���}|j|jksJ�|j|jksJ�tj�|dz
��}tj�|dz
��}|d|d<t	||��}t	||d���}t	||d���}|j|jksJ�|j|jksJ�dS)Nrr1�
asymptoticr��exactr)rr:r;�randrrY)r"r�r#r$�autor�r�s       r'�	test_autozTestMannWhitneyU.test_auto�s���	�	���q����
��
�I�N�N�1�Q�3�����I�N�N�1�Q�3�����A�q�!�!��!�!�Q�|�<�<�<�
��Q��'�2�2�2���{�e�l�*�*�*�*��{�j�/�/�/�/�/�
�I�N�N�1�Q�3�����I�N�N�1�Q�3�����A�q�!�!��!�!�Q�|�<�<�<�
��Q��'�2�2�2���{�e�l�*�*�*�*��{�j�/�/�/�/�/��A�q�!�!��!�!�Q�|�<�<�<�
��Q��'�2�2�2���{�e�l�*�*�*�*��{�j�/�/�/�/�/�
�I�N�N�1�Q�3�����I�N�N�1�Q�3�����A�q�!�!��!�!�Q�|�<�<�<�
��Q��'�2�2�2���{�e�l�*�*�*�*��{�j�/�/�/�/�/�
�I�N�N�1�Q�3�����I�N�N�1�Q�3������t��!���A�q�!�!��!�!�Q�|�<�<�<�
��Q��'�2�2�2���{�e�l�*�*�*�*��{�j�/�/�/�/�/�/�/r))gm9��Aj@g��+H3�[@gi��>s@)
g�#�hA{@g�l�z@gc��Df@gdz*�h@gZ����A@gI9^�YQa@g����`@g���՞p@g����:q@g��&���@g�Z�|@g�`����r@gM�c�3g@�	two-sidedr��r�r�)��
+���?�less)r��
+���?�greater)r�缌�%c��?r�)r�g9��:���?)r�g9��:���?)r�g*�:��:�?)�kwds�expectedc�V�t|j|jfi|��}t||��dS�N)rr#r$r�r"r�r�rZs    r'�
test_basiczTestMannWhitneyU.test_basics3���4�6�4�6�2�2�T�2�2����X�&�&�&�&�&r)T)r�r�)�r�)r�r�)r�r�F)r�gl,K�Nh�?)r�g�iژ���?)r�gl,K�Nh�?c�Z�t|j|jfddi|��}t||��dS)Nr�r�)rr$r#rr�s    r'�test_continuityz TestMannWhitneyU.test_continuity,s:���4�6�4�6�G�G�,�G�$�G�G����X�&�&�&�&�&r)c�^�gd�}tjgd���}tjgd���dz}tjgd���dz}|dz
||z
||z
|||z||z|dzg}t||dd���}gd	�}gd
�}t|j|��t|j|��dS)NrG�rr+rr,r-)rrrrrre)rrrrrrRr�)r�r�)r/�	�!@r1r�r0r.)rg]�U���?g��[��?gi��\��?g�ZX<_��?g�x�.�?g�� �
�?)rr rrrXrrY)	r"r#�y0�dy�dy2r$rZ�
U_expected�
p_expecteds	         r'�test_tie_correctz!TestMannWhitneyU.test_tie_correct:s���
�L�L��
�X�o�o�o�
&�
&��
�X�o�o�o�
&�
&�t�
+���h����'�'��,��
��W�b��e�R��V�R��C���B���4��@���1�a�b��>�>�>��/�/�/�
�I�I�I�
��S�]�J�/�/�/���
�J�/�/�/�/�/r))g�?rgg�?)r�皙�����?皙�����?r�)rfr�r�rrgg�������?�rr+r)r�r�r�)g��x�&�?g�/�$�?gJ+��?r�r�)�y�&1��?��v��/�?g�v��/�?r�gj�t��?��~j�t�?���ʡE�?)	gy�&1��?gV-��?r�r�g��S��?g��v���?g�ʡE���?g'1�Z�?gm����?rG)g�K7�A`�?gZd;�O�?rgg��MbX�?)���Mb�?�R���Q�?�R���Q�?����M�?r�r�)	g;�O��n�?�;�O��n�?�V-�?g�?gJ+��?r�g��x�&�?rgg��C�l�?)���Mb�?���Mb�?���Mb�?gy�&1��?r�����M�?g��|?5^�?g�n����?g\��(\�?�!�rh���?���K7��?)���Mbp?r�r�r��~j�t��?g333333�?g�"�~j�?�ףp=
��?g�z�G��?���K7��?g�G�z�?g�l���?rgg�I+��?r�)r�r�g1�Zd�?r�)r�r�r��1�Zd�?g%��C��?r�r�)
g�~j�t��?g�~j�t��?r�gsh��|?�?g�S㥛�?r�r�g+���?r�r�)
g{�G�zt?reg�~j�t�?gL7�A`�?r�gj�t��?gP��n��?g�I+��?gX9��v�?g��Q���?g����Mb�?gsh��|?�?g�K7�A`�?)���Mb`?r�g;�O��n�?g���Q��?g9��v���?gˡE��?gT㥛� �?gbX9�ȶ?g�rh��|�?g��Q��?r�g��x�&�?g�v��/�?g��MbX�?g�(\���?g��Q��?)r2r�r�r�g9��v���?g/�$��?r�r�gL7�A`�?g
ףp=
�?g���Q��?r�g���K7�?g`��"��?g7�A`���?rg�V-�?gj�t��?gˡE���?)rr+rr,r-r.c
���|j|j|j|jd�}|���D�]2\}}|���D�]\}}tjdt|����}ttj
|||���|d���tjd||zdz��}ttj
|||���tj|||���ztj|||���z
d��tj|||���}t||ddd���tj|||���}	t||	������4dS)N)rr,r-r.r)�k�mr�r2r3rrR)
�pn3�pn4�pm5�pm6�itemsrr<�lenrrr��sf�pmf)
r"�p_tablesr��tabler�r&�u�u2r��pmf2s
          r'�test_exact_distributionz(TestMannWhitneyU.test_exact_distributionjsv���x�D�H���d�h�G�G�� ���(�(�	+�	+�H�A�u����
�
�
+�
+���1��I�a��Q���(�(���
���a�1� =� =� =�q�t�L�L�L�L��Y�q�!�A�#�a�%�(�(���
���q�A� >� >� >�",�-�"��Q�"?�"?�"?�!@�",�.�2��a�"@�"@�"@�!A�BC�E�E�E�
!�n�r�Q�!�4�4�4����S���2��Y�/�/�/�"�~��a�1�5�5�5����T�*�*�*�*�%
+�	+�	+r)c��tj�d��tj�d��}tj�d��}t	||d���}t	||d���}|j|jksJ�tj|j|jz
��dksJ�tj�d��}tj�d��}t	||d���}t	||d���}|j|jksJ�tj|j|jz
��dksJ�dS)	Nrr-r�r�r�re�(r2)rr:r;r�rrX�absrY)r"r#r$�res1�res2s     r'�test_asymptotic_behaviorz)TestMannWhitneyU.test_asymptotic_behavior�s.��
�	���q����
�I�N�N�1�����I�N�N�1�����A�q��1�1�1���A�q��6�6�6���~���/�/�/�/��v�d�k�D�K�/�0�0�4�7�7�7�7�
�I�N�N�2�����I�N�N�2�����A�q��1�1�1���A�q��6�6�6���~���/�/�/�/��v�d�k�D�K�/�0�0�4�7�7�7�7�7�7r)c��tgd�ddgdd���}tgd�ddgdd���}t|j|j��|jdksJ�tgd�ddgd	d���}t|d
��dS)Nr�r��@r�r�r�r�rgr�)rr)rrrY)r"�res_l�res_grZs    r'�test_exact_U_equals_meanz)TestMannWhitneyU.test_exact_U_equals_mean�s����Y�Y�Y��c�
��$+�-�-�-���Y�Y�Y��c�
�	�$+�-�-�-���U�\�5�<�0�0�0��|�c�!�!�!�!��9�9�9�s�C�j�k�")�+�+�+���S�&�!�!�!�!�!r)�rr)rrg)rg��郡E�?)r��resultc�:�ttdi|��|��dS)Nrr+�rr+)rr)r"r�r	s   r'�test_scalar_dataz!TestMannWhitneyU.test_scalar_data�s(��	��2�2�T�2�2�F�;�;�;�;�;r)c���ttddd���d��ttddd���d��ttdddd���dtjf��dS)	Nrr�r�)rgrr�F)r�r�rg)rrrrNrjs r'�test_equal_scalar_dataz'TestMannWhitneyU.test_equal_scalar_data�s���
	�\�!�Q�w�7�7�7��B�B�B��\�!�Q�|�<�<�<�h�G�G�G�	�\�!�Q�|�16�8�8�8�:=�r�v��	H�	H�	H�	H�	Hr)r�c��tj�d��d}d\}}tj�|dd��}tj�d|dd��dz}t	||||�	��}d
}|jj|ksJ�|jj|ksJ�tj||d��tj||d��}}|d}|j	|j	ksJ�tj
|||fz��}tj
|||fz��}|jdd�|ksJ�|jdd�|ksJ�tj|��}	tj|��}
td
�|D���D]8}||}||}
t	||
|���}|j|	|<|j|
|<�9tj
�|j|
��tj
�|j|	��dS)Nr���)r0r/rr1r.rr�)r�r�)r.rr1rR)N.c�,�g|]}t|����Sr`)�range)�.0�is  r'�
<listcomp>z8TestMannWhitneyU.test_gh_12837_11113.<locals>.<listcomp>�s�� 9� 9� 9�a��q��� 9� 9� 9r)r�)rr:r;r�rrY�shaperX�moveaxis�ndim�broadcast_to�zerosr�testingr)r"r�r�r�r�r#r$rZr�
statistics�pvalues�indices�xi�yi�temps               r'�test_gh_12837_11113z$TestMannWhitneyU.test_gh_12837_11113�s��	�	���q���������1��I�N�N�1�a��#�#���I�N�N�1�a��A�&�&��,���1�a��T�:�:�:�����z��5�(�(�(�(��}�"�e�+�+�+�+��{�1�d�B�'�'���Q��b�)A�)A�1��
�i�L���v��������O�A�u��t�|�,�,���O�A�u��t�|�,�,���w�s��s�|�u�$�$�$�$��w�s��s�|�u�$�$�$�$��X�e�_�_�
��(�5�/�/��� 9� 9�5� 9� 9� 9�:�	+�	+�G��7��B��7��B���B�v�6�6�6�D�"&�.�J�w��#�{�G�G���
�
����
�G�4�4�4�
�
����
�z�:�:�:�:�:r)c��gd�}gd�}t||��}tj|d<t||��}t|j|j��t|j|j��tj|d<t||��}t|jtj��t|jtj��dS)NrG)rr.r0r1r�rr+rr,r,r-r,)rrrMrrXrYrN)r"r#r$rr�res3s      r'�
test_gh_11355zTestMannWhitneyU.test_gh_11355�s����L�L��-�-�-���A�q�!�!���v��!���A�q�!�!���T�^�T�^�4�4�4��T�[�$�+�.�.�.��v��!���A�q�!�!���T�^�R�V�,�,�,��T�[�"�&�)�)�)�)�)r)rr.r0r1r+rr,r-r/g+z��Q��?r�g}$k�\�?g�1@g!˛G*�?r�g��,�s��?��8@g�F�H�Q�?)r#r$rXrYc��t||d���}t|j|d���t|j|d���dS)Nr�r���-���q=r3)rrrXrY)r"r#r$rXrYrZs      r'�test_gh_11355bzTestMannWhitneyU.test_gh_11355bsL���1�a��5�5�5����
�y�u�=�=�=�=���
�F��7�7�7�7�7�7r))Tr�r�g����&��?)Tr�r�g����O�?)Tr�r�g����O�?)Fr�r�g9@VN!x�?)Fr�r�g9�M��>�?)Fr�r�g9�M��>�?)Tr�r�g�?U�V��?)Tr�r�gߺVJH�?)Tr�r�g�VJH�?)r�r�r��
pvalue_expc��d}d}d}t|||||���}t|j|��t|j|��dS)N�#)
r�g��(\��?g=
ףp=�?g�p=
ף�?g333333�?g�G�z�?g��(\��?g=
ףp=�?rg\��(\�?)gffffff�?g)\��(�?r�g�G�z��?g\��(\�?�r�r�r�)rrrXrrY)	r"r�r�r�r*�
statistic_expr#r$rZs	         r'�test_gh_9184zTestMannWhitneyU.test_gh_9184's_��.�
�H��*���1�a��'2�6�C�C�C���S�]�M�2�2�2���
�J�/�/�/�/�/r)c��ttd���5tgg��ddd��dS#1swxYwYdS)Nr�r�)rHrIrrjs r'�test_gh_6897zTestMannWhitneyU.test_gh_6897Fs���
�:�-M�
N�
N�
N�	!�	!���R� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s�5�9�9c���tjtjtjtjtjtjg��}tjtjtjtjtjtjg��}t||��}t	|jtj��t	|jtj��dSr�)rr rNrrrXrY)r"�a�brZs    r'�test_gh_4067zTestMannWhitneyU.test_gh_4067Ks����H�b�f�b�f�b�f�b�f�b�f�=�>�>���H�b�f�b�f�b�f�b�f�b�f�=�>�>���1�a� � ���S�]�B�F�+�+�+��S�Z���(�(�(�(�(r)r�r)rga׀}��?)rr~)r�g��?h��?)r�r)r+g�5&#\�?)r+r)r#r$r�r�c�R�t||d|d���}t||d���dS)NTr�r-r()�rtol)rr)r"r#r$r�r�rZs      r'�test_gh_2118zTestMannWhitneyU.test_gh_2118cs>���1�a��+�".�0�0�0����X�E�2�2�2�2�2�2r)c��dt_dSr�r�rjs r'�teardown_methodz TestMannWhitneyU.teardown_methodkr�r)N)'r]r^r_r�r�r�r#r$�cases_basic�pytest�mark�parametrizer��cases_continuityr�r�r�r�r�r�r�rr�cases_scalarrrr"r%rrM�cases_11355r)�
cases_9184r/r1r5�
cases_2118r8r:r`r)r'r�r��s�������%�%�%�.�.�.� 10�10�10�j	-�,�,�A�	�	�	�A�&%0�<�H�H�)�+�$*�l�C�C�)�+�$-��F�F�)�+�$/�7�C�C�)�+�$*�g�>�>�)�+�$-��A�A�)�+�,�K��[���1�;�?�?�'�'�@�?�'�*5��M�M�.�0�)/�4�H�H�.�0�)2�d�K�K�.�0�)4��N�N�.�0�)/�5�I�I�.�0�)2�e�L�L�.�0�1���[���1�3C�D�D�'�'�E�D�'�0�0�0�, ���$8�$8�$8�.�.�.�0�0�C��o�o�"A�"A�"A�<�<�<�K�K�K�M�M�C�)�(�(�7�7�7�K�K�K�2�2�2�<�<�<�=�=�C�+�*�*�?�?�?�1�1�1�9�9�9�G�G�G�$�$�$�%�%�C�+�+�+�08�8�8�*
"�
"�
"�$&1�L�I�I���%+�|�D�D���%.�,�G�G�(�*�%0�G�D�D�f�M�%+�w�?�?��J�%.�'�B�B�F�K�M�L��[���/��>�>�<�<�?�>�<�H�H�H��[���X��g�'>�?�?�);�);�@�?�);�V*�*�*�&!�L�L���1�a����A�q�!�Q��:���)�!�L�L���1�a������A�q�!�Q�?��)�+���2�6�1�%���1�a����A�q�!�Q��:��/�+���2�6�1�%���1�a������A�q�!�Q�?���)�������*���1�a������A�q�!�Q�?��/�+�,�K� �[���>��L�L�8�8�M�L�8�?�>�>�B�B�B�C�C�C�@�@�@�C�C�C�E�E�E�:�:�:�=�=�=�?�?�?�A�J��[���6�7A�C�C�0�0�C�C�0�:!�!�!�
)�)�)��9�9�s�C�j�)�5I�J��9�9�s�C�j�&�2F�G��9�9�s�C�j�+�x�@��9�9�q�c�9�.C�D��9�9�q�c�6�+@�A��9�9�q�c�;��9��q�6�A�q�6�9�.A�B��q�6�A�q�6�6�+>�?��q�6�A�q�6�;��7�9�J��[���B�B�B�J�O�O�3�3�P�O�3�%�%�%�%�%r)r�c��eZdZd�Zd�ZdS)�TestMannWhitneyU_iterativec��dt_dS)NFr�rjs r'r�z'TestMannWhitneyU_iterative.setup_methodps�� %�
���r)c��dt_dSr�r�rjs r'r:z*TestMannWhitneyU_iterative.teardown_methodsr�r)N)r]r^r_r�r:r`r)r'rErEos2������&�&�&�%�%�%�%�%r)rEc��dt_tjd��t_tj�d��}|�d��}|�d��}tj||d���tj	tjdk��sJ�|�d��}tj||d���tj	tjdk��rJ�dS)	N)rrrl�7cE�"r-i�r�r�rRi�)
rr�rr��_fmnksr:�default_rng�statsr�all)�rngr#r$s   r'�test_mann_whitney_u_switchrNws���!�J�����+�+�+�J��
�)�
�
�
�
.�
.�C��
�
�1�
�
�A�	�
�
�3���A�	��q�!�G�,�,�,�,�
�6�*�#�r�)�*�*�*�*�*�	�
�
�3���A�	��q�!�G�,�,�,�,��v�j�'�2�-�.�.�.�.�.�.�.r)c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
ej�dd
��d���ZdS)�TestSomersDc�V���j�jz�_tjd���j�jzftjd���j�jzfd��_�fd��jD��}t
jtj	d����_
�j
|��_dS)Nr/rc�6��g|]}�j|d��S)r)�	arguments)r�idxr"s  �r'rz,TestSomersD.setup_method.<locals>.<listcomp>�s%���H�H�H�#�t�~�c�*�1�-�H�H�Hr)r�r�)�ALL_INTEGER�	ALL_FLOAT�dtypesrr<rS�	functools�partialrK�somersd�partialfuncr�)r"�input_arrays` r'r�zTestSomersD.setup_method�s�����&���7��� �i��m�m�"�.���?�A� �i��m�m�"�.���?�A�B�B���I�H�H�H���H�H�H��
%�,�U�]�9D�F�F�F���(��(�+�6��
�
�
r)c��|j|�}t|j|jjd���t|j|jjd���dS)N�V瞯�<r3)r[rrXr�rY)r"r�rZs   r'�pythranfunczTestSomersD.pythranfunc�sO���d���%����
�t�}�'>�U�K�K�K�K���
�D�M�$8�u�E�E�E�E�E�Er)c��gd�gd�gd�g}tj|��}|�tj��}tj|fi|��}t|j|jd���t|j|jd���dS)N)rx��r0r)r0rb�r,r�)rrr+r0�r^r3)rKrZ�get_optional_argsrrXrY)r"r�r�
optional_argsrs     r'�test_pythranfunc_keywordsz%TestSomersD.test_pythranfunc_keywords�s���#�#�#�%8�%8�%8�:J�:J�:J�K���}�U�#�#���.�.�u�}�=�=�
��}�U�4�4�m�4�4�������U�C�C�C�C����T�[�u�=�=�=�=�=�=r)c�
�gd�}gd�}d}tj||��}t|j|dd���t|j|dd���gd�}gd	�}d}tj||��}t|j|dd���t|j|dd���gd
�}gd�}d}tj||��}t|j|dd���t|j|dd���tjd
��}tjd
��}d}tj||��}t|j|dd���t|j|dd���tjd
��}tjgd���}d}tj||��}t|j|dd���t|j|dd���tjd
��}tjd
��ddd�}d}tj||��}t|j|dd���t|j|dd���tjd
��}tjgd���}d}tj||��}t|j|dd���t|j|dd���gd�}gd�}d}tj||��}t|j|dd���t|j|dd���tjgd�gd���}t|jt
j��t|jt
j��tjgd�gd���}t|jt
j��t|jt
j��tjgd�gd���}t|jt
j��t|jt
j��tjdgdg��}t|jt
j��t|jt
j��tjgg��}t|jt
j��t|jt
j��tjd��}tjd��}tttj||��dS)N)r-r+rrr.r,r0r1)r-r+r.rrr1r0r,��r~rr^r3r)	rr-r+rrr.r,r0r1)	r-r+rr.rrr1r0r,)r-r+rrr.r,r0)r-r+r.rrr0r,)g+$I�$I¿g=/3n�+�?r/�r~r)
rr+rrr,r.r-r0r1r�)gs�'}�'�?rjrR)g�r)
r�r0r1r.r-rr,r+rr)g}�'}�'�rj)r�r+rr�r+)rr,r0rr)��g�.ʂ��?)r+r+r+)r+rr+g$@g4@)rKrZrrXrYrr<r rNrHrI)r"r#r$r�rZ�x1�x2s       r'�test_like_kendalltauz TestSomersD.test_like_kendalltau�s���
%�$�$��$�$�$��9���m�A�q�!�!����
�x��{��?�?�?�?���
�H�Q�K�e�<�<�<�<�
(�'�'��'�'�'��9���m�A�q�!�!����
�x��{��?�?�?�?���
�H�Q�K�e�<�<�<�<�
"�!�!��!�!�!��:���m�A�q�!�!����
�x��{��?�?�?�?���
�H�Q�K�e�<�<�<�<�
�I�b�M�M���I�b�M�M��*���m�A�q�!�!����
�x��{��?�?�?�?���
�H�Q�K�e�<�<�<�<�
�I�b�M�M���H�3�3�3�4�4��9���m�A�q�!�!����
�x��{��?�?�?�?���
�H�Q�K�e�<�<�<�<�
�I�b�M�M���I�b�M�M�$�$�B�$���+���m�A�q�!�!����
�x��{��?�?�?�?���
�H�Q�K�e�<�<�<�<�
�I�b�M�M���H�3�3�3�4�4��;���m�A�q�!�!����
�x��{��?�?�?�?���
�H�Q�K�e�<�<�<�<��
�
��
�_�_��:���m�B��#�#����
�x��{��?�?�?�?���
�H�Q�K�e�<�<�<�<��m�I�I�I�y�y�y�1�1����
�r�v�.�.�.���
�B�F�+�+�+��m�I�I�I�y�y�y�1�1����
�r�v�.�.�.���
�B�F�+�+�+��m�I�I�I�y�y�y�1�1����
�r�v�.�.�.���
�B�F�+�+�+��m�Q�C�!��%�%����
�r�v�.�.�.���
�B�F�+�+�+��m�B��#�#����
�r�v�.�.�.���
�B�F�+�+�+�
�I�c�N�N���I�c�N�N���j�%�-��A�6�6�6�6�6r)c��gd�}gd�}d}d}d}tj||��}t|j|d���t|j|d���t|jjd	��tj||��}t|j|d���t|j|d���t|jjd
��dS)N)rrrr+r+r+r+r+rrrr+r+r+r+r+r+r+rrrrrr)rrrrrrrrrrr+r+r+r+r+r+r+r+r+r+r+r+r+r+gC�E]t�?g�^�_��?gO((�Ƿ?r^r3rh)rr+�r+r)rKrZrrXrYrr�r)r"r#r$�d_cr�d_rcr&rZs       r'�test_asymmetryzTestSomersD.test_asymmetry s���
1�
1�
1��
1�
1�
1��!�� �����m�A�q�!�!����
�t�%�8�8�8�8���
�A�D�1�1�1�1��S�Y�_�f�-�-�-��m�A�q�!�!����
�t�%�8�8�8�8���
�A�E�2�2�2�2��S�Y�_�f�-�-�-�-�-r)c�,�tjddgddgddgddgddgg��}|j}d}tt	j|��j|��tjd	d
gdd
gd
dgg��}d
\}}tt	j|��j|��tt	j|j��j|��tjd	d
gd
dgdd
gg��}d}tt	j|j��j|��dS)Nr1r+r.r-rr,rgHHHHHH�?rar�Ur8)g��M�&w�?r~gt�E]t�)rr �TrrKrZrX)r"r��dyx�dxys    r'�test_somers_originalz TestSomersD.test_somers_original9s��
��1�a�&�1�a�&�1�a�&�1�a�&�1�a�&�A�B�B���������
�e�,�,�6��<�<�<���2�q�'�B��7�Q��G�4�5�5��'���S���
�e�,�,�6��<�<�<���
�e�g�.�.�8�#�>�>�>���2�q�'�A�r�7�R��G�4�5�5������
�e�g�.�.�8�#�>�>�>�>�>r)c�`�d}d}tj|��}tj�d��tj�|tj|��|z����|��}t	j	|��}tj
|dtj|d��d���}t	j	|��}tj
|dtj|d��d���}t	j	|��}	tj
|dtj|ddz��d���}
t	j	|
��}t|j
dd	�
��t|j
|j
��t|j
|	j
��t|j
|j
��t|jdd	�
��t|j|j��t|j|	j��t|j|j��dS)NrQ�r,r.r�r&r+rr�ga��y�r^r3gP�j�$�?)r�prodr:r;rK�multinomial�rvsr�rSrZ�insertrrrXrY)r"�Nr�size�srZ�s2r�s3r$�s4�res4s            r'�*test_contingency_table_with_zero_rows_colsz6TestSomersD.test_contingency_table_with_zero_rows_colsOs���
�����w�u�~�~��
�	���q������!�!�!�r�w�t�}�}�T�'9�!�:�:�B�B�5�I�I���m�A����
�Y�q�!�R�X�e�A�h�/�/�a�
8�
8�
8���}�R� � ��
�Y�q�!�R�X�e�A�h�/�/�a�
8�
8�
8���}�R� � ��
�Y�r�1�b�h�u�Q�x��z�2�2��
;�
;�
;���}�R� � ��	��
�'9��F�F�F�F���
�t�~�6�6�6���
�t�~�6�6�6���
�t�~�6�6�6���
�$5�E�B�B�B�B���
�D�K�0�0�0���
�D�K�0�0�0���
�D�K�0�0�0�0�0r)c�x�d}d}tj|��}tj�d��tj�|tj|��|z����|��}|dz
}d}tt|���5t	j|��ddd��n#1swxYwY|dz}d	}tt|���5t	j|��ddd��n#1swxYwYd
}tt|���5t	jgg��ddd��n#1swxYwYtt|���5t	jdgg��ddd��n#1swxYwYtjd��}tt|���5t	j|��ddd��n#1swxYwYd|d
<tt|���5t	j|��ddd��dS#1swxYwYdS)NrQr|rr}r+z:All elements of the contingency table must be non-negativer�rez5All elements of the contingency table must be integerz?At least two elements of the contingency table must be nonzero.r)rrr)
rr~r:r;rKrr�r�rSrHrIrZr)	r"r�rr�r��s5�message�s6�s7s	         r'�test_invalid_contingency_tablesz+TestSomersD.test_invalid_contingency_tablesns��������w�u�~�~��
�	���q������!�!�!�r�w�t�}�}�T�'9�!�:�:�B�B�5�I�I��
��U��N��
�:�W�
5�
5�
5�	�	��M�"����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	���X��I��
�:�W�
5�
5�
5�	�	��M�"����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�,��
�:�W�
5�
5�
5�	 �	 ��M�2�$����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 ��:�W�
5�
5�
5�	!�	!��M�A�3�%� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!��X�f�
�
��
�:�W�
5�
5�
5�	�	��M�"����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	���4��
�:�W�
5�
5�
5�	�	��M�"����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sl�B?�?C�C�'D�D�D�+E
�
E�E�.F�F�F�G'�'G+�.G+�
H/�/H3�6H3c��gd�}ddtjg}gd�}ddtjg}tj||��}tj||��}t	|j|j��t	|j|j��dS)Nr�rRg������@)rr+rrrl)rrMrKrZrrXrY)r"r#rnr$�y2rZrs       r'�test_only_ranks_matterz"TestSomersD.test_only_ranks_matter�s����I�I���#�r�v�
���I�I������w�
���m�A�q�!�!���}�R��$�$���S�]�D�N�3�3�3��S�Z���-�-�-�-�-r)c���tjd��}tjd��}tj||��}t	|jtjd����dS)Nr/)rr<rKrZrr��eye)r"r#r$rZs    r'�test_contingency_table_returnz)TestSomersD.test_contingency_table_return�sM���I�b�M�M���I�b�M�M���m�A�q�!�!���S�Y���r�
�
�+�+�+�+�+r)c���gd�}gd�}tj||d���}|jdksJ�tj||d���}t|j|j��t	|jd|jdzz
��tj||d	���}t|j|j��t	|j|jdz��|���tj||d���}|jdksJ�tj||d	���}t|j|j��t	|jd|jdzz
��tj||d���}t|j|j��t	|j|jdz��tjtd
���5tj||d���ddd��dS#1swxYwYdS)
Nr�)r-r.r0r1r0r�r�rr�rr+r�zalternative must be 'less'...r�z	ekki-ekki)
rKrZrXrrrY�reverser<rrI)r"rmrnr�rZs     r'�test_somersd_alternativez$TestSomersD.test_somersd_alternative�s0���_�_��
�_�_���=��R�[�A�A�A���!�A�%�%�%�%��m�B���7�7�7���S�]�H�$6�7�7�7���
�A���1�)<�$=�>�>�>��m�B��	�:�:�:���S�]�H�$6�7�7�7���
�H�O�a�$7�8�8�8�	�
�
�����=��R�[�A�A�A���!�A�%�%�%�%��m�B��	�:�:�:���S�]�H�$6�7�7�7���
�A���1�)<�$=�>�>�>��m�B���7�7�7���S�]�H�$6�7�7�7���
�H�O�a�$7�8�8�8�
�]�:�-L�
M�
M�
M�	;�	;��M�"�b�k�:�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;s�>G#�#G'�*G'�positive_correlation)FTc��tjd��}|r|ntj|��}|rdnd}tj||d���}|j|ksJ�|jdksJ�tj||d���}|j|ksJ�|j|rdndksJ�tj||d���}|j|ksJ�|j|rdndksJ�dS)	Nr/rrRr�r�rr�r�)rr<�fliprKrZrXrY)r"r�rmrn�expected_statisticrZs      r'� test_somersd_perfect_correlationz,TestSomersD.test_somersd_perfect_correlation�s	���Y�r�]�]��'�
8�R�R�R�W�R�[�[��"6�>�Q�Q�B���m�B���<�<�<���}� 2�2�2�2�2��z�Q������m�B���7�7�7���}� 2�2�2�2�2��z�#7�>�a�a�Q�?�?�?�?��m�B��	�:�:�:���}� 2�2�2�2�2��z�#7�>�a�a�Q�?�?�?�?�?�?r)N)r]r^r_r�r_rgrortrzr�r�r�r�r�r<r=r>r�r`r)r'rPrP�s�������
7�
7�
7�F�F�F�
	>�	>�	>�m7�m7�m7�^.�.�.�2?�?�?�,1�1�1�>!�!�!�F	.�	.�	.�,�,�,�';�';�';�R�[���3�]�C�C�@�@�D�C�@�@�@r)rPc���eZdZdZej�dddgddggdfdd	gd
dggdfd	d
gdd	ggdfddgddggdfddgddggdfddgddggdfddgddggdfddgddggdfddgdd	ggdfdd	gddggdfd	d
gdd	ggdfg��d ���Zej�dddgddggd!fdd	gd
dggd"fd	d
gdd	ggd#fddgddggd$fddgddggd%fddgddggd&fddgddggd'fddgddggd(fddgdd	ggd)fdd	gddggd*fd	d
gdd	ggd#fg��d+���Zd,�Z	ej�dddgddggd-fg��d.���Z
ej�dddgddggd/ejffddgddggd/ejffg��d0���Z
ej�dd	d
gdd	ggd1fd
d2gd3dggd4fd5d6gd7dggd8fg��ej�d9d:d;g��d<�����Zd=S)>�TestBarnardExactz8Some tests to show that barnard_exact() works correctly.�input_sample,expected�+r�r/�')g�Xyq@g{2s&Q�7?rQr+ror-)g�l��l��gEA]0�K�?r0r1)�*�)1�%�g�_��?r)g_��c1�?g��=��?�rW)g5PyQ���g�Q@�2��?r�ra)g�������g��J"��?)g_��c1��gwݝل��?rr,)g�7���@g�?r)g�~�t���,��?3O�?r.)g�r?�~���C�Y�7�?c�d�t|��}|j|j}}t||g|��dS)z�The expected values have been generated by R, using a resolution
        for the nuisance parameter of 1e-6 :
        ```R
        library(Barnard)
        options(digits=10)
        barnard.test(43, 40, 10, 39, dp=1e-6, pooled=TRUE)
        ```
        N�rrXrYr�r"�input_sampler�rZrXrYs      r'�test_precisezTestBarnardExact.test_precise�s9��2�L�)�)���M�3�:�6�	���F�+�X�6�6�6�6�6r))g���7�\@gA����2?)gXS��;�g����h�?)g>!Ɏ��g6���?)gS�y@��?g��^��F�?)g��-�����g�X�I#�?)g�a��Ѝ��go����?)gb�]?��gFug�H	�?)g�6ҭ�@g�?)gi(	���r�)g�NX�z���r�c�h�t|d���}|j|j}}t||g|��dS)z�The expected values have been generated by R, using a resolution
        for the nuisance parameter of 1e-6 :
        ```R
        library(Barnard)
        options(digits=10)
        barnard.test(43, 40, 10, 39, dp=1e-6, pooled=FALSE)
        ```
        F)�pooledNr�r�s      r'�test_pooled_paramz"TestBarnardExact.test_pooled_params>��2�L��7�7�7���M�3�:�6�	���F�+�X�6�6�6�6�6r)c�v�d}tt|���5tddgddggd���ddd��n#1swxYwYd	}tt|���5ttjd
���dd����ddd��n#1swxYwYd}tt|���5tddgddgg��ddd��n#1swxYwYd
}tt|���5tddgddggd��ddd��dS#1swxYwYdS)N�7Number of points `n` must be strictly positive, found 0r�rr+rr,r�r��,The input `table` must be of shape \(2, 2\).r.�*All values in `table` must be nonnegative.rRzI`alternative` should be one of {'two-sided', 'less', 'greater'}, found .*�not-correct)rHrIrrr<rS�r"�	error_msgs  r'�test_raiseszTestBarnardExact.test_raises#sX��
F�	��:�Y�
7�
7�
7�	1�	1��A�q�6�A�q�6�*�a�0�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�E�	�
�:�Y�
7�
7�
7�	6�	6��"�)�A�,�,�.�.�q�!�4�4�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�A�	�
�:�Y�
7�
7�
7�	-�	-��B��7�Q��F�+�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�

�	��:�Y�
7�
7�
7�	;�	;��A�q�6�A�q�6�*�M�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;�E�=�A�A� 6B"�"B&�)B&�C'�'C+�.C+�
D.�.D2�5D2rkc��t|��}|j|j}}t||d��t||d��dS�Nrr�rrXrYrr�s      r'�test_edge_casesz TestBarnardExact.test_edge_cases=sL���L�)�)���M�3�:�6�	��V�X�a�[�)�)�)��Y����,�,�,�,�,r)r~c��t|��}|j|j}}t||d��t||d��dSr�r�r�s      r'�test_row_or_col_zeroz%TestBarnardExact.test_row_or_col_zeroIsL���L�)�)���M�3�:�6�	��V�X�a�[�)�)�)��Y����,�,�,�,�,r))r�gE�\/?�?���,)g�g���Q5�rj�r9i�)g�&��X}>�rjr�r�r�c���|\}}|dkr$tj|��dd�ddd�f}|}t||���}|j|j}}t||g||gd���dS)a�
        "The expected values have been generated by R, using a resolution
        for the nuisance parameter of 1e-6 :
        ```R
        library(Barnard)
        options(digits=10)
        a = barnard.test(2, 7, 8, 2, dp=1e-6, pooled=TRUE)
        a$p.value[1]
        ```
        In this test, we are using the "one-sided" return value `a$p.value[1]`
        to test our pvalue.
        r�NrRr��H�����z>r3)rr rrXrYr)	r"r�r�r��
expected_stat�less_pvalue_expectrZrXrYs	         r'�test_less_greaterz"TestBarnardExact.test_less_greaterVs���,-5�)�
�)��)�#�#��8�L�1�1�!�!�!�T�T�r�T�'�:�L�*�N�M��L�k�B�B�B���M�3�:�6�	��
���-�1C�!D�4�	
�	
�	
�	
�	
�	
r)N)r]r^r_�__doc__r<r=r>r�r�r�r�rrNr�r�r`r)r'r�r��s�������B�B��[�����2�h��R��
!�#C�D��A�h��q�	�
"�$E�F��!�f�q�!�f�
�@�A��!�f�r�2�h�
�!A�B��"�g��B�x�
 �"C�D��"�g��B�x�
 �"C�D��1�g��A�w�
�!B�C��!�f�q�!�f�
�?�@��!�f�q�!�f�
�@�A��!�f�q�!�f�
�@�A��!�f�q�!�f�
�@�A�	
��� 7�7�!�� 7��[�����2�h��R��
!�#C�D��A�h��q�	�
"�$E�F��!�f�q�!�f�
�@�A��!�f�r�2�h�
�!A�B��"�g��B�x�
 �"C�D��"�g��B�x�
 �"C�D��1�g��A�w�
�!B�C��!�f�q�!�f�
�?�@��!�f�q�!�f�
�@�A��!�f�q�!�f�
�@�A��!�f�q�!�f�
�@�A�	
��� 7�7�!�� 7�;�;�;�4�[�����!�f�q�!�f�
�x�(�	
���-�-�
��-��[�����!�f�q�"�g�
��b�f�
�.��!�f�r�1�g�
��b�f�
�.�	
���-�-���-��[�����!�f�q�!�f�
�@�A��#�h��a��
!�#:�;��2�h��q�	�
"�$;�<�	
����[���]�Y��,?�@�@�
�
�A�@���
�
�
r)r�c���eZdZdZdZej�dddgddggdfdd	gd
d
ggdfddgd
dggdfd
dgd
d	ggdfddgd	dggdfdd	gddggdfddgddggdfddgddggdfd
dgddggdfg	��d���Zej�dddgd
dggdfddgddggd fdd	gd
d
ggd!fdd"gd
d
ggd#fddgd
dggd$fddgd	dggd%fdd	gddggdfddgd&dggdfddgddggd fddgddggd'fd
dgddggd(fg��d)���Z	ej�dddgd
dggd*fddgddggd+fdd	gd
d
ggd,fddgd
dggd-fddgd	dggd.fdd	gddggd/fddgddggd+fddgddggd0fg��d1���Z
d2�Zej�dddgdd
ggej
ej
ffddgd
dggej
ej
ffg��d3���Zd4�Zej�d5d6��d7���Zd8S)9�TestBoschlooExactz9Some tests to show that boschloo_exact() works correctly.r�r�r+r0r1)�<vB\��?g��/?�?r-rr/)g�����M�?g��A>�?r�rWra)�_�V�Ѷ?g��֭?)�u��%�?gc'��?rr,�rrr)rgg�?r�)��+�f�?gXc}�v�?��%)gZыD��?g���gi]�?c�v�t|d���}|j|j}}t||g||j���dS)a�The expected values have been generated by R, using a resolution
        for the nuisance parameter of 1e-8 :
        ```R
        library(Exact)
        options(digits=10)
        data <- matrix(c(43, 10, 40, 39), 2, 2, byrow=TRUE)
        a = exact.test(data, method="Boschloo", alternative="less",
                       tsmethod="central", np.interval=TRUE, beta=1e-8)
        ```
        r�r�r3N�rrXrYr�ATOLr�s      r'�	test_lesszTestBoschlooExact.test_less~sE��2�\�v�>�>�>���M�3�:�6�	���F�+�X�D�I�F�F�F�F�F�Fr)r�r�r�)��k�\�2?g���0�,%?)gK�v��?g�N3���?)r�g�'&5��?r�)g�w@_��?g��7��?)g��i�{�?g��ɑ)z�?)��օa�?g�1���|?r.)gY��<;��?g���N�D�?)g��e��?g�G�`��?c�v�t|d���}|j|j}}t||g||j���dS)a�The expected values have been generated by R, using a resolution
        for the nuisance parameter of 1e-8 :
        ```R
        library(Exact)
        options(digits=10)
        data <- matrix(c(43, 10, 40, 39), 2, 2, byrow=TRUE)
        a = exact.test(data, method="Boschloo", alternative="greater",
                       tsmethod="central", np.interval=TRUE, beta=1e-8)
        ```
        r�r�r3Nr�r�s      r'�test_greaterzTestBoschlooExact.test_greater�sE��6�\�y�A�A�A���M�3�:�6�	���F�+�X�D�I�F�F�F�F�F�Fr))r�g�qQS�,5?)r�gG��?/?�?)r�gKE`��?)r�g�hr1ֽ?)r�gr�fb��?)rgg�?)r�gP:pR�v�?c�x�t|dd���}|j|j}}t||g||j���dS)a�The expected values have been generated by R, using a resolution
        for the nuisance parameter of 1e-8 :
        ```R
        library(Exact)
        options(digits=10)
        data <- matrix(c(43, 10, 40, 39), 2, 2, byrow=TRUE)
        a = exact.test(data, method="Boschloo", alternative="two.sided",
                       tsmethod="central", np.interval=TRUE, beta=1e-8)
        ```
        r��@)r�r�r3Nr�r�s      r'�test_two_sidedz TestBoschlooExact.test_two_sided�sG��0�\�{�b�I�I�I���M�3�:�6�	���F�+�X�D�I�F�F�F�F�F�Fr)c�v�d}tt|���5tddgddggd���ddd��n#1swxYwYd	}tt|���5ttjd
���dd����ddd��n#1swxYwYd}tt|���5tddgddgg��ddd��n#1swxYwYd
}tt|���5tddgddggd��ddd��dS#1swxYwYdS)Nr�r�rr+rr,rr�r�r.r�rRzK`alternative` should be one of \('two-sided', 'less', 'greater'\), found .*r�)rHrIrrr<rSr�s  r'r�zTestBoschlooExact.test_raises�sX��
F�	��:�Y�
7�
7�
7�	2�	2��Q��F�Q��F�+�q�1�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�E�	�
�:�Y�
7�
7�
7�	7�	7��2�9�Q�<�<�/�/��1�5�5�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�A�	�
�:�Y�
7�
7�
7�	.�	.��R��G�a��V�,�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�

%�	��:�Y�
7�
7�
7�	<�	<��Q��F�Q��F�+�]�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�	<�	<r�c��t|��}|j|j}}t||d��t||d��dSr�)rrXrYrr�s      r'r�z&TestBoschlooExact.test_row_or_col_zero�sL���\�*�*���M�3�:�6�	��V�X�a�[�)�)�)��Y����,�,�,�,�,r)c���ddgddgg}t|d���j}t|d���j}dt||��zdksJ�t|d���j}|d	ksJ�dS)
Nrr�r�r�r�r�r+r�r~)rrY�min)r"�tbl�pl�pg�pts     r'�test_two_sided_gt_1z%TestBoschlooExact.test_two_sided_gt_1�s����1�v��B�x� ��
�C�V�
4�
4�
4�
;��
�C�Y�
7�
7�
7�
>����R����}�q� � � � �
�C�[�
9�
9�
9�
@���S�y�y�y�y�y�yr)r�)r�r�c��ddgddgg}t||���j}tj||���d}t	||��dS)Nr+r0r1r�r)rrXrK�fisher_exactr)r"r�r��
boschloo_stat�fisher_ps     r'�test_against_fisher_exactz+TestBoschlooExact.test_against_fisher_exacts[���1�v��1�v���&�s��D�D�D�N�
��%�c�{�C�C�C�A�F���
�x�0�0�0�0�0r)N)r]r^r_r�r�r<r=r>r�r�r�r�rrNr�r�r�r`r)r'r�r�ys�������C�C��D��[�����!�f�q�!�f�
�8�9��!�f�r�2�h�
�!7�8��"�g��B�x�
 �":�;��1�g��A�w�
�!8�9��!�f�q�!�f�
�v�&��!�f�q�!�f�
�~�.��!�f�q�!�f�
�8�9��"�g��1�v�
� 8�9��2�h��R��
!�#9�:�
	
�
�
�
G�
G�
�
�
G��[�����2�h��R��
!�#?�@��!�f�q�!�f�
�5�6��!�f�r�2�h�
�!8�9��"�g��B�x�
 �"8�9��"�g��B�x�
 �"7�8��!�f�q�!�f�
�8�9��!�f�q�!�f�
�v�&��!�f�q�!�f�
�v�&��!�f�q�!�f�
�5�6��"�g��1�v�
� 6�7��2�h��R��
!�#9�:�	
��� 
G�
G�!�� 
G��[�����2�h��R��
!�#?�@��!�f�q�!�f�
�7�8��!�f�r�2�h�
�!7�8��"�g��B�x�
 �"8�9��!�f�q�!�f�
�7�8��!�f�q�!�f�
�}�-��!�f�q�!�f�
�7�8��"�g��1�v�
� 8�9�		
���G�G���G� <�<�<�4�[�����!�f�q�"�g�
����� 0�1��!�f�r�1�g�
����� 0�1�	
���-�-���-�����[���]�,?�@�@�1�1�A�@�1�1�1r)r�c��eZdZd�Zd�Zd�Zej�dgd���d���Z	d�Z
d�Zd	�Zd
�Z
dS)�
TestCvm_2sampc�,�tjd���d��}tjd��}d}tjt
|���5t
||��ddd��n#1swxYwYtjt
|���5t
||��ddd��n#1swxYwYd}tjt
|���5t
g|��ddd��n#1swxYwYtjt
|���5t
|dg��ddd��n#1swxYwYd}tjt
|���5t
||d	��ddd��dS#1swxYwYdS)
Nr/r�r-z#The samples must be one-dimensionalr�z/x and y must contain at least two observations.rz/method must be either auto, exact or asymptotic�xyz)rr<rSr<rrIr
)r"r#r$�msgs    r'r�z TestCvm_2samp.test_invalid_inputs����I�b�M�M�!�!�&�)�)���I�a�L�L��3��
�]�:�S�
1�
1�
1�	'�	'� ��A�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�
�]�:�S�
1�
1�
1�	'�	'� ��A�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�?��
�]�:�S�
1�
1�
1�	(�	(� ��Q�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�]�:�S�
1�
1�
1�	)�	)� ��Q�C�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�?��
�]�:�S�
1�
1�
1�	.�	.� ��A�u�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.sZ�A6�6A:�=A:�B9�9B=�B=�!C>�>D�D�$E�E�	E�*F	�	F
�F
c���gd�}gd�}t||��}ttj|��tj|����}t|j|jf|j|jf��dS)N)r+rr,r0r.)r�r�r�rc)r
rr rrXrY�r"r#r$r�r�s     r'�test_list_inputzTestCvm_2samp.test_list_input$sl���O�O������
!�!�Q�
'�
'��
!�"�(�1�+�+�r�x��{�{�
;�
;���b�l�B�I�.���r�y�0I�J�J�J�J�Jr)c��gd�}gd�}t||��}t|jdd���t|jdd���dS)N)	gffffff@g������ @rgffffff!@皙����"@g������#@g333333$@g333333%@gffffff&@)g������@g������@g������@�@�333333@gffffff @g333333"@g������#@g������%@g������&@g'@g������(@g)@g������*@g333333-@g�S㥛��?r2r3g
ףp=
�?re)r
rrXrY�r"r#r$�rs    r'�test_example_conoverz"TestCvm_2samp.test_example_conover+sc��
=�<�<��
�
�
�� ��A�&�&�����U��6�6�6�6����$�T�2�2�2�2�2�2r)zstatistic, m, n, pval))i�r-r.g�cj`?)iir0r0gt�E]t�?)i@r,r.g8�8��?)i�r.r0g���XwS?c�D�tt|||��|��dSr�)rr)r"rXr�r��pvals     r'�test_exact_pvaluezTestCvm_2samp.test_exact_pvalue5s'��	�*�9�a��;�;�T�B�B�B�B�Br)c��tj�d��tj�d���}tj�d���}t
||��}td|jcxkodknc��t
||dz��}td|jcxkodknc��dS)Nii@B)r�i��
rrr�)	rr:r;r	r�r�r
rrYr�s    r'�test_large_samplezTestCvm_2samp.test_large_sample@s���	�	���t������"�"��"�0�0����"�"��"�/�/�� ��A�&�&����A�H� � � � �q� � � � �!�!�!� ��A�c�E�*�*����A�H� � � � �q� � � � �!�!�!�!�!r)c�t�tj�d��tj�d��}tj�d��}t	||d���}t	||d���}t|j|j��t|j|jd���dS)	Nrr0r1r�r�r�rer3)	rr:r;r�r
rrXrrYr�s     r'�test_exact_vs_asymptoticz&TestCvm_2samp.test_exact_vs_asymptoticKs���
�	���q�����I�N�N�1�����I�N�N�1����
!�!�Q�w�
7�
7�
7��
!�!�Q�|�
<�
<�
<���R�\�2�<�0�0�0���	�2�9�4�8�8�8�8�8�8r)c�V�tjd��}gd�}t||d���}t||d���}t|j|j��tjd��}t||d���}t||d���}t|j|j��dS)NrW)rgg������@g333333*@r�r�r�r�r�)rr<r
rrYr�s     r'�test_method_autozTestCvm_2samp.test_method_autoTs����I�b�M�M������
!�!�Q�w�
7�
7�
7��
!�!�Q�v�
6�
6�
6���R�Y��	�*�*�*��I�b�M�M��
!�!�Q�|�
<�
<�
<��
!�!�Q�v�
6�
6�
6���R�Y��	�*�*�*�*�*r)c��tjd��}t||��}t|j|jfd��t|dd�|dd���}t|j|jfd��dS)Nr�rir,)rr<r
rrXrY)r"r#rZs   r'�test_same_inputzTestCvm_2samp.test_same_input`sw��
�I�b�M�M��"�1�a�(�(���c�m�S�Z�0�*�=�=�=�"�1�R�a�R�5�!�B�Q�B�%�0�0���c�m�S�Z�0�*�=�=�=�=�=r)N)r]r^r_r�r�r�r<r=r>r�r�r�rrr`r)r'r�r�s�������.�.�.�"K�K�K�3�3�3��[���4�5�5�5�6�6�
C�C�6�6�
C�	"�	"�	"�9�9�9�
+�
+�
+�	>�	>�	>�	>�	>r)r�c���eZdZgd�gd�gd�fZgd�gd�gd�fZgd�gd�gd�fZdZdZd	Ze	j
�d
eedfeedfeedffgd
����d���ZdZ
dZe	j
�d
ee
dfeedffddg���d���Zd�Zd�Zd�Zd�Zd�Zd�Ze	j
�dd��d���Ze	j
�d gd!���d"���Zd#�Zd$S)%�TestTukeyHSD)r&��7@�ffffff:@皙���;@�fffff�=@)�ffffff<@皙���A@��=@皙���@@皙���>@)g�����:@g�����L<@g�����L8@g333333:@g������;@)r&rgH�z�G:@rrr	rr)r&rr)
r
rrr
rr
rrr
raK
    Comparison LowerCL Difference UpperCL Significance
    2 - 3	0.6908830568	4.34	7.989116943	    1
    2 - 1	0.9508830568	4.6 	8.249116943 	1
    3 - 2	-7.989116943	-4.34	-0.6908830568	1
    3 - 1	-3.389116943	0.26	3.909116943	    0
    1 - 2	-8.249116943	-4.6	-0.9508830568	1
    1 - 3	-3.909116943	-0.26	3.389116943	    0
    aS
    Comparison LowerCL Difference UpperCL Significance
    2 - 1	0.2679292645	3.645	7.022070736	    1
    2 - 3	0.5934764007	4.34	8.086523599	    1
    1 - 2	-7.022070736	-3.645	-0.2679292645	1
    1 - 3	-2.682070736	0.695	4.072070736	    0
    3 - 2	-8.086523599	-4.34	-0.5934764007	1
    3 - 1	-4.072070736	-0.695	2.682070736	    0
    aS
    Comparison LowerCL Difference UpperCL Significance
    2 - 3	1.561605075	    4.34	7.118394925	    1
    2 - 1	2.740784879	    6.08	9.419215121	    1
    3 - 2	-7.118394925	-4.34	-1.561605075	1
    3 - 1	-1.964526566	1.74	5.444526566	    0
    1 - 2	-9.419215121	-6.08	-2.740784879	1
    1 - 3	-5.444526566	-1.74	1.964526566	    0
    zdata,res_expect_str,atolrhg�����|�=)�equal size samplezunequal sample sizezextreme sample size differences)�idsc�f�tj|�dd�����dd�t����d��}t
j|�}|���}|D]�\}}}	}
}}t|��dz
t|��dz
}}t|j||f|	|���t|j||f|
|���t|j
||f||���t|j||fd	k|dk����dS)
a�
        SAS code used to generate results for each sample:
        DATA ACHE;
        INPUT BRAND RELIEF;
        CARDS;
        1 24.5
        ...
        3 27.8
        ;
        ods graphics on;   ODS RTF;ODS LISTING CLOSE;
           PROC ANOVA DATA=ACHE;
           CLASS BRAND;
           MODEL RELIEF=BRAND;
           MEANS BRAND/TUKEY CLDIFF;
           TITLE 'COMPARE RELIEF ACROSS MEDICINES  - ANOVA EXAMPLE';
           ods output  CLDiffs =tc;
        proc print data=tc;
            format LowerCL 17.16 UpperCL 17.16 Difference 17.16;
            title "Output with many digits";
        RUN;
        QUIT;
        ODS RTF close;
        ODS LISTING;
        � - � r-N��dtype)r.r.rr3rf�r�asarray�replace�split�floatrSrK�	tukey_hsd�confidence_interval�intr�lowrX�highrY)
r"�data�res_expect_strr4�
res_expect�	res_tukey�confr�j�lr��h�sigs
             r'�test_compare_saszTestTukeyHSD.test_compare_sas�s>��B�Z�� 6� 6�u�c� B� B� H� H� J� J�1�2�2� N�&+�-�-�-�-4�W�V�_�_�	��O�T�*�	��,�,�.�.��",�	G�	G��A�q�!�Q��3��q�6�6�A�:�s�1�v�v��z�q�A��D�H�Q��T�N�A�D�9�9�9�9��I�/��1��5�q�t�D�D�D�D��D�I�a��d�O�Q�T�:�:�:�:��Y�-�a��d�3�s�:�S�A�X�F�F�F�F�	G�	Gr)z�
        1	2	-8.2491590248597	-4.6	-0.9508409751403	0.0144483269098
        1	3	-3.9091590248597	-0.26	3.3891590248597	0.9803107240900
        2	3	0.6908409751403	4.34	7.9891590248597	0.0203311368795
        z�
        1	2	-7.02207069748501	-3.645	-0.26792930251500 0.03371498443080
        1	3	-2.68207069748500	0.695	4.07207069748500 0.85572267328807
        2	3	0.59347644287720	4.34	8.08652355712281 0.02259047020620
        r(r�rzunequal size samplec�"�tj|���t����d��}tj|�}|���}|D]�\}}}	}
}}t|��dz
t|��dz
}}t|j
||f|	|���t|j||f|
|���t|j||f||���t|j
||f||�����dS)an
        vals = [24.5, 23.5,  26.4, 27.1, 29.9, 28.4, 34.2, 29.5, 32.2, 30.1,
         26.1, 28.3, 24.3, 26.2, 27.8]
        names = {'zero', 'zero', 'zero', 'zero', 'zero', 'one', 'one', 'one',
         'one', 'one', 'two', 'two', 'two', 'two', 'two'}
        [p,t,stats] = anova1(vals,names,"off");
        [c,m,h,nms] = multcompare(stats, "CType","hsd");
        r�rr.rr3N)rrrrrSrKrrrrrrXrrY)
r"r r!r4r"r#r$rr%r&r�r'r&s
             r'�test_compare_matlabz TestTukeyHSD.test_compare_matlab�s ���Z�� 4� 4� 6� 6�&+�-�-�-�-4�W�V�_�_�	��O�T�*�	��,�,�.�.�� *�	B�	B��A�q�!�Q��1��q�6�6�A�:�s�1�v�v��z�q�A��D�H�Q��T�N�A�D�9�9�9�9��I�/��1��5�q�t�D�D�D�D��D�I�a��d�O�Q�T�:�:�:�:��I�,�Q��T�2�A�D�A�A�A�A�A�	B�	Br)c�t�d}tj|�dd�����dd�t����d��}gd�gd	�gd
�f}t
j|�}|���}|D]�\}}}}	}
}t|��dz
t|��dz
}}t|j||f|	d�
��t|j||f|d�
��t|j
||f|
d�
��t|j||f|d�
����dS)a+
        Testing against results and p-values from R:
        from: https://www.rdocumentation.org/packages/stats/versions/3.6.2/
        topics/TukeyHSD
        > require(graphics)
        > summary(fm1 <- aov(breaks ~ tension, data = warpbreaks))
        > TukeyHSD(fm1, "tension", ordered = TRUE)
        > plot(TukeyHSD(fm1, "tension"))
        Tukey multiple comparisons of means
        95% family-wise confidence level
        factor levels have been ordered
        Fit: aov(formula = breaks ~ tension, data = warpbreaks)
        $tension
        z�
                diff        lwr      upr     p adj
        2 - 3  4.722222 -4.8376022 14.28205 0.4630831
        1 - 3 14.722222  5.1623978 24.28205 0.0014315
        1 - 2 10.000000  0.4401756 19.55982 0.0384598
        rrr-Nrr+)�r8�6ra�F�4�3r.�Crxrb��r4��)rW�,)rcr�r4rdr�rcr,r8�$�*r.r5r�r�r9r�r�r4)r9r�r�rcr/r�r9r�r.rWr�r�rdr�r�r�r�r9rr�r3r�g�h㈵��>r)r"�str_resr"r r#r$rr%r�r&r'r&s            r'�test_compare_rzTestTukeyHSD.test_compare_r�st�����Z�����s� ;� ;� A� A� C� C�A�B�B� G�&+�-�-�-�-4�W�V�_�_�	�5�5�5�5�5�5�5�5�5�	6���O�T�*�	��,�,�.�.�� *�	B�	B��A�q�!�Q��1��q�6�6�A�:�s�1�v�v��z�q�A��D�H�Q��T�N�A�D�9�9�9�9��I�/��1��5�q�t�D�D�D�D��D�I�a��d�O�Q�T�:�:�:�:��I�,�Q��T�2�A�D�A�A�A�A�A�
	B�	Br)c��gd�}gd�}gd�}gd�}tj||||��}|���}tjgd�gd�gd�gd�g��}tjgd	�gd
�gd�gd�g��}dD]S\}	}
t|j|	|
f||	|
fd
���t|j|	|
f||	|
fd
����TdS)zp
        Example sourced from:
        https://www.itl.nist.gov/div898/handbook/prc/section4/prc471.htm
        )皙����@g������@�333333@gffffff@g@)g������ @r�g333333@gffffff"@r�)g @g%@g333333 @r>r�)r?gffffff@gffffff@gffffff@g������@)rrrg�)g��(\��?rgq=
ףp�g�p=
ף�?)g�G�z�?rrg
ףp=
�?)rrrr)rrrg�z�G�?)g�z�G�@rg�?g=
ףp=@)g=
ףp=@rrg������@)�rr)r+r)rrrrqrer3N)rKrrrrrrr)r"�group1�group2�group3�group4rZr$�lower�upperrr%s           r'�test_engineering_stat_handbookz+TestTukeyHSD.test_engineering_stat_handbooks:��
+�*�*��*�*�*��+�+�+��*�*�*���o�f�f�f�f�=�=���&�&�(�(���
���� � � �����L�L�	����
�
��O�O�!�!�!�����L�L�	����?�	E�	E�F�Q���D�H�Q��T�N�E�!�Q�$�K�d�C�C�C�C��D�I�a��d�O�U�1�a�4�[�t�D�D�D�D�D�	E�	Er)c���tj�d��tj�dd��}t	j|�}|���}t|j|j	j
��ttj|j	��|j	d��ttj|j��|jd��t|j|jj
��ttj|j��d��t|j
|j
j
��ttj|j
��d��dS)Nr7rrQ�rrrr)rr:r;r�rKrrrrrrw�diagonalrXrY)r"r rZr$s    r'�test_rand_symmzTestTukeyHSD.test_rand_symm-s��
�	���t�����y�~�~�a��%�%���o�t�$���&�&�(�(���T�X��	��|�,�,�,�	�R�[���+�+�T�Y�t�_�=�=�=��R�[���*�*�D�H�T�N�;�;�;��S�]�S�]�_�$4�5�5�5��R�[���/�/��3�3�3��S�Z����.�.�.��R�[���,�,�a�0�0�0�0�0r)c��ttd���5tjgd�dtjggd���ddd��dS#1swxYwYdS)Nz...must be finite.r�r�r+)r.r0r)rHrIrKrrrMrjs r'�test_no_infzTestTukeyHSD.test_no_inf@s���
�:�-A�
B�
B�
B�	?�	?��O�I�I�I��2�6�{�I�I�I�>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?s�'A�A�Ac��ttd���5tjddgddggddggd���ddd��dS#1swxYwYdS)Nz...must be one-dimensionalr�rr+rr-)r-r�r.�rHrIrKrrjs r'�
test_is_1dzTestTukeyHSD.test_is_1dDs���
�:�-I�
J�
J�
J�	B�	B��O�a��V�a��V�,�q�!�f�j�j�j�A�A�A�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	Bs�!A�A	�A	c��ttd���5tjgddggd���ddd��dS#1swxYwYdS)Nz...must be greater than oner�r+r-)r,r-r.rOrjs r'�
test_no_emptyzTestTukeyHSD.test_no_emptyHs���
�:�-J�
K�
K�
K�	3�	3��O�B��A��	�	�	�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s�?�A�A�nargsrc��ttd���5tjgd�g|z�ddd��dS#1swxYwYdS)Nz...more than 1 treatment.r��r�r0rrO)r"rSs  r'�test_not_enough_treatmentsz'TestTukeyHSD.test_not_enough_treatmentsLs���
�:�-H�
I�
I�
I�	5�	5��O�z�z�z�l�U�2�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5s
�9�=�=�cl)rlrrr+c���ttd���5tjgd�ddgddg��}|�|��ddd��dS#1swxYwYdS)Nzmust be between 0 and 1r�rUrr,r�)rHrIrKrr)r"rWr�s   r'�test_conf_level_invalidz$TestTukeyHSD.test_conf_level_invalidQs���
�:�-F�
G�
G�
G�	&�	&���
�
�
�Q��F�Q��F�;�;�A�
�!�!�"�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&s�2A�A�Ac���tj|jdd��}tj|jdd��}t	|j|jd��t	|j|jd��dS)Nr+rr@)rKr�data_diff_size�	ttest_indrrY)r"r#�	res_ttests   r'�test_2_args_ttestzTestTukeyHSD.test_2_args_ttestWsn���O�T�%8��!��%<�=�	��O�T�%8��!��%<�=�	��	�(�)�*:�4�*@�A�A�A��	�(�)�*:�4�*@�A�A�A�A�Ar)N)r]r^r_�data_same_sizer[�extreme_size�
sas_same_size�
sas_diff_size�sas_extremer<r=r>r)�
matlab_sm_siz�matlab_diff_szr,r<rGrKrMrPrRrVrYr^r`r)r'rrlsU������4�4�4�4�4�4�4�4�4�6�N�H�G�G�4�4�4�4�4�4�6�N�'�&�&����2�2�2�4�L�
�M��M��K��[���7�-�}�d�C�-�}�d�C�+�[�%�@� �"E�"E�"E��F�F�#G�#G�F�F�#G�J�M��N��[���7�-�}�e�D�-�~�t�D�F�"5�"7�"9��:�:�
B�B�:�:�
B�*'B�'B�'B�RE�E�E�41�1�1�&?�?�?�B�B�B�3�3�3��[���W�f�-�-�5�5�.�-�5��[���T�>�>�>�2�2�&�&�3�2�&�
B�B�B�B�Br)rc���eZdZej�dgd�gd�f��d���Zej�dgd�gd�gd�gd	�gd
�gd�gd�gd
�f��d���Zd�Zd�Z	d�Z
dS)�TestPoissonMeansTestzc1, n1, c2, n2, p_expect)rrQrrQg�e��a��?)r+rQr.rQg�	�c�?c�b�tj||||��}t|j|d���dS)Nrhr3�rK�poisson_means_testrrY)r"�c1�n1�c2�n2�p_expectrZs       r'�test_paper_examplesz(TestPoissonMeansTest.test_paper_examples`s7���&�r�2�r�2�6�6����
�H�4�8�8�8�8�8�8r)z c1, n1, c2, n2, p_expect, alt, d)rWr/rWr/g��{}���?r�r)r/r/r/r/goPF����?r�r)�2r�rrg��ae�?r�rf)rrQrWr�g�/V�-=�?r�r)rr�r,rWg"�)����?r�r)r,rWrrQg_�'Qm~�?r�r)r,rWrr/g|����?r�r)rrrqr�g�
0��ݷ?r�rc�j�tj||||||���}t|j|dd���dS)N)r��diffg����>g��ؗ�Ҝ<)r4r7ri)	r"rkrlrmrnro�alt�drZs	         r'�test_fortran_authorsz)TestPoissonMeansTest.test_fortran_authorsis@��$�&�r�2�r�2�3�Q�O�O�O����
�H�4�e�D�D�D�D�D�Dr)c�r�d\}}d\}}tj||||��}t|jd��dS)N)r{r{rri�r"�count1�count2�nobs1�nobs2rZs      r'�test_different_resultsz+TestPoissonMeansTest.test_different_results~sD��&����#���u��&�v�u�f�e�D�D����
�A�&�&�&�&�&r)c�r�d\}}d\}}tj||||��}t|jd��dS)NrIr�rrirxs      r'�test_less_than_zero_lambda_hat2z4TestPoissonMeansTest.test_less_than_zero_lambda_hat2�sD���������u��&�v�u�f�e�D�D����
�A�&�&�&�&�&r)c��d\}}d\}}d}tt|���5tjd|||��ddd��n#1swxYwYtt|���5tj||d|��ddd��n#1swxYwYd}tt|���5tjd|||��ddd��n#1swxYwYtt|���5tj||d|��ddd��n#1swxYwYd}tt|���5tj|d||��ddd��n#1swxYwYtt|���5tj|||d��ddd��n#1swxYwYd	}tt|���5tj||||d�
��ddd��n#1swxYwYd}tt|���5tjdd
dd
d���ddd��dS#1swxYwYdS)NrIr�z`k1` and `k2` must be integers.r�r�z1`k1` and `k2` must be greater than or equal to 0.rRz%`n1` and `n2` must be greater than 0.z(diff must be greater than or equal to 0.)rszAlternative must be one of ...rr+�errorr�)rH�	TypeErrorrKrjrI)r"ryrzr{r|r�s      r'r�z*TestPoissonMeansTest.test_input_validation�s����������u�4��
�9�G�
4�
4�
4�	?�	?��$�R����>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�
�9�G�
4�
4�
4�	?�	?��$�V�U�B��>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�F��
�:�W�
5�
5�
5�	?�	?��$�R����>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�
�:�W�
5�
5�
5�	?�	?��$�V�U�B��>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�:��
�:�W�
5�
5�
5�	@�	@��$�V�R���?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�
�:�W�
5�
5�
5�	@�	@��$�V�U�F�B�?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�=��
�:�W�
5�
5�
5�	L�	L��$�V�U�F�E��K�K�K�K�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L����	L�	L�	L�	L�3��
�:�W�
5�
5�
5�	F�	F��$�Q��1�a�W�E�E�E�E�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F�	F�	Fs��A�A�A�(B�B�B�/C�C�C�4D�D�D�;E�E#�&E#�F$�$F(�+F(�G-�-G1�4G1�H7�7H;�>H;N)r]r^r_r<r=r>rprvr}rr�r`r)r'rgrg_s�������[���7� � � � � � �:���
9�9���
9��[���?�
	=�<�<�<�<�<�=�=�=�>�>�>�9�9�9�;�;�;�	6�5�5�6�6�6�B���"E�E�#��"E�'�'�'�'�'�'�!F�!F�!F�!F�!Fr)rg),�	itertoolsr�numpyrrXr<�
numpy.testingrrrrrrH�scipy.statsrKr	�scipy.stats._hypotestsr
rrr
rrr�scipy.stats._mannwhitneyurr�common_testsr�scipy._lib._testutilsrrrbr�rEr=�xslowrNrPr�r�r�rrgr`r)r'�<module>r�so����������������
�
�
�
�0�0�0�0�0�0�0�0�0�0�0�0�*�*�*�*�*�*�������%�%�%�%�%�%�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�?�>�>�>�>�>�>�>�-�-�-�-�-�-�2�2�2�2�2�2�7-�7-�7-�7-�7-�7-�7-�7-�tYK�YK�YK�YK�YK�YK�YK�YK�xA%�A%�A%�A%�A%�A%�A%�A%�H%�%�%�%�%�!1�%�%�%����/�/���/�2R@�R@�R@�R@�R@�"�R@�R@�R@�j
P
�P
�P
�P
�P
�P
�P
�P
�fV1�V1�V1�V1�V1�V1�V1�V1�rW>�W>�W>�W>�W>�W>�W>�W>�tpB�pB�pB�pB�pB�pB�pB�pB�fQF�QF�QF�QF�QF�QF�QF�QF�QF�QFr)

Youez - 2016 - github.com/yon3zu
LinuXploit