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

d�c)���dZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZddlZddlmZddlZddlmcmZddlmZmZmZmZm Z ddlZ!ddl"m#Z#ddl$m#cm%Z%ddl&m#cm'Z(ddl)m*Z*dd	l+m,Z,dd
l-m.Z.ddl/m0Z0dd
l1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8ddl9m:Z:	egd�e;��Z<egd�e;��Z=egd�e;��Z>egd�e;��Z?egd�e;��Z@egd�e;��ZAegd�e;��ZBGd�d��ZCGd�d��ZDGd�d��ZEGd�d ��ZFGd!�d"��ZGd#�ZHd$�ZId%�ZJd&�ZKGd'�d(��ZLd)�ZMd*�ZNd+�ZOd,�ZPGd-�d.��ZQGd/�d0��ZRd1�ZSd2�ZTd3�ZUGd4�d5��ZVejW�Xd6��Gd7�d8����ZYd9�ZZGd:�d;��Z[Gd<�d=��Z\Gd>�d?��Z]d@�Z^GdA�dB��Z_GdC�dD��Z`GdE�dF��ZaGdG�dH��ZbedIgdJ���ZcecgdK�ddddLdMdLe!jddN��zdOe!jddP��zzzdMdQe!jddR��zdQe!jddS��zzzdT�J��ecgdK�gdU�dddVdMdLe!jddR��zdQe!jddN��zzdQe!jddW��zzzdMdMe!jddN��zdXe!jddR��zzdMe!jddY��zzzdZ�J��ecgdK�dQdddLdMdLe!jddN��zdOe!jddP��zzzdMdQe!jddR��zdQe!jddS��zzzdT�J��ecgd[�gd[�dddddd�J��gZeecgddddddd�J��ece!jgggg��jfdddgd\�gd\�gd\�gd\��J��ece!jgggg��dddgggg�J��gZgGd]�d^��Zhd_�ZiejW�jd`dae!jkfdbe!jlfg��dc���Zmdd�Znde�Zodf�ZpGdg�dh��ZqGdi�dj��ZrGdk�dl��Zsdm�Ztdn�Zudo�ZvejW�jdpe!jwdq��drfe!jwds��dtfg��du���Zxdv�ZyejW�jdwgdx���dy���ZzejW�jdze#j{e!jd{��dffe#j|e!jd{��e!jd{��ffg��d|���Z}d�d}�Z~d~�ZGd�d���Z�Gd��d���Z�Gd��d���Z�d��Z�d��Z�d��Z�d��Z�ejW�jdpe!jwdq��drfe!jwds��dtfg��d����Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�Gd��d���Z�d��Z�Gd��d���Z�Gd��d���Z�d��Z�d��Z�Gd��d���Z�d��Z�d��Z�		d�d��Z�		d�d��Z�		d�d��Z�Gd��d���Z�Gd��d���Z�Gd��d���Z�Gd��d���Z�ejW�jdwgd����d����Z�d��Z�d��Z�d��Z�Gd��d���Z�Gd��d���Z�Gd��d���Z�Gd��d���Z�Gd��d���Z�Gd��d���Z�Gd��d���Z�Gd��d���Z�Gd��d���Z�Gd��d���Z�Gd„dæ�Z�GdĄdŦ�Z�GdƄdǦ�Z�GdȄdɦ�Z�e!j���dʦ�Z�e���d{��Z�e���d{��Z�ejW�jd�e#j�e�ffe#j�e�e#j�j�ffe#j�e�e�ffe#j�e�e�ffg��d̄��Z�Gd̈́dΦ�Z�dS)�z� Test functions for stats module

    WRITTEN BY LOUIS LUANGKESORN <lluang@yahoo.com> FOR THE STATS MODULE
    BASED ON WILKINSON'S STATISTICS QUIZ
    https://www.stanford.edu/~clint/bench/wilk.txt

    Additional tests by a host of SciPy developers.
�N)�
namedtuple)�product)
�assert_�assert_equal�assert_almost_equal�assert_array_almost_equal�assert_array_equal�assert_approx_equal�assert_allclose�assert_warns�suppress_warnings�assert_array_less)�raises)�array�arange�float32�float64�power)�kolmogn)�FuncData)�binom)�optimize�)�check_named_results)�cdist)�NumpyVersion)�_broadcast_concatenate)�_permutation_distribution_t)	r��������	)	rrrrrrrrr)	i��i��i��i��i��i��i��i��i��)	g�~����?g<����?g�Ek���?g������?ge
(��?gq���?g�����?g�8C����?gG������?)	g��mBg��}Bg�y�ӅBg���Bg@�0�Bg�y�ӕBg�
Bw�Bg���Bg ��^�B)	��-���q=g�-����=g��Afc�=g�-����=g�dy���=g��Afc�=g�Y�Lɞ=g�-����=gS�S��ʣ=)	��?��?�@�@�@�@�@�@�!@c�f�eZdZejej��jZd�Zd�Z	d�Z
d�Zd�Zd�Z
dS)�TestTrimmedStatsc
���tjtdd��}t|d|j���tjtdd���}tjtd���}t|||j���tdt�	���d
d��}tj|d���}t||���|j���tj|d
���}t||�d
���d���tj|d���}t||�d���d���tj|dd���}t|d|j���tj|dd
���}gd�}t||d���tj|ddd
���}gd�}t||d���tj|��}tj|ddd�f<tj|dd
���}ddddtjtjtjg}t||d���t��5}|�td��tj|dd���}d d!d"d#tjtjtjtjtjg	}t||d���tj|dd$d���}dd!d"d#tjtjtjtjtjg	}t||d���ddd��dS#1swxYwYdS)%N�rr%�TT�@��significant)FF��limits�	inclusive�r:�?��dtyper&r$��axisrr%��decimalr)r�=)r:rAg�?@)r�)��'@r&�
���
�TF)r:r;rA)�%@rGr&rHrIrJrK������)rrKr,r-r.�Mean of empty slicer!rH�rE�FT)�stats�tmean�Xr
�dprecrr�reshape�meanr�npr�nanr
�record�RuntimeWarning)�self�y�y1�y2�x_2d�y_true�
x_2d_with_nan�sups        �>/usr/lib/python3/dist-packages/scipy/stats/tests/test_stats.py�
test_tmeanzTestTrimmedStats.test_tmeanFsV���K��6�<�0�0���A�s��
�;�;�;�;�
�[��6�^�
D�
D�
D��
�[��4�
(�
(�
(���B���
�;�;�;�;��b��(�(�(�0�0��A�6�6���K��4�(�(�(���A�t�y�y�{�{��
�C�C�C�C��K��1�%�%�%��!�!�T�Y�Y�A�Y�%6�%6��B�B�B�B��K��1�%�%�%��!�!�T�Y�Y�A�Y�%6�%6��B�B�B�B��K��W�4�8�8�8���A�t���<�<�<�<��K��W�1�5�5�5��.�.�.��!�!�V�Q�7�7�7�7��K��W�
�A�N�N�N��0�0�0��!�!�V�Q�7�7�7�7������
�!#��
�b�"�#�#�g���K�
�g�A�>�>�>���S�#�s�B�F�B�F�B�F�;��!�!�V�Q�7�7�7�7�
�
 �
 �
	<�C��J�J�~�'<�=�=�=���D��q�9�9�9�A���R��R�V�R�V�R�V�R�V�R�V�L�F�%�a���;�;�;�;���D��&3�!�=�=�=�A��2�r�2�r�v�r�v�r�v�r�v�r�v�N�F�%�a���;�;�;�;�
	<�
	<�
	<�
	<�
	<�
	<�
	<�
	<�
	<�
	<�
	<�
	<����
	<�
	<�
	<�
	<�
	<�
	<s�0C)M&�&M*�-M*c���tjtdd���}t|d|j���tjtd���}t|t�d���|j���t
d	t�
���d��}tj|d���}t||�d���|j���tj|d
���}t|d
tjdd��d���tj|d���}t|d
tjdd��d���tj|ddd�f��}t|d|j���t��5}|�
td��tj|ddd���}t|d
d|j���tj|ddd���}t|d
d|j���t|dtj��ddd��dS#1swxYwYdS)Nr4r5r9g������@r7r<r��ddofr=r>)r&r$r@r)rr$g�v@r%rB)rr&g��㪪�@r g������@z"Degrees of freedom <= 0 for slice.)rr")r:rAr;r*�rr#)rS�tvarrUr
rV�varrrrWrrY�fullr
r[r\rrZ)r]r^rards    re�	test_tvarzTestTrimmedStats.test_tvarush���J�q��<�@�@�@���A�1�t�z�J�J�J�J��J�q��&�&�&���A�q�u�u�!�u�}�}�$�*�E�E�E�E��b��(�(�(�0�0��8�8���J�t�$�'�'�'���A�t�x�x�Q�x�/�/�T�Z�H�H�H�H��J�t�!�$�$�$��!�!�A�$�����(E�(E�q�Q�Q�Q�Q��J�t�!�$�$�$��!�!�A�$����
�(C�(C�Q�O�O�O�O��J�t�A�q�q�q�D�z�"�"���A�0�d�j�I�I�I�I�
�
 �
 �
	'�C��J�J�~�'K�L�L�L��
�4��Q�,�O�O�O�A���!��c�t�z�B�B�B�B��
�4��Q�,�O�O�O�A���!��&7�T�Z�P�P�P�P���1��r�v�&�&�&�
	'�
	'�
	'�
	'�
	'�
	'�
	'�
	'�
	'�
	'�
	'�
	'����
	'�
	'�
	'�
	'�
	'�
	's�.B&I!�!I%�(I%c��tjtdd��}t|d|j���tjtd���}t|t�d���|j���dS)Nr4r5gBĆ/H@r7r<rrh)rS�tstdrUr
rV�std�r]r^s  re�	test_tstdzTestTrimmedStats.test_tstd�sj���J�q�&�,�/�/���A�1�t�z�J�J�J�J��J�q��&�&�&���A�q�u�u�!�u�}�}�$�*�E�E�E�E�E�E�c���ttjd��d��tjd��}ttj|��d��ttj|d���d��ttj|dd���d��|�d��}ttj|dd���d	dg��ttj|d�
��gd���ttj|d�
��d��tjd��}tj|d
<t��5}|�td��ttj|��tj��ttj|d���d��tttj|d���tttj|d���d}tt|���5tj|d���ddd��n#1swxYwYddd��dS#1swxYwYdS)Nr!rHr)�
lowerlimitF)rvr;r�r"rrr@)rrr!r#r%�$@r&�invalid value*�omit��
nan_policy��raise�foobarz'propagate', 'raise', 'omit'��match�foo)rrS�tminrYrrWrZr
r[r\�
assert_raises�
ValueError)r]�xrd�msgs    re�	test_tminzTestTrimmedStats.test_tmin�s~���U�Z��]�]�A�&�&�&��I�b�M�M���U�Z��]�]�A�&�&�&��U�Z��a�0�0�0�!�4�4�4��U�Z��a�5�A�A�A�1�E�E�E�
�I�I�f�����U�Z��a�5�A�A�A�A�q�6�J�J�J��U�Z���*�*�*�O�O�O�<�<�<��U�Z���-�-�-�q�1�1�1��I�c�N�N���v��!��
�
 �
 �	0�C��J�J�~�'7�8�8�8����A�����/�/�/����A�&�9�9�9�2�>�>�>��*�e�j�!��H�H�H�H��*�e�j�!��I�I�I�I�0�C��z��5�5�5�
0�
0��
�1��/�/�/�/�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0����
0�
0�
0�
0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0s7�CI�!I�8I�I	�I�I	�I�I �#I c�F�ttjd��d��tjd��}ttj|��d��ttj|d���d��ttj|dd���d��|�d��}ttj|dd���dd	g��ttj|d
���gd���ttj|d���d��tjd
��}tj|d<t��5}|�td��ttj|��tj��ttj|d���d��tttj|d���tttj|d���ddd��dS#1swxYwYdS)Nr!rHr&)�
upperlimitF)r�r;r%rwr$rr@�rr r"r$r&rxr#ryrzr{�"@r~r)rrS�tmaxrYrrWrZr
r[r\r�r�)r]r�rds   re�	test_tmaxzTestTrimmedStats.test_tmax�s���U�Z��]�]�A�&�&�&��I�b�M�M���U�Z��]�]�A�&�&�&��U�Z��a�0�0�0�!�4�4�4��U�Z��a�5�A�A�A�1�E�E�E�
�I�I�f�����U�Z��a�5�A�A�A�A�q�6�J�J�J��U�Z���*�*�*�O�O�O�<�<�<��U�Z���-�-�-�q�1�1�1��I�c�N�N���v��!��
�
 �
 �	J�C��J�J�~�'7�8�8�8����A�����/�/�/����A�&�9�9�9�2�>�>�>��*�e�j�!��H�H�H�H��*�e�j�!��I�I�I�I�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J����	J�	J�	J�	J�	J�	Js�B0H�H�Hc��tjtdd���}tjgd���}t||�d���tj|j��z|j	���ttjtdd	g�
��tjtd�
��|j	���dS)N)r r%rRr9)r!r"r#r$r%rrhr7rNrHr<)
rS�tsemrUrYrr
rq�sqrt�sizerV)r]r^�y_refs   re�	test_tsemzTestTrimmedStats.test_tsem�s����J�q��=�A�A�A�������)�)���A�u�y�y�a�y�0�0�2�7�5�:�3F�3F�F�(,�
�	4�	4�	4�	4�	�E�J�q�"�b��:�:�:�!�J�q��6�6�6�(,�
�	4�	4�	4�	4�	4�	4rtN)�__name__�
__module__�__qualname__rY�finfor�	precisionrVrfrnrsr�r�r��rtrer2r2Bs��������B�H�R�Z� � �*�E�-<�-<�-<�^'�'�'�@F�F�F�0�0�0�2J�J�J�,4�4�4�4�4rtr2c�<�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#e$j%�&d"gd#���d$���Z'd%�Z(d&�Z)d'�Z*d(�Z+d)�Z,d*S)+�TestCorrPearsonr�E W.II.D. Compute a correlation matrix on all the variables.

        All the correlations, except for ZERO and MISS, should be exactly 1.
        ZERO and MISS should have undefined or missing correlations with the
        other variables.  The same should go for SPEARMAN correlations, if
        your program has them.
    c�t�tjtt��}|d}t|d��dS�Nr��?)rS�pearsonrrUr
�r]r^�rs   re�test_pXXzTestCorrPearsonr.test_pXX�s2���N�1�Q����
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�rU�BIGr
r�s   re�
test_pXBIGzTestCorrPearsonr.test_pXBIG�s2���N�1�S�!�!��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�rU�LITTLEr
r�s   re�
test_pXLITTLEzTestCorrPearsonr.test_pXLITTLE�s2���N�1�V�$�$��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�rU�HUGEr
r�s   re�test_pXHUGEzTestCorrPearsonr.test_pXHUGE��2���N�1�T�"�"��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�rU�TINYr
r�s   re�test_pXTINYzTestCorrPearsonr.test_pXTINY�r�rtc�t�tjtt��}|d}t	|d��dSr�)rSr�rU�ROUNDr
r�s   re�test_pXROUNDzTestCorrPearsonr.test_pXROUND�s2���N�1�U�#�#��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t|d��dSr�)rSr�r�r
r�s   re�test_pBIGBIGzTestCorrPearsonr.test_pBIGBIG�s2���N�3�s�#�#��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_pBIGLITTLEz TestCorrPearsonr.test_pBIGLITTLEs2���N�3�v�&�&��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�
test_pBIGHUGEzTestCorrPearsonr.test_pBIGHUGE�2���N�3�t�$�$��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�
test_pBIGTINYzTestCorrPearsonr.test_pBIGTINYr�rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_pBIGROUNDzTestCorrPearsonr.test_pBIGROUNDs2���N�3�u�%�%��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t|d��dSr�)rSr�r�r
r�s   re�test_pLITTLELITTLEz#TestCorrPearsonr.test_pLITTLELITTLEs2���N�6�&�)�)��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_pLITTLEHUGEz!TestCorrPearsonr.test_pLITTLEHUGE�2���N�6�$�'�'��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_pLITTLETINYz!TestCorrPearsonr.test_pLITTLETINY r�rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_pLITTLEROUNDz"TestCorrPearsonr.test_pLITTLEROUND%s2���N�6�%�(�(��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t|d��dSr�)rSr�r�r
r�s   re�test_pHUGEHUGEzTestCorrPearsonr.test_pHUGEHUGE*�2���N�4��%�%��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_pHUGETINYzTestCorrPearsonr.test_pHUGETINY/r�rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_pHUGEROUNDz TestCorrPearsonr.test_pHUGEROUND4�2���N�4��&�&��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t|d��dSr�)rSr�r�r
r�s   re�test_pTINYTINYzTestCorrPearsonr.test_pTINYTINY9r�rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_pTINYROUNDz TestCorrPearsonr.test_pTINYROUND>r�rtc�t�tjtt��}|d}t|d��dSr�)rSr�r�r
r�s   re�test_pROUNDROUNDz!TestCorrPearsonr.test_pROUNDROUNDCs2���N�5��'�'��
�a�D���A�c�"�"�"�"�"rtc��tjtt��}d}t||��t	|j|j��dS�N��correlation�pvalue)rSr�rUrrr��	statistic�r]�res�
attributess   re�test_pearsonr_result_attributesz0TestCorrPearsonr.test_pearsonr_result_attributesHsB���n�Q��"�"��.�
��C��,�,�,��S�_�c�m�4�4�4�4�4rtc
���td��}tj||��\}}t|dd���t|dt	jdt	jd��z�����dS)N�@r��V瞯�<��atolr}r�rrSr�rrYr��spacing�r]�ar��probs    re�test_r_almost_exactly_pos1z+TestCorrPearsonr.test_r_almost_exactly_pos1Nsk���3�K�K���.��A�&�&���4���3�U�+�+�+�+�	��c����"�*�S�/�/�0A�(B�(B�C�C�C�C�C�Crtc
���td��}tj||��\}}t|dd���t|dt	jdt	jd��z�����dS)Nr���r�r�r}rr�r�r�s    re�test_r_almost_exactly_neg1z+TestCorrPearsonr.test_r_almost_exactly_neg1Wsm���3�K�K���.��Q�B�'�'���4���4�e�,�,�,�,�	��c����"�*�S�/�/�0A�(B�(B�C�C�C�C�C�Crtc���tgd���}tgd���}tj||��\}}t|t	jd��dz��t|d��dS)N�rNrr)rrr r r�UUUUUU�?)rrSr�r
rYr�)r]r��br�r�s     re�
test_basiczTestCorrPearsonr.test_basic`sm��
�*�*�*�����)�)�)�����.��A�&�&���4��A�r�w�q�z�z�!�|�,�,�,��D�#�&�&�&�&�&rtc��d}ttj|���5tjgd�gd���\}}t	|t
j��t	|t
j��ddd��dS#1swxYwYdS)N�An input array is constantr�����MbX�?r�r��g�rh��|�?g�v��/�?gsh��|?�?)rrS�ConstantInputWarningr�rrYrZ)r]r�r��ps    re�test_constant_inputz$TestCorrPearsonr.test_constant_inputis���+��
�%�4�C�
@�
@�
@�	$�	$��>�"7�"7�"7�9N�9N�9N�O�O�D�A�q���B�F�#�#�#���B�F�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s�AA<�<B�Bc��dddtjd��zg}ddddtjd��zzg}d}ttj|���5tj||��\}}ddd��dS#1swxYwYdS)Nrr r#z/An input array is nearly constant; the computedr�)rYr�rrS�NearConstantInputWarningr�)r]r�r^r�r�r�s      re�test_near_constant_inputz)TestCorrPearsonr.test_near_constant_inputrs���
��1�r�z�!�}�}�$�%��
��1�q���A����&�'��?��
�%�8��
D�
D�
D�	(�	(��>�!�Q�'�'�D�A�q�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	(�	(s�A;�;A?�A?c��gd�}gd�}tj||��\}}t|d��t|d��dS)N)g��y�)r?gx�d�{s?g�np?g$���9"o?ge �=:�k?)g���oȟ�g`�
,��g�z����g�2�l?�g>?��?'
ge�;�E�?g3R����?)rSr�r�r]r�r^r�r�s     re�test_very_small_input_valuesz-TestCorrPearsonr.test_very_small_input_values|sZ��
L�K�K��C�C�C���~�a��"�"���1�	��-�.�.�.���-�.�.�.�.�.rtc���dtjgd���z}dtjd��z}tj||��\}}t|d��t|d��dS)Ng�Y)	k�R)rrrrrrrr$g�LX�z��?g͗�~-�?)rYrrrSr�rrs     re�test_very_large_input_valuesz-TestCorrPearsonr.test_very_large_input_values�sp��
���/�/�/�0�0�0�����1������~�a��#�#���1�	��-�.�.�.���/�0�0�0�0�0rtc���tjgd���}tjgd���}tj||��\}}t	|d��t	|d��dS)N)g�7��	�ig�N��ig_b�4���igZb���i)g��
Dig<'�(½�igm��Q��i�Zb���tig�*D��{�?g��ݣ��?)rYrrSr�rrs     re�!test_extremely_large_input_valuesz2TestCorrPearsonr.test_extremely_large_input_values�so��
�H�7�7�7�8�8���H�9�9�9�:�:���~�a��#�#���1�	��,�-�-�-���,�-�-�-�-�-rtc���tjddgddg��}|\}}t|d��t|d��t|���d��dS)Nrrr r"�rNr)rSr�r�confidence_interval)r]r�r�r�s    re�test_length_two_pos1z%TestCorrPearsonr.test_length_two_pos1�sh���n�a��V�a��V�,�,�����1��Q������Q������S�,�,�.�.��8�8�8�8�8rtc�~�tjddgddg��\}}t|d��t|d��dS)Nrrr r"rN)rSr�r)r]r�r�s   re�test_length_two_neg2z%TestCorrPearsonr.test_length_two_neg2�sG���~�q�!�f�q�!�f�-�-���1��Q������Q������rtz$alternative, pval, rlow, rhigh, sign))�	two-sided������?g�m��g��Ǝ���?r)�less�K�˅��?rNg�?�
��?r)�greater��.�����?g�դ�ζ�rr)r
rg�fǎ���g��l��?rN)rrr�g�դ�ζ�?rN)rrg�?�
��r�rNc� �gd�}tjgd���|z}tj|||���}t	|jd|zd���t	|j|d���|���}	t	|	||fd���dS)N�rrr r!)rrr(r��alternativeg����?r'��rtol���ư>)rYrrSr�rr�r�r	)
r]r�pval�rlow�rhigh�signr�r^�result�cis
          re�test_basic_examplez#TestCorrPearsonr.test_basic_example�s���
�L�L���H�^�^�^�$�$�t�+�����1�+�>�>�>����(�*<�T�*A��N�N�N�N���
�t�$�7�7�7�7�
�
'�
'�
)�
)����T�5�M��5�5�5�5�5�5rtc���tjd��}|}tj||d���}tj||d���}t	|jd��t	|jdd���dS)	NrHrrrrrg#B����;r�)rYrrSr�rr�)r]r�r^�test_greater�	test_lesss     re�(test_negative_correlation_pvalue_gh17795z9TestCorrPearsonr.test_negative_correlation_pvalue_gh17795�ss���I�b�M�M��
�B���~�a��	�B�B�B���N�1�a�V�<�<�<�	���+�Q�/�/�/��	�(�!�%�8�8�8�8�8�8rtc���gd�}gd�}tj||��}|\}}t|d��t|dd���t|���d��dS)N�rrr )r"���i�r�r}�H�����z>r�r)rSr�rrr	)r]r�r^r�r�r�s      re�#test_length3_r_exactly_negative_onez4TestCorrPearsonr.test_length3_r_exactly_negative_one�sw���I�I���L�L���n�Q��"�"�����1���4� � � ���3�T�*�*�*�*��S�,�,�.�.��8�8�8�8�8rtc�X�gd�}ddg}tttj||��dS)Nr&r!r"�r�r�rSr��r]r�r^s   re�test_unequal_lengthsz%TestCorrPearsonr.test_unequal_lengths�s0���I�I��
��F���j�%�.�!�Q�7�7�7�7�7rtc�T�dg}dg}tttj||��dS�Nrrr+r,s   re�	test_len1zTestCorrPearsonr.test_len1�s,��
�C��
�C���j�%�.�!�Q�7�7�7�7�7rtc��gd�}gd�}d}tjt|���5tj||��ddd��dS#1swxYwYdS)N)y��y��y��z+This function does not support complex datar�)�pytestrr�rSr�)r]r�r^�messages    re�test_complex_dataz"TestCorrPearsonr.test_complex_data�s�����������?��
�]�:�W�
5�
5�
5�	!�	!��N�1�a� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s�A	�	A
�A
N)-r�r�r��__doc__r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr
rr2�mark�parametrizer r$r)r-r0r4r�rtrer�r��s���������#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
5�5�5�D�D�D�D�D�D�'�'�'�$�$�$�(�(�(�/�/�/�1�1�1�.�.�.�9�9�9�����[���C�
H�
H�
H�I�I�6�6�I�I�6�9�9�9�
9�
9�
9�8�8�8�
8�8�8�
!�!�!�!�!rtr�c��eZdZdZej�ej��dkd���d���Z	d�Z
d�Zd�Zejj
d	���Zd
�Zd�Zd�Zd
�Zej�dgd���d���ZdS)�TestFisherExacta�Some tests to show that fisher_exact() works correctly.

    Note that in SciPy 0.9.0 this was not working well for large numbers due to
    inaccuracy of the hypergeom distribution (see #1218). Fixed now.

    Also note that R and SciPy have different argument formats for their
    hypergeometric distribution functions.

    R:
    > phyper(18999, 99000, 110000, 39000, lower.tail = FALSE)
    [1] 1.701815e-09
    �ppcztest known to fail on powerpc��reasonc���tj}|ddgddgg��d}t|dd���|d	d
gddgg��d}t|d
d���|d
dgdd
gg��d}t|dd���|ddgddgg��d}t|dd���|ddgddgg��d}t|dd���|ddgddgg��d}t|dd���|ddgddgg��d}t|dd���|ddgddgg��d}t|dd���|ddgdd
gg��d}t|d��|dd
gddgg��d}t|d��|d
dgdd
gg��}t|ddd���t|dd��dS) N�8� N�0u�@�rg؞Y���?r!r7�dr��r"g,Ԛ���?r$r%g�2c��?r#rHg�Y
�A�?��g_����?��gO�^�M�?rg��օa�?r r�g��g�E�?g�$I�$I�?)rS�fisher_exactr
)r]rHr�s   rer�zTestFisherExact.test_basic�sk���)���l�U�E�N�U�E�N�;�<�<�Q�?���C��a�8�8�8�8��l�S�!�H�t�Q�i�0�1�1�!�4���C��Q�7�7�7�7��l�Q��F�Q��F�+�,�,�Q�/���C���:�:�:�:��l�Q��F�R��H�-�.�.�q�1���C���:�:�:�:��l�Q��G�b�"�X�.�/�/��2���C���:�:�:�:��l�Q��G�b�"�X�.�/�/��2���C���:�:�:�:��l�R��G�b�!�W�-�.�.�q�1���C���:�:�:�:��l�Q��F�Q��F�+�,�,�Q�/���C���;�;�;�;��l�Q��F�Q��F�+�,�,�Q�/���C��%�%�%��l�Q��F�Q��F�+�,�,�Q�/���C��.�.�.��l�Q��F�Q��F�+�,�,���C��F�I�1�=�=�=�=��C��F�H�-�-�-�-�-rtc
��ddgddggdfddgddggdfdd	gd
d
ggdfddgd
d
ggdfddgd
dggdfd
dgd
d	ggdfd
dgd
dggdfddgd	dggtjdffddgd	dggdfdd	gddggtjdffdd	gddggdfg}|D]Z\}}tjtj|����}tj�|d	|d	dd����[dS)NrBrrCr")gAn�&	�?g�}K
T��?r$r%)g��	7��?g�����?rrH)g!��@�j�)�A�?rDrE)gU��!a��?g�KY���?rFrG)g7��X�?g~l�tP�?)gFu|�?rJr)r}gQ��N^�?r!g�a�a�?�r}r�g�a�a�?r rIT)rC�verbose)rY�infrSrH�asarray�testingr)r]�tablist�table�res_rr�s     re�test_precisezTestFisherExact.test_precisesy���A�h��q�	�
"�$T�U��!�f�q�!�f�
�O�P��!�f�r�2�h�
�!Q�R��"�g��B�x�
 �"R�S��"�g��B�x�
 �"R�S��1�g��A�w�
�!Q�R��1�g��A�w�
�!Q�R��!�f�q�!�f�
���(>�?�@��!�f�q�!�f�
�O�P��!�f�q�!�f�
���(>�?�@��!�f�q�!�f�
�O�P���$�	9�	9�L�E�5��$�R�Z��%6�%6�7�7�C��J�*�*�3�q�6�5��8�R�37�
+�
9�
9�
9�
9�	9�	9rtc�2�ddgddgg}tj|��}t|dd��ddgdd	gg}tj|��}t|dd
��ddgd
dgg}tj|��}t|dd��dS)Nr#�%�l��rg�m��t?�r�fg��,���:�^�0i�
i\Bg��N���Q8�rSrHr�r]r�r�s   re�test_gh4130zTestFisherExact.test_gh41303s�����W�s�C�j�!��� ��#�#����A�� 1�2�2�2��!�W�q�#�h���� ��#�#����A�� 5�6�6�6��"�X��e�}�%��� ��#�#����A�� 5�6�6�6�6�6rtc�n�ddgddgg}tj|��}t|ddd���dS)Nii�Xi�Vi��Wrrg��ѧ�R�r�r\r]s   re�test_gh9231zTestFisherExact.test_gh9231IsG���w�
�'�7�!3�4��� ��#�#����A����/�/�/�/�/�/rtc��gd�}t|gd���D]7\}}tjddgd|gg��d}t||d����8tjd	d
gddgg��d}t|d
d���dS)N)g��?��=gNuP�=g�s��=)�K�L�Mi(Ei�i)rr!r7iPFi�8r?i�_g^K�=��?)�ziprSrHr
)r]�pvalsr�numr�s     re�test_large_numbersz"TestFisherExact.test_large_numbersPs���1�0�0���U�L�L�L�1�1�	:�	:�I�D�#��$�u�c�l�T�3�K�%@�A�A�!�D�C���T�q�9�9�9�9�9�� �5�%�.�5�%�.�!A�B�B�1�E���C��Q�7�7�7�7�7�7rtc��tttjt	jd���dd����dS)Nr#rr )r�r�rSrHrYrrW�r]s re�test_raiseszTestFisherExact.test_raises[s@���j�%�"4��i��l�l�*�*�1�a�0�0�	2�	2�	2�	2�	2rtc���ddgddggddgddggddgddggddgddggf}|D]C}tj|��\}}t|d��t|tj���DdS)Nrr"rHr�)rSrHrrYrZ)r]�tablesrQ�	oddsratiors     re�test_row_or_col_zeroz$TestFisherExact.test_row_or_col_zero`s����q�6�A�r�7�#��r�7�Q��F�#��q�6�A�r�7�#��q�6�B��7�#�%���	,�	,�E�#�0��7�7�O�I�t���s�#�#�#���B�F�+�+�+�+�	,�	,rtc���ddgddggddgddggddgdd	ggd
dgddggd
dgdd
ggddgddggdd
gddggd
dgddggdd
gddggf	}ddgddgddgddgddgddgddgddgddgf	}t||��D]x\}}g}|�tj|d���d��|�tj|d ���d��t	||d
d!�"���ydS)#Nrr$r%rWi,�rEr#i��i i�rr rr!gI�[��?gq}�!��?r�g2��\��&g��Q�p�6g:O�_��?g���a��?皙�����?�ffffff�?��������?�333333�?�UUUUUU�?r�rrrr()r�r)re�appendrSrHr)r]rmrfrQrr�s      re�test_less_greaterz!TestFisherExact.test_less_greaterjs�����V�a��V���1�X��3�x� ��"�X��4�y�!��3�Z�#�s��$���V�a��V����V�a��V����V�a��V����V�a��V����V�a��V��
�� "�#5�6�
�)�*�
�(�)�
�	�"�
�#�J�
�#�J�
�#�J�
�3�K�
�$�K����v�u�-�-�	:�	:�K�E�4��C��J�J�u�)�%�V�D�D�D�Q�G�H�H�H��J�J�u�)�%�Y�G�G�G��J�K�K�K��C��A�D�9�9�9�9�9�		:�	:rtc�@�tjddgddgg��\}}dS)Nrrr&i�")rSrH)r]�oddsr�s   re�test_gh3014zTestFisherExact.test_gh3014�s)���)�A�q�6�A�x�=�*A�B�B���f�f�frtr�r
rrc��tjddgddgg��}tj||���}t	|j|jf|��dS)Nr>r?r@rAr)rYrrSrHrr�r�)r]rrQr�s    re�test_resultzTestFisherExact.test_result�sR����5�%�.�5�%�.�9�:�:��� ��K�@�@�@���c�m�S�Z�0�#�6�6�6�6�6rtN)r�r�r�r5r2r6�skipif�platform�machiner�rSr^r`�slowrhrkroryr|r7rr�rtrer9r9�s&���������[���(��(�*�*�E�1�:Y��Z�Z�.�.�[�Z�.�69�9�9�07�7�7�,0�0�0��[��8�8���8�2�2�2�
,�,�,� :� :� :�DC�C�C�
�[���]�,L�,L�,L�M�M�7�7�N�M�7�7�7rtr9c���eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$S)%�TestCorrSpearmanrr�c��tjdd��}ttj|�������dS)N�@�@)rS�	spearmanrrrY�isnan�allrrs  re�test_scalarzTestCorrSpearmanr.test_scalar�s9���O�B��#�#����������!�!�"�"�"�"�"rtc��tttjgd�ddg��tttjgd�d��dS)N�rrrr%r&)r�r�rSr�rjs re�test_uneven_lengthsz%TestCorrSpearmanr.test_uneven_lengths�s@���j�%�/�9�9�9�q�!�f�E�E�E��j�%�/�9�9�9�a�@�@�@�@�@rtc��tj�d��tj�dd��}tj�dd��}t	j||��jjdksJ�t	j|j|jd���j	jdksJ�tttj||d���tttj|j|j��dS)N鄋r!r r�r"r"rr@)rY�random�seed�randnrSr�r��shape�Tr�r�r�r,s   re�test_uneven_2d_shapesz'TestCorrSpearmanr.test_uneven_2d_shapes�s���
�	���v�����I�O�O�A�q�!�!���I�O�O�A�q�!�!����q�!�$�$�.�4��>�>�>�>���q�s�A�C�a�0�0�0�7�=��G�G�G�G��j�%�/�1�a�a�@�@�@�@��j�%�/�1�3���<�<�<�<�<rtc��tj�d��tj�ddd��}t	t
tj|��t	t
tj||��t	t
tj|dd��tt
j||d���t
j|�	��|�	��d�����dS)Nr�r!r rr@r)
rYr�r�r�r�r�rSr�r�flatten�r]r�s  re�test_ndim_too_highz$TestCorrSpearmanr.test_ndim_too_high�s���
�	���v�����I�O�O�A�q�!�$�$���j�%�/�1�5�5�5��j�%�/�1�a�8�8�8��j�%�/�1�d�D�A�A�A�����1�4�8�8�8����	�	���Q�Y�Y�[�[�q�I�I�I�	K�	K�	K�	K�	Krtc��tjd��}tj|d<tt	j||��tjtjf��tt	j||d���d��t
ttj||d���t
ttj||d���dS)Nrxr&rzr{)r�r}r~r)rYrrZr	rSr�r�r�r�s  re�test_nan_policyz!TestCorrSpearmanr.test_nan_policy�s����I�c�N�N���v��!���5�?�1�a�0�0�2�6�2�6�2B�C�C�C��5�?�1�a�F�C�C�C�%�	'�	'�	'��j�%�/�1�a�G�L�L�L�L��j�%�/�1�a�H�M�M�M�M�M�Mrtc�4�tj�d��tj�dd��}d}tj|dd�|f<tj||d���}t
j|d���\}}t
j|��\}}tjtj||d���|d���}tjtj||d���|d���}t||d	�
��t||d	�
��dS)Nr"rHr#rr@rzr{r�+����=r�)	rYr�r��randrZ�deleterSr�r)r]r��kr^�corx�px�cory�pys        re�test_nan_policy_bug_12458z+TestCorrSpearmanr.test_nan_policy_bug_12458�s��
�	���q�����I�N�N�1�b�!�!��
���&��!�!�!�Q�$���I�a���#�#�#���?�1��8�8�8���b��?�1�%�%���b��y���4���3�3�3�Q�Q�?�?�?��
�Y�r�y��Q�Q�/�/�/���
;�
;�
;����d��/�/�/�/���B�U�+�+�+�+�+�+rtc�X���tj�d��d�d}tj��|���tj�d<tj�d<tj�dd���\}}��fd�t���D��}t||��dS)	Nr"rH�rr)r rNr�	propagate�rAr|c�J���g|]���fd�t���D����S)c	�l��g|]0}tj�|dd�f��dd�f��j��1S�N)rSr�r�)�.0�i�jr�s  ��re�
<listcomp>zJTestCorrSpearmanr.test_nan_policy_bug_12411.<locals>.<listcomp>.<listcomp>�s@���N�N�N�����!�Q�Q�Q�$���1�a�a�a�4��1�1�;�N�N�Nrt��range)r�r��mr�s @��rer�z?TestCorrSpearmanr.test_nan_policy_bug_12411.<locals>.<listcomp>�sH����"�"�"��O�N�N�N�N�U�1�X�X�N�N�N�"�"�"rt)	rYr�r�r�rZrSr�r�r)r]�n�corrr�r�r�r�s     @@re�test_nan_policy_bug_12411z+TestCorrSpearmanr.test_nan_policy_bug_12411�s�����
�	���q����
�����I�O�O�A�q�!�!���&��$���6��%����q�q�[�I�I�I���f�"�"�"�"�"��a���"�"�"����c�"�"�"�"�"rtc�t�tjtt��}|d}t|d��dSr�)rSr�rUr
r�s   re�test_sXXzTestCorrSpearmanr.test_sXX�s2���O�A�a� � ��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�rUr�r
r�s   re�
test_sXBIGzTestCorrSpearmanr.test_sXBIG�s2���O�A�c�"�"��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�rUr�r
r�s   re�
test_sXLITTLEzTestCorrSpearmanr.test_sXLITTLE�s2���O�A�f�%�%��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�rUr�r
r�s   re�test_sXHUGEzTestCorrSpearmanr.test_sXHUGE��2���O�A�d�#�#��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�rUr�r
r�s   re�test_sXTINYzTestCorrSpearmanr.test_sXTINY�r�rtc�t�tjtt��}|d}t	|d��dSr�)rSr�rUr�r
r�s   re�test_sXROUNDzTestCorrSpearmanr.test_sXROUND�s2���O�A�e�$�$��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t|d��dSr�)rSr�r�r
r�s   re�test_sBIGBIGzTestCorrSpearmanr.test_sBIGBIG�s2���O�C��$�$��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_sBIGLITTLEz!TestCorrSpearmanr.test_sBIGLITTLEs2���O�C��'�'��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�
test_sBIGHUGEzTestCorrSpearmanr.test_sBIGHUGE�2���O�C��%�%��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�
test_sBIGTINYzTestCorrSpearmanr.test_sBIGTINY
r�rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_sBIGROUNDz TestCorrSpearmanr.test_sBIGROUNDs2���O�C��&�&��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t|d��dSr�)rSr�r�r
r�s   re�test_sLITTLELITTLEz$TestCorrSpearmanr.test_sLITTLELITTLEs2���O�F�6�*�*��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_sLITTLEHUGEz"TestCorrSpearmanr.test_sLITTLEHUGE�2���O�F�4�(�(��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_sLITTLETINYz"TestCorrSpearmanr.test_sLITTLETINY!r�rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_sLITTLEROUNDz#TestCorrSpearmanr.test_sLITTLEROUND&s2���O�F�5�)�)��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t|d��dSr�)rSr�r�r
r�s   re�test_sHUGEHUGEz TestCorrSpearmanr.test_sHUGEHUGE+�2���O�D��&�&��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_sHUGETINYz TestCorrSpearmanr.test_sHUGETINY0r�rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_sHUGEROUNDz!TestCorrSpearmanr.test_sHUGEROUND5�2���O�D��'�'��
�a�D���A�c�"�"�"�"�"rtc�t�tjtt��}|d}t|d��dSr�)rSr�r�r
r�s   re�test_sTINYTINYz TestCorrSpearmanr.test_sTINYTINY:r�rtc�t�tjtt��}|d}t	|d��dSr�)rSr�r�r�r
r�s   re�test_sTINYROUNDz!TestCorrSpearmanr.test_sTINYROUND?r�rtc�t�tjtt��}|d}t|d��dSr�)rSr�r�r
r�s   re�test_sROUNDROUNDz"TestCorrSpearmanr.test_sROUNDROUNDDs2���O�E�%�(�(��
�a�D���A�c�"�"�"�"�"rtc��tjtt��}d}t||��t	|j|j��dSr�)rSr�rUrrr�r�r�s   re� test_spearmanr_result_attributesz2TestCorrSpearmanr.test_spearmanr_result_attributesIsB���o�a��#�#��.�
��C��,�,�,��S�_�c�m�4�4�4�4�4rtc��gd�}gd�}tj||��}tjtj||g��j��}t||��dS)N�rrr r!r"r#)rrr r!r#r")rSr�rYrNr�r�r]�x1�x2�res1�res2s     re�
test_1d_vs_2dzTestCorrSpearmanr.test_1d_vs_2dOs_��
�
�
��
�
�
����r�2�&�&����r�z�2�r�(�3�3�5�6�6����d�#�#�#�#�#rtc��dD]|}dtjddddg}dddddtjg}tj|||���}tjtj||g��j|���}t
||���}dS)	N)r�rzrr r!r"r#rr{)rYrZrSr�rNr�r)r]r|r�r�r�r�s      re�test_1d_vs_2d_nansz$TestCorrSpearmanr.test_1d_vs_2d_nansVs���/�	(�	(�J��R�V�Q��1�a�(�B��Q��1�a���(�B��?�2�r�j�A�A�A�D��?�2�:�r�2�h�#7�#7�#9�j�Q�Q�Q�D��D�$�'�'�'�'�	(�	(rtc��tjd��}|}tjgd���}tj|||g��j}tj|��}tjgd�gd�gd�g��}tjdt���}d|d	d
d	�f<d|d
d	�d	f<t|j
|��t|j|��dS)Nr#)rrrr r"r!)rrN�3���+�?)rNr�3���+�)r�r�r�r r r>g+Hs]�s?rr)rYrrrNr�rSr��zeros�floatrr�r�)r]r�r��x3r��actual�
expected_corr�expected_pvalues        re�
test_3colszTestCorrSpearmanr.test_3cols_s���
�Y�q�\�\���S��
�X�(�(�(�
)�
)���J��B��|�$�$�&�����#�#����"5�"5�"5�"6�"6�"6�">�">�">�"@�A�A�
��(�6��7�7�7��"/���1�Q�3���"/���!��Q�����(�-�8�8�8���
��7�7�7�7�7rtc
�`�tjtjddddddgdtjddd	ddggd
�g��j}tjtjtjtjgtjtjtjgtjtjdgg��}t	tj|d�
��j|��tj|d�
��j}t	|dd|dd|ddfdd���dS)Nr�r�r6�ffffff@�@�ffffff"@�ffffff@g333333@皙����@)r(r��ffffff@�ffffff@� @r�ffffff@r�r�r{rzrrr)ga�cJ�C�?g%�ln��?g_0nYt!޿rr)rYrrZr�rrSr�r�)r]r�r�r�s    re�test_gh_9103zTestCorrSpearmanr.test_gh_9103os$���H�r�v�s�C��c�3��<��B�F�C��c�3��<�9�9�9�;�
<�
<�<=�	
��x�"�&�"�&�"�&�1��&�"�&�"�&�1��&�"�&�"�-�/�0�0��	����k�B�B�B�L��	�	�	��o�a�F�3�3�3�=����Q����C��F�1�I�s�1�v�a�y�9�:��	G�	G�	G�	G�	G�	Grtc�2�d}tj�d��tj�|��}tj�|��dk}|dk}tj|��}tj||d���j}tj||<tj||d���j}|�	tj
��}tj||d���j}gd�}	t|||g|	��dS)NrBiH�rtr(rzr{)g�onj��?�)Wn%��?r)rYr�r�r�rrSr�r�rZ�astype�int32r)
r]r�r�r�r�r�r�r��res3�expecteds
          re�test_gh_8111zTestCorrSpearmanr.test_gh_8111~s�����
�	���v�����I�N�N�1�����I�N�N�1����#����V���H�Q�K�K����q�!��7�7�7�A���v��!����q�!��7�7�7�A��
�H�H�R�X������q�!��7�7�7�A��:�:�:����t�T�*�H�5�5�5�5�5rtN)&r�r�r�r5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r
rr�rtrer�r��s(��������#�#�#�A�A�A�	=�	=�	=�K�K�K�N�N�N�,�,�,�
#�
#�
#�#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
#�#�#�
5�5�5�$�$�$�(�(�(�8�8�8� 
G�
G�
G�6�6�6�6�6rtr�c��eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zej�dd��d���ZdS)�TestCorrSpearmanr2z-Some further tests of the spearmanr function.c��gd�}gd�}d}tj||��}t|d|d��t|d|d��dS)N�rrr r!r"�r"r#r$r%r$�g�h�
�C�?g��R���?rr)rSr�r
�r]r�r�rr�s     re�test_spearmanr_vs_rz&TestCorrSpearmanr2.test_spearmanr_vs_r�sb���_�_��
�_�_��>���o�b�"�%�%���C��F�H�Q�K�0�0�0��C��F�H�Q�K�0�0�0�0�0rtc�x�ttjgg��tjtjf��dSr�)rrSr�rYrZrjs re�test_empty_arraysz$TestCorrSpearmanr2.test_empty_arrays�s-���U�_�R��,�,�r�v�r�v�.>�?�?�?�?�?rtc��tj�d��tjtj�ddd���tj�ddd���g��}ddgddgg}tjtj�|��|��}d}tj	|d|d��}t|d|d��t|d|d��dS)	N�zr����loc�scaler�r�rv)g�CzY�W�?ge��*�=r)rYr�r�r�normal�dot�linalg�choleskyrSr�r
)r]r�r�rr�s     re�test_normal_drawsz$TestCorrSpearmanr2.test_normal_draws�s���
�	���t�����H�b�i�&�&�1�A�C�&�@�@��I�$�$��!�#�$�>�>�@�
A�
A���c�
��c�
����F�2�9�%�%�d�+�+�Q�/�/��?���o�a��d�A�a�D�)�)���C��F�H�Q�K�0�0�0��C��F�H�Q�K�0�0�0�0�0rtc�`�ttjgd�gd���dd��dS)N�rrrrr�)r
rSr�rjs re�test_corr_1zTestCorrSpearmanr2.test_corr_1�s1���E�O�I�I�I�y�y�y�A�A�!�D�c�J�J�J�J�Jrtc��tjd��}tj|d<tt	j||��tjtjf��t
t	j||d���d��tttj||d���tttj||d���dS)Nrxr&rzr{)r�rr~r)	rYrrZr	rSr�rr�r�r�s  re�test_nan_policiesz$TestCorrSpearmanr2.test_nan_policies�s����I�c�N�N���v��!���5�?�1�a�0�0�2�6�2�6�2B�C�C�C�����1��@�@�@� �	"�	"�	"��j�%�/�1�a�G�L�L�L�L��j�%�/�1�a�H�M�M�M�M�M�Mrtc��tjd��}tjd��}tttj||��dS)Nrx�4@)rYrr�r�rSr�r,s   rer-z'TestCorrSpearmanr2.test_unequal_lengths�s8���I�c�N�N���I�c�N�N���j�%�/�1�a�8�8�8�8�8rtc���gd�}dddtjg}tj||d���}tj|dd�|dd�d���}t	||��dS)Nrr%r$r#rzr{r )rYrZrSr�rr�s     re�test_omit_paired_valuez)TestCorrSpearmanr2.test_omit_paired_value�sm��
�\�\����A�r�v�
����r�2�&�9�9�9����r�"�1�"�v�r�"�1�"�v�&�A�A�A���T�4� � � � � rtc��ttd����}ttd����}|d|dc|d<|d<|d|dc|d<|d<|d|dc|d<|d<|�tj��|�d��tt
j||d	�
��dd��dS)N��r&ri�rHi�i�r�rzr{gV-����?)�listr�rxrYrZrrSr�r,s   re�#test_gh_issue_6061_windows_overflowz6TestCorrSpearmanr2.test_gh_issue_6061_windows_overflow�s�����t��������t�������q�T�1�Q�4�
��!��a��d��#���"��
��"��q��v��D�'�1�S�6���#���$��	
��������	����
�
�
��E�O�A�q�V�D�D�D�Q�G��O�O�O�O�Ortc�R�d}ttj|���5tjgd�gd���\}}t	|t
j��t	|t
j��tjgd�gd���\}}t	|t
j��t	|t
j��tjgd�gd���\}}t	|t
j��t	|t
j��ddd��dS#1swxYwYdS)Nr�r��rrr�rrr)rrSr�r�rrYrZ)r]�warn_msgr�r�s    re�	test_tie0zTestCorrSpearmanr2.test_tie0�sD��/��
�%�4�H�
E�
E�
E�		$�		$��?�9�9�9�i�i�i�8�8�D�A�q���B�F�#�#�#���B�F�#�#�#��?�9�9�9�i�i�i�8�8�D�A�q���B�F�#�#�#���B�F�#�#�#��?�9�9�9�i�i�i�8�8�D�A�q���B�F�#�#�#���B�F�#�#�#�		$�		$�		$�		$�		$�		$�		$�		$�		$�		$�		$�		$����		$�		$�		$�		$�		$�		$s�C1D�D �#D c��gd�}gd�}gd�}gd�}tj||��}tj||��}t||��dS)N�r�r�r�r�)r�r�r�r�)r�r*r*r�)rSr�r�r)r]r�r^�xr�yr�sr�prs       re�	test_tie1zTestCorrSpearmanr2.test_tie1�sh�� � � �� � � ��
!�
!�
!��
!�
!�
!���_�Q��
"�
"��
�^�B��
#�
#���B��#�#�#�#�#rtc���gd�}gd�}ddddtjg}ddddtjg}tj||��}tj||d�	��}t	||��dS)
N)rrr*r)rr r*r!rrr*r r!rzr{)rYrZrSr�r)r]r�r_r�r`�sr1�sr2s       re�	test_tie2zTestCorrSpearmanr2.test_tie2�sy���^�^��
�^�^����C��B�F�
#����C��B�F�
#���o�b�"�%�%���o�b�"��8�8�8���C��%�%�%�%�%rtc���tjgd�gd�g��}tjgd�gd�g��}tjgd�gd�g��}d}ttj|���5tj|d���\}}t
|tj��t
|tj��tj|d���\}}t
|tj��t
|tj��tj|d���\}}t
|tj��t
|tj��ddd��dS#1swxYwYdS)N�rrrrrr�r�rr@�rYrrrSr�r�rrZ)r]�z1�z2�z3r7r�r�s       re�test_ties_axis_1z#TestCorrSpearmanr2.test_ties_axis_1s���
�X�|�|�|�\�\�\�2�
3�
3��
�X�|�|�|�\�\�\�2�
3�
3��
�X�|�|�|�\�\�\�2�
3�
3��/��
�%�4�H�
E�
E�
E�		$�		$��?�2�A�.�.�.�D�A�q���B�F�#�#�#���B�F�#�#�#��?�2�A�.�.�.�D�A�q���B�F�#�#�#���B�F�#�#�#��?�2�A�.�.�.�D�A�q���B�F�#�#�#���B�F�#�#�#�		$�		$�		$�		$�		$�		$�		$�		$�		$�		$�		$�		$����		$�		$�		$�		$�		$�		$s�,C(E!�!E%�(E%c�b�tjgd���}tjgd���}d}ttj|���5tj||��\}}t
|tj��t
|tj��ddd��dS#1swxYwYdS)N)
r�r�r�r�r�r�r�r�r�r��
rg�N�}	�?rrg	���/`?gY%uX-�H?gC1�t�q1?rrg��*�I?r�r�rF)r]r�r^r7r�r�s      re�
test_gh_11111z TestCorrSpearmanr2.test_gh_11111s����H�G�G�G�H�H���H�#�#�#�
$�
$��0��
�%�4�H�
E�
E�
E�	$�	$��?�1�a�(�(�D�A�q���B�F�#�#�#���B�F�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s�
A
B$�$B(�+B(c��tjgd���}tjgd���}tttj||d���dS)N)
r��@r�r�r�r�r�r�r�r�rLrr@)rYrr�r�rSr�r,s   re�test_index_errorz#TestCorrSpearmanr2.test_index_errors[���H�G�G�G�H�H���H�#�#�#�
$�
$��	�j�%�/�1�a�a�@�@�@�@�@�@rtc��gd�}gd�}d}tj||d���}t|d|d��t|dd|ddzz
��tj||d	���}t|d|d��t|d|ddz��tjt
d
���5tj||d���ddd��dS#1swxYwYdS)
Nrrrrrrrrr�alternative must be 'less'...r��	ekki-ekki)rSr�r
r2rr�rs     re�test_alternativez#TestCorrSpearmanr2.test_alternative"sK���_�_��
�_�_��?���o�b�"�&�9�9�9���C��F�H�Q�K�0�0�0��C��F�A��!��q��$9�:�:�:��o�b�"�)�<�<�<���C��F�H�Q�K�0�0�0��C��F�H�Q�K�!�O�4�4�4�
�]�:�-L�
M�
M�
M�	=�	=��O�B���<�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�	=�	=s�
C2�2C6�9C6rr}c�|�gd�}gd�}|tjgz}|tjgz}ttj||��tjtjf��tj||d|���}tj|||���}t||��d}t
jt|���5tj||d|���ddd��n#1swxYwYd	}t
jt|���5tj||d
|���ddd��dS#1swxYwYdS)Nrrrz�r|rr�The input contains nan valuesr�r~�nan_policy must be one of...rS)	rYrZr	rSr�rr2rr�)	r]rr�r��x1nan�x2nan�
res_actual�res_expectedr3s	         re�test_alternative_nan_policyz.TestCorrSpearmanr2.test_alternative_nan_policy9s����_�_��
�_�_���b�f�X�
���b�f�X�
��	�5�?�5�%�8�8�2�6�2�6�:J�K�K�K��_�U�E�f�1<�>�>�>�
���r�2�;�G�G�G���
�L�1�1�1�2��
�]�:�W�
5�
5�
5�	5�	5��O�E�5�W�(3�
5�
5�
5�
5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�
1��
�]�:�W�
5�
5�
5�	5�	5��O�E�5�[�(3�
5�
5�
5�
5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5s$�>C#�#C'�*C'�D1�1D5�8D5N)r�r�r�r5rrr&r)r+r-r/r3r8r?rCrJrMrPrTr2r6r7r]r�rtrerr�s:������7�7�1�1�1�@�@�@�
1�
1�
1�K�K�K�N�N�N�9�9�9�
!�!�!�P�P�P�$�$�$�$�$�$�&�&�&�$�$�$� 	$�	$�	$�A�A�A�=�=�=�.�[���]�,L�M�M�5�5�N�M�5�5�5rtrc�\�d}gd�}gd�}d}|D]O}tj||��}t|d|d��t|d|d���Pgd�}gd�}d}|D]O}tj||��}t|d|d��t|d|d���Pgd	�}gd
�}d}|D]O}tj||��}t|d|d��t|d|d���Pgd�}gd
�}d}|D]O}tj||��}t|d|d��t|d|d���Ptjd��}tjd��}d}|D]Q}tj|||���}t|d|d��t|d|d���R|d}|d|d<||d<d}|D]Q}tj|||���}t|d|d��t|d|d���R|d}|d|d<||d<d}|D]Q}tj|||���}t|d|d��t|d|d���Rtjd��}tjd��ddd�}d}|D]Q}tj|||���}t|d|d��t|d|d���R|d}|d|d<||d<d}|D]Q}tj|||���}t|d|d��t|d|d���R|d}|d|d<||d<d}|D]Q}tj|||���}t|d|d��t|d|d���Rtgd���}tgd���}d}ttj||d���d|��d}ttj||d ���d|��|d|d<t
ttj||d!�"��t
ttj||d#�"��t
ttj||d$���gd%�}gd&�}d'}tj||��}t|d|d��t|d|d��d(}	|D]C}tj|||���}t||	��t|j
|j���D|D]�}ttjgd)�gd)�|���tjtjf��ttjgd*�gd)�|���tjtjf��ttjgd)�gd*�|���tjtjf����ttjgg��tjtjf��tj
�d+��tjtj
�ddd,�-��tj
�ddd,�-��g��}d.d/gd/d.gg}
tjtj�|
��|��}d0}tj|d|d��}t|d|d��t|d|d��ttjgd1�gd1�d���dd.��ttjgd1�gd1�d ���dd2��tjd3��}tj|d4<t'tj||��tjtjf��t)tj||d5�6��d7d8�9��t)tj||d5d:�;��d<d8�9��t
ttj||d=�6��t
ttj||d>�6��tjd3��}tjd?��}t
ttj||��tjgg��\}}ttj|��ttj|��tjdgdg��\}}ttj|��ttj|��tjd@t*�A��}tj�|dB��}tjd@t*�A��}tj|dCd�|ddC�f��}t3tjtj||��d����dS)DN)r��c)r"rrr r#r!r$r%)r"rr#r rr%r$r!rKrr)	rr"rrr r#r!r$r%)	r"rrr#r rr%r$r!)r"rrr r#r!r$)r"rr#r rr$r!)g��J�$I¿gm��K��?)rrr r#r!r$r%)rr#r rr%r$r!)gJka�a�?r�rH)r�紞x�O~�>)�variantr)g?�>��?�a�V���>r"r#)g}�'}�'�?�o���&5�>rN)r�r`)g?�>��rb)g}�'}�'�rc)
rrrr!r!r#r#r%r&r&)
rrr!r!r!r!r%r%r%rHgok���|�?r�gffffff�?r_�exact��method�banana�rms�rJrrrJr�rr!r$rr)�g���}+޿g`=�i��?r�r5r6rrrr�rv)g�\zf��?g�^n��)�=r(g#��q�?rxr&rzr{)r�g��/���>rr�
asymptotic)r|rf)r�g������&?r~rr-r1r>i�rC)rS�
kendalltaur
rYrrr�r�rrr�r�rZr�r�r"r#r$r%r	rr��ma�masked_greater�concatenater�isfinite)
�variantsr�r^r�tauxr�r�r�r�r�r��tau�p_values
             re�test_kendalltaurvas�
���H�	!� � �A� � � �A��H��1�1����q�!�$�$���C��F�H�Q�K�0�0�0��C��F�H�Q�K�0�0�0�0�	$�#�#�A�#�#�#�A��H��1�1����q�!�$�$���C��F�H�Q�K�0�0�0��C��F�H�Q�K�0�0�0�0�	���A����A�/�H��1�1����q�!�$�$���C��F�H�Q�K�0�0�0��C��F�H�Q�K�0�0�0�0�	���A����A�%�H��1�1����q�!�$�$���C��F�H�Q�K�0�0�0��C��F�H�Q�K�0�0�0�0�	�	�"�
�
�A�
�	�"�
�
�A�)�H��1�1����q�!�T�2�2�2���C��F�H�Q�K�0�0�0��C��F�H�Q�K�0�0�0�0�	
�!��A��Q�4�A�a�D��A�a�D�8�H��1�1����q�!�T�2�2�2���C��F�H�Q�K�0�0�0��C��F�H�Q�K�0�0�0�0�	
�!��A��Q�4�A�a�D��A�a�D�8�H��1�1����q�!�T�2�2�2���C��F�H�Q�K�0�0�0��C��F�H�Q�K�0�0�0�0�	�	�"�
�
�A�
�	�"�
�
�d�d��d��A�*�H��1�1����q�!�T�2�2�2���C��F�H�Q�K�0�0�0��C��F�H�Q�K�0�0�0�0�	
�!��A��Q�4�A�a�D��A�a�D�9�H��1�1����q�!�T�2�2�2���C��F�H�Q�K�0�0�0��C��F�H�Q�K�0�0�0�0�	
�!��A��Q�4�A�a�D��A�a�D�9�H��1�1����q�!�T�2�2�2���C��F�H�Q�K�0�0�0��C��F�H�Q�K�0�0�0�0�
	�,�,�,�-�-�A�
�-�-�-�.�.�A��H���(��A�s�;�;�;�A�>��I�I�I��H���(��A�s�;�;�;�A�>��I�I�I�
�Q�4�A�a�D��*�e�.��1�W�E�E�E�E��*�e�.��1�X�F�F�F�F��*�e�.��1�e�D�D�D�D�

�	�	�B�	���B�:�H�
�
�2�r�
"�
"�C���A�����,�,�,���A�����,�,�,�+�J��5�5����r�2�t�4�4�4���C��,�,�,��S�_�c�m�4�4�4�4��'�'���U�%�i�i�i����D�I�I�I��f�b�f�%�	'�	'�	'��U�%�i�i�i����D�I�I�I��f�b�f�%�	'�	'�	'��U�%�i�i�i����D�I�I�I��f�b�f�%�	'�	'�	'�	'���!�"�b�)�)�B�F�B�F�+;�<�<�<��I�N�N�4����
��"�)�"�"�q���"�<�<��	� � �Q�a�c� �:�:�<�	=�	=�A�
�#�J�
�#�J��D�
��r�y�!�!�$�'�'��+�+�A�<�H�
�
�1�Q�4��1��
&�
&�C���A�����,�,�,���A�����,�,�,���(����I�I�I�s�K�K�K�A�N�������(����I�I�I�s�K�K�K�A�N�"�$�$�$�	�	�#���A�
�6�A�a�D��u�'��1�-�-�����/?�@�@�@��E�$�Q��f�=�=�=�'�e�5�5�5�5��E�$�Q��f�\�R�R�R�1��?�?�?�?��*�e�.��1��I�I�I�I��*�e�.��1��J�J�J�J�	�	�#���A�
�	�#���A��*�e�.��1�5�5�5��#�B��+�+�L�C�������������!�!�!��#�Q�C�!��-�-�L�C�������������!�!�!�	�	�$�e�$�$�$�A�
����Q��%�%�A�
�	�$�e�$�$�$�A�
���$�%�%��!�E�T�E�(�+�,�,�A��B�K��(��1�-�-�a�0�1�1�2�2�2�2�2rtc��tj�d��tdd��D]�}g}t|��D]}||g|zz
}�t	|��}tj�|��tj�|��t
j||��}tj||��}t|d|d��t|d|d����dS)N�*rrHrr)
rYr�r�r�r2�shuffle�mstats_basicrmrSr
)�sr�r�r�rr�s      re�test_kendalltau_vs_mstats_basicr|;s����I�N�N�2����
�1�R�[�[�4�4�����q���	�	�A�
�!��Q��J�A�A���G�G��
�	���!����
�	���!�����*�1�a�0�0���!�!�Q�'�'���F�1�I�x��{�3�3�3��F�1�I�x��{�3�3�3�3�4�4rtc���gd�}tjdddg}tj||d���}tj|dd�|dd���}t	|j|jd���dS)	Nr:�333333@�333333@rzr{rr�r�)rYrZrSrmrr�)r�r^�r1�r2s    re�test_kendalltau_nan_2nd_argr�Ksu�����A�	���c�3��A�	�	�!�Q�6�	2�	2�	2�B�	�	�!�A�B�B�%��1�2�2��	'�	'�B��B�L�"�,�U�;�;�;�;�;�;rtc��tjtd���5tjggd���ddd��dS#1swxYwYdS)Nz/'kendalltau' keyword argument 'initial_lexsort'r�T)�initial_lexsort)r2�warns�DeprecationWarningrSrmr�rtre�#test_kendalltau_dep_initial_lexsortr�Us���	���?�
�
�
�7�7�	���R��6�6�6�6�	7�7�7�7�7�7�7�7�7�7�7�7����7�7�7�7�7�7s�A�A�Ac	��eZdZd�ZdZejejejgZgd�Zgd�Z	gd�Z
gd�Zgd�Zgd�Z
gd	�Zgd
�Zd�Zeeeedgd
z����eeeee��dgd
z����zZej�de��d���Zeeeedgd
z����eeeee��dgd
z����zZej�de��d���Zeeee	dgd
z����eeeee	��dgd
z����zZej�de��d���Zeeee
dgd
z����eeeee
��dgd
z����zZej�de��d���Zeeeedgd
z����eeeee��dgd
z����zZej�de��d���Z eeeedgd
z����eeeee��dgd
z����zZ!ej�de!��d���Z"eeee
dgd
z����eeeee
��dgd
z����zZ#ej�de#��d���Z$eeeedgd
z����eeeee��dgd
z����zZ%ej�de%��d���Z&eeeedgd
z����eeeee��dgd
z����zZ'ej�de'��d���Z(eeedgd
z����eeedgd
z����zZ)ej�de)��d���Z*ej�dd��ej�dd��d�����Z+d S)!�TestKendallTauAlternativec��gd�}gd�}tj||d���}|ddksJ�tj||d���}t|d|d��t|dd|ddzz
��tj||d	���}t|d|d��t|d|ddz��|���tj||d���}|ddksJ�tj||d	���}t|d|d��t|dd|ddzz
��tj||d���}t|d|d��t|d|ddz��tjtd
���5tj||d���ddd��dS#1swxYwYdS)
Nrrr
rrrrrrrRr�rS)rSrmrr�reverser2rr�rs     re�&test_kendalltau_alternative_asymptoticz@TestKendallTauAlternative.test_kendalltau_alternative_asymptotic^sI���_�_��
�_�_���#�B���D�D�D����{�Q�������r�2�6�:�:�:���S��V�X�a�[�)�)�)���A���X�a�[�1�_� 5�6�6�6���r�2�9�=�=�=���S��V�X�a�[�)�)�)���A�����a��0�0�0�	�
�
�����#�B���D�D�D����{�Q�������r�2�9�=�=�=���S��V�X�a�[�)�)�)���A���X�a�[�1�_� 5�6�6�6���r�2�6�:�:�:���S��V�X�a�[�)�)�)���A�����a��0�0�0�
�]�:�-L�
M�
M�
M�	>�	>���R���=�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>s�G5�5G9�<G9)rr
r)rrr()r�RUUUU�?�ZUUUU�?)g~������?r�r�)�������?rr�)�ˮ[���?rr�)g������?g�Snj��?g�Snj��?)g�:�
���?g�3�
���?g�<t�'.�?)gNA
��?g���ss�?gY���ss�?c��|rtj|��}|dz}tj||d|���}||f}t	||��dS)NrNrd�rfr)rYrNrSrmr)	r]r�r^r�rev�
stat_expected�
p_expectedr�r\s	         re�
exact_testz$TestKendallTauAlternative.exact_test�s\���	 ���A����A��R��M���q�!�G��M�M�M��$�j�0����\�*�*�*�*�*rtFr Tzalternative, p_expected, revc�^�dgdg}}tj}|�||||||��dSr/)rYrZr��r]rr�r�r�r^r�s       re�test_against_R_n1z+TestKendallTauAlternative.test_against_R_n1�s8���s�Q�C�1����
�����1�k�3�
�z�J�J�J�J�Jrtc�N�ddgddg}}d}|�||||||��dS)Nrrr r!g�������?�r�r�s       re�test_against_R_n2z+TestKendallTauAlternative.test_against_R_n2�s:���1�v��1�v�1��*�
�����1�k�3�
�z�J�J�J�J�Jrtc�N�gd�gd�}}d}|�||||||��dS)Nr&rr�r�s       re�test_against_R_c0z+TestKendallTauAlternative.test_against_R_c0�s:���y�y�)�)�)�1���
�����1�k�3�
�z�J�J�J�J�Jrtc�N�gd�gd�}}d}|�||||||��dS)Nr)rrr!r gVUUUUU�?r�r�s       re�test_against_R_c1z+TestKendallTauAlternative.test_against_R_c1�s:���|�|�\�\�\�1��*�
�����1�k�3�
�z�J�J�J�J�Jrtc�N�gd�gd�}}d}|�||||||��dS)Nr)rr"r!rr rr�r�s       re�test_against_R_no_correlationz7TestKendallTauAlternative.test_against_R_no_correlation�s:��������1���
�����1�k�3�
�z�J�J�J�J�Jrtc�N�gd�gd�}}d}|�||||||��dS)N�rrr r!r"r#r$r%)r%r#rr rr"r!r$rr�r�s       re�test_against_R_no_correlationbz8TestKendallTauAlternative.test_against_R_no_correlationb�s?��'�'�'�)A�)A�)A�1���
�����1�k�3�
�z�J�J�J�J�Jrtc�N�gd�}gd�}d}|�||||||��dS)N)	g333333F@g33333�F@g33333�D@gfffff�J@g�����YF@g�����F@g�����YI@g������F@g�����N@)	g������@�������@r*r6�������@r�g������@�ffffff@rg�q�q�?r�r�s       re�test_against_R_lt_171z/TestKendallTauAlternative.test_against_R_lt_171�sB��
C�B�B��9�9�9��*�
�����1�k�3�
�z�J�J�J�J�Jrtc��tj�d��tj�d��}tj�d��}d}|�||||||��dS)NrrBgUm�*,����rYr�r�r�r�r�s       re�test_against_R_lt_171bz0TestKendallTauAlternative.test_against_R_lt_171b�sc��
�	���q�����I�N�N�3�����I�N�N�3����,�
�����1�k�3�
�z�J�J�J�J�Jrtc��tj�d��tj�d��}tj�d��}d}|�||||||��dS)Nr�g�H��4��?r�r�s       re�test_against_R_lt_171cz0TestKendallTauAlternative.test_against_R_lt_171c�sc��
�	���q�����I�N�N�3�����I�N�N�3����*�
�����1�k�3�
�z�J�J�J�J�Jrtzalternative, revc��tj�d��tj�d��}tj�d��}t	j||d|���}t	j||d|���}t
|d|d��t|d|dd���dS)	Nri�rdr�rlr���MbP?r)rYr�r�r�rSrmrr)r]rr�r�r^�res0r�s       re�test_gt_171z%TestKendallTauAlternative.test_gt_171s���
�	���q�����I�N�N�3�����I�N�N�3�������1�W�,7�9�9�9�����1�\�,7�9�9�9���T�!�W�d�1�g�&�&�&���Q���a��t�4�4�4�4�4�4rtrf)rdrlrr}c��gd�}gd�}|tjgz}|tjgz}tj||||���}tjtjf}t	||��tj||d||���}tj||||���}t	||��d}	tjt|	���5tj||d||���ddd��n#1swxYwYd	}	tjt|	���5tj||d
||���ddd��dS#1swxYwYdS)Nr�r"r#r$r%r&r�rz)r|rfrrWr�r~rXrS)rYrZrSrmrr2rr�)
r]rfrr�r�rYrZr[r\r3s
          rer�z)TestKendallTauAlternative.test_nan_policys5���_�_��
�_�_���b�f�X�
���b�f�X�
���%�e�U�-3��N�N�N�
�����'���
�L�1�1�1��%�e�U�v�-3��N�N�N�
��'��B�v�4?�A�A�A���
�L�1�1�1�2��
�]�:�W�
5�
5�
5�	E�	E���U�E�g�$*��
E�
E�
E�
E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�
1��
�]�:�W�
5�
5�
5�	E�	E���U�E�k�$*��
E�
E�
E�
E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�	E�	Es$�C-�-C1�4C1�D<�<E�EN),r�r�r�r��alternativesrYrZ�p_n1�p_n2�p_c0�p_c1�p_no_correlation�p_no_correlationb�
p_n_lt_171�p_n_lt_171b�p_n_lt_171cr�r2re�reversed�	case_R_n1r2r6r7r��	case_R_n2r��	case_R_c0r��	case_R_c1r��case_R_no_corrr��
case_no_cor_br��
case_R_lt_171r��case_R_lt_171br��case_R_lt_171cr��case_gt_171r�r�r�rtrer�r�]s[������'>�'>�'>�h4�L��F�B�F�B�F�#�D��;�;�D�0�0�0�D�>�>�>�D�<�<�<��=�=�=��D�D�D�J�C�C�C�K�G�G�G�K�+�+�+���c�c�,��u�g�a�i�8�8�9�9��4���L�(�(�4�.�.�4�&��(�C�C�D�D�E�I��[���;�Y�G�G�K�K�H�G�K�
��c�c�,��u�g�a�i�8�8�9�9��4���L�(�(�4�.�.�4�&��(�C�C�D�D�E�I��[���;�Y�G�G�K�K�H�G�K�
��c�c�,��u�g�a�i�8�8�9�9��4���L�(�(�4�.�.�4�&��(�C�C�D�D�E�I��[���;�Y�G�G�K�K�H�G�K�
��c�c�,��u�g�a�i�8�8�9�9��4���L�(�(�4�.�.�4�&��(�C�C�D�D�E�I��[���;�Y�G�G�K�K�H�G�K�
�d�3�3�|�-=��w�q�y�I�I�J�J���S�S��x�x�8H�/I�/I�"&����+�+�,�,�,�N��[���;�^�L�L�K�K�M�L�K�
�T�#�#�l�,=��w�q�y�I�I�J�J��t�C�C��h�h�7H�.I�.I�!%��q��*�*�+�+�+�M��[���;�]�K�K�K�K�L�K�K�
�T�#�#�l�J����	�B�B�C�C��t�C�C��h�h�z�.B�.B�T�F�1�H�M�M�N�N�O�M��[���;�]�K�K�K�K�L�K�K��d�3�3�|�[�5�'�!�)�D�D�E�E���S�S��x�x��/D�/D�"&����+�+�,�,�,�N��[���;�^�L�L�K�K�M�L�K��d�3�3�|�[�5�'�!�)�D�D�E�E���S�S��x�x��/D�/D�"&����+�+�,�,�,�N��[���;�^�L�L�K�K�M�L�K��4���L�5�'�!�)�4�4�5�5��4���L�4�&��(�3�3�4�4�5�K��[���/��=�=�	5�	5�>�=�	5��[���X�'>�?�?��[���]�,L�M�M�E�E�N�M�@�?�E�E�Ertr�c��gd�}gd�}tj||��\}}t|d��ttj|��tj||d���\}}t|d��ttj|��tj||d����\}}t|d	��ttj|��tj||��}d
}t
||��t|j|j��tj||d���\}}t|d��ttj|��tj||d���\}}t|d
��ttj|��tj||dd���\}}t|d��ttj|��tj||dd���\}}t|d��ttj|��tj||d���\}}t|d��ttj|��tj||dd����\}}t|d	��ttj|��tj||dd����\}}t|d	��ttj|��tjt	j	|tj
���|��\}}t|d��tjt	j	|tj���|��\}}t|d��tjt	j	|tj
���t	j	|tj
�����\}}t|d��tjgg��\}}ttj|��ttj|��tjdgdg��\}}ttj|��ttj|��tttjddggd���tttjddgddgdg��gd�}ddddtjg}tj||��\}}t|d��ddtjddg}tj||��\}}t|d��gd�}dd d!dtjg}tj||��\}}t|d��d"d#tjd"d#g}tj||��\}}t|d��gd$�}gd%�}tj||��\}}t|d&��d"d#tjd"tjg}tj||��\}}t|d&��tjd d!tjtjg}tj||��\}}t|d&��dS)'Nrirjg����s$�F)�additivegRO�o���c��dS�Nrr��r�s re�<lambda>z"test_weightedtau.<locals>.<lambda>=s��Q�rt)�weigherrkr�)�rankg����ڿg���n��)r�r�g� �@ڿg[đ(��gI�کn��Tc��dSr�r�r�s rer�z"test_weightedtau.<locals>.<lambda>X����rt)r�r�c��dSr�r�r�s rer�z"test_weightedtau.<locals>.<lambda>[r�rtr>rr�rrrr!r$rJr)�(@r�r�r�r�r�r�rOr�r�)r�r�r�r�r�)r�r�rOr�r�g�t3�4+�)rS�weightedtaur
rrYrZrr�r�rNr�int16r�r�)r�r^rtrur�r�s      re�test_weightedtaur�3s������A����A��$�Q��*�*�L�C����1�2�2�2�����!�!�!��$�Q��E�:�:�:�L�C����1�2�2�2�����!�!�!��$�Q��;�;�?�?�?�L�C����1�2�2�2�����!�!�!��
�A�q�
!�
!�C�*�J���Z�(�(�(����#�-�0�0�0��$�Q���5�5�5�L�C����0�1�1�1�����!�!�!��$�Q���5�5�5�L�C����0�1�1�1�����!�!�!��$�Q���u�E�E�E�L�C����1�2�2�2�����!�!�!��$�Q���u�E�E�E�L�C����1�2�2�2�����!�!�!��$�Q���6�6�6�L�C����1�2�2�2�����!�!�!��$�Q���k�k�J�J�J�L�C����1�2�2�2�����!�!�!��$�Q���k�k�J�J�J�L�C����1�2�2�2�����!�!�!��$�R�Z����%D�%D�%D�a�H�H�L�C����1�2�2�2��$�R�Z����%B�%B�%B�A�F�F�L�C����1�2�2�2��$�R�Z����%D�%D�%D�b�j�QR�Z\�Zd�Fe�Fe�Fe�f�f�L�C����1�2�2�2��$�R��,�,�L�C�������������!�!�!��$�a�S�1�#�.�.�L�C�������������!�!�!��*�e�/�!�Q�����C�C�C��*�e�/�!�Q��!�Q��!��E�E�E����A�	
�A�q�!�R�V��A��$�Q��*�*�L�C����1�2�2�2�	�Q����A��A��$�Q��*�*�L�C����1�2�2�2�#�#�#�A�	�c�3��R�V�$�A��$�Q��*�*�L�C����1�2�2�2�	
�s�B�F�D�#�&�A��$�Q��*�*�L�C����1�2�2�2�#�#�#�A�!�!�!�A��$�Q��*�*�L�C����0�1�1�1�	
�s�B�F�D�"�&�)�A��$�Q��*�*�L�C����0�1�1�1�	���c�2�6�2�6�*�A��$�Q��*�*�L�C����0�1�1�1�1�1rtc��tjdgdg��tjdgdg��tjtjgdg��dS)Nrr��4)rSr�rYrZr�rtre�test_segfault_issue_9710r��sQ��
��q�c�C�5�!�!�!�	��q�c�C�5�!�!�!�	��r�v�h���%�%�%�%�%rtc�:�d}tj|dz���t��}tj|dz���t��}tj|d<tj||dd���\}}t|d��dS)N�rrNrdrz)rfr|r})rYrr
r�rZrSrmr)r�r�r^�_rs     re�test_kendall_tau_larger��s����A�
�	�!�a�%������&�&�A�
�	�!�a�%������&�&�A��F�A�b�E���q�!�G��G�G�G�G�A�t���s�����rtc
��d�}d�}tj�d��tdd��D�]}g}t|��D]}||g|zz
}�t	|��}tj�|��tj�|��tjt|��tj���}td��D]b}dD]>}||||||��}	tj
|||||��j}
t|	|
���?tj�|���c��dS)	Nc�D�dx}x}x}x}}	ttt|����tt|������D�]\}
}|r#|||
��|||��zn"|||
��|||��z}||z
}||
||kr||z
}||
||kr|	|z
}	||
||kr||
||ks$||
||kr||
||kr||z
}��||
||kr||
||ks$||
||kr||
||kr||z
}��||z
tj||z
��ztj||	z
��zS�Nr)rr��lenrYr�)
r�r^r�r��add�tot�conc�disc�u�vr�r��ws
             re�wkqz*test_weightedtau_vs_quadratic.<locals>.wkq�s���$%�%��%�d�%�T�%�A���e�C��F�F�m�m�U�3�q�6�6�]�]�;�;�	�	�F�Q��7:�9����Q�� � �7�7�4��7�#3�#3�3�3��W�T�!�W�%�%����Q��(8�(8�8�
��1�H�C���t�q��t�|�|��Q�����t�q��t�|�|��Q�����t�a��d�{�{�q��t�a��d�{�{�a��d�Q�q�T�k�k�a��d�Q�q�T�k�k���	����1���!�����1���!�����!��q��t����!��q��t�����	����t��r�w�s�Q�w�/�/�/�"�'�#��'�2B�2B�B�Brtc��d|dzzS)Nr�rr�r�s rer�z.test_weightedtau_vs_quadratic.<locals>.weigher�s���Q��U�|�rtrxr rHr>rrL)
rYr�r�r�r2ryrr��intprSr�r�r
)r�r�r{r�r�r�r�r�r�rr�s           re�test_weightedtau_vs_quadraticr��s_��C�C�C� ����I�N�N�2����
�1�R�[�[�$�$�����q���	�	�A�
�!��Q��J�A�A���G�G��
�	���!����
�	���!�����y��Q���r�w�/�/�/���q���	$�	$�A�$�
6�
6���3�q�!�T�7�C�8�8���*�1�a��w��D�D�N��#�H�f�5�5�5�5��I���d�#�#�#�#�
	$�$�$rtc��eZdZd�Zd�ZdS)�TestFindRepeatsc��gd�}tj|��\}}t|gd���t|gd���dS)N)rrr r!rrr r!rrr"r)r r rr�rS�find_repeatsr	)r]r�r��numss    rer�zTestFindRepeats.test_basic�sO��-�-�-���&�q�)�)�	��T��3����-�-�-��4����.�.�.�.�.rtc��gd�gfD]9}tj|��\}}t|g��t|g���:dS)N)rHrE�2��(r�)r]r��repeated�countss    re�test_empty_resultz!TestFindRepeats.test_empty_result�s^��&�&�&��+�	+�	+�A�$�1�!�4�4��H�f��x��,�,�,��v�r�*�*�*�*�	+�	+rtN)r�r�r�r�r�r�rtrer�r��s2������/�/�/�+�+�+�+�+rtr�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestRegressionc���tjtt��}t	|jd��t	|jd��t	|jd��t	|jd��dS)Ni��r�r})	rS�
linregressrUr�r�	intercept�rvalue�stderr�intercept_stderr�r]rs  re�test_linregressBIGXz"TestRegression.test_linregressBIGX�sf���!�!�S�)�)���F�,�h�7�7�7��F�M�3�/�/�/�	�F�M�3�/�/�/��F�3�S�9�9�9�9�9rtc���tjtt��}t|jd��t|jd��t|jd��t|jd��dS)Nr}r�)rSrrUrrrrrrs  re�test_regressXXzTestRegression.test_regressXX�sf��
�!�!�Q�'�'���F�,�c�2�2�2��F�M�3�/�/�/��F�M�3�/�/�/��F�3�S�9�9�9�9�9rtc��tjtt��}t	|jd��t	|jd��dS)Nr})rSrrU�ZEROrrrrs  re�test_regressZEROXz TestRegression.test_regressZEROX�sA��
�!�!�T�*�*���F�,�c�2�2�2��F�M�3�/�/�/�/�/rtc�p�tjddd��}dtjddd��zdz}|tjtjddd����z
}tj||��}tjj}tt||����t|j
d��dS)NrrB皙�����?rHrE穷4_Q�c?)rY�linspace�sinrSr�_stats_mstats_common�LinregressResultr�
isinstancerr)r]r�r^r�lrs     re�test_regress_simplez"TestRegression.test_regress_simples����K��3��$�$���"�+�a��c�*�*�*�R�/��	�R�V�B�K��2�s�+�+�
,�
,�,���!�!�Q�'�'��
�
'�
8���
�6�2�&�&�'�'�'��F�M�+@�A�A�A�A�Artc��tjddd��}dtjddd��zdz}|tjtjddd����z
}tjt
d���5t
j||d�	��ddd��n#1swxYwYt
j||d
�	��}t
j||d�	��}t|j	d|j	d
zz
��t
j||d�	��}t|j	|j	d
z��|j
|j
cxkr|j
ksnJ�dS)NrrBrrHrErRr�rSrr
rrrr)rYrrr2rr�rSrrr�r)r]r�r^r�r�rs      re�test_regress_alternativez'TestRegression.test_regress_alternatives����K��3��$�$���"�+�a��c�*�*�*�R�/��	�R�V�B�K��2�s�+�+�
,�
,�,��
�]�:�-L�
M�
M�
M�	<�	<���Q��{�;�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<����1�+�>�>�>�����1�&�9�9�9�����Q�$�+��/�%:�;�;�;����1�)�<�<�<�����T�[�1�_�5�5�5��{�d�k�8�8�8�8�T�[�8�8�8�8�8�8�8�8s�9B�B!�$B!c�d�gd�}gd�}tj||d���}t|jd��t|jd��t|jt
jd����t|jd��t|j	d	��t|j
d
��dS)N)
����������)
r=�Q�8�[�/�9rc�H�>r[r
rgؗ�h��?g�JK@:C�gag����?g�-��>g5ՒO��?g]؊E @)rSrr�sloperrrYr�r�rr�r]r�r^r�s    re�test_regress_against_Rz%TestRegression.test_regress_against_R#s���
?�>�>��4�4�4����q�!��=�=�=����	�?�3�3�3���
�'8�9�9�9���
�B�G�M�$:�$:�;�;�;���
�$5�6�6�6���
�O�4�4�4���,�o�>�>�>�>�>rtc�h�tjddd��}dtjddd��zdz}|tjtjddd����z
}tj||f��}t	j|��}t
|jd��t
|jd��dS)NrrBrrHrEr�8���?)	rYrr�vstackrSrrrr)r]r�r^�rowsrs     re�test_regress_simple_onearg_rowsz.TestRegression.test_regress_simple_onearg_rows6s���
�K��3��$�$���"�+�a��c�*�*�*�R�/��	�R�V�B�K��2�s�+�+�
,�
,�,���y�!�Q�� � ���!�$�'�'���F�M�+@�A�A�A��F�3�5J�K�K�K�K�Krtc��tjddd��}dtjddd��zdz}|tjtjddd����z
}tjtj|d��tj|d��f��}tj|��}t|jd��t|j	d��dS)	NrrBrrHrErrr0)
rYrr�hstack�expand_dimsrSrrrr)r]r�r^�columnsrs     re�test_regress_simple_onearg_colsz.TestRegression.test_regress_simple_onearg_colsBs����K��3��$�$���"�+�a��c�*�*�*�R�/��	�R�V�B�K��2�s�+�+�
,�
,�,���)�R�^�A�q�1�1�2�>�!�Q�3G�3G�H�I�I���!�'�*�*���F�M�+@�A�A�A��F�3�5J�K�K�K�K�Krtc�j�tttjt	jd����dS)Nr�)r�r�rSrrY�onesrjs re�test_regress_shape_errorz'TestRegression.test_regress_shape_errorLs'��	�j�%�"2�B�G�F�O�O�D�D�D�D�Drtc��tjd��}tjdd��}|ddgxxdzcc<|ddgxxdz
cc<tj||��}d�}||jd	��||jd
��||jd��||jd��||jd
��||j	d��dS)NrIr"rFr���rrNc�&�t||d���S)NrFrB)r)r�r^s  rer�z0TestRegression.test_linregress.<locals>.<lambda>^s��!4�Q��2�!F�!F�!F�rtr�r6gePU�n�?g.��bt>g���ڽE�?gʺL7�?)
rYrrSrr,rrr�rr)r]r�r^r�	assert_aes     re�test_linregresszTestRegression.test_linregressQs����I�b�M�M���I�a�����	�A��+����!�����	�A��+����!������!�!�Q�'�'��G�F�	��	�&�,��$�$�$��	�&�"�C�(�(�(��	�&�-�!1�2�2�2��	�&�-��1�1�1��	�&�-�!5�6�6�6��	�&�)�+>�?�?�?�?�?rtc��d\}}tj|d|z|��}tjd|z||��}tj||��}t	|jdk��t
|jd��t	tj|j����t	tj|j	����dS)N)gJ�r� �11順rrN)
rYrrSrrrrr�rr)r]r�r�r�r^rs      re� test_regress_simple_negative_corz/TestRegression.test_regress_simple_negative_corfs������1��K��1�q�5�!�$�$���K��A��q�!�$�$���!�!�Q�'�'��	��
��#�$�$�$��F�M�2�.�.�.�	�B�H�V�]�+�+�+�,�,�,��B�H�V�4�5�5�5�6�6�6�6�6rtc��tjddd��}dtjddd��zdz}|tjtjddd����z
}tj||��}tjj}tt||����d}t||��dt|��vsJ�dS)NrrBrrHrE)r,rrr�rr)rYrrrSrrrrrr�dir)r]r�r^rrr�s      re�!test_linregress_result_attributesz0TestRegression.test_linregress_result_attributesxs����K��3��$�$���"�+�a��c�*�*�*�R�/��	�R�V�B�K��2�s�+�+�
,�
,�,���!�!�Q�'�'���
'�
8���
�6�2�&�&�'�'�'�J�
��F�J�/�/�/�!�S��[�[�0�0�0�0�0�0rtc��tjd��}tjdd��}tj||��}t	|jd��t	|jd��t	|jd��dS)Nrr r"r})rYrrSrrr�rr�r]r�r^rs    re�test_regress_two_inputsz&TestRegression.test_regress_two_inputs�sq���I�a�L�L���I�a��O�O���!�!�Q�'�'��	�F�M�3�/�/�/�	�F�M�3�/�/�/��F�3�S�9�9�9�9�9rtc��tjd��}tjd��}tj||��}t|jd��t|jd��t|jd��dS)Nrr�r})	rYrr:rSrrr�rrrHs    re�'test_regress_two_inputs_horizontal_linez6TestRegression.test_regress_two_inputs_horizontal_line�so���I�a�L�L���G�A�J�J���!�!�Q�'�'��	�F�M�3�/�/�/�	�F�M�3�/�/�/��F�3�S�9�9�9�9�9rtc�B�gd�}gd�}tj||��}t|jd��t|jd��t|jdzd��t|jd��t|jd��t|jd	��dS)
N)$rgfffffu@g����̌]@g����̤�@�333333$@gPl@gfffff҄@gfffff"�@g�����	|@gH�@g�����q�@皙�����?�333333�?g<�@g33333ׄ@g u@g�{@g333333'@g`�@�33333�l@gfffff�@g����̼�@g�����^@rvrvgffffff�@g�����1u@g�������@g8�@gX�@g333333&@g33333�]@gfffff�l@g������@�fffff|@r()$rsg�����,u@gfffff�]@���@rrPg�@�4�@g�����|@�33333W�@g�����y�@rvrsg�����P�@gfffff�@������4u@rQg������%@g�����m�@g������l@g0�@gfffffƋ@gfffff�]@rvrOg�����l�@rUrRrSrTgffffff$@gffffff]@g����̜l@g33333�@g33333|@rg����?g!����пrgp�X���?r}g�h-h�*<?g�g���?)	rSrrr,rrr�rrrHs    re�test_nist_norriszTestRegression.test_nist_norris�s���
4�
4�
4��

4�
4�
4��
�!�!�Q�'�'���F�L�*:�;�;�;��F�,�.@�A�A�A��F�M�1�,�.?�@�@�@��F�M�3�/�/�/��F�M�+;�<�<�<��F�3�5E�F�F�F�F�Frtc��tjddd��}dtjddd��zdz}|tjtjddd����z
}tj||��}tj||d��}t
|j|d��t
|j|d��dS)NrrBrrHrEr)	rYrrrSr�polyfitrr,r)r]r�r^r�polys     re�test_compare_to_polyfitz&TestRegression.test_compare_to_polyfit�s����K��3��$�$���"�+�a��c�*�*�*�R�/��	�R�V�B�K��2�s�+�+�
,�
,�,���!�!�Q�'�'���z�!�Q��"�"��	�F�L�$�q�'�2�2�2��F�,�d�1�g�6�6�6�6�6rtc�H�tttjgg��dSr�)r�r�rSrrjs re�test_empty_inputzTestRegression.test_empty_input�s���j�%�"2�B��;�;�;�;�;rtc��tjd��}tj|d<tjd���5t	j||��}ddd��n#1swxYwYtjj}tt||����t|tjfdz��t|jtj��dS)Nrxr&�ignore��invalidr")
rYrrZ�errstaterSrrrrrr	rr)r]r�rrs    re�test_nan_inputzTestRegression.test_nan_input�s����I�c�N�N���v��!��
�[��
*�
*�
*�	,�	,��%�a��+�+�F�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,��
'�
8���
�6�2�&�&�'�'�'��6�B�F�9�Q�;�/�/�/��V�,�b�f�5�5�5�5�5s�A�A�"Ac��tjd��}tj�d��}d}tt|���5tj||��ddd��dS#1swxYwYdS)NrHz$Cannot calculate a linear regressionr�)rYr�r�r�r�rSr)r]r�r^r�s    re�test_identical_xzTestRegression.test_identical_x�s����H�R�L�L���I���R� � ��4��
�:�S�
1�
1�
1�	#�	#���Q��"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#s�A/�/A3�6A3N)r�r�r�rr
r
rrr.r3r8r;r@rCrFrIrKrVrZr\rbrdr�rtrerr�sC������:�:�:�
:�
:�
:�*0�0�0�	B�	B�	B�9�9�9�*?�?�?�&
L�
L�
L�L�L�L�E�E�E�
@�@�@�*7�7�7�$1�1�1� :�:�:�:�:�:�G�G�G�(
7�
7�
7�<�<�<�6�6�6�#�#�#�#�#rtrc�$�tjgd���\}}}}t|d��t|d��d}tjt
|���5tjgd�d���ddd��n#1swxYwYtjgd�d���\}}}}t|d��t|d��gd	�}gd
�}tj||dd���\}}}}t|d
��t|d��t|dd���t|dd���tj||dd���\}}}}t|d
��t|d��t|dd���t|dd���dS)N�rrrr(zHmethod must be either 'joint' or 'separate'.'joint_separate' is invalid.r��joint_separatere�jointr})rrr r!rHrJ�)r&rD�rE�-�7�Ng�Q���?�separater!r�g��Q��@rrBg�G�z�
@r)rS�theilslopesrr2rr�)r,r�lower�upperr�r�r^s       re�test_theilslopesrr�s#��%*�%6�w�w�w�%?�%?�"�E�9�e�U���s�#�#�#��	�3�'�'�'�*�C�	��z��	-�	-�	-�>�>�
��)�)�)�,<�=�=�=�=�>�>�>�>�>�>�>�>�>�>�>����>�>�>�>�&+�%6�y�y�y�>E�&G�&G�&G�"�E�9�e�U���s�#�#�#��	�3�'�'�'�	!� � �A�#�#�#�A�%*�%6�q�!�T�>H�&J�&J�&J�"�E�9�e�U���q�!�!�!��	�3�'�'�'���t�Q�/�/�/�/���t�Q�/�/�/�/�%*�%6�q�!�T�>E�&G�&G�&G�"�E�9�e�U���q�!�!�!��	�3�'�'�'���t�Q�/�/�/�/���t�Q�/�/�/�/�/�/s�A>�>B�Bc�<�gd�}tj|d���\}}}}t|tjgd�����tj|dd���\}}}}t|dk��d}tj|dd���}t
||��dS)	N�rr!rrr rr!��numbins)r�r�r6r)r)r")rv�defaultreallimitsr )�cumcountrv�binsize�extrapoints)rS�cumfreqrrYrrr)r��cumfreqs�lowlimryrzr�r�s       re�test_cumfreqr~�s������A�-2�]�1�a�-H�-H�-H�*�H�f�g�{��h���1A�1A�1A�(B�(B�C�C�C�-2�]�1�a�HP�.R�.R�.R�*�H�f�g�{��K�1�����F�J�
�-��1��
A�
A�
A�C���Z�(�(�(�(�(rtc�P�tjgd���}tj|d���\}}}}t	|tgd�����d}tj|d���}t||��tjgd�d���\}}}}t	||��dS)Nrtr!ru)r(�K�}\UU�?r�r�)�	frequencyrvryrz)rYrrS�relfreqrr)r��relfreqsr}ryrzr�r��	relfreqs2s        re�test_relfreqr�
s���
��#�#�#�$�$�A�-2�]�1�a�-H�-H�-H�*�H�f�g�{��h�#�$M�$M�$M�N�N�P�P�P�G�J�
�-��1�
%�
%�
%�C���Z�(�(�(�/4�m�<N�<N�<N�DE�/G�/G�/G�+�I�v�w���h�	�2�2�2�2�2rtc�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestScoreatpercentilec�<�gd�|_gd�|_gd�|_dS)N)r r!r"rHrO���r#)r ���r=r%r$r!rr)r�r!r"rHrOr�r�rO)�a1�a2�a3rjs re�setup_methodz"TestScoreatpercentile.setup_methods-��*�*�*���,�,�,���1�1�1����rtc��td��dz}ttj|d��d��ttj|d��d��ttj|d��d��dS)	Nr%r(rr}rBr+r���?)rrrS�scoreatpercentiler�s  rer�z TestScoreatpercentile.test_basic!sn���1�I�I��O���U�,�Q��2�2�B�7�7�7��U�,�Q��4�4�c�:�:�:��U�,�Q��3�3�T�:�:�:�:�:rtc	�$�tj}t|tt	d����d��d��t|tt	d����dd��d��t|tt	d����dd���d��t|tjgd���dd	��d
��t|tjgd���dd��d��t|tt	d����dd
���d��t|tt	d����ddd
���d��t|tt	d����ddd
���d��t|tjgd���dd	d
���d
��t|tjgd���ddd
���d��dS)NrHr�r,�rr$rB�rr%)�limit�rrHrB�rHrBrl�rrHr-�fraction��interpolation_method�r�r��rSr�rr2r�rYr�r]�scoreatpercs  re�
test_fractionz#TestScoreatpercentile.test_fraction's1���-��	�[�[��e�B�i�i���"�5�5�s�;�;�;��[�[��e�B�i�i���"�e�<�<�c�B�B�B��[�[��e�C�j�j�!1�!1�2�V�D�D�D�c�J�J�J��[�[���+�+�+�!6�!6��H�E�E�r�J�J�J��[�[���+�+�+�!6�!6��F�C�C�S�I�I�I�	�[�[��e�B�i�i���"�:�V�V�V��	�	�	��[�[��e�B�i�i���"�F�6@�B�B�B��	�	�	�	�[�[��e�C�j�j�!1�!1�2�V�6@�B�B�B��	�	�	�	�[�[���+�+�+�!6�!6��I�6@�B�B�B��	�	�	�	�[�[���+�+�+�!6�!6��F�6@�B�B�B��	�	�	�	�	rtc	�6�tj}t|tt	d����dd���d��t|tt	d����dd���d��t|tt	d����ddd���d��t|tt	d����ddd�	��d��t|tt	d
����ddd���d��t|tt	d
����ddd���d��t|tjgd���dd
d���d��t|tjgd���dd
d�	��d
��t|tjgd���ddd���d��t|tjgd���ddd�	��d��dS)NrHr�rpr�r!�higherr"r�r�rBr�r�r�r�rr�r�s  re�test_lower_higherz'TestScoreatpercentile.test_lower_higherAs����-��	�[�[��e�B�i�i���"�6=�?�?�?�@A�	C�	C�	C��[�[��e�B�i�i���"�6>�@�@�@�AB�	D�	D�	D��[�[��e�B�i�i���"�e�6=�?�?�?�@A�	C�	C�	C��[�[��e�B�i�i���"�E�6>�@�@�@�AB�	D�	D�	D��[�[��e�C�j�j�!1�!1�2�u�6=�?�?�?�@A�	C�	C�	C��[�[��e�C�j�j�!1�!1�2�u�6>�@�@�@�AB�	D�	D�	D��[�[���,�,�,�!7�!7��Y�6=�?�?�?�@B�	D�	D�	D��[�[���,�,�,�!7�!7��9�6>�@�@�@�AD�	F�	F�	F��[�[���,�,�,�!7�!7��W�6=�?�?�?�@A�	C�	C�	C��[�[���,�,�,�!7�!7��7�6>�@�@�@�AC�	E�	E�	E�	E�	Ertc	�V�td��dz}tjgd���}tj|gd���}t||��t
t|tj����ttj|tjgd�����|��tjtjd���	d��tjgd���d�	��}tgd
�gd�gd�gd�g��}t||��dS)
Nr%r()rr+r�)rrBr�rJ�r r!)rrrBrBrr@)rr!r%)���Q��?g��Q�@g��(\ @�r r$rI)
rrYrrSr�rrr�ndarrayrW)r]r�rr�r��	expected2s      re�test_sequence_perz'TestScoreatpercentile.test_sequence_perZs)���1�I�I��O���8�N�N�N�+�+���%�a����6�6����X�&�&�&��
�3��
�+�+�,�,�,���/��2�8�L�L�L�3I�3I�J�J� �	"�	"�	"��&�r�y��}�}�'<�'<�U�'C�'C�')�x�0@�0@�0@�'A�'A��K�K�K���9�9�9�-�-�-�%�:�:�%�:�:�'�(�(�	�	��i�(�(�(�(�(rtc�d�tj}td���dd��}t	||d��gd���gd�gd�gd�g}t	||dd	�
��|��gd�gd�gd
�g}t	||dd�
��|��tgd�gd�gd�gd�gd�g��}tj|d��}t	|jd��t	|d��tj|dd	�
��}t	|jd��t	|gd���dS)NrJr r!)rGr�rB)g@r-�&@)rr r!r"�r!r"r#r$)r%r&rHrIrr@)��?g@g�!@)r)r-�#@r�r�rrr)r!r!r r�r�r��r )rSr�rrWrrr�)r]r�r��r0r��scores      re�	test_axiszTestScoreatpercentile.test_axislsk���-���2�J�J���q�!�$�$���[�[��M�2�2�4E�4E�4E�F�F�F��l�l�L�L�L�.�.�.�
9���[�[��M��:�:�:�B�?�?�?� � � �/�/�/�:�:�:�
>���[�[��M��:�:�:�B�?�?�?��9�9�9��9�9��9�9��9�9��9�9�	�
�
��
�'��2�.�.���U�[�"�%�%�%��U�C� � � ��'��2�A�6�6�6���U�[�$�'�'�'��U�I�I�I�&�&�&�&�&rtc���tttjddgdd���tttjdgd��tttjdgd��dS)Nrrr&rr��erN)r�r�rSr�rjs re�test_exceptionz$TestScoreatpercentile.test_exception�sc���j�%�"9�A�q�6�2�!)�	+�	+�	+�	+��j�%�"9�A�3��D�D�D��j�%�"9�A�3��C�C�C�C�Crtc�X�ttjgd��tj��ttjtjggg��d��tj��ttjgddg��tjtjg��dS)Nr��c)rrSr�rYrZrrjs re�
test_emptyz TestScoreatpercentile.test_empty�s~���U�,�R��4�4�b�f�=�=�=��U�,�R�X�r�2�h�-?�-?��D�D�b�f�M�M�M��U�,�R�"�b��:�:�R�V�R�V�<L�M�M�M�M�MrtN)r�r�r�r�r�r�r�r�r�r�r�r�rtrer�r�s�������2�2�2�
;�;�;����4E�E�E�2)�)�)�$'�'�'�0D�D�D�N�N�N�N�Nrtr�zignore::FutureWarningc
��eZdZdZd�Zd�Zd�Zd�Zej	�
dejdd����d	���Z
d
�Zd�Zd�Zd
�Zd�Zej	�
dgd�dejddddggd�dejddgg��d���Zd�Zej	�
dejdd����ej	�
dejdg��d�����Zd�Zd�Zd�ZdS)�TestModez2Support for non-numeric arrays has been deprecatedc��tjg��\}}t|tjg����t|tjg����dSr��rS�moderrYr�r]�valsr�s   rer�zTestMode.test_empty�sI���z�"�~�~���f��T�2�8�B�<�<�(�(�(��V�R�X�b�\�\�*�*�*�*�*rtc��tjd��\}}t|tjdg����t|tjdg����dS)Nr�rr�r�s   rer�zTestMode.test_scalar�sM���z�"�~�~���f��T�2�8�R�D�>�>�*�*�*��V�R�X�q�c�]�]�+�+�+�+�+rtc��gd�}tj|��}t|ddd��t|ddd��dS)N�r r"rrH�r rr#r%r#rHr#rr#rr �rSr�r�r]�data1r�s   rer�zTestMode.test_basic�sR��7�7�7���z�%� � ���T�!�W�Q�Z��#�#�#��T�!�W�Q�Z��#�#�#�#�#rtc
��gd�}gd�}gd�}gd�}gd�}tj|||||g��}tj|d���}t	|dtjdg����t	|d	tjd
g����tj|d���}t	|dtjgd�g����t	|d	tjgd�g����tj|d	���}t	|dtjd
gd
gdgdgdgg����t	|d	tjdgdgdgdgdgg����dS)N)rHrHr�r�)rHrHrHrH)rErHrErE)r�r�r�r�)r�r�r�r�r@rr�rr%)rHrHr�r�)rr r rrHrErr!r )rYrrSr�r)r]r��data2�data3�data4�data5�arrr�s        re�	test_axeszTestMode.test_axes�s��� � � �� � � �� � � �� � � �� � � ���h��u�e�U�E�:�;�;���z�#�D�)�)�)���T�!�W�b�h��t�n�n�-�-�-��T�!�W�b�h��s�m�m�,�,�,��z�#�A�&�&�&���T�!�W�b�h�(8�(8�(8�'9�:�:�;�;�;��T�!�W�b�h����~�6�6�7�7�7��z�#�A�&�&�&���T�!�W�b�h���r�d�R�D�2�$���'E�F�F�G�G�G��T�!�W�b�h���a�S�1�#��s�Q�C�'@�A�A�B�B�B�B�BrtrAr'rc�0�tj�d��tj�dddd��}t	j||j|z���}t	j||���}tj�||��dS)N��:rHrIrJrKr@)	rYr�r�r�rSr��ndimrOr	)r]rAr�r�r�s     re�test_negative_axes_gh_15375z$TestMode.test_negative_axes_gh_15375�s{��
�	���y�!�!�!��I�N�N�2�r�2�r�*�*���z�!�!�&��+�.�.�.���z�!�$�'�'�'��
�
�%�%�d�D�1�1�1�1�1rtc��gd�}tjt|j���5t	j|��}ddd��n#1swxYwYt
|ddd��t
|ddd��dS)N)�rain�showersr�r�rr�rr)r2r�r��deprecation_msgrSr�rr�s   re�test_stringszTestMode.test_strings�s���.�.�.��
�\�,�D�4H�
I�
I�
I�	%�	%��:�e�$�$�D�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%��T�!�W�Q�Z��+�+�+��T�!�W�Q�Z��#�#�#�#�#s�A�A
�
A
c�t�ddtjddg}tjdt���}||dd�<t	jt|j���5tj	|��}ddd��n#1swxYwYt|ddd��t|ddd	��dS)
NrHT�hello�r"r>r�rrr)rYrZ�empty�objectr2r�r�r�rSr�r)r]�objectsr�r�s    re�test_mixed_objectszTestMode.test_mixed_objects�s����t�R�V�W�b�1���h�t�6�*�*�*����A�A�A��
�\�,�D�4H�
I�
I�
I�	#�	#��:�c�?�?�D�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#��T�!�W�Q�Z��$�$�$��T�!�W�Q�Z��#�#�#�#�#s�A5�5A9�<A9c�D��Gd�d����fd�dD��}tjdt���}||dd�<tt	t|����dk��t
tj|��jd��tj
t|j�	��5tj|��}ddd��n#1swxYwYt
|d
d
�d����t
|dd
d��dS)
Nc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�$TestMode.test_objects.<locals>.Pointc��||_dSr�r�r�s  re�__init__z-TestMode.test_objects.<locals>.Point.__init__�s
������rtc�"�|j|jkSr�r��r]�others  re�__eq__z+TestMode.test_objects.<locals>.Point.__eq__�����v���(�(rtc�"�|j|jkSr�r�r�s  re�__ne__z+TestMode.test_objects.<locals>.Point.__ne__�r�rtc�"�|j|jkSr�r�r�s  re�__lt__z+TestMode.test_objects.<locals>.Point.__lt__�s���v���'�'rtc�*�t|j��Sr�)�hashr�rjs re�__hash__z-TestMode.test_objects.<locals>.Point.__hash__�s���D�F�|�|�#rtN)r�r�r�r�r�r�r�r�r�rtre�Pointr��s_������
�
�
�
)�
)�
)�
)�
)�
)�
(�
(�
(�
$�
$�
$�
$�
$rtr�c�&��g|]
}�|����Sr�r�)r�r�r�s  �rer�z)TestMode.test_objects.<locals>.<listcomp>�s!���=�=�=�q�%�%��(�(�=�=�=rt)rrr r!r rrr)r%r>r!)r!r�rrr)rYr�r�rr��setr�uniquer�r2r�r�r�rSr�)r]�pointsr�r�r�s    @re�test_objectszTestMode.test_objects�s_���	$�	$�	$�	$�	$�	$�	$�	$� >�=�=�=�$<�=�=�=���h�t�6�*�*�*����A�A�A����C��K�K� � �A�%�&�&�&��R�Y�s�^�^�)�4�0�0�0�
�\�,�D�4H�
I�
I�
I�	#�	#��:�c�?�?�D�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	�T�!�W�Q�Z���q���*�*�*��T�!�W�Q�Z��#�#�#�#�#s�3C�C�Cc��gd�}g}tj|��}d}t||��tj|��}t||��dS)Nr�)r��count)rSr�r)r]r�r�r�r��actual2s      re�test_mode_result_attributesz$TestMode.test_mode_result_attributes�s[��7�7�7������E�"�"��&�
��F�J�/�/�/��*�U�#�#���G�Z�0�0�0�0�0rtc
�T�dtjdddddddddddg
}tj|��}t	|d	��tj|d
���}t	|d	��tttj|d���tttj|d
���dS)Nr r"rrHr�rr#r%)r#r rzr{r~r)rYrZrSr�rr�r�)r]r�r�s   re�
test_mode_nanzTestMode.test_mode_nan�s����B�F�A�q�"�b�!�Q��1�a��Q�?����E�"�"���V�V�$�$�$���E�f�5�5�5���V�V�$�$�$��j�%�*�e��H�H�H�H��j�%�*�e��I�I�I�I�I�Irt�data)r r"rrr r r"r)r r"rc�j�tj|d���}t|ddd��dS)Nrzr{rrr�)r]r�rs   re�test_smallest_equalzTestMode.test_smallest_equal	s6����D�V�4�4�4���V�A�Y�q�\�1�%�%�%�%�%rtc�X�dgdgdgdgg}tj|t���}tjt
|j���5tj|d���}ddd��n#1swxYwYtj	|jdk��r|jj
dksJ�tj	|jd	k��r|jj
dksJ�|tjggz}tj|t���}tjt
|j���5tj|d���}ddd��n#1swxYwYtj	|jdk��r|jj
dksJ�tj	|jd	k��r|jj
dksJ�dS)
N�	Oxidation�Polymerization�	Reductionr>r�rr@�rrr)
rYrr�r2r�r�r�rSr�r�r�r�rZ)r]r��arr�r��ar1s      re�test_obj_arrays_ndimzTestMode.test_obj_arrays_ndim	s���
��}�/?�.@�;�-�P��
�X�d�&�
)�
)�
)��
�\�,�D�4H�
I�
I�
I�	'�	'��
�2�A�&�&�&�A�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'��v�a�f��+�,�,�G�����1G�1G�1G�1G��v�a�g��l�#�#�?���
��(?�(?�(?�(?�����z�!���h�u�F�+�+�+��
�\�,�D�4H�
I�
I�
I�	(�	(��
�3�Q�'�'�'�A�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(��v�a�f��+�,�,�G�����1G�1G�1G�1G��v�a�g��l�#�#�?���
��(?�(?�(?�(?�(?�(?s$�A)�)A-�0A-�E�E�ErOr?r�c�j�tj�d��}|�d����|��}|dkrPtjt|j���5tj
||d���}ddd��n#1swxYwYntj
||d���}t|j��}|�
|��tj�|j
j|��tj�|jj|��dS)Nr�)r r!r"�r�r�r�F�rA�keepdims)rYr��default_rng�uniformr
r2r�r�r�rSr�r2r��poprOr	r�)r]rAr?�rngr�r��reference_shapes       re�test_mode_shape_gh_9955z TestMode.test_mode_shape_gh_9955	sA���i�#�#�I�.�.���K�K�Y�K�'�'�.�.�u�5�5���H�����0��8L�M�M�M�
?�
?��j����>�>�>��
?�
?�
?�
?�
?�
?�
?�
?�
?�
?�
?����
?�
?�
?�
?���*�Q�T�E�:�:�:�C��q�w�-�-�����D�!�!�!�
�
�%�%�c�h�n�o�F�F�F�
�
�%�%�c�i�o��G�G�G�G�Gs�/B�B�Bc��dtjdtjg}ttj��dkrFt	j|��}tj|jd��r|jddksJ�tj|d���}tj
t|j���5t	j|��}ddd��n#1swxYwYtj|jd��r|jddksJ�tjgd�d���}tj
t|j���5t	j|��}ddd��n#1swxYwYt|d	gdgg��dS)
Nrrz1.21.0rr�r>r�)rHTr�rHrH)rYrZr�__version__rSr�r�r�rr2r�r�r�r	)r]r�r�s   re�!test_nan_policy_propagate_gh_9815z*TestMode.test_nan_policy_propagate_gh_9815+	s�������2�6�"�����'�'�8�3�3��*�Q�-�-�C��8�C�H�Q�K�(�(�>�S�Y�q�\�Q�->�->�->�->�
�H�Q�h�'�'�'��
�\�,�D�4H�
I�
I�
I�	 �	 ��*�Q�-�-�C�	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 ��x�����$�$�:���1���):�):�):�):��H�,�,�,�H�=�=�=��
�\�,�D�4H�
I�
I�
I�	 �	 ��*�Q�-�-�C�	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 ��3�"���s��,�,�,�,�,s$�4C�C�C�
E+�+E/�2E/c�b�tjd��}tj|dd���}|jj|jjcxkrdksnJ�tj|dd���}|jj|jjcxkrdksnJ�dddtjgddtjdgg}tj|dd���}t|jddg��t|jd	dg��tj|dd���}t|jdgdgg��t|jd	gdgg��tj|��}tj|dd���}tj|�	��d�
��}t||��|jj|jjcxkrdksnJ�tj|dd���}tj|�	��d�
��}t||��|jj|jjcxkrdksnJ�dtjtjtjdgtjtjtjtjd	gdd	tjd
d
gg}tj|ddd���}t|jgd���t|jgd���tj|ddd���}t|jdgd	gd
gg��t|jd	gdgd	gg��tj|��}tj|ddd���}tj|�	��dd���}t||��|jj|jjcxkrdksnJ�tj|ddd���}tj|�	��dd���}t||��|jj|jjcxkrdksnJ�dS)N)rrr rrFr
)rr rT)rrr rr r�rr��rr"rz)rArr|)rrr")rrr)rr|)
rYr�rSr�r�r�rZr	r�ravel)r]r�r��refs    re�
test_keepdimszTestMode.test_keepdims?	s���H�\�"�"���j���U�3�3�3���x�~����=�=�=�=�I�=�=�=�=�=�=��j���T�2�2�2���x�~����@�@�@�@�L�@�@�@�@�@�@���A�r�v�
��A�r�v�q� 1�2���j���U�3�3�3���3�8�a��V�,�,�,��3�9�q�!�f�-�-�-��j���T�2�2�2���3�8�q�c�A�3�Z�0�0�0��3�9��s�Q�C�j�1�1�1��H�Q�K�K���j����6�6�6���j������U�3�3�3���3��$�$�$��x�~����5�5�5�5�2�5�5�5�5�5�5��j����5�5�5���j������T�2�2�2���3��$�$�$��x�~����7�7�7�7�4�7�7�7�7�7�7���������
+��f�b�f�b�f�b�f�a�
0���B�F�A�q�
!�
#���j���U�v�F�F�F���3�8�Y�Y�Y�/�/�/��3�9�i�i�i�0�0�0��j���T�f�E�E�E���3�8�q�c�A�3���_�5�5�5��3�9��s�Q�C�!��o�6�6�6��H�Q�K�K���j����&�I�I�I���j������U�v�F�F�F���3��$�$�$��x�~����5�5�5�5�2�5�5�5�5�5�5��j�����H�H�H���j������T�f�E�E�E���3��$�$�$��x�~����7�7�7�7�4�7�7�7�7�7�7�7�7rtc���d}tj|��}tj|d<tj|ddd���}t|jgd���t|jgd���dS)	N)r!r �rrrFrz)r�rArr|rE�rr r r )rYr:rZrSr�r	r�)r]r�r�r�s    re�test_gh16952zTestMode.test_gh16952w	si�����w�u�~�~���V��T�
��j�4�a�%�F�K�K�K���3�8�\�\�\�2�2�2��3�9�l�l�l�3�3�3�3�3rtN)r�r�r�r�r�r�r�r�r2r6r7rYrr�r�r�r�r�r�rZr�rrrrrrr�rtrer�r��s�������L�O�+�+�+�
,�,�,�
$�$�$�C�C�C�(�[���V�Y�R�Y�r�1�%5�%5�6�6�2�2�7�6�2�$�$�$�$�$�$�$�$�$�<1�1�1�J�J�J��[���V����	
�B�F�A�q�!�Q���	�	�	
�B�F�A�q��	&���&�&�
��&�@�@�@� �[���V�Y�R�Y�r�1�%5�%5�6�6��[���W�r�z�8�&<�=�=�H�H�>�=�7�6�H�-�-�-�(68�68�68�p4�4�4�4�4rtr�c�l�gd�}d}tjt|���5tj|��}ddd��n#1swxYwYt|dgdgf��tj|d���}t|dgdgf��tj|d���}t|ddg��dS)	N)rrr"r r"z#Unlike other reduction functions...r�r"rTrF)r2r��
FutureWarningrSr�r	)r��
future_msgr�s   re�test_mode_futurewarningr"�	s������A�6�J�	��m�:�	6�	6�	6����j��m�m���������������������s�a�S�1�#�J�'�'�'��*�Q��
&�
&�
&�C��s�a�S�1�#�J�'�'�'�
�*�Q��
'�
'�
'�C��s�Q��F�#�#�#�#�#s�A�A�
Ac� �eZdZgd�ZdZd�ZdS)�TestSEMrr�c��t��5}tjd���5|�td��tj|j��}ddd��n#1swxYwYddd��n#1swxYwYttj	|����tj|j
��}t|d��t|j
��}ttj|j
d���tj||dz
z��ztj|j
d�����tjd��}tj|d	<t#tj|��tj��t#tj|d
���d��t%t&t
j|d
���t%t&t
j|d���dS)Nr^r_�!Degrees of freedom <= 0 for sliceg㝎���?rrhrrxr&rzr{g��H=6�?r~r)r
rYra�filterr\rS�sem�scalar_testcaserr��testcaser
r�rr�rrZrr�r�)r]rdr^r�r�s     re�test_semzTestSEM.test_sem�	s���
 �
 �	0�C���X�)F�)F�)F�	0�	0��J�J�~�'J�K�K�K��	�$�.�/�/�A�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	����������I�d�m�$�$���A�|�,�,�,���
������	�$�-�a�8�8�8�2�7�1�a��c�7�;K�;K�K��	�$�-�a�8�8�8�	:�	:�	:�
�I�c�N�N���v��!���U�Y�q�\�\�2�6�*�*�*��U�Y�q�V�4�4�4�6H�I�I�I��j�%�)�Q�7�C�C�C�C��j�%�)�Q�8�D�D�D�D�D�Ds4�A=�5A&�A=�&A*	�*A=�-A*	�.A=�=B�BN)r�r�r�r*r)r+r�rtrer$r$�	s6�������|�|�H��O�E�E�E�E�Ertr$c���eZdZej�dgd�gd�fgd�gd�fg��d���Zd�Zd�Zej�dd	d
g��d���Z	ej�dd	d
g��d���Z
d
�Zd�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zej�dejg��ejd��g��d���Zd�Zd�ZdS) �TestZmapZscorezx, yrr&)rrrr r!c��tj||��}|tj|��z
tj|��z}t||d���dS)Nr'r)rS�zmaprYrXrqr)r]r�r^�zrs     re�	test_zmapzTestZmapZscore.test_zmap�	sP��
�J�q�!��������
�
�N�B�F�1�I�I�-����8�%�0�0�0�0�0�0rtc���tjgd�gd�gd�g��}dtjd��z}tjd��dz}tjd��}tj||d	�
��}tj||d�
��}||dz|dzd
gd
||dz|g||dz||gg}gd�|||tjd��ggd�g}t||��t||��dS�N�r}r}r�r�)r�r�r�r�)r�r}r�r}r�rwr�r r�rr@rrr}�r�r�r�r�)r�r�r�r�)rYrr�rSr/r�	r]r��t1�t2�t3�z0rG�z0_expected�z1_expecteds	         re�test_zmap_axiszTestZmapZscore.test_zmap_axis�	s5���H�*�*�*�*�*�*�*�*�*�,�
-�
-��������
��
�W�R�[�[��]��
�W�R�[�[��
�Z��1�1�
%�
%�
%��
�Z��1�1�
%�
%�
%����b�S��U�R�C��E�3�/��R�"��Q���+��R�C��E�2��s�+�-��.�-�-���b�S�2�#�r�w�r�{�{�3�-�-�-�/��	"�"�k�2�2�2�!�"�k�2�2�2�2�2rtc�t�tjgd�gd�g��}tj||dd���}tjgd���dtjd��zz}tjgd���tjd	��z}t|d
|��t|d|��dS�Nr4)r}r�r�r�r�rAri)��rAr(r(r�r )���rAr(r)g�������?r)rYrrSr/r�r�r]r�r0r;r<s     re�test_zmap_ddofzTestZmapZscore.test_zmap_ddof�	s����H�*�*�*�*�*�*�,�
-�
-��
�J�q�!�!�!�,�,�,���h�5�5�5�6�6��B�G�A�J�J��G���h�5�5�5�6�6����
�
�F��!�!�A�$��4�4�4�!�!�A�$��4�4�4�4�4rtrirrc
�>�tjdddtjg��}tjdddddtjg��}tj|||d���}t|tj||tj|��|�	����dS)
NrOrNr���r$rJrz�rir|rh)rYrrZrSr/rr�)r]ri�scores�comparer0s     re�test_zmap_nan_policy_omitz(TestZmapZscore.test_zmap_nan_policy_omit�	s�����2�r�1�b�f�-�.�.���(�B��A�q�"�b�f�5�6�6���J�v�w�T�f�E�E�E����5�:�f�g�r�x��7H�7H�6H�.I�+/�1�1�1�	2�	2�	2�	2�	2rtc��tjdd���dd��}tjddd���dd��}tj|d<tj|d	<tj|d
<tj||dd|�
��}tjtj|d|dtj|d��|���tj|d|dtj|d��|���g��}t||d���dS)N��r�rrNrFr#�)rr!rjrrzr)r|rArirrhr�r)
rYrrWrrZrSr/rr�r)r]rirHrIr0rs      re�#test_zmap_nan_policy_omit_with_axisz2TestZmapZscore.test_zmap_nan_policy_omit_with_axis�	s)����4��%�%�-�-�a��4�4���+�b�!�R�(�(�0�0��B�7�7������
�����
�����
��J�v�w�6���M�M�M���8�U�Z��q�	�(/��
�B�H�W�Q�Z�4H�4H�3H�(I�-1�3�3�3�#�Z��q�	�(/��
�B�H�W�Q�Z�4H�4H�3H�(I�-1�3�3�3�4�5�5��	��8�%�0�0�0�0�0�0rtc��tjgd���}tjdddddtjg��}tjt
d���5t
j||d	�
��ddd��dS#1swxYwYdS)Nr&rFrOrr$rJzinput contains nanr�r~r{)rYrrZr2rr�rSr/)r]rHrIs   re�test_zmap_nan_policy_raisez)TestZmapZscore.test_zmap_nan_policy_raise�	s�����)�)�)�$�$���(�B��A�q�"�b�f�5�6�6��
�]�:�-A�
B�
B�
B�	<�	<��J�v�w�7�;�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�	<�	<s�A;�;A?�A?c�^�tjgd���}gd�}t||d���dS)Nr)g��OT\w��g���%�ܿg���%��?g��OT\w�?rJrB)rS�zscorer)r]r^�desireds   re�test_zscorezTestZmapZscore.test_zscore
sC��
�L����&�&��%�%�%��!�'�1�b�9�9�9�9�9�9rtc���tjgd�gd�gd�g��}dtjd��z}tjd��dz}tjd��}tj|d	�
��}tj|d�
��}||dz|dzd
gd
||dz|g||dz||gg}gd�|||tjd��ggd�g}t||��t||��dSr3)rYrr�rSrRrr6s	         re�test_zscore_axiszTestZmapZscore.test_zscore_axis
s1���H�*�*�*�*�*�*�*�*�*�,�
-�
-��������
��
�W�R�[�[��]��
�W�R�[�[��
�\�!�!�
$�
$�
$��
�\�!�!�
$�
$�
$����b�S��U�R�C��E�3�/��R�"��Q���+��R�C��E�2��s�+�-��.�-�-���b�S�2�#�r�w�r�{�{�3�-�-�-�/��	"�"�k�2�2�2�!�"�k�2�2�2�2�2rtc�r�tjgd�gd�g��}tj|dd���}tjgd���dtjd��zz}tjgd���tjd	��z}t|d
|��t|d|��dSr?)rYrrSrRr�rrCs     re�test_zscore_ddofzTestZmapZscore.test_zscore_ddof
s����H�*�*�*�*�*�*�,�
-�
-��
�L����+�+�+���h�5�5�5�6�6��B�G�A�J�J��G���h�5�5�5�6�6����
�
�F��!�!�A�$��4�4�4�!�!�A�$��4�4�4�4�4rtc��tjddtjddg��}tj|d���}ttj|����sJ�dS)Nrrr!r"r�r{)rYrrZrSrRr�r��r]r�r0s   re�test_zscore_nan_propagatez(TestZmapZscore.test_zscore_nan_propagate+
sT���H�a��B�F�A�q�)�*�*���L��{�3�3�3���2�8�A�;�;�������rtc���tjddtjddg��}tj|d���}tjddtjd	d
g��}t||��dS)Nrrr!r"rzr{gIHb=�gIHb=�gIHb=�?gIHb=�?)rYrrZrSrRr�r]r�r0rs    re�test_zscore_nan_omitz#TestZmapZscore.test_zscore_nan_omit0
sq���H�a��B�F�A�q�)�*�*���L��v�.�.�.���8�0�0��V�/�/�	� � ��	"�!�X�.�.�.�.�.rtc��tjtjdddddg��}tj|dd���}tjtjtj|dd�d�	��f}t
||d
���dS)Nr�r�r6rOr�rrzrGrh�vIh�%<=r)rYrrZrSrR�r_rr]s    re�test_zscore_nan_omit_with_ddofz-TestZmapZscore.test_zscore_nan_omit_with_ddof=
s{���H�b�f�c�3��S�#�6�7�7���L���v�6�6�6���5�����a����e�!�!<�!<�!<�<�=����8�%�0�0�0�0�0�0rtc��tjddtjddg��}ttt
j|d���dS)Nrrr!r"r~r{)rYrrZr�r�rSrRr�s  re�test_zscore_nan_raisez$TestZmapZscore.test_zscore_nan_raiseC
s=���H�a��B�F�A�q�)�*�*���j�%�,��g�F�F�F�F�F�Frtc��dgdz}tj|��}t|tjt|��tj����dS)Ng��ʡE��r )rSrRrrYrmr�rZrZs   re�test_zscore_constant_input_1dz,TestZmapZscore.test_zscore_constant_input_1dH
sD��
�H�q�L���L��O�O���Q����A�����/�/�0�0�0�0�0rtc
�^�tjgd�gd�g��}tj|d���}t	|tjtjdddgtjdddgg����tj|d���}t	|tjtjtjtjtjgtj|d��g����tj|d���}t	|tj|������|j����tj	d��}tj|d���}t	|tj
|jtj����dS)	N�rxrxrxrx�rxr�r��*@rr@r�r�r)r r#)rYrrSrRrrZrrWr�r:rm)r]r�r:rGr0r^s      re�test_zscore_constant_input_2dz,TestZmapZscore.test_zscore_constant_input_2dM
sl���H�.�.�.�.�.�.�0�
1�
1��
�\�!�!�
$�
$�
$���R���B�F�D�$��#=�$&�F�C��c�#:�#<�=�=�	>�	>�	>�
�\�!�!�
$�
$�
$���R���B�F�B�F�B�F�B�F�#C�#(�<��!��#5�#5�#7�8�8�	9�	9�	9��L���&�&�&���Q���Q�W�W�Y�Y�/�/�7�7���@�@�A�A�A��G�F�O�O���L���&�&�&���Q�������0�0�1�1�1�1�1rtc��tjgd�dddtjgddtjdgg��}tj|dd���}tjd��}tjd	��}t
|tjtj|d
tjgtjddtjgtj|tjtjgg����tj|dd���}t
|tjtjtjtjtjg|d|tjg|d	z|tj|d	zgg����dS)
Nrhrxr�r�rzr�r|rAr)rr�r�r)rYrrZrSrRr�r)r]r�r:r{�s2rGs      re�-test_zscore_constant_input_2d_nan_policy_omitz<TestZmapZscore.test_zscore_constant_input_2d_nan_policy_omit]
s]���H�.�.�.��T�4���0��T�2�6�4�0�2�
3�
3���\�!��Q�
7�
7�
7���G�C�L�L��
�W�Q�Z�Z����B�H�r�v��r�4���&@�')�v�q�#�r�v�&>�')�v�q�"�&�"�&�&A�&C�D�D�	E�	E�	E��\�!��Q�
7�
7�
7����B�H�r�v�r�v�r�v�r�v�&F�()�r�1�a���&8�(*�s�1�u�b�"�&�2�#�a�%�&@�&B�C�C�	D�	D�	D�	D�	Drtc	�`�tjtjtjtjtjggd�g��}tj|dd���}t|tjtjtjtjtjggd�g����dS)N)rxrxr�r�rzrrmr5)rYrrZrSrRrrZs   re�test_zscore_2d_all_nan_rowz)TestZmapZscore.test_zscore_2d_all_nan_rowl
s����H�r�v�r�v�r�v�r�v�6�.�.�.�0�
1�
1���L��v�A�6�6�6���Q���2�6�2�6�2�6�2�6�"B�"8�"8�"8�":�;�;�	<�	<�	<�	<�	<rtc��tjdtj��}tj|dd���}t||��dS)N�rr rzrm)rYrmrZrSrRr)r]r^r0s   re�test_zscore_2d_all_nanz%TestZmapZscore.test_zscore_2d_all_nant
sA���G�F�B�F�#�#���L��v�D�9�9�9���Q������rtr�)r rr"c�N�tj|��}t||��dSr�)rSrRrrZs   re�test_zscore_empty_inputz&TestZmapZscore.test_zscore_empty_inputz
s%���L��O�O���Q������rtc�Z�tjgd���}gd�}t||��dS)Nr)�0���j��甹`��ȿ�/��A���?�(��/�?)rS�gzscorer)r]r0rSs   re�test_gzscore_normal_arrayz(TestZmapZscore.test_gzscore_normal_array
s<���M�,�,�,�'�'��$�$�$�����#�#�#�#�#rtc���tjgd���}tj�|gd����}t	j|��}ddtjddg}t||��dS)N)rrrNr r!)rrrrr��maskrxryrzr{)rYrrn�masked_arrayrSr|rMr)r]r��mxr0rSs     re�test_gzscore_masked_arrayz(TestZmapZscore.test_gzscore_masked_array�
sp���H�%�%�%�&�&��
�U�
�
�����
�
8�
8���M�"����#�_�b�f�n�"�$�����#�#�#�#�#rtN)r�r�r�r2r6r7r1r=rDrJrNrPrTrVrXr[r^rbrdrfrkrorqrtrYrr�rvr}r�r�rtrer-r-�	s�������[����
�,�,����	%�
�)�)�_�_�_�	%�	'���
1�1���
1�3�3�3�.
5�
5�
5��[���V�a��V�,�,�2�2�-�,�2��[���V�a��V�,�,�
1�
1�-�,�
1�<�<�<�:�:�:�3�3�3�.
5�
5�
5� � � �
/�/�/�1�1�1�G�G�G�
1�1�1�
2�2�2� 
D�
D�
D�<�<�<�����[���S�8�2�8�B�<�<����)�1D�1D�"E�F�F���G�F��$�$�$�$�$�$�$�$rtr-c
��eZdZd�Zd�Zd�Zd�Zd�Zej	�
dgd���d���Zej	�
d	d
ej
ejddg��fdej
ejejdg��fg��d
���Zej	�
ddgd�fdg��d���Zd�ZdS)�TestMedianAbsDeviationc��tjdddddddddddd	d
d
d
ddd
d
d
d
ddtjg��|_tjgd���|_dS)N皙����@r~r*皙����@r��333333@�=
ףp=@r��(\��
@rr+r�皙����
@�)\��(@���Q�@)r�r�r~r~r*r�r�r�r�r�r�r�rrrr+r�r�r�r�r�r�r�g33333�<@)rYrrZ�dat_nan�datrjs re�setup_classz"TestMedianAbsDeviation.setup_class�
s{���x��t�S�#�s�C��c�!%�t�T�4��c�3��!$�c�3��S�$��b�f�!N�O�O����8�?�?�?�@�@����rtc��ttj|jd���d��|j�dd��}tj|d���}tjgd���}t||��dS)Nr@g���Q��?r#r!r)gףp=
��?r(��������?rN)rrS�median_abs_deviationr�rWrYrNr)r]r��mad�mad_expecteds    re�test_median_abs_deviationz0TestMedianAbsDeviation.test_median_abs_deviation�
s����E�6�t�x�d�K�K�K�!�	#�	#�	#��h���q�!�$�$���(��1�5�5�5���z�"9�"9�"9�:�:��!�#�|�4�4�4�4�4rtc�\�tj|jd���}t|d��dS)Nrzr{g�(\���?)rSr�r�r)r]r�s  re�test_mad_nan_omitz(TestMedianAbsDeviation.test_mad_nan_omit�
s/���(���&�I�I�I���C��&�&�&�&�&rtc���tjddddtjggd�g��}tj|d���}t|tjtjdg����dS)Nr�r�r�r�)r�r�r6rr�rr@�rYrrZrSr�r)r]r�r�s   re�test_axis_and_nanz(TestMedianAbsDeviation.test_axis_and_nan�
sk���H�s�C��c�2�6�2�/�/�/�1�
2�
2���(���3�3�3���S�"�(�B�F�C�=�1�1�2�2�2�2�2rtc	��tjdddddtjtjg��}t	j|d���}t
|d��dS)	Nrr r!r#r�rzr{r�)rYrrZrMrSr�r)�sefr0r�s   re�test_nan_policy_omit_with_infz4TestMedianAbsDeviation.test_nan_policy_omit_with_inf�
sO���H�a��A�q�"�b�f�b�f�5�6�6���(��v�>�>�>���S�#�����rtrA)rrrNc���tjd��}tj||���}t	|tj|�|���tj�����dS)N)r rr!r@��
fill_value)rYr�rSr�r�	full_like�sumrZ)r]rAr�r�s    re�test_size_zero_with_axisz/TestMedianAbsDeviation.test_size_zero_with_axis�
s[���H�Y�����(���6�6�6���S�"�,�q�u�u�$�u�'7�'7�B�F�K�K�K�L�L�L�L�Lrtznan_policy, expectedrzr)r�c	�>�tjtjtjtjtjtjtjgddddtjtjggd�g��}tj||d���}t||��dS)Nrr"r r#)r"r#r$r&r&rHrmr�)r]r|rr�r�s     re�test_nan_policy_with_axisz0TestMedianAbsDeviation.test_nan_policy_with_axis�
s���
�H�r�v�r�v�r�v�r�v�r�v�r�v�F��!�Q��2�6�2�6�2�)�)�)�+�
,�
,���(��z��J�J�J���S�(�#�#�#�#�#rtzaxis, expectedr)r*r�r�)Nr,c���tjddddtjggd�gd�g��}tj|tjd|���}t
||d	d	�
��dS)Nrrr!r&)rrrrrJ)���r�r�rErErz)�centerr|rAr�)rr�)rYrrZrSr�rXr)r]rArr�r�s     re�test_center_mean_with_nanz0TestMedianAbsDeviation.test_center_mean_with_nan�
s|��
�H�q�!�Q��2�6�*�&�&�&�-�-�-�/�
0�
0���(��2�7�v�.2�4�4�4����X�E��>�>�>�>�>�>rtc��tjtd���5tjgd�d���ddd��dS#1swxYwYdS)N�callabler�)rrr r"r�)r�)r2r�	TypeErrorrSr�rjs re�test_center_not_callablez/TestMedianAbsDeviation.test_center_not_callable�
s���
�]�9�J�
7�
7�
7�	@�	@��&�|�|�|�B�?�?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	@�	@��A�A�	AN)r�r�r�r�r�r�r�r�r2r6r7r�rYrrZr�r�r�r�rtrer�r��
so������@�@�@�5�5�5�'�'�'�3�3�3����
�[���V�_�_�_�5�5�M�M�6�5�M�
�[���3�%�x�r�x����c�0B�'C�'C�D�*�H�B�H�b�f�b�f�c�5J�,K�,K�L�N�O�O�$�$�O�O�$��[���-� �"2�"2�"2�3�[�A�C�C�?�?�C�C�?�@�@�@�@�@rtr�c�x�tt|��|d��|D]}t|j|u���dS)z�
    Checks that all of the warnings from a list returned by
    `warnings.catch_all(record=True)` are of the required type and that the list
    contains expected number of warnings.
    znumber of warningsN)rr�r�category)�	warn_list�
expected_type�expected_len�warn_s    re�_check_warningsr��
sN����Y����/C�D�D�D��1�1�����-�/�0�0�0�0�1�1rtc�V�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)�TestIQRc��tjd��dz}tj�|��t	tj|��d��dS)Nr%r(r�)rYrr�ryrrS�iqrr�s  rer�zTestIQR.test_basic�
sH���I�a�L�L�3���
�	���!�����U�Y�q�\�\�4�(�(�(�(�(rtc	���tjd��}tj|��tj|d��tj|d��tj|d��tj|dd��tj|ddd��tj|dddd	��tj|dd
ddd
��tj|dddddd��dS)Nr�r�rr)rH�Z)r�rEr�)rGrbr)r�)r�r�r"r~�linearg������ٿrzrpT)rYr:rSr�)r]�ds  re�test_apizTestIQR.test_api�
s����G�F�O�O��
�	�!����
�	�!�T����
�	�!�Q����
�	�!�V����
�	�!�T�8�$�$�$�
�	�!�T�8�S�)�)�)�
�	�!�T�8�S�+�6�6�6�
�	�!�T�8�X�w��A�A�A�
�	�!�T�8�T�6�7�D�A�A�A�A�Artc���ttjg��tj��ttjtjd����tj��dSr�)rrSr�rYrZrrjs rer�zTestIQR.test_empty�
sF���U�Y�r�]�]�B�F�+�+�+��U�Y�r�y��|�|�,�,�b�f�5�5�5�5�5rtc��tjd��}ttj|��d��ttj|d���tjd����ttj|d���tjd����ttj|d�	��d��ttj|d
�	��d��ttj|d�	��d��ttj|d�	��d��ttj|d
�	��d��tjd��tjd��z}ttj|d���tjd����ttj|d���tjd����ttj|d���tjdd����ttj|d���tjd����ttj|d���tjdd����ttj|d���tjdd����dS)N)r$r!r}rr@r!rr$r���
interpolation�midpoint�nearestrpr�)r!r"r#r#)r"r#)r!r#r)r!r"r*r��rrr"r��rr)	rYr:rrSr�r	r�rrmr,s   re�
test_constantzTestIQR.test_constant�
s*���G�F�O�O���U�Y�q�\�\�3�'�'�'��5�9�Q�Q�/�/�/���!���=�=�=��5�9�Q�Q�/�/�/���!���=�=�=��U�Y�q��9�9�9�3�?�?�?��U�Y�q�
�;�;�;�S�A�A�A��U�Y�q�	�:�:�:�C�@�@�@��U�Y�q��8�8�8�#�>�>�>��U�Y�q��9�9�9�3�?�?�?�
�G�I�����1���-���5�9�Q�Q�/�/�/���&�1A�1A�B�B�B��5�9�Q�Q�/�/�/���&�1A�1A�B�B�B��5�9�Q�Q�/�/�/�����1E�1E�F�F�F��5�9�Q�V�4�4�4�b�h�q�k�k�B�B�B��5�9�Q�V�4�4�4�b�g�a��n�n�E�E�E��5�9�Q�V�4�4�4�b�g�a��n�n�E�E�E�E�Ertc��tjd��dz}ttj|d��d��ttj|��d��ttj|d���dg��dS)NrrOrr}Tr)rYrrrSr�r	r�s  re�test_scalarlikezTestIQR.test_scalarlikeso���I�a�L�L�3����U�Y�q��t�_�_�c�*�*�*��U�Y�q�\�\�3�'�'�'��5�9�Q��6�6�6���>�>�>�>�>rtc��tjd���d��}tt	j|��d��t
t	j|d���tjdd����t
t	j|d���tjd	d
����t
t	j|d���d��t
t	j|d���d��dS)
NrD�r r"rOrr@r"r6rr r�r�r�)rYrrWrrSr�r	rmr�s  re�test_2DzTestIQR.test_2Ds����I�b�M�M�!�!�&�)�)���U�Y�q�\�\�3�'�'�'��5�9�Q�Q�/�/�/����B���@�@�@��5�9�Q�Q�/�/�/����B���@�@�@��5�9�Q�V�4�4�4�c�:�:�:��5�9�Q�V�4�4�4�c�:�:�:�:�:rtc�	�tj�d���}tj|gdz��}t	j|��}t
t	j|d���|��tj|dd��}t
t	j|d���|��|�dd	��}t
t	j|d
���|��|�dd	��}t
t	j|d���t	j|d�����t
t	j|d���t	j|d�����tj	d
��}tj�
|��|�d��}t
t	j|d���dt	j|dd�dd�dd�df�������t
t	j|d���d	t	j|dd�dd�d	dd�f�������t
t	j|d���dt	j|dd�dd�ddd�f�������t
t	j|d���dt	j|ddd�dd�dd�f�������t
t	j|d���dt	j|dd	dd�dd�f�������t
t	j|d���dt	j|ddd�dd�d	f�������t
t	j|d���dt	j|ddd�ddd�f�������ttjtj|d���tttj|d���dS)N)�Gr�r	rHr�r@rNr)rrrr�r��ri��r r"r$rI�rrr )r rr'r)r rr�r r)rr=)rr �rrr!r)rYr�r"�dstackrSr�r�moveaxis�swapaxesrryrWrr��	AxisErrorr�)r]�or��qr�s     rer�zTestIQR.test_axiss���I���(��+�+���I�q�c�B�h�����I�a�L�L���U�Y�q�v�.�.�.��2�2�2��K��2�q�!�!���U�Y�q�v�.�.�.��2�2�2�
�J�J�q�!�����U�Y�q�v�.�.�.��2�2�2�
�J�J�q�!�����U�Y�q�y�1�1�1��Y�q�t�,�,�,�	.�	.�	.��U�Y�q�t�,�,�,��Y�q�q�)�)�)�	+�	+�	+�
�I�n�%�%��	�	���!����
�I�I�m�$�$���U�Y�q�y�1�1�1�!�4��Y�q����1�1�1�Q�Q�Q���{�0�0�2�2�3�3�	5�	5�	5��U�Y�q�y�1�1�1�!�4��Y�q����1�1�1�a�����{�0�0�2�2�3�3�	5�	5�	5��U�Y�q�z�2�2�2�1�5��Y�q����1�1�1�a�����{�0�0�2�2�3�3�	5�	5�	5��U�Y�q�y�1�1�1�!�4��Y�q��1�1�1�Q�Q�Q�q�q�q��z�/�/�1�1�2�2�	4�	4�	4��U�Y�q�v�.�.�.�t�4��Y�q��A�a�a�a�����{�0�0�2�2�3�3�	5�	5�	5��U�Y�q�w�/�/�/��5��Y�q��A�A�A�q�q�q�!��}�2�2�4�4�5�5�	7�	7�	7��U�Y�q�v�.�.�.�t�4��Y�q��A�A�A�q�����|�1�1�3�3�4�4�	6�	6�	6�	�b�l�E�I�q�q�9�9�9�9��j�%�)�Q�V�<�<�<�<�<�<rtc�.�tjd��}ttj|��d��ttj|d���d��ttj|d���d��ttj|d���d��t
ttj|d	���t
ttj|tjd
f���t
ttj|d���dS)Nr"r)rGg�U@)rr*)g)@rb)rHr�g�������?)rr�rG)rr��<)
rYrrrSr�rr�r�rZr�r�s  re�test_rngzTestIQR.test_rng<s����I�a�L�L���U�Y�q�\�\�1�%�%�%��U�Y�q�j�1�1�1�3�7�7�7��U�Y�q�j�1�1�1�3�7�7�7��E�I�a�X�6�6�6��<�<�<��j�%�)�Q�H�=�=�=�=��j�%�)�Q�R�V�R�L�A�A�A�A��i���A�;�?�?�?�?�?�?rtc�@�tjd��}tjd��}ttj|��d��ttj|��d��ttj|d���d��ttj|d���d��ttj|d���d��ttj|dd�	��d
��ttj|d���d��ttj|d���d��ttj|dd�	��d��ttj|d���d��ttj|d���d��ttj|d���d
��ttj|d���d��ttj|dd�	��d��ttj|d���d��ttj��dkrdD]}tj||����tttj|d���dS)Nr"r!rr)r�r�r�)rG�P)rr�r rpr�rr�r*z1.22.0)�inverted_cdf�averaged_inverted_cdf�closest_observation�interpolated_inverted_cdf�hazen�weibull�median_unbiased�normal_unbiasedr)	rYrrrSr�rrr�r�)r]r�r^rfs    re�test_interpolationzTestIQR.test_interpolationGsF���I�a�L�L���I�a�L�L���U�Y�q�\�\�1�%�%�%��U�Y�q�\�\�3�'�'�'��U�Y�q��9�9�9�1�=�=�=��U�Y�q��9�9�9�3�?�?�?��U�Y�q��9�9�9�1�=�=�=��U�Y�q�h�h�G�G�G��K�K�K��U�Y�q��9�9�9�1�=�=�=��U�Y�q��8�8�8�!�<�<�<��U�Y�q�h�g�F�F�F��J�J�J��U�Y�q��8�8�8�!�<�<�<��U�Y�q�	�:�:�:�A�>�>�>��U�Y�q�	�:�:�:�A�>�>�>��U�Y�q�
�;�;�;�Q�?�?�?��U�Y�q�h�j�I�I�I�3�O�O�O��U�Y�q�
�;�;�;�Q�?�?�?����'�'�8�3�3�.�
3�
3���	�!�6�2�2�2�2�2��j�%�)�Q�h�G�G�G�G�G�Grtc���tjd��}ttj|dd���jd��ttj|dd���jd��ttj|dd���jd��ttj|d	d���jd
��ttj|dd���jd��ttj|d
d���jd��ttj|dd���jd��ttj|dd���jd��ttj|dd���jd��ttj|dd���jd��ttj|d	d���jd��ttj|dd���jd��ttj|d
d���jd��ttj|dd���jd��dS)Nr�Fr
r�r)r r"rIr�)r$rI)rr )r"r$rr�)rrrr rr�)r$TrE)r r"rrI)rrr$rI)rr"r$r)r rr$rI)rrr$r)rYr:rrSr�r�r�s  rerzTestIQR.test_keepdimsjs���G�M�"�"���U�Y�q�t�e�<�<�<�B�B�G�G�G��U�Y�q�q�5�9�9�9�?��L�L�L��U�Y�q�v��>�>�>�D�g�N�N�N��U�Y�q�v��>�>�>�D�f�M�M�M��U�Y�q�t�e�<�<�<�B�J�O�O�O��U�Y�q�,��?�?�?�E�r�J�J�J��U�Y�q�y�5�A�A�A�G��N�N�N��U�Y�q�t�d�;�;�;�A�<�P�P�P��U�Y�q�q�4�8�8�8�>�
�N�N�N��U�Y�q�v��=�=�=�C�]�S�S�S��U�Y�q�v��=�=�=�C�\�R�R�R��U�Y�q�t�d�;�;�;�A�=�Q�Q�Q��U�Y�q�,��>�>�>�D�l�S�S�S��U�Y�q�y�4�@�@�@�F��U�U�U�U�Urtc	��tjd���d��}tt	j|d���d��tt	j|d���d��tt	j|d���d��tj|d<tjd	�
��5tj	d��tt	j|d���tj��tt	j|dd�
��ddtjddg��tt	j|dd�
��dtjdg��ddd��n#1swxYwYtjd	�
��5tj	d��tt	j|d���d��tt	j|dd�
��tj
dd����tt	j|dd�
��gd���ddd��n#1swxYwYtttj|d���tttj|dd�
��tttj|dd�
��tttj|d���dS)N�.@r�r�r{r$rzr~r�T�r[�alwaysrr�r"rrr/)rr*r�barfood)
rYrrWrrSr�rZ�warnings�catch_warnings�simplefilterrmr�r�r�s  re�test_nanpolicyzTestIQR.test_nanpolicy}s����I�d�O�O�#�#�F�+�+��	�U�Y�q�[�9�9�9�1�=�=�=��U�Y�q�V�4�4�4�a�8�8�8��U�Y�q�W�5�5�5�q�9�9�9��&��$��
�
$�D�
1�
1�
1�	W�	W��!�(�+�+�+����1��=�=�=�r�v�F�F�F����1�1��E�E�E��1�b�f�VW�YZ�G[�\�\�\����1�1��E�E�E��2�6�ST�~�V�V�V�		W�	W�	W�	W�	W�	W�	W�	W�	W�	W�	W����	W�	W�	W�	W��
$�D�
1�
1�
1�	O�	O��!�(�+�+�+����1��8�8�8�#�>�>�>����1�1��@�@�@�"�'�!�Q�-�-�P�P�P����1�1��@�@�@�+�+�+�N�N�N�		O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O����	O�	O�	O�	O�	�j�%�)�Q�7�C�C�C�C��j�%�)�Q�Q�7�K�K�K�K��j�%�)�Q�Q�7�K�K�K�K�	�j�%�)�Q�9�E�E�E�E�E�Es&�8B)E-�-E1�4E1�
BH1�1H5�8H5c	��tjd���d��}tt	j|d���d��t
t	j|d���d��tt	j|d���d	��tj|d
<tj	d���5tj
d
��tt	j|dd���tj��tt	j|dd���tj��tt	j|dd���tj��tt	j|ddd���dtjdg��t
t	j|ddd���tjdtjdg��dz��tt	j|ddd���dtjdg��ddd��n#1swxYwYtt	j|dd���d��t
t	j|dd���d��tt	j|dd���d��tttj|d���tjt d���5t	jdgd���ddd��dS#1swxYwYdS)Nr�r�r��r!r$r"g=V^w��@r�r+r�Tr�r�r�)r!r|r)rAr!r|rgF�7�k��?rzr/g��	I1=@g@rzThe use of 'scale="raw"'r��raw)rYrrWrrSr�rrZr�r�r�rr�r�r2r�r�r�s  re�
test_scalezTestIQR.test_scale�sK���I�d�O�O�#�#�F�+�+��	�U�Y�q��,�,�,�a�0�0�0��E�I�a�x�8�8�8�-�H�H�H��U�Y�q��,�,�,�c�2�2�2��&��$��
�
$�D�
1�
1�
1�	)�	)��!�(�+�+�+����1�C�K�H�H�H�"�&�Q�Q�Q����1�H��M�M�M�r�v�V�V�V����1�C�K�H�H�H�"�&�Q�Q�Q����1�1�C�.9�;�;�;�=>����N�
L�
L�
L���	�!�!�8�5@�!B�!B�!B� "��!�R�V�Q�� 8� 8�9� D�
F�
F�
F�
���1�1�C�K�P�P�P��R�V�Q��
)�
)�
)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�"	�U�Y�q���?�?�?��E�E�E��E�I�a�x�F�K�K�K�+�	-�	-�	-��U�Y�q���?�?�?��F�F�F�	�j�%�)�Q�h�?�?�?�?�
�\��.�
�
�
�	(�	(�
�I�q�c��'�'�'�'�		(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	(�	(s%�8EH�H�H�K0�0K4�7K4N)r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rtrer�r��
s�������)�)�)�

B�
B�
B�6�6�6�F�F�F�,?�?�?�;�;�;�'=�'=�'=�R	@�	@�	@�!H�!H�!H�FV�V�V�&F�F�F�:'(�'(�'(�'(�'(rtr�c��eZdZdZgd�ZdZej�d��ej�	d��Z
gd�Zddd�d	�Zd
�Z
ej�dejejejg��ej�dd
dg��d�����Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!dS)�TestMomentsa
        Comparison numbers are found using R v.1.5.1
        note that length(testcase) = 4
        testmathworks comes from documentation for the
        Statistics Toolbox for Matlab and can be found at both
        https://www.mathworks.com/help/stats/kurtosis.html
        https://www.mathworks.com/help/stats/skewness.html
        Note that both test cases came from here.
    rr���rx)g�p=
ף�?g�?�߾�?gD���9�?g��QI���?g}?5^�I�N�r�r?c��tj|��}|�tj||��}t||��|�|j}|j|ksJ�dSr�)rYrN�broadcast_tor	r?)r]r��expectr�r?s     re�
_assert_equalzTestMoments._assert_equal�s]����F�#�#�����_�V�U�3�3�F��6�6�*�*�*��=��L�E��|�u�$�$�$�$�$�$rtc���tj|j��}t|d��tj|jd��}t|d��tj|jd��}t|dd��tj|jd��}t|d��tj|jd��}t|d��tj|jd	��}t|d
��tj|jgd���}t|gd���tj|jd��}t|d��t
ttj|jd
��tj|jgd���}t|gd���d}tj	t|���5tjg��}|�|tj
tj���tjtjgtj�����}|�|tj
tj���tjtjd��d���}|�|gdtj���tjggd���}|�|tj
dtj���tjggddgd���}|�|gd���ddd��n#1swxYwYtjd��}tj
|d<t'tj|d��tj
��t)tj|d���d��t
ttj|d���t
ttj|d���dS) Nr}rr�rrHr��?r r!��@r)rrrr�333333�?)r�rr r��Mean of empty slice.r�r>r�r@r�r�r)�momentrA)rr)r�rxr&rzr{r~r)rSrr)r
r*rr�r�r2r�r\rrYrZrrrr�rrr)r]r^r3r�s    re�test_momentzTestMoments.test_moment�s����L��-�.�.���A�s�#�#�#��L����*�*���A�s�#�#�#��L����*�*���A�s�B�'�'�'��L����*�*���A�t�$�$�$��L����*�*���A�s�#�#�#��L����*�*���A�v�&�&�&�
�L������5�5����/�/�/�0�0�0�
�L����,�,���A�s�#�#�#��j�%�,��
�s�C�C�C��L���(8�(8�(8�9�9����/�/�/�0�0�0�)��
�\�.��
8�
8�
8�
	4�
	4���R� � �A����q�"�&��
��;�;�;���R�X�b��
�;�;�;�<�<�A����q�"�&��
��;�;�;���R�X�f�-�-�A�6�6�6�A����q�"�D��
��C�C�C���b�T��*�*�*�A����q�"�&��B�J��G�G�G���b�T�1�a�&�q�9�9�9�A����q�"�F��3�3�3�
	4�
	4�
	4�
	4�
	4�
	4�
	4�
	4�
	4�
	4�
	4����
	4�
	4�
	4�
	4�
�I�c�N�N���v��!���U�\�!�Q�'�'���0�0�0��E�L��v�>�>�>��D�D�D��j�%�,��g�F�F�F�F��j�%�,��h�G�G�G�G�G�Gs�E L2�2L6�9L6r?zexpect, momentr�r�c�X�tj�d���|��}t	j||���}|�|||���t	jtj|d��d|���}|�||d|���t	jtj|d	��d
|���}|�||d|���t	jtj|d	��d|���}|�||d|���dS)
Nr"�rr>)r#r"r)rArr�r�rr)rrr!r"r�)rYr�r�r
rSrrr�)r]r?r�rr�r^s      re�test_constant_momentsz!TestMoments.test_constant_momentss%��
�I�N�N�1���$�$�U�+�+���L��6�*�*�*�����1�f�E��2�2�2��L����F�3�3�!�F�K�K�K�����1�f�D���>�>�>��L����O�<�<�1� &�
(�
(�
(�����1�f�L���F�F�F��L����O�<�<�4� &�
(�
(�
(�����1�f�B�e��<�<�<�<�<rtc�0�tjd���dd���t��}tj|d<t
j|ddd���}tj�	|dtjgd	�
��dS)Nr%rrNr�rr�r�rr�r�)
rYrrWr
r�rZrSrrOr)r]r��mms   re�test_moment_propagate_nanz%TestMoments.test_moment_propagate_nans{��
�I�a�L�L� � ��B�'�'�.�.�u�5�5���&��$��
�\�!�Q�Q�;�
?�
?�
?��
�
�"�"�2��b�f�~�E�"�B�B�B�B�Brtc��tjtd���5tjgd�g���ddd��dS#1swxYwYdS)Nz7'moment' must be a scalar or a non-empty 1D list/array.r�rr	)r2rr�rSrrjs re�test_moment_empty_momentz$TestMoments.test_moment_empty_moment&s���
�]�:�.J�K�K�K�	2�	2��L����b�1�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2r�c��tjtd���5tj|j��}t
j|��sJ�	ddd��n#1swxYwYtj|j��}t|dd��tj|jd���}t|dd��tj|j
��}t|dd��t
jd	��}tj|d
<t
j
d���5ttj|��tj��ddd��n#1swxYwYttj|d
���d��tt tj|d���tt tj|d���dS)N�Precision loss occurredr�g7l�*�ҿrHr��biasg��2۠�ۿr}rxr&r^r_rzr{r~r)r2r�r\rS�skewr)rYr��
testmathworksr
r*rrZrarr�r��r]r^r�s   re�
test_skewnesszTestMoments.test_skewness,s���
�\�.�0I�
J�
J�
J�	�	��
�4�/�0�0�A��8�A�;�;�����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�

�J�t�)�*�*���A�0�"�5�5�5��J�t�)��2�2�2���A�1�2�6�6�6��J�t�}�%�%���A�s�B�'�'�'��I�c�N�N���v��!��
�[��
*�
*�
*�	0�	0����A�����/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0��U�Z��f�5�5�5�r�:�:�:��j�%�*�a�G�D�D�D�D��j�%�*�a�H�E�E�E�E�E�Es#�0A�A� A�-E�E�Ec�d�ttjtd����d��dS)NrHr})rrSrrrjs re�test_skewness_scalarz TestMoments.test_skewness_scalarBs(���U�Z��r�
�
�+�+�S�1�1�1�1�1rtc��tjd���dd���t��}tj|d<tjd���5tj|dd�	��}ddd��n#1swxYwYtj	�
|d
tjgd���dS)
Nr%rrNr�r^r_rr�r�rr�r�)rYrrWr
r�rZrarSrrOr)r]r�r{s   re�test_skew_propagate_nanz#TestMoments.test_skew_propagate_nanFs���
�I�a�L�L� � ��B�'�'�.�.�u�5�5���&��$��
�[��
*�
*�
*�	>�	>��
�1�1��=�=�=�A�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�
�
�"�"�1�q�"�&�k��"�>�>�>�>�>s�%B	�	B
�B
c
��tjtd���5tjdd��}tjt
j|����sJ�tjt
j|td��z����sJ�tjt
j|td��z����sJ�tjt
j|d�����sJ�tjt
jdgd	z����sJ�tjt
jd
tj	dd��d
zz����sJ�	ddd��dS#1swxYwYdS)Nrr���9���ѿrH� Frg������,@r$rrOr!g��ؗ�Ҝ<)
r2r�r\rY�repeatr�rSrr�r�r]r�s  re�test_skew_constant_valuez$TestMoments.test_skew_constant_valueOs����\�.�0I�
J�
J�
J�		D�		D��	�+�r�*�*�A��8�E�J�q�M�M�*�*�*�*�*��8�E�J�q�5��<�<�'7�8�8�9�9�9�9�9��8�E�J�q�5��<�<�'7�8�8�9�9�9�9�9��8�E�J�q�u�5�5�5�6�6�6�6�6��8�E�J��v�a�x�0�0�1�1�1�1�1��8�E�J�q�2�9�R��+;�+;�E�+A�'A�B�B�C�C�C�C�C�C�		D�		D�		D�		D�		D�		D�		D�		D�		D�		D�		D�		D����		D�		D�		D�		D�		D�		Ds�EE/�/E3�6E3c�F�tjtd���5tj|j��}t
j|��sJ�	ddd��n#1swxYwYtj|jddd���}t|dd��tj|jdd���}t|dd��tj|j
dd��}t|d	��t
jd
��}tj|d<ttj|��tj��ttj|d�
��d��tt tj|d�
��tt tj|d�
��dS)Nrr�rr��fisherrgO߻S@rHg�x|�N
@g=
ףp=�?rxr&rzr{�G�z��r~r)r2r�r\rS�kurtosisr)rYr�rr
r*rrZrrr�r�rs   re�
test_kurtosiszTestMoments.test_kurtosis]s���
�\�.�0I�
J�
J�
J�	�	���t�3�4�4�A��8�A�;�;�����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�N�4�-�q���C�C�C���A���3�3�3�
�N�4�-�a�a�@�@�@���A�0�"�5�5�5��N�4�=�!�Q�/�/���A�t�$�$�$��I�c�N�N���v��!���U�^�A�&�&���/�/�/��E�N�1��@�@�@�)�L�L�L��j�%�.�!��H�H�H�H��j�%�.�!��I�I�I�I�I�Is�0A�A� Ac�r�tttjgd�����t��dS)Nr&)r�typerSr&r�rjs re�test_kurtosis_array_scalarz&TestMoments.test_kurtosis_array_scalarys.���T�%�.����1�1�2�2�E�:�:�:�:�:rtc�.�tjd���dd���t��}tj|d<t
j|dd���}tj�	|dtjgd	�
��dS)Nr%rrNr�rr�r�g�(\���r�r�)
rYrrWr
r�rZrSr&rOr)r]r�r�s   re�test_kurtosis_propagate_nanz'TestMoments.test_kurtosis_propagate_nan|sy��
�I�a�L�L� � ��B�'�'�.�.�u�5�5���&��$���N�1�1��=�=�=��
�
�"�"�1�u�b�f�o�E�"�B�B�B�B�Brtc	�,�tjdd��}tjtd���5tjt
j|d�����sJ�tjt
j|td��zd�����sJ�tjt
j|td��zd�����sJ�tjt
j|dd�����sJ�	ddd��dS#1swxYwYdS)	NrrHrr�F)r$rr#)	rYrr2r�r\r�rSr&r�r s  re�test_kurtosis_constant_valuez(TestMoments.test_kurtosis_constant_value�sR��
�I�k�2�&�&��
�\�.�0I�
J�
J�
J�	I�	I��8�E�N�1�U�;�;�;�<�<�<�<�<��8�E�N�1�u�U�|�|�+;�E�J�J�J�K�K�K�K�K��8�E�N�1�u�U�|�|�+;�E�J�J�J�K�K�K�K�K��8�E�N�1�U��G�G�G�H�H�H�H�H�H�		I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I�	I�	Is�C
D	�	D
�D
c���|jtj|j��z
}ttj|d�����tj|jd����dS)Nrx)�testcase_moment_accuracyrYrXrrrSr)r]�
tc_no_means  re�test_moment_accuracyz TestMoments.test_moment_accuracy�sn���2��W�T�:�;�;�<�
�����R�0�0�5�5�7�7�!�L��)F��K�K�	M�	M�	M�	M�	Mrtc��tjtd���5tj�d��}|�d���}d|dd�df<t
j|��dddd��dS#1swxYwYdS)Nrr�l:"z`)rBrHr	�)\��(�?r)r2r�r\rYr�rrSr)r]rr�s   re�test_precision_loss_gh15554z'TestMoments.test_precision_loss_gh15554�s����\�.�0I�
J�
J�
J�	�	��)�'�'��4�4�C��
�
�	�
�*�*�A��A�a�a�a��d�G��J�q�M�M�!���		�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�AB�B�	Bc�(�d}tjt|���5tjg��ddd��n#1swxYwYtjt|���5tjg��ddd��dS#1swxYwYdS)Nrr�)r2r�r\rSrr&�r]r3s  re�
test_empty_1dzTestMoments.test_empty_1d�s��(��
�\�.��
8�
8�
8�	�	��J�r�N�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�\�.��
8�
8�
8�	�	��N�2����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s!�?�A�A�%B�B�B)"r�r�r�r5r*r)rYr�r�r�r0rrrr2r6r7rr�
complex128r
r
rrrrr!r'r*r,r.r2r5r8r�rtrer�r��s����������y�y�H��O��I�N�N�4����!�y�~�~�b�1�1��<�<�<�M�59��%�%�%�%�%�-H�-H�-H�^�[���W�r�z�2�:�r�}�&M�N�N��[���-���/?�@�@�=�=�A�@�O�N�=� C�C�C�2�2�2�F�F�F�,2�2�2�?�?�?�D�D�D�J�J�J�8;�;�;�C�C�C�I�I�I�M�M�M��������rtr�c���eZdZejgd���Zejgd���ZdZdZdZ	dZ
dZdZd	Z
d
Ze
dzZde
dzz
Zd�Zd
�Zej�dgd���d���Zd�ZdS)�TestStudentTestr�r�rrg��S�z���gE��.��?g�{��g�B�4t��?g�{��?g������?rc��t��5}tjd���5tjt
d���5|�t
d��tjdd��\}}ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYttj
|����ttj
|����tj|jd��\}}t||j
��t||j��tj|jd��}d	}t||��tj|jd��\}}t||j��t||j��tj|jd
��\}}t||j��t||j��tj|jd��\}}t||j��t||j��tj�dd
dd���}tj|d<tjd���5t5tj|d��tjtjf��ttj|dd���d��t7t8tj|dd���t7t8tj|dd���ddd��dS#1swxYwYdS)Nr^r_rr�r&r�r�r�r�r�rrr"rH�3i��t�r r!r��random_stater�r6rzr{)g̈́�^�B��g/kC�m�?r~r)r
rYrar2r�r\r'rS�ttest_1samprr��X1r�T1_0�P1_0r�X2�T2_0�P2_0�T1_1�P1_1�T1_2�P1_2�norm�rvsrZr	r�r�)r]rd�tr�r�r�r�s       re�test_onesamplezTestStudentTest.test_onesample�s���
�
 �
 �	-�C���X�)F�)F�)F�	-�	-���^�3L�M�M�M�	-�	-��J�J�~�'J�K�K�K��$�R��,�,�D�A�q�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	������������������� ���!�,�,���1�!�!�T�Y�/�/�/�!�!�T�Y�/�/�/������+�+��,�
��C��,�,�,�� ���!�,�,���1�!�!�T�Y�/�/�/�!�!�T�Y�/�/�/�� ���!�,�,���1�!�!�T�Y�/�/�/�!�!�T�Y�/�/�/�� ���!�,�,���1�!�!�T�Y�/�/�/�!�!�T�Y�/�/�/�
�J�N�N�q���'�N�J�J�����"��
�[��
*�
*�
*�	/�	/��u�0��C�8�8�2�6�2�6�:J�K�K�K�%�e�&7��3�6�&R�&R�&R�&Q�
S�
S�
S��*�e�&7��C�G�T�T�T�T��*�e�&7��C�%-�
/�
/�
/�
/�
	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/sk�B/�B�4B�5B�B�B�B�	B�B/�B	�B/�B	� B/�/B3�6B3�B%L=�=M�Mc�z�tttj|jdd���tj|jdd���\}}t||j��t||j��tj|jdd���\}}t||j��t||j��dS)Nr�errorrrrr)	r�r�rSrArBr�P1_1_lrH�P1_1_g)r]rNr�s   re�test_1samp_alternativez&TestStudentTest.test_1samp_alternative�s����j�%�"3�T�W�a�")�	+�	+�	+�	+�� ���!��@�@�@���1���4�;�'�'�'���4�9�%�%�%�� ���!��C�C�C���1���4�;�'�'�'���4�9�%�%�%�%�%rtrr}c��tj�d��}d}|�|dd���}|���}ddgdtjgtjd	gd
�}tj|||���}|�d�
��}t|||��t|j
|dz
��dS)Nl<Ple�H�rHr)r�r�r r!g�]�?g$(��}w@g�S1���?g���]@�r
rr)�popmeanr�333333�?��confidence_levelr)rYr�rr"rMrSrAr	rr�df)	r]rrr�r�rXrr�rs	         re�test_1samp_ci_1dz TestStudentTest.test_1samp_ci_1d�s����i�#�#�$7�8�8�����J�J�A�3�a�J�0�0���*�*�,�,��0�1C�D�-�r�v�6����!2�3�5�5�����7��L�L�L��
�
$�
$�d�
$�
;�
;����C��,�-�-�-��S�V�Q�q�S�!�!�!�!�!rtc���tjtjd��d��}d}t	jt|���5|�d���ddd��dS#1swxYwYdS)NrHr�4`confidence_level` must be a number between 0 and 1.r�rZ)rSrArYrr2rr�r	)r]r�r3s   re�test_1samp_ci_ivz TestStudentTest.test_1samp_ci_iv
s������	�"�
�
�q�1�1��H��
�]�:�W�
5�
5�
5�	9�	9��#�#�R�#�8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	9�	9s�A)�)A-�0A-N)r�r�r�rYrrBrErCrDrHrIrJrKrFrGrRrSrOrTr2r6r7r]r`r�rtrer;r;�s�������	���*�*�*�	�	�B�	���)�)�)�	�	�B��D��D��D��D��D��D��D��D�
�A�X�F�
�$��(�^�F�*/�*/�*/�X
&�
&�
&��[���]�,L�,L�,L�M�M�"�"�N�M�"�(9�9�9�9�9rtr;c�f�eZdZd�Zej�dgd���d���Zej�dgd���d���Zej�dgd���d���Z	ej�dgd	���d
���Z
ej�dgd���d���Zej�dgd���d���Zej�dgd	���d
���Z
ej�ddgd�fdgd�fdgd�fdgd�fg��d���Zej�ddgd�fdgd�fdgd�fdgd�fg��d���Zdgdejfdejgdejfdejggd�ejejejgfdddgddejgddejgfd ddejggd�gd!�fd ddgd"dejgd"dejgfd ejejggd�ejejejgfgZej�d#e��d$���Zd%ddd&ejggd'�d(fd%gd'�ddd&ejgd(fgZej�d)e��d*���Zej�d+gd,���d-���Zd.S)/�TestPercentileOfScorec�$�tj|i|��Sr�)rS�percentileofscore)r]�args�kwargss   re�fzTestPercentileOfScore.f

s���&��7��7�7�7rtzkind, result))r�r�)rX�#��strictr�)�weakr�c�Z�gd�}t|�|d|���|��dS)N�
rrr r!r"r#r$r%r&rHr!��kind�rrg�r]rorr�s    re�test_uniquez!TestPercentileOfScore.test_unique
s7��

,�+�+���T�V�V�A�q�t�V�,�,�f�5�5�5�5�5rt))r�rk)rXr�ri)rkr�c�Z�gd�}t|�|d|���|��dS)N)
rrr r!r!r"r#r$r%r&r!rnrprqs    re�test_multiple2z$TestPercentileOfScore.test_multiple2
�7��

+�*�*���T�V�V�A�q�t�V�,�,�f�5�5�5�5�5rt))r�r�)rXrkri)rkr�c�Z�gd�}t|�|d|���|��dS)N)
rrr r!r!r!r"r#r$r%r!rnrprqs    re�test_multiple3z$TestPercentileOfScore.test_multiple3 
rurt))r�r�)rXr�ri)rkr�c�Z�gd�}t|�|d|���|��dS)N)
rrr r"r#r$r%r&rHrIr!rnrprqs    re�test_missingz"TestPercentileOfScore.test_missing(
s7��

-�,�,���T�V�V�A�q�t�V�,�,�f�5�5�5�5�5rtc�Z�gd�}t|�|d|���|��dS)N�
rHrEr�r�r�r��Fr�r�rBr�rnrprqs    rerhz(TestPercentileOfScore.test_large_numbers0
s7��

6�5�5���T�V�V�A�r��V�-�-�v�6�6�6�6�6rtc�Z�gd�}t|�|d|���|��dS)N)
rHrEr�r�r�r�r�r�r|r�r�rnrprqs    re�test_large_numbers_multiple3z2TestPercentileOfScore.test_large_numbers_multiple38
s7��

5�4�4���T�V�V�A�r��V�-�-�v�6�6�6�6�6rtc�Z�gd�}t|�|d|���|��dS)N�
rHrEr�r�r�r|r�r�rB�nr�rnrprqs    re�test_large_numbers_missingz0TestPercentileOfScore.test_large_numbers_missing@
s7��

7�6�6���T�V�V�A�r��V�-�-�v�6�6�6�6�6rtr�)rrHrBrBrX)rr"�_rBrj)rrr�rBrkc�^�gd�}t|�|gd�|���|��dS)Nr�)rrHr�rWrnrprqs    re�test_boundariesz%TestPercentileOfScore.test_boundariesH
s>��

7�6�6���T�V�V�A�0�0�0�t�V�<�<�f�E�E�E�E�Ert)rrHrB)rr"r�)rrr�c
��ddddddddd	tj
g
}t|�|tjdtj
g|�
��|��dS)Nrrr r!r"r#r$r%r&rn)rYrMrrgrqs    re�test_infzTestPercentileOfScore.test_infP
sY��
��1�a��A�q�!�Q����0���T�V�V�A�����R�V�G�4�4�V�@�@�&�I�I�I�I�Irtr�rr�rr�rBrz)rr�rBrzpolicy, a, score, resultc�R�t|�|||���|��dS)Nr{rp)r]�policyr�r�rs     re�test_nans_okz"TestPercentileOfScore.test_nans_ok`
s*���T�V�V�A�u��V�8�8�&�A�A�A�A�Artr~r r&rWzpolicy, a, score, messagec��tt|���5|�|||���ddd��dS#1swxYwYdS)Nr�r{)r�r�rg)r]r�r�r�r3s     re�test_nans_failz$TestPercentileOfScore.test_nans_failk
s���
�:�W�
5�
5�
5�	0�	0��F�F�1�e��F�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0s�=�A�Ar�))r#rs�rrr )rrrr c��tjgd���}|�|��}|dz}gd�}t|�||d���|��dS)N)rrrr r!r"rHrmr�rn)rYrrWrrg)r]r�r�rH�resultss     re�test_ndzTestPercentileOfScore.test_ndp
sg��
�H�'�'�'�(�(�����5�!�!����)��+�+�+���T�V�V�A�v�F�V�3�3�W�=�=�=�=�=rtN)r�r�r�rgr2r6r7rrrtrwryrhr~r�r�r�rYrZ�casesr�r�r�r�rtrerbrb
s�������8�8�8��[���^�.<�.<�.<�=�=�6�6�	=�=�6��[���^�.<�.<�.<�=�=�6�6�	=�=�6��[���^�.<�.<�.<�=�=�6�6�	=�=�6��[���^�.<�.<�.<�=�=�6�6�	=�=�6��[���^�.<�.<�.<�=�=�7�7�	=�=�7��[���^�.<�.<�.<�=�=�7�7�	=�=�7��[���^�.<�.<�.<�=�=�7�7�	=�=�7��[���^�v�7H�7H�7H�.I�/5����.G�/7����.I�/5�7H�7H�7H�.I�.K�L�L�F�F�	L�L�F��[���^�v�|�|�|�.D�/5�z�z�z�.B�/7����.D�/5�|�|�|�.D�.F�G�G�J�J�	G�G�J��2�q�"�&�
)��B�F�8�Q���
/��B�F�8�Y�Y�Y�������0H�
I��A�q�6�A�q�"�&�>�B��R�V�3D�
E��q�!�R�V�n�i�i�i����
>��q�!�f�q�!�R�V�n�q�"�b�f�o�
>��r�v�r�v�&�	�	�	�B�F�B�F�B�F�3K�
L�

N�E��[���7��?�?�B�B�@�?�B�
�1�a��B�F�#�Y�Y�Y�	(�	*�	�)�)�)�a��A�r�v�.�	(�	*�
�E��[���8�%�@�@�0�0�A�@�0��[���W�'�'�'���>�>�
��>�>�>rtrb�Case)�f_obs�f_exprirA�chi2�log�mod_log�cr)r!r%rJr%r!rr(rJr)r%r�rwgf�x�(@)rrFrJrrMr�rF��?g���{T�4@)r r"r$r&�rrrc�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestPowerDivergencec�l�tj|��}|�|j}n"tj||��}|j|}t��5}	|	�td��tj	|||||���\}
}t|
|��|dks|dkr+tj||||���\}
}t|
|��ddd��n#1swxYwYtj|��}tjj
�||dz
|z
��}t||��dS)NrP�r�r�rirA�lambda_r�pearson)r�r�rirA)rYrNr��	broadcastr�r
r'r\rS�power_divergencer�	chisquare�
distributionsr��sf)
r]r�r�rirAr��
expected_stat�num_obsr�rd�statr��
expected_ps
             re�check_power_divergencez*TestPowerDivergence.check_power_divergence�
s���
�5�!�!���<��j�G�G���U�E�*�*�A��g�d�m�G�
�
 �
 �	5�C��J�J�~�'<�=�=�=��,�&+�5�t�%)�7�<�<�<�G�D�!�
�D�-�0�0�0��!�|�|�w�)�3�3��/��U��/3�5�5�5���a���m�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5��z�$�����(�-�0�0��18�1��t�1C�E�E�
���:�&�&�&�&�&s�A?C�C�!Cc	���tD�]h}|�|j|j|j|jd|j��|�|j|j|j|jd|j��|�|j|j|j|jd|j��|�|j|j|j|jd|j��|�|j|j|j|jd|j��|�|j|j|j|jd|j	��|�|j|j|j|jd|j	����jdS�Nr�r�log-likelihood�mod-log-likelihood�cressie-readrw)
�power_div_1d_casesr�r�r�rirAr�r�r�r��r]�cases  rer�zTestPowerDivergence.test_basic�
s|��&�	!�	!�D��'�'��:�t�z�4�9�d�i����
$�
$�
$�
�'�'��:�t�z�4�9�d�i��d�i�
)�
)�
)�
�'�'��:�t�z�4�9�d�i��d�i�
!�
!�
!�
�'�'��:�t�z�4�9�d�i�#�T�X�
/�
/�
/�
�'�'��:�t�z�4�9�d�i�'���
7�
7�
7�
�'�'��:�t�z�4�9�d�i�!�4�7�
,�
,�
,�
�'�'��:�t�z�4�9�d�i����
!�
!�
!�
!�'	!�	!rtc	���tD�]i}tj�|j��}|�||j|j|jd|j	��|�||j|j|jd|j	��|�||j|j|jd|j	��|�||j|j|jd|j
��|�||j|j|jd|j��|�||j|j|jd|j��|�||j|j|jd|j����kdSr�)
r�rYrnrr�r�r�rirAr�r�r�r�)r]r��mobss   re�test_basic_maskedz%TestPowerDivergence.test_basic_masked�
s���&�	!�	!�D��5�;�;�t�z�*�*�D��'�'����T�Y��	����
$�
$�
$�
�'�'����T�Y��	��d�i�
)�
)�
)�
�'�'����T�Y��	��d�i�
!�
!�
!�
�'�'����T�Y��	�#�T�X�
/�
/�
/�
�'�'����T�Y��	�'���
7�
7�
7�
�'�'����T�Y��	�!�4�7�
,�
,�
,�
�'�'����T�Y��	����
!�
!�
!�
!�)	!�	!rtc	���td}td}tj|j|jf��}tjtj|j��tj|j��z|jf��}|�||ddd|j|jg��|�||ddd|j	|j	g��|�||ddd|j
|j
g��|�||ddd|j|jg��|�tj|j���
dd��dddd|j��dS)Nrrr�r�r�r�r)r�rYr1r��	ones_likerXr�r�r�r�r�r�rrW)r]�case0�case1r�r�s     rer�zTestPowerDivergence.test_axiss��"�1�%��"�1�%���	�5�;���4�5�5���	�2�<���4�4�R�W�U�[�5I�5I�I� �;�(�)�)��	
�#�#��e�Q���5�:�u�z�2�	4�	4�	4�	
�#�#��e�Q���%�)�U�Y�!7�	9�	9�	9�	
�#�#��e�Q��#�e�m�U�]�%C�	E�	E�	E�	
�#�#��e�Q�����%�(�3�	5�	5�	5�
	
�#�#��x���$�$�,�,�Q��2�2�D�!�T��%�*�	&�	&�	&�	&�	&rtc��td}td}tj|j|jf��j}tjtj|j��tj|j��z|jf��j}|j|jg}tj	dgdgg��}tj|||���\}}t||��tj|||d���\}	}
tj|||d���\}}t|tj|
|f����dS)Nrrrhrr�)r�rYr1r�r�r�rXr�r�rrSr�rr	)
r]r�r�r�r��
expected_chi2rir�r��stat0�p0�stat1�p1s
             re�test_ddof_broadcastingz*TestPowerDivergence.test_ddof_broadcasting%s+��#�1�%��"�1�%���	�5�;���4�5�5�7���	�2�<���4�4�R�W�U�[�5I�5I�I� �;�(�)�)�)*�	���U�Z�0�
��x�!��q�c�
�#�#���(���D�A�A�A���a���m�,�,�,��*�5�%�d�3�i�H�H�H�	��r��*�5�%�d�3�i�H�H�H�	��r��1�b�i��R��1�1�2�2�2�2�2rtc
��tj��5tD]�}|�|j|j|j|jd|j��|�|j|j|j|jd|j	��|�|j|j|j|jd|j
��|�|j|j|j|jd|j����	ddd��dS#1swxYwYdS)Nr�r�r�r�)r�r��power_div_empty_casesr�r�r�rirAr�r�r�r�r�s  re�test_empty_casesz$TestPowerDivergence.test_empty_casesAsT��
�
$�
&�
&�
	0�
	0�-�
0�
0���+�+��z�4�:�t�y�$�)� �$�)�-�-�-��+�+��z�4�:�t�y�$�)�'���3�3�3��+�+��z�4�:�t�y�$�)�+�T�\�;�;�;��+�+��z�4�:�t�y�$�)�%�t�w�0�0�0�0�
0�
	0�
	0�
	0�
	0�
	0�
	0�
	0�
	0�
	0�
	0�
	0�
	0����
	0�
	0�
	0�
	0�
	0�
	0s�CC9�9C=�C=c���tdj}tdj}tdj}tdj}tj||||d���}d}t||��dS)Nrr�r�r=)r�r�r�rirArSr�r)r]r�r�rirAr�r�s       re�'test_power_divergence_result_attributesz;TestPowerDivergence.test_power_divergence_result_attributesQsv��"�1�%�+��"�1�%�+��!�!�$�)��!�!�$�)���$�5��D�*.�	�C�C�C��,�
��C��,�,�,�,�,rtc��tjddgddgg��}tjddgddgg��}ttd�	��5t	jddgdd
g���ddd��n#1swxYwYttd�	��5t	j||d�
��ddd��n#1swxYwYt	j||���\}}t
|ddg��t
|ddg��dS)NrHrEr�r"rDrhrG�For each axis slice...r�r��r�r�r)r�r�rAg�̑�m�@g���UUU@g�j�^4;�?g�4���;�?)rYrr�r�rSr�r)r]r�r�r�rs     re�test_power_divergence_gh_12282z2TestPowerDivergence.test_power_divergence_gh_12282\s�����2�r�(�R��H�-�.�.����1�b�'�B��8�,�-�-��
�:�-E�
F�
F�
F�	C�	C��"�"�b��"�b��B�B�B�B�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C����	C�	C�	C�	C�
�:�-E�
F�
F�
F�	E�	E��"��e�!�D�D�D�D�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E��+�%�u�E�E�E�
��d���z�:�6�7�7�7���z�:�6�7�7�7�7�7s$�A2�2A6�9A6�B7�7B;�>B;N)r�r�r�r�r�r�r�r�r�r�r�r�rtrer�r��
s�������'�'�'�6!�!�!�0!�!�!�2&�&�&�43�3�3�80�0�0� 	-�	-�	-�
8�
8�
8�
8�
8rtr�c��ttd���5tjddgddg���ddd��dS#1swxYwYdS)Nr�r�rHrEr�r�r�)r�r�rSr�r�rtre�test_gh_chisquare_12282r�is���
�z�)A�	B�	B�	B�8�8�
��r�2�h�r�2�h�7�7�7�7�8�8�8�8�8�8�8�8�8�8�8�8����8�8�8�8�8�8s�?�A�Azn, dtyperWi@Bc���tj|dg|���}tj|dz|dzg|���}tj||��\}}t	||d���dS)Nrr>rr`r)rYrrSr�r)r�r?�obs�expr�r�s      re�test_chiquare_data_typesr�qsm��
�(�A�q�6��
'�
'�
'�C�
�(�A��F�A��F�#�5�
1�
1�
1�C��o�c�3�'�'�G�D�!��D�!�%�(�(�(�(�(�(rtc	���tjgd�gd�g��j}tjgd�gd�g��j}tj�||��}tjddg��}tjddtjd��zd	tjd
��zzzddtjd��zd
tjd��zzzg��}tjj}t
j	|��\}}tj||��tj||�
||�d���dz
����t
j|d���\}}tj||d���tj||�
||�d���dz
����t
j	|jd���\}}tj||��tj||�
||j�d���dz
����t
j|jdd���\}}tj||d���tj||�
||�d���dz
����tj�gd�gd����}	tj�gd�gd����}
t
j	|	|
���\}}tj|d��t
j	tj�gd���d���\}}t!t#|tj����t!t#|tj����t'|d��t)|tjj�
dd����tjd���5t-��5}|�t0d ��t
j	tj�g����\}}ddd��n#1swxYwYddd��n#1swxYwYt!t#|tjj����t'|jd!��t!|j��tj�gggg��}t
j	|��\}}t!t#|tjj����tj|g��tjd���5t-��5}|�t0d ��t
j	|j��\}}ddd��n#1swxYwYddd��n#1swxYwYt!t#|tjj����t'|jd"��t!tj|j����dS)#N)r%r%rF� rN)rNrNr r!r")rrrrr)rrrrrg8@r(rrFr�r�r r�r"rrr@rr��r�rDrB)rAr�)r r"r#r�rH)rrrrrr)rr!r%rHr�)r�r&r�r^r_rPr�r�)rYrr�rnr�r�rSr�r�r��matr	rr�r�r�rrrrrrar
r'r\�MaskedArrayr�r�r�)
r�r�r��expected_chisq�
expected_gr��chisqr��g�obs1�exp1rd�empty3s
             re�test_chisquare_masked_arraysr�zs���
�(�&�&�&�(9�(9�(9�:�
;�
;�
=�C�
�8�_�_�_�o�o�o�6�7�7�9�D�
�5���c�4�(�(�D��X�t�S�k�*�*�N���1�c�"�&��+�+�o��2�6�#�;�;��>�?��a���t���n�q������~�=�>�@�A�A�J���#�D���t�$�$�H�E�1���5�.�1�1�1��!�!�T�W�W�^�-1�Z�Z�Q�Z�-?�-?�!�-C�&E�&E�F�F�F��!�$�0@�A�A�A�D�A�q��!�!�Z��<�<�<�<��!�!�T�W�W�Z�-1�Z�Z�Q�Z�-?�-?�!�-C�&E�&E�F�F�F���t�v�A�.�.�.�H�E�1���5�.�1�1�1��!�!�T�W�W�^�-1�V�\�\�q�\�-A�-A�A�-E�&G�&G�H�H�H��!�$�&�q�:J�K�K�K�D�A�q��!�!�Z��<�<�<�<��!�!�T�W�W�Z�-1�Z�Z�Q�Z�-?�-?�!�-C�&E�&E�F�F�F��5�;�;�(�(�(����;�?�?�D�
�5�;�;�(�(�(����;�?�?�D��o�d�$�/�/�/�G�D�!���4��1�1�1���r�u�{�{�7�7�7�3�3�$�?�?�?�H�E�1��J�u�b�j�)�)�*�*�*��J�q�"�*�%�%�&�&�&���������5�.�3�6�6�s�A�>�>�?�?�?�
��X�	&�	&�	&�8�8�
�
 �
 �	8�C��J�J�~�'<�=�=�=���r�u�{�{�2���7�7�H�E�1�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�8�8�8�8�8�8�8�8�8�8�8����8�8�8�8��J�u�b�e�/�0�0�1�1�1����b�!�!�!��E�J����
�U�[�[�"�R���
$�
$�F���v�&�&�H�E�1��J�u�b�e�/�0�0�1�1�1���5�"�%�%�%�
��X�	&�	&�	&�1�1�
�
 �
 �	1�C��J�J�~�'<�=�=�=���v�x�0�0�H�E�1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1�
�J�u�b�e�/�0�0�1�1�1����d�#�#�#��B�F�5�:�������sm�R�+AR�;R�R	�R�R	�R�R"�%R"�
W7�8W �W7� W$	�$W7�'W$	�(W7�7W;�>W;c�n�tjgd���}d}tjdt|��dz��}tj|���tj||z�����z��}tj|||zz��}tj||f��j}tjgd����	dd��}|D]E\}}tj|dd�df|dd�df|���\}	}
t|	|d	�
���FdS)N)rDrIrFrQr"rIrHr!r%rHr$r&rIr r#rrr!g�*k��q��r) g$�g���@rLgr@g�gffffffP@g�g�����LD@rBgA@r�g�=@rAg�:@r}g������8@r(gffffff7@gq=
ףp�?g�����7@r�g33333�6@r)g������6@r�gfffff�6@r�g������8@r6g�A@rxg�j@rNrrr�g{�G�zt?r)
rYrrr�r�r�r�r1r�rWrSr�r)r��betar��alpha�expected_counts�table4�table5r�r�r�r�s           re�/test_power_divergence_against_cressie_read_datar��sL��
�(�1�1�1�2�2�C��D�
�	�!�S��X�X��\�"�"�A��F�3�7�7�9�9�r�v�d�1�f�~�~�1�1�3�3�3�4�4�E��f�U�T�!�V�^�,�,�O��Y��_�-�
.�
.�
0�F�
�X�
�
�
���$�7�2�q�>�>�%�(#)�8�8�����(�����!���f�Q�Q�Q�q�S�k�18�:�:�:���a���m�$�7�7�7�7�7�8�8rtc	���tgd���tgd���tgd���tgd���g}tgd���tgd���tgd���tgd���g}tgd	���tgd
���tgd���tgd���g}ttj|d
|d|d|d��d��ttj|d
|d|d|d��d��ttj|d
|d|d|d��d��t	t
tj|d
|d��d}tj|�}t
||��ttj|d
|d|d|d��d��ttj|d
|d|d|d��d��t	t
tj|d
|d��dS)N)g�"�~j�?g^�I+�?g�I+��?gj�t��?g�MbX9�?g�ʡE���?���x�&�?�-����?g�������?r�g�G�z�?g+����?g��v���?g9��v���?)g�~j�t��?g���x��?g�O��n�?r�g�"�~j�?�n����?g�K7�A`�?r�g7�A`���?r��bX9���?gZd;�O�?g1�Zd�?g����K�?)gy�&1��?g�z�G��?g`��"��?g!�rh���?g'1�Z�?gZd;�O�?g�rh��|�?gj�t��?g��ʡE��?r�g�z�G��?g��S��?g�J�4�?g��ʡE�?)g��K7��?gh��|?5�?g�l���?g�/�$�?g#�~j��?r�g�Q����?��?g�?r�r�g�� �rh�?g333333�?�
ףp=
�?)r!r r"r r"r rr"r!r!r!r )rrrrr rrr rrrr )rr!r r r!r r r!r!rrr)r r"r!r r!r!r r r r!r!r!)rOg������#@r0rg������$@)g333333@g������@g������@r+g������@)rr	r-r�������� @)g������!@g������!@�333333 @�ffffff
@g333333"@rrrr )g�N���t$@g���Bv�?)g
_�_�2@g�5"]i2?)g\��(\%@g���+ԋ?r=)rrrS�friedmanchisquarer�r�r�mstats)r�r�r�r�r�s     re�test_friedmanchisquarer��s���
�8�8�8�9�9�
�9�9�9�:�:�
�:�:�:�;�;�
�9�9�9�:�:�

;�B��)�)�)�
*�
*�
�)�)�)�
*�
*�
�)�)�)�
*�
*�
�)�)�)�
*�
*�
,�B��&�&�&�
'�
'�
�%�%�%�
&�
&�
�%�%�%�
&�
&�
�%�%�%�
&�
&�
(�B�
�e�5�b��e�B�q�E�"�Q�%��1��N�N�D�F�F�F��e�5�b��e�B�q�E�"�Q�%��1��N�N�F�H�H�H��e�5�b��e�B�q�E�"�Q�%��1��N�N�9�;�;�;��*�e�5�b��e�B�q�E�B�B�B�)�J�
�
!�2�
&�C���Z�(�(�(��f�6�r�!�u�b��e�79�!�u�b��e�E�E�D�F�F�F��f�6�r�!�u�b��e�79�!�u�b��e�E�E�9�;�;�;��*�f�6�r�!�u�R��U�C�C�C�C�Crtc�.�eZdZdZd	d�Zd	d�Zd�Zd�ZdS)
�
TestKSTestzLTests kstest and ks_1samp agree with K-S various sizes, alternatives, modes.�autorFc��tj|d||���}tj||g��}t	tj|��||���dS�NrL�rr�rB)rS�kstestrYrr�	r]r�r�expected_statistic�
expected_probr�rCrrs	         re�_testOnezTestKSTest._testOne*sT����a��[�t�L�L�L���8�/��?�@�@��!�"�(�6�"2�"2�H�g�N�N�N�N�N�Nrtc���tj|d||���}tj|tjj||���}tt
j|��||���dSr�)rSr��ks_1samprL�cdfrrYr)r]r�rr�rCr�result_1samps       re�_test_kstest_and_ks1sampz#TestKSTest._test_kstest_and_ks1samp/s\����a��[�t�L�L�L���~�a����[�W[�\�\�\��!�"�(�6�"2�"2�L�'�R�R�R�R�R�Rrtc��tjddd��}d}tj|d��}t	||��dS)NrNrr&r=rL)rYrrSr�r�r]r�r�r�s    re�test_namedtuple_attributesz%TestKSTest.test_namedtuple_attributes4sA���K��A�q�!�!��,�
��l�1�f�%�%���C��,�,�,�,�,rtc�J�tjddd��}|�|d��tjddd��}|�|d��gd�}|�|d��|�|dd	�
��|�|dd	�
��dS)NrNrr&r
��rD�
r%g���Q��?g333333�g�(\���?g��Q��?g�(\��ſg{�G�z��gH�z�G�?g\��(\�g�G�z��rrd�r�r)rYrrr�s  re�test_agree_with_ks_1sampz#TestKSTest.test_agree_with_ks_1samp;s����K��A�q�!�!���%�%�a��5�5�5��K��R��#�#���%�%�a��5�5�5�N�N�N���%�%�a��5�5�5��%�%�a���%�A�A�A��%�%�a��g�%�>�>�>�>�>rtN�r�rF)r�r�r�r5r�rrrr�rtrer�r�'sh������V�V�O�O�O�O�
S�S�S�S�
-�-�-�
?�
?�
?�
?�
?rtr�c���eZdZdZdd�Zd�Zd�Zd�Zd�Ze	j
�d	ej
ejg��e	j
�d
gd���d�����Zd
S)�TestKSOneSamplezOTests kstest and ks_samp 1-samples with K-S various sizes, alternatives, modes.r�rFc���tj|tjj||���}t	j||g��}t
t	j|��||���dS)Nr�rB)rSr�rLr�rYrrr�s	         rer�zTestKSOneSample._testOneMsY�����5�:�>�{�QU�V�V�V���8�/��?�@�@��!�"�(�6�"2�"2�H�g�N�N�N�N�N�Nrtc��tjddd��}d}tj|tjj��}t
||��dS)NrNrr&r=)rYrrSr�rLr�rrs    rerz*TestKSOneSample.test_namedtuple_attributesRsE���K��A�q�!�!��,�
��n�Q��
��/�/���C��,�,�,�,�,rtc�^�tjddd��}|�|ddd��tjddd��}|�|dd	d
��gd�}|�|ddd
��|�|dddd���|�|dddd���dS)NrNrr&r
g�|��N�?g��7.�s�?rrDg�{CTp�?g M<b*�?rgZ��L��?g86�J4��?rg�+�����?rdrrg���HD��?g����r�?�rYrr�r�s  re�test_agree_with_rz!TestKSOneSample.test_agree_with_rYs����K��A�q�!�!���
�
�a��&9�;N�O�O�O��K��R��#�#���
�
�a��&9�;O�P�P�P�N�N�N���
�
�a��&7�9J�K�K�K��
�
�a��$5�7H�w�
�W�W�W��
�
�a��!2�4E�G�
�T�T�T�T�Trtc���tj�ddd���}|�|dddd�	��|�|d
dd��|�|dd
d��dS)NrrB�h�:)r r�r@r
gh�х��?g���7��?�asymprrg�^h���?rgv�!�ԉ}?g*z�)���?)rSrLrMr�r�s  re�test_known_examplesz#TestKSOneSample.test_known_examplesfst���J�N�N�s��9�N�E�E���
�
�a��&9�;O�V]�
�^�^�^��
�
�a��!4�6J�K�K�K��
�
�a��$9�;N�O�O�O�O�Ortc	��ttjttjdd������ttd���5tddd��ddd��n#1swxYwYttjtddd������tjgd���}tt|dd	���	tttg�
��dS)NrTzn is not integral: 1.5r�r)rN))r�rTr�)r�皙�����?Tr�)r�rTr})r�g��������Tr})r���?Tr})r�rFr�)r�r(Tgb����?)r�r(Fgi���Nq>)r���?Tg�v�(�?)r�r�Tg��T�	�?)�@g\��(\�?Fr})r��?Fg���(��>)rg�Q���?Fg�@c���?)r��?FgX+ʳP�?r�r )�dtypes)
rrYr�rrZr�r�rNr�check�intr��bool)r]�datasets  re�test_ks1samp_allpathsz%TestKSOneSample.test_ks1samp_allpathsms���������D�1�1�2�2�3�3�3�
�:�-E�
F�
F�
F�	"�	"��C��D�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"������Q��-�-�.�.�/�/�/��*�
�
�
����*	��'�9�a�0�0�6�6�s�E�4�>P�6�Q�Q�Q�Q�Qs�A/�/A3�6A3�ksfunc�*alternative, x6val, ref_location, ref_sign))rr#r#r)rr$r$rN)r
r#r#r)r
r$r$rNc���tjd��dz}||d<tjd���j}||||���}t|jdd���|j|ksJ�|j|ksJ�dS)	NrHr(r#r�rrsr�r)	rYrrSr
r�rr��statistic_location�statistic_sign)	r]r"r�x6val�ref_location�ref_signr�r�r�s	         re�test_location_signz"TestKSOneSample.test_location_sign�s���
�I�b�M�M�C�����!���m�"�%�%�%�)���f�Q���5�5�5����
�s��7�7�7�7��%��5�5�5�5��!�X�-�-�-�-�-�-rtNr	)r�r�r�r5r�rrrr!r2r6r7rSr�r�r*r�rtrerrJs�������Y�Y�O�O�O�O�
-�-�-�U�U�U�P�P�P�R�R�R�<�[���X���e�n�'E�F�F��[���I�7�7�7�8�8�

.�
.�8�8�G�F�
.�
.�
.rtrc�.�eZdZdZdd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zej
jd���Zej
jd���Zd
�Zd�Zej
jd���Zej
jd���Zej
jd���Zd�Zej
jd���Zd�Zej
jd���Zd�Zej
�dejejg��ej
�dgd���d�����Z dS)�TestKSTwoSamplesz<Tests 2-samples with K-S various sizes, alternatives, modes.r�c��tj||||���}tj||g��}t	tj|��|��dS)Nr)rS�ks_2samprYrr)	r]r�r�rr�r�r�rrs	         rer�zTestKSTwoSamples._testOne�sO�����B��$�?�?�?���8�/��?�@�@��!�"�(�6�"2�"2�H�=�=�=�=�=rtc�J�|�dgdgddd��|�dgdgddd��|�dgdgddd��|�dgdgddd��|�dgdgddd��|�dgdgddd��dS)	Nrrr
r�rr(rr})r�rjs re�	testSmallzTestKSTwoSamples.testSmall�s����
�
�q�c�A�3��U�C�8�8�8��
�
�q�c�A�3�	�5�#�6�6�6��
�
�q�c�A�3���s�3�3�3��
�
�q�c�A�3��U�C�8�8�8��
�
�q�c�A�3�	�5�#�6�6�6��
�
�q�c�A�3���s�3�3�3�3�3rtc��tjddg��}|dz}|dz
}tjgd���}|�||ddd��|�||ddd��|�||d	dd��|�||dd
d��|�||dd
d��|�||d	d
d��dS)Nr�r��{�G�z�?�r�r�r�r
r�rrtrrwrOrvr�rYrr��r]r��data1p�data1mr�s     re�testTwoVsThreezTestKSTwoSamples.testTwoVsThree�s�����#�s��$�$���������������)�)���
�
�f�e�[�'�3�?�?�?��
�
�f�e�Y���=�=�=��
�
�f�e�V�W�c�:�:�:��
�
�f�e�[�'�3�?�?�?��
�
�f�e�Y���=�=�=��
�
�f�e�V�Q��4�4�4�4�4rtc��tjddg��}|dz}|dz
}tjgd���}|�||ddd��|�||ddd	��|�||d
dd��|�||dd
d��|�||dd
d��|�||d
dd��dS)Nr�r�r2r:r
r(g�������?rg�?rr�皙�����?r�rNrrr4r5s     re�
testTwoVsFourzTestKSTwoSamples.testTwoVsFour�s�����#�s��$�$������������-�-�-�.�.���
�
�f�e�[�'�7�C�C�C��
�
�f�e�Y���@�@�@��
�
�f�e�V�W�g�>�>�>��
�
�f�e�[�'�6�B�B�B��
�
�f�e�Y���@�@�@��
�
�f�e�V�Q��4�4�4�4�4rtc�~�tjddd��}|dzdz}|dzdz
}|�||ddd��|�||ddd	��|�||d
dd��|�||dd
d��|�||dd
d��|�||d
dd��dS)NrrBrrsr
r�g~z�����?rgz�;�.B�?rrr��{�G�z�?gn2I�U��?r)r]�x100�	x100_2_p1�	x100_2_m1s    re�test100_100zTestKSTwoSamples.test100_100�s����{�1�c�3�'�'���1�H�s�N�	��1�H�s�N�	��
�
�d�I�{�I�?Q�R�R�R��
�
�d�I�y�)�=O�P�P�P��
�
�d�I�v�q�#�6�6�6��
�
�d�I�{�I�s�C�C�C��
�
�d�I�y�)�=N�O�O�O��
�
�d�I�v�q�#�6�6�6�6�6rtc��tjddd��}tjddd��}|dzdz}|dzdz
}|�||ddd��|�||d	dd
��|�||ddd��|�||dd
d��|�||d	d
d��|�||ddd��dS)NrrBr�rErsr
g����?g@�߿��?rg}n���?rrg�:[����?g�]O
);�?gѫ��);�?r}r�r)r]r>�x110�
x110_20_p1�
x110_20_m1s     re�test100_110zTestKSTwoSamples.test100_110�s����{�1�c�3�'�'���{�1�c�3�'�'���B�Y��_�
��B�Y��_�
��
�
�d�J��\�CW�X�X�X��
�
�d�J�	�<�AU�V�V�V��
�
�d�J���1�5�5�5��
�
�d�J��\�CW�X�X�X��
�
�d�J�	�<�AU�V�V�V��
�
�d�J���S�9�9�9�9�9rtc�t�tjdgdzdgdzzdgdzzdgdzzt���}|dz}tjdgdzdgdzzdgdzzdgdzzt���}tjdgdzdgdzzdgdzzd	gdzzt���}|�||d
dd��|�||d
dd��|�||ddd��|�||d
dd��|�||d
dd��|�||ddd��dS)Nrr r!r"r#r>rrHr$r
g�?g��^dH�?rgQl6��y�?rr}r�gVdEVdE�?g(f��^��?g��!���?g�i�i�?g�+� ϖ�?)rYrrr�)r]�x2233�x3344�x2356�x3467s     re�testRepeatedValuesz#TestKSTwoSamples.testRepeatedValues�sc����!��q��A�3��7�*�a�S�1�W�4��s�Q�w�>�c�J�J�J����	����!��q��A�3��7�*�a�S�2�X�5���a��?�s�K�K�K����!��r��Q�C�!�G�+�q�c�B�h�6�!��q��@��L�L�L���
�
�e�U�K��9K�L�L�L��
�
�e�U�I�v�7J�K�K�K��
�
�e�U�F�F�C�8�8�8��
�
�e�U�K��>P�Q�Q�Q��
�
�e�U�I�{�<N�O�O�O��
�
�e�U�F�J�8J�K�K�K�K�Krtc�*�tjgd���}|�||dzddd��|�||dzddd��|�||dzdd	d��|�||d
zddd��|�||d
zddd��|�||d
zdd	d��|�||d
z
ddd��|�||d
z
dd	d��|�||d
z
ddd��dS)Nr3rr
r�r�rr�rr}r(r4)r]r�s  re�testEqualSizeszTestKSTwoSamples.testEqualSizes�s)�������)�)���
�
�e�U�1�W�k�5�#�>�>�>��
�
�e�U�1�W�i���=�=�=��
�
�e�U�1�W�f�e�R�8�8�8��
�
�e�U�3�Y��U�C�@�@�@��
�
�e�U�3�Y�	�5�$�?�?�?��
�
�e�U�3�Y���r�:�:�:��
�
�e�U�3�Y��U�C�@�@�@��
�
�e�U�3�Y�	�5�#�>�>�>��
�
�e�U�3�Y���t�<�<�<�<�<rtc	��d\}}d|z|zdzdz}tjdd|��|z
}tjdd|��}|�||dd|z|zdd�	��|�||dd|z|zdd
�	��|�||dd|z|zdd
�	��|�||d
d|z|zdd
�	��t��5}d}|�t
|��|�||dd|z|zdd�	��|�||d
d|z|zdd�	��ddd��n#1swxYwYt
jd���5}t
jd��|�||d
d|z|zdd�	��t|t
d��ddd��dS#1swxYwYdS)N)riXr�rrrWr
g@�@r�rrrg��2JE�?rg@@gsW\nc��?�)ks_2samp: Exact calculation unsuccessful.rdTr�r��
rYrr�r
r'r\r�r�r�r��	r]�n1�n2�deltar�r^rdr3r�s	         re�testMiddlingBothz!TestKSTwoSamples.testMiddlingBoth�s������B��B��r�	�!��A�
���K��3��#�#�e�+���K��3��#�#���
�
�a��K��"��r�)9�3�V�
�L�L�L��
�
�a��K��"��r�)9�3�W�
�M�M�M��
�
�a��I�v��{�R�'7�9K�RY�
�Z�Z�Z��
�
�a��F�E�B�J��O�5G�g�
�V�V�V�
�
 �
 �	[�C�A�G��J�J�~�w�/�/�/��M�M�!�Q�	�6�B�;��+;�=O�V]�M�^�^�^��M�M�!�Q����
�R��9K�RY�M�Z�Z�Z�		[�	[�	[�	[�	[�	[�	[�	[�	[�	[�	[����	[�	[�	[�	[�
�
$�D�
1�
1�
1�	2�Q��!�(�+�+�+��M�M�!�Q����
�R��9K�RY�M�Z�Z�Z��A�~�q�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2�&�A E�E�E�!AF:�:F>�F>c	��d\}}d|z|zdzdz}tjdd|��|z
}tjdd|��}|�||dd|z|zdd�	��|�||dd|z|zdd
�	��|�||dd|z|zdd�	��|�||d
d|z|zdd�	��t��5}d}|�t
|��|�||dd|z|zdd�	��|�||d
d|z|zdd�	��ddd��n#1swxYwYt
jd���5}t
jd��|�||d
d|z|zdd�	��t|t
d��ddd��dS#1swxYwYdS)N)rC�Lr�rrrWr
gȹ@rrr�rg����Z��?rg@�@g�@�J���?rPrdTr�r�rQrRs	         re�testMediumBothzTestKSTwoSamples.testMediumBoths������B��B��r�	�!��A�
���K��3��#�#�e�+���K��3��#�#���
�
�a��K��"��r�)9�3�W�
�M�M�M��
�
�a��K��"��r�)9�3�V�
�L�L�L��
�
�a��I�v��{�R�'7�9K�RY�
�Z�Z�Z��
�
�a��F�F�R�K�"�$4�6H�w�
�W�W�W�
�
 �
 �	\�C�A�G��J�J�~�w�/�/�/��M�M�!�Q�	�6�B�;��+;�=O�V]�M�^�^�^��M�M�!�Q�����b�(8�:L�SZ�M�[�[�[�		\�	\�	\�	\�	\�	\�	\�	\�	\�	\�	\����	\�	\�	\�	\�
�
$�D�
1�
1�
1�	2�Q��!�(�+�+�+��M�M�!�Q�����b�(8�:L�SZ�M�[�[�[��A�~�q�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2rWc�<�d\}}|dz}d|z|zdzdz}tjdd|��|z
}tjdd|��}|�||dd	|zd
��|�||dd|zd
��|�||dd	|zd��dS)N)�'r�r�r�rrrWrBr
g`��@g�<rg��@g�򼉷�?rgi���mb�:r)r]rSrT�lcmrUr�r^s       re�	testLargezTestKSTwoSamples.testLarge$s������B���g���B��r�	�!��A�
���K��3��#�#�e�+���K��3��#�#���
�
�a��K��3��8N�O�O�O��
�
�a��I�u�s�{�4G�H�H�H��
�
�a��F�G�c�M�3I�J�J�J�J�Jrtc�6�tj�d��tj�d���}tj�d���dz}|�||dddd	�
��|�||dddd�
��dS)N�@�i�r	i�r)r
g��C���?��<rrrd�rYr�r�r"r�r,s   re�test_gh11184zTestKSTwoSamples.test_gh11184/s���
�	���v�����I���$��'�'���I���$��'�'�#�-���
�
�a��K�)<�>T�[b�
�c�c�c��
�
�a��K�)<�>T�[b�
�c�c�c�c�crtc��tj�d��tj�d���}tj�d���dz}|�||dddd	�
��|�||dddd�
��|�||d
ddd	�
��|�||dddd	�
��dS)Nr`r\r	i'r)r
g 	_�r!�?gAD��5rrrardrgלN#�y�7rgvq��w��?rbr,s   re�test_gh11184_biggerz$TestKSTwoSamples.test_gh11184_bigger7s���	�	���v�����I���%��(�(���I���%��(�(�3�.���
�
�a��K�)<�>T�[b�
�c�c�c��
�
�a��K�)<�>T�[b�
�c�c�c��
�
�a��I�':�<R�Y`�
�a�a�a��
�
�a��F�$7�9O�V]�
�^�^�^�^�^rtc��tj�d��tddd��D]�}tj�|���}tj�|dzd���}tj||d�	��j}tj||d
�	��j}t|d|z��t|d|z����dS)Nr`rCi�.r	rHr(�r�r rdrrr )	rYr�r�r�r"rSr.r�r)r]r��vals1�vals2rdrs      re�test_gh12999zTestKSTwoSamples.test_gh12999Bs���
�	���v�����t�U�D�)�)�	0�	0�A��I�$�$�1�$�.�.�E��I�$�$�1�r�6��$�<�<�E��N�5�%�g�>�>�>�E�E��N�5�%�g�>�>�>�E�E��e�Q��Y�/�/�/��e�Q��Y�/�/�/�/�	0�	0rtc	��d\}}|dz}d|z|zdzdz}tjdd|��|z
}tjdd|��}|�||dd|zd	d
���|�||dd|zdd
���|�||dd|zd	d���|�||dd|zd��|�||dd|zd��t��5}d}|�t
|��|�||dd|zdd
���|�||dd|zdd
���ddd��dS#1swxYwYdS)N)r\i�*r�r�rrrWr
g��@gkHY��?rrgL�ɔ.��?rdr�rg.LbG�2�?rrxg�r?֎��?rP)rYrr�r
r'r\)	r]rSrTr]rUr�r^rdr3s	         re�
testLargeBothzTestKSTwoSamples.testLargeBothNs������B���g���B��r�	�!��A�
���K��3��#�#�e�+���K��3��#�#���
�
�a��K����6H�w�
�W�W�W��
�
�a��K����6H�w�
�W�W�W��
�
�a��K����6H�v�
�V�V�V��
�
�a��I�u�s�{�4F�G�G�G��
�
�a��F�D�3�J�0B�C�C�C�
�
 �
 �	V�C�A�G��J�J�~�w�/�/�/��M�M�!�Q�	�5�3�;�8J�QX�M�Y�Y�Y��M�M�!�Q���s�
�4F�W�M�U�U�U�		V�	V�	V�	V�	V�	V�	V�	V�	V�	V�	V�	V����	V�	V�	V�	V�	V�	Vs�(AE�E�Ec�Z�d}tjddgdg��}t||��dS)Nr=rrr )rSr.r�r]r�r�s   re�testNamedAttributesz$TestKSTwoSamples.testNamedAttributesas4��,�
��n�a��V�a�S�)�)���C��,�,�,�,�,rtc	��ddlm}m}|dddd��|dddd��tjd���5tt|dd	dd��tt|d
ddd��ddd��dS#1swxYwYdS)Nr)�_count_paths_outside_method�!_compute_outer_prob_inside_methodrrCi�r~r_rYiKr1)�scipy.stats._stats_pyrqrrrYrar��FloatingPointError)r]rqrrs   re�test_some_code_pathsz%TestKSTwoSamples.test_some_code_pathsgs��	
�	
�	
�	
�	
�	
�	
�	
�
	*�)�!�Q��1�5�5�5�#�#�D�!�Q��5�5�5�
�[��
)�
)�
)�	,�	,��,�.I���a��
,�
,�
,��,�.I���a��
,�
,�
,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s�3A:�:A>�A>c���tttjgdg��tttjdgg��tttjgg��dSr�)r�r�rSr.rjs re�test_argument_checkingz'TestKSTwoSamples.test_argument_checkingxsN���j�%�.�"�q�c�:�:�:��j�%�.�1�#�r�:�:�:��j�%�.�"�b�9�9�9�9�9rtc�&�tj�d��d}tj�|dd���}|dz}tj||dd���tj||d	d���tj||d
d���dS)zEnsure gh-12218 is fixed.�Na�i r}rrVrrr�rr
N)rYr�r�rSr
rMr.)r]rS�rvs1�rvs2s    re�test_gh12218zTestKSTwoSamples.test_gh12218~s���
	�	���x� � � �
���}� � �b�b�� �:�:���a�x��
��t�T�y�w�G�G�G�G�
��t�T�v�G�D�D�D�D�
��t�T�{��I�I�I�I�I�Irtc��tj�tt	d������}|�d���dz}|�d���}d}tjt|���5tj	||d�	��}t|jd
d���ddd��dS#1swxYwYdS)
N�test_warnings_gh_14019iqr	r(iqz(ks_2samp: Exact calculation unsuccessfulr�rrrr�r�)rYr�r�absr�r2r�r\rSr.rr�)r]rr�r�r3r�s      rer~z'TestKSTwoSamples.test_warnings_gh_14019�s���i�#�#�C��-E�(F�(F�$G�$G�H�H���
�
��
�$�$�s�*���
�
��
�$�$��<��
�\�.��
8�
8�
8�	7�	7��.���6�B�B�B�C��C�J���6�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7s�/C�C�	Cr"r#))r皙����@r�r)r�ffffff@rrN)r
r�r�r)r
r�rrNc���tjdtj���}|���}||d<t	j|||���}|jdksJ�|j|ksJ�|j|ksJ�dS)NrHr>r#rrs)	rYrr�copyrSr.r�r%r&)	r]r"rr'r(r)r�r^r�s	         rer*z#TestKSTwoSamples.test_location_sign�s���
�I�b��
�+�+�+��
�F�F�H�H����!���n�Q��{�;�;�;���}��#�#�#�#��%��5�5�5�5��!�X�-�-�-�-�-�-rtN)r�)!r�r�r�r5r�r0r8r;rArFrLrNr2r6r�rVrZr^rc�xslowrerjrlrorurwr|r~r7rSr�r.r*r�rtrer,r,�sD������F�F�>�>�>�>�
4�4�4�
5�
5�
5�5�5�5�	7�	7�	7�:�:�:�
L�
L�
L�
=�
=�
=��[��2�2���2�(�[��2�2���2�*	K�	K�	K�d�d�d��[��_�_���_��[��	0�	0���	0��[��V�V���V�$-�-�-��[��,�,���,� :�:�:��[��
J�
J���
J�
7�
7�
7��[���X���e�n�'E�F�F��[���I�;�;�;�<�<�

.�
.�<�<�G�F�
.�
.�
.rtr,c	��d\}}||g||gf}tjddd��}tjddd��}tjtjddd��tjddd��g��}tjtjddd��tjddd��g��}tj||d���\}}t||g||f��tj|j|jd���\}}t||g|��tj||d���\}}t||g|��t��5}	tjd�	��5tj
td
���5|	�td��tjd
d��\}}ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYttj|����ttj|����d}
tj||d���}t||
��tj|||g��}tj|||g��}
tj||
d���\}}ttj|��|��ttj|��|��t%|jd��tjtj|dd��tj|
dd��d���\}}ttj|��|��ttj|��|��t%|jd��t+t,tj||d���tj||dd���\}}t/|d|dzz
��t/||��tj||dd���\}}t/||dz��t/||��tj�d��}tj�ddd|���}tj|d<tj�ddd|���tj�dd|���z}tj|d<tjd�	��5t;tj||��tjtjf��ddd��n#1swxYwYttj||d �!��d"��t+t,tj||d#�!��t+t,tj||d$�!��tj
td
���5tjgd%�gd&���\}}ddd��n#1swxYwYt%tj|��|ftjdf��tjd�	��5t%tjgd%�gd%���tjtjf��tjdtjgd'dgg��}t%tj|tjd(����dtjgdtjgf��ddd��n#1swxYwYtj d)��}t+t,tj|�!d*��|�!d+����d,�}tj"|��}tj|dd�d-d.�f<tj|dd�d/d0�f<tj||dd �!��\}}tj||dd d�1��\}}t/||d2�3��tjd�	��5t/||||d��d2�3��ddd��n#1swxYwYtj||dd d�1��\}}t/||d2�3��tjd�	��5t/||||d��d2�3��ddd��dS#1swxYwYdS)4N)g��u��?gȵ�I��?rrBr4g���K�X@rr@r^r_rr�r&r�r�r=rsrr�rQrr�rArrryr"rH�r?rr)r!r�r@rzr{)gh�m�#1�?gr�y̧��?r~rr�r�rNr�rM)r%r �rr r!c�L�|dkr|dks|dkr|dkr|dzSd|dzz
S�Nrrrrrr��rNr��alts   re�convertztest_ttest_rel.<locals>.convert�<��
��E�E�c�V�m�m��Q���3�)�3C�3C��q�5�L��A��E�{�rtrEr�rDrGrVr�r)#rYrrrS�	ttest_relrr�r
rar2r�r\r'rr�rr�rrr�r�r�r�rr��RandomStaterLrMrZr	rMr�rrW�	vectorize)�trr>�tprrzr{�rvs1_2D�rvs2_2DrNr�rdr�r��rvs1_3D�rvs2_3Drr�r^�ananr��	converters                    re�test_ttest_relr��s*
��4�E�B�r���s�8�R��G�
�C�
�;�q��S�!�!�D�
�;�t�F�3�'�'�D��h���A�c�#�.�.���D���0L�0L�M�N�N�G��h���D���4�4�b�k�!�C��6L�6L�M�N�N�G�
�/�$��1�
-�
-�
-�C�A�a��q��e�R��G�,�,�,�
�/�'�)�W�Y�Q�
7�
7�
7�C�A�a��q��e�C�(�(�(�
�/�'�7��
3�
3�
3�C�A�a��q��e�C�(�(�(�
�	�	�'��R�[��%B�%B�%B�'�'��L��/H�I�I�I�'�'��
�
�>�#F�G�G�G���r�2�&�&���1�'�'�'�'�'�'�'�'�'�'�'����'�'�'�'�'�'�'�'�'�'�'�'�'�'�'����'�'�'�'�'�'�'�'�'�'�'�'�'�'�'����'�'�'�'��B�H�Q�K�K�����B�H�Q�K�K����)�J�
�/�$��1�
-�
-�
-�C���Z�(�(�(��i����1�2�2�G��i����1�2�2�G�
�/�'�7��
3�
3�
3�C�A�a��b�f�Q�i�i��,�,�,��b�f�Q�i�i��,�,�,����&�!�!�!��?�2�;�w��1�5�5��;�w��1�5�5� !�#�#�#�D�A�q��b�f�Q�i�i��,�,�,��b�f�Q�i�i��,�,�,����&�!�!�!��*�e�o�t�T�w�O�O�O�O��?�4��A�6�B�B�B�D�A�q��A�q�2�a�4�x� � � ��A�r�����?�4��A�9�E�E�E�D�A�q��A�r�!�t�����A�r����
�)�
�
��
)�
)�C�
�
���1�B�S�s��C�C�A�
�V�A�c�F�	����A�R�c���	D�	D�	����c��#��	>�	>�
?�A�
�V�A�c�F�	��X�	&�	&�	&�D�D��5�?�1�a�0�0�2�6�2�6�2B�C�C�C�D�D�D�D�D�D�D�D�D�D�D����D�D�D�D��e�o�a��v�F�F�F�G�I�I�I��*�e�o�q�!��H�H�H�H��*�e�o�q�!��I�I�I�I�
��n�,E�	F�	F�	F�5�5���y�y�y�)�)�)�4�4���1�5�5�5�5�5�5�5�5�5�5�5����5�5�5�5��"�&��)�)�Q��"�&�!��-�-�-�	��X�	&�	&�	&�1�1��U�_�Y�Y�Y�	�	�	�:�:�R�V�R�V�<L�M�M�M��x�!�R�V��r�1�g�.�/�/���U�_�T�2�8�F�+;�+;�<�<��"�&�k�A�r�v�;�/�	1�	1�	1�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1�	�	�"�
�
�A��*�e�o�q�y�y��/@�/@��)�)�I�&�&�(�(�(������W�%�%�I���G�A�A�A�r�"�u�H����G�A�A�A�r�"�u�H��
�_�W�g�q�V�
D�
D�
D�F�B���?�7�G�Q�6�'-�/�/�/�D�A�q��A�r��&�&�&�&�	��X�	&�	&�	&�B�B���9�9�R��V�4�4�5�A�A�A�A�B�B�B�B�B�B�B�B�B�B�B����B�B�B�B��?�7�G�Q�6�'0�2�2�2�D�A�q��A�r��&�&�&�&�	��X�	&�	&�	&�E�E���9�9�R��Y�7�7�e�D�D�D�D�E�E�E�E�E�E�E�E�E�E�E�E����E�E�E�E�E�Es��G5�+G�4G�;G�G�G�G�G�G5�G"	�"G5�%G"	�&G5�5G9�<G9�:U
�
U�U�X�X�X�B1\�\�\�a�a�a�b9�9b=�b=c��tjdddg}gd�}tj||d���}tj||d���}t	|j|jd���t	|j|jd���tj|d	d�|d	d���}t	||d���t	|d
d���dS)Nr�r�r��r�r�r�r�rzr{r�r�r)r=g�rh��|�?�-C��6?)rYrZrSr�rr�r��r�r^r�r��r3s     re�test_ttest_rel_nan_2nd_argr�s���	���c�3��A����A�	���A�&�	1�	1�	1�B�	���A�&�	1�	1�	1�B��B�L�2�<�-�e�<�<�<�<��B�I�r�y�u�5�5�5�5�
���1�2�2���!�"�"��	&�	&�B��B���'�'�'�'��B��4�0�0�0�0�0�0rtc��tjgg��}t|tjj��sJ�t|tjtjf��dSr�)rSr�r�	_stats_py�TtestResultrrYrZ�rs re�#test_ttest_rel_empty_1d_returns_nanr�0sO���_�R��
$�
$�F��f�e�o�9�:�:�:�:�:���"�&�"�&�)�*�*�*�*�*rtzb, expected_shape)rr"rr�)rrr)r rc�2�tjd��}tj||d���}t	|tjj��sJ�tj|tj���}t|j
|��t|j|��dS�N)r rrrNr@r�)rYr�rSr�rr�r�rmrZrr�r��r��expected_shaper�r�expected_values     re�test_ttest_rel_axis_size_zeror�8s���	�����A�
�_�Q���
+�
+�
+�F��f�e�o�9�:�:�:�:�:��W�^���?�?�?�N���!�>�2�2�2�����/�/�/�/�/rtc�.�tjd��}tjd��}tj||d���}t	|tjj��sJ�t|jj	d��t|j
j	d��dS�N)rr%r�r"r%rrr@�r"r)rYr�rSr�rr�r�rr�r�r��r�r�rs   re� test_ttest_rel_nonaxis_size_zeror�Gs���
	�����A�
�����A�
�_�Q���
*�
*�
*�F��f�e�o�9�:�:�:�:�:���!�'��0�0�0����$�f�-�-�-�-�-rtrr}c��tj�d��}d}|�|dd���}|�|dd���}ddgdtjgtjd	gd
�}tj|||���}|�d�
��}t|||��t|j
|dz
��dS)NlC67l: rHr)rrVg�Z�?Y���g��i{a��?g8����g��C��?rWrrYrZr)rYr�rr"rMrSr�r	rrr\)rrr�r�r^rr�rs        re�test_ttest_rel_ci_1dr�Ts���
�)�
�
� 3�
4�
4�C�
�A��
�
��s�!�
�,�,�A��
�
��q��
�*�*�A�,�->�?�)�2�6�2��V�G�0�1�3�3�C��/�!�Q�K�
8�
8�
8�C�	�	 �	 �$�	 �	7�	7�B��B��K�(�)�)�)�����1������rtztest_fun, argsrHc��||�}d}tjt|���5|�d���ddd��dS#1swxYwYdS)Nr_r�rHrZ)r2rr�r	)�test_funrer�r3s    re�test_ttest_ci_ivr�ls���
�(�D�/�C�D�G�	��z��	1�	1�	1�5�5������4�4�4�5�5�5�5�5�5�5�5�5�5�5�5����5�5�5�5�5�5s�A�A�Ac�<�dd�}|||��|||��zS)Nrc��tj|��}tj||���}tj||d���}|j|}|||fS)Nr@rr@)rYrNrXrqr�)r�rA�murq�nobss     re�_statsz_desc_stats.<locals>._statsxsP���J�q�M�M��
�W�Q�T�
"�
"�
"���f�Q�T��*�*�*���w�t�}���3��}�rtr�r�)r�r�rAr�s    re�_desc_statsr�ws;�������6�"�d���f�f�R��.�.�.�.rtc	�0�d}d}||g||gf}tjddd��}tjddd��}tj||g��}tj||g��}tj||d���\}}t||g||f��ttjt||���||g��tj|j|jd���\}}t||g|��t|j|j��}	ttj|	�||g��tj||d���\}}t||g|��t||d���}	ttj|	�||g��t��5}
tj
d	�
��5tjtd���5|
�td
��tjdd��\}}ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYttj|����ttj|����tj|||g��}tj|||g��}tj||d���\}}t%tj|��tj|����ttj|��|��t)|jd��tjtj|dd��tj|dd��d���\}}ttj|��tj|����ttj|��|��t)|jd��t/t0tj||d���t/t0tjgt|j|j���Rddi�tj||d���\}}t3|d|dzz
��t3||��tj||d���\}}t3||dz��t3||��tj|j|jdd���\}}t|j|j��}	t3tj|	ddi�||g��tj|j|jdd���\}}t|j|j��}	t3tj|	ddi�||g��tj�d��}
tj�ddd|
���}tj|d<tj�ddd|
���}tj
d	�
��5t?tj||��tjtjf��ddd��n#1swxYwYttj||d���d ��t/t0tj||d!���t/t0tj||d"���tjtd���5tjgd#�gd$���\}}ddd��n#1swxYwYt)tj|��|ftj df��tj
d	�
��5t)tjgd#�gd#���tjtjf��tjdtjgd%dgg��}t)tj|tj!d&����dtjgdtjgf��ddd��n#1swxYwYtj|dd�dd�dd'�f<tj|dd�dd�d(d)�f<d*�}tj"|��}tj||dd���\}}tj||ddd�+��\}}t3||d,�-��t3||||d��d,�-��tj||ddd�+��\}}t3||d,�-��t3||||d��d,�-��dS).N�	�r�u�?g8M�ѱ�?rrBr"�irr@r^r_rr�r&r�r�rsrr�rQrrrrr�ryrHr�r?rrzr{)g��uͷ�?g*���,��?r~rr�r�rNr�rDr#rJc�L�|dkr|dks|dkr|dkr|dzSd|dzz
Sr�r�r�s   rer�ztest_ttest_ind.<locals>.convert�r�rtrVr�r)#rYrrrS�	ttest_indr�ttest_ind_from_statsr�r�r
rar2r�r\r'rr�r�rrrr�r�r�r�rr�r�rLrMrZr	rMr�r�)r�r>r�r{rzr�r�rNr�rerdr�r�rr�r^r�r�r�s                   re�test_ttest_indr��s)
��	�B�	�B���s�8�R��G�
�C�
�;�q��S�!�!�D�
�;�q��S�!�!�D��h��d�|�$�$�G��h��d�|�$�$�G�
�/�$��1�
-�
-�
-�C�A�a��q��e�R��G�,�,�,��e�8�+�d�FJ�;L�;L�M� �!�f�&�&�&��/�'�)�W�Y�Q�
7�
7�
7�C�A�a��q��e�C�(�(�(��w�y�'�)�,�,�D��e�8�$�?� �!�f�&�&�&�
�/�'�7��
3�
3�
3�C�A�a��q��e�C�(�(�(��w��a�0�0�0�D��e�8�$�?� �!�f�&�&�&�
�	�	�'��R�[��%B�%B�%B�'�'��L��/H�I�I�I�'�'��
�
�>�#F�G�G�G���r�2�&�&���1�'�'�'�'�'�'�'�'�'�'�'����'�'�'�'�'�'�'�'�'�'�'�'�'�'�'����'�'�'�'�'�'�'�'�'�'�'�'�'�'�'����'�'�'�'��B�H�Q�K�K�����B�H�Q�K�K�����i����1�2�2�G��i����1�2�2�G�
�/�'�7��
3�
3�
3�C�A�a����q�	�	�2�6�"�:�:�.�.�.��b�f�Q�i�i��,�,�,����&�!�!�!��?�2�;�w��1�5�5��;�w��1�5�5� !�#�#�#�D�A�q��b�f�Q�i�i������4�4�4��b�f�Q�i�i��,�,�,����&�!�!�!��*�e�o�t�T�w�O�O�O�O��*�e�8�K��w�y�'�)�4�4�K�K�K�BI�K�K�K��?�4��6�:�:�:�D�A�q��A�q�B�q�D�z�"�"�"��A�r�����?�4��9�=�=�=�D�A�q��A�r�!�t�����A�r�����?�7�9�g�i�a�V�L�L�L�D�A�q��w�y�'�)�,�,�D��
�"�D�=�f�=�=��1�v�G�G�G��?�7�9�g�i�a�Y�O�O�O�D�A�q��w�y�'�)�,�,�D��
�"�D�@�i�@�@�1�a�&�J�J�J�
�)�
�
��
)�
)�C�
�
���1�B�S�s��C�C�A�
�V�A�c�F�
�
���1�B�S�s��C�C�A�	��X�	&�	&�	&�D�D��5�?�1�a�0�0�2�6�2�6�2B�C�C�C�D�D�D�D�D�D�D�D�D�D�D����D�D�D�D��e�o�a��v�F�F�F�H�J�J�J��*�e�o�q�!��H�H�H�H��*�e�o�q�!��I�I�I�I�
��n�,E�	F�	F�	F�5�5���y�y�y�)�)�)�4�4���1�5�5�5�5�5�5�5�5�5�5�5����5�5�5�5��"�&��)�)�Q��"�&�!��-�-�-�	��X�	&�	&�	&�1�1��U�_�Y�Y�Y�	�	�	�:�:�R�V�R�V�<L�M�M�M��x�!�R�V��r�1�g�.�/�/���U�_�T�2�8�F�+;�+;�<�<��"�&�k�A�r�v�;�/�	1�	1�	1�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1��6�G�A�A�A�q�q�q�"�R�%�K���&�G�A�A�A�q�q�q�!�B�$�J�������W�%�%�I�
�_�W�g�q�V�
D�
D�
D�F�B���?�7�G�Q�6�$*�,�,�,�D�A�q��A�r��&�&�&�&��A�y�y��R��0�0�u�=�=�=�=��?�7�G�Q�6�$-�/�/�/�D�A�q��A�r��&�&�&�&��A�y�y��R��3�3�%�@�@�@�@�@�@s��H8�.H!�
4H
�>H!�
H�H!�H�H!�H8�!H%	�%H8�(H%	�)H8�8H<�?H<�:Y�Y�Y�\�\
�
\
�B1`�`�`c��eZdZdZej�d��ejejdezdz��ej�dezdz��f��Z	ejejedz��dzej�edz��f��Z
ejd��Zejd��dzZddgZ
ddgZej�d��ej�d	dd
����dd	��jZej�ddd���Zd
dgZd
dgZgd�Ze	e
ddiefe	je
jddiefe	ddd�fe
ddd�fddiedfe	ddd�f���e
ddd�f���ddiedfe	e
ddd�efe	e
ej�d��dd�efeeddid
feeddd�efe
eidfe	e
ej�d��dd�efg
Zej�de��d���Z d�Z!d�Z"d�Z#d�Z$ej�%��d���Z&d �Z'd!�Z(d"�Z)dS)#�Test_ttest_ind_permutationsrErr r!rBrHrrr"rrr%��'^P?gC�q��?g$��R���?)g=B�����?g����?goŜ���?g�p���?g��'^�?rAN)r@rA�	equal_varTrN)rAr@r�za,b,update,p_dc��ddd�}ddddd�}|�|��|�|��tj||fi|��\}}tj||fi|��\}	}
t||	d��t|
|��dS)NF�rAr�rCr)rAr��permutationsr@r")�updaterSr�r)r]r�r�r��p_d�	options_a�	options_p�stat_ar��stat_pr�s           re�test_ttest_ind_permutationsz7Test_ttest_ind_permutations.test_ttest_ind_permutations(s���!��6�6�	�!��%)�1�>�>�	����� � � ����� � � ��O�A�q�6�6�I�6�6�	������A�;�;��;�;����!�&�&�!�4�4�4�!�&�#�.�.�.�.�.rtc���tj�d��d}tj�d|d��}tj�d|d��}ddd�}|�d���tj||fi|��}tj||fi|��}|�d	���tj||fi|��}tj||fi|��}|�d
���tj||fi|��}	tj||fi|��}
t|j|j��t|j|	j��t|j|j��t|j|j��t|	j|
j��t|	j	|
j	��t|j	|j	��t|j	|j	��|j	dk}t|j	||j	|z|	j	|��t|j	||j	|z|	j	|��dS)Nrr rrrC)rAr�rrrr
r(�
rYr�r�r�r�rSr�rr�r�)r]�Nr�r�r��res_g_ab�res_g_ba�res_l_ab�res_l_ba�res_2_ab�res_2_bar�s            re� test_ttest_ind_exact_alternativez<Test_ttest_ind_permutations.test_ttest_ind_exact_alternative5sj��
�	���q����
���I�N�N�1�a��#�#���I�N�N�1�a��#�#����5�5�	����Y��/�/�/��?�1�a�5�5�9�5�5���?�1�a�5�5�9�5�5�����V��,�,�,��?�1�a�5�5�9�5�5���?�1�a�5�5�9�5�5�����[��1�1�1��?�1�a�5�5�9�5�5���?�1�a�5�5�9�5�5��	�X�'��);�<�<�<��X�'��);�<�<�<�	�X�'�(�*<�)<�=�=�=��X�'�(�*<�)<�=�=�=��X�'�(�*<�)<�=�=�=�	�X�_�h�o�6�6�6�	�X�_�h�o�6�6�6��X�_�h�o�6�6�6���#�%���X�_�T�*�X�_�T�-B�B��_�T�*�	,�	,�	,��X�_�d�U�+�h�o�t�e�.D�D��_�d�U�+�	-�	-�	-�	-�	-rtc��tj�d��d}tj�|��}tj�|��}t	j||��}t	j||d���}t	j||d���}t	j||tj���}|j|jksJ�|j|jksJ�|j|jksJ�dS)Nrr rC�r�)rYr�r�r�rSr�rMr�)r]r�r�r�r�r�r�rs        re�test_ttest_ind_exact_selectionz:Test_ttest_ind_permutations.test_ttest_ind_exact_selection_s���
�	���q����
���I�N�N�1�����I�N�N�1������q�!�$�$����q�!�$�7�7�7����q�!�!�4�4�4����q�!�"�&�9�9�9���{�d�k�)�)�)�)��{�d�k�)�)�)�)��{�d�k�)�)�)�)�)�)rtc���tj�d��tj�d��}tj�d��}tj||f��}t|��t|��}}d}t
|||d��\}}}tt|����}	|	t||z|��ksJ�t|��|	ksJ�dS)Nrr r!rBT)	rYr�r�r�rpr�rr�r)
r]r�r�r��na�nbr��t_statr��n_uniques
          re�!test_ttest_ind_exact_distributionz=Test_ttest_ind_permutations.test_ttest_ind_exact_distributionms���	�	���q�����I�N�N�1�����I�N�N�1�����~�q�!�f�%�%���Q����Q���B����2�4��r�37�9�9����1��s�6�{�{�#�#���5��b��"�-�-�-�-�-�-��6�{�{�h�&�&�&�&�&�&rtc��tj�d��d}tj�dd|��}tj�d|��}dddd�}|�d�	��tj||fi|��}tj||fi|��}|�d
�	��tj||fi|��}tj||fi|��}t|j|j��t|j|j��t|j|j��t|j	|j	zdd|ddzzz��t|j	|j	zdd|ddzzz��dS)
Nrr�rr rNrC)rAr�r@rrrrr�r�)	r]r�r�r�r�r�r�r�r�s	         re�#test_ttest_ind_randperm_alternativez?Test_ttest_ind_permutations.test_ttest_ind_randperm_alternative�s���
�	���q�������I�N�N�1�a��#�#���I�N�N�1�a� � ����q�I�I�	����Y��/�/�/��?�1�a�5�5�9�5�5���?�1�a�5�5�9�5�5�����V��,�,�,��?�1�a�5�5�9�5�5���?�1�a�5�5�9�5�5��	�X�'��);�<�<�<�	�X�'�(�*<�)<�=�=�=��X�'�(�*<�)<�=�=�=�	�X�_�x��6���I�n�5��9�:�:�	<�	<�	<��X�_�x��6���I�n�5��9�:�:�	<�	<�	<�	<�	<rtc��tj�d��d}tj�|d��}tj�|d��}ddd�}|�d���tj||fi|��}|�d���tj||fi|��}|�d	���tj||fi|��}t|j|jzd
d
|dd
zzz��|jdk}td
|j|z|j|d���td
d
|j|z
z|j|d���td
|j|z|j|d���td
d
|j|z
z|j|d���dS)Nrr�r!r?�r�r@rrrr
rr�r(rr=r�)
rYr�r�r�r�rSr�rr�r)	r]r�r�r�r�r�r�r�r�s	         re�$test_ttest_ind_randperm_alternative2z@Test_ttest_ind_permutations.test_ttest_ind_randperm_alternative2�s��
�	���q�������I�N�N�1�a� � ���I�N�N�1�a� � ��%*�A�>�>�	����Y��/�/�/��?�1�a�5�5�9�5�5�����V��,�,�,��?�1�a�5�5�9�5�5�����[��1�1�1��?�1�a�5�5�9�5�5��	�X�_�x��6���I�n�5��9�:�:�	<�	<�	<�
��#�%����H�O�D�1�1� ���-�D�	:�	:�	:�	:���Q�x���u�5�5�6� ����.�T�	;�	;�	;�	;���H�O�T�E�2�2� ����.�T�	;�	;�	;�	;���Q�x��t�4�4�5� ���-�D�	:�	:�	:�	:�	:�	:rtc��tj�d��d}tj�|d��}tj�|d��}tj|d<tj|d<tj|d<tj|d<ddd�}|�d	�
��t
td���5tj	||fi|��}ddd��n#1swxYwYt��5}|�td
��|�d�
��tj	||fi|��}tj
|���d���tj
|���d���z}tj	|dd�|f|dd�|ffi|��}t|j|tj��t|j|tj��t%|j||j��t%|j||j��tj	|���|���fi|��}tj
|j��sJ�tj
|j��sJ�	ddd��dS#1swxYwYdS)Nrr�r")r"r)r%r)r&r rCr�r~r{rWr�ryr�r@)rYr�r�r�rZr�r�r�rSr�r
r[r\r��anyrr�r�rr)	r]r�r�r�r�r�rdr�r�s	         re�$test_ttest_ind_permutation_nanpolicyz@Test_ttest_ind_permutations.test_ttest_ind_permutation_nanpolicy�s���
�	���q�������I�N�N�1�a� � ���I�N�N�1�a� � ���&��$���&��$���&��$���&��$��%)�1�=�=�	�	���G��,�,�,�
�:�-L�
M�
M�
M�	5�	5��/�!�Q�4�4�)�4�4�C�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5��
 �
 �	+�C��J�J�~�'7�8�8�8������4�4�4��/�!�Q�4�4�)�4�4�C��8�A�;�;�?�?��?�*�*�R�X�a�[�[�_�_�!�_�-D�-D�D�D��?�1�Q�Q�Q���X�;��!�!�!�d�U�(��I�I�y�I�I�D����D�)�2�6�2�2�2����t�,�b�f�5�5�5��C�J��u�-�t�{�;�;�;��C�M�4�%�0�$�.�A�A�A��/�!�'�'�)�)�Q�W�W�Y�Y�D�D�)�D�D�C��8�C�J�'�'�'�'�'��8�C�M�*�*�*�*�*�*�#	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+s%�C/�/C3�6C3�F8K�K�Kc���ttd���5tj|j|jd���ddd��n#1swxYwYttd���5tj|j|jd���ddd��n#1swxYwYttd���5tj|j|jdd�	��ddd��dS#1swxYwYdS)
NzPermutations must ber�rOr�r)z'hello' cannot be usedrr�r�)r�r�rSr�r��b2r�r�rjs re�'test_ttest_ind_permutation_check_inputszCTest_ttest_ind_permutations.test_ttest_ind_permutation_check_inputs�s���
�:�-C�
D�
D�
D�	?�	?��O�D�G�T�W�2�>�>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�
�:�-C�
D�
D�
D�	@�	@��O�D�G�T�W�3�?�?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�
�:�-E�
F�
F�
F�	2�	2��O�D�F�D�F��)0�
2�
2�
2�
2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2s5�"A�A	�A	�&"B�B�B�5#C%�%C)�,C)c���d}tj�|d��}tj�|d��}tj||d���j}t
d|v��d|vsJ�dS)NrHrErr�r})rYr�r�rSr�r��print)r]r�r�r��p_valuess     re�)test_ttest_ind_permutation_check_p_valueszETest_ttest_ind_permutations.test_ttest_ind_permutation_check_p_values�st�����I�N�N�1�b�!�!���I�N�N�1�b�!�!���?�1�a�a�8�8�8�?��
�c��!�"�"�"��(�"�"�"�"�"�"rt)*r�r�r�r�rYr�r�r1rr�r�r�r�r��b3rSrLrMrWr�rzr{r��p_d_gen�p_d_big�tolistr�r�paramsr2r6r7r�r�r�r�r�r�r�r�r�r�r�rtrer�r��sY������
�A��I�N�N�1������	�9�2�9�Q�q�S�!�V�$�$�b�i�&6�&6�q��s�A�v�&>�&>�?�@�@�A���	�9�2�9�Q��T�?�?�S�(�"�)�*:�*:�1�a�4�*@�*@�A�B�B�A�
���2���B�	���2����	�B��Q��B�
�Q��B��I�N�N�1�����:�>�>�a�r�"��$�$�$+�G�C��O�O�A�	��:�>�>�a�r��>�4�4�D��<�
 �C��~�&�G�+�+�+�G�
�A���{�C� �	
��a�c�F�A�;��$�	
�1�a�a�a�4��!�A�q�q�q�D�'�F�D�>�3�q�6�2�	
�1�a�a�a�4����	�	�1�Q����T�7�>�>�+�+�f�d�^�S��V�D�	
�A��1�-�-�s�3�	
�A��	� 5� 5�a� 8� 8�!�D�D�c�J�	�R�+�t�$�f�-�	
�t�b�!�4�4�g�>�	�R��S��	
�A��	� 5� 5�a� 8� 8�!�D�D�g�N�
�F��[���-�v�6�6�
/�
/�7�6�
/�(-�(-�(-�T*�*�*�'�'�'�&<�<�<�:�[�����:�:���:�B"+�"+�"+�H2�2�2�#�#�#�#�#rtr�c��eZdZej���ej�dddd�ddiiggd����ej�d	d
dgd	dg���d
�������Zej�dddd�ddiiggd����ej�dddg��d�����ZdS)�Test_ttest_ind_common�kwdsrWrr��trimr)r�r��basic)�idsr�TF�unequal_varc	�(�tj�d��tj�dddddd��}tj�ddddd��}t	j||fd	d
i|��}d\}}}||dd�|dd�ddd�f}	|dd�ddd�|dd�f}
t	j|	|
fd	di|��}t
|j|dd�||dd�f|j��t
|j|dd�||dd�f|j��tj	tj
|d
��d
d��}tj	tj
|d��d
d��}
|jdd�}tj|��}tj|��}td�|D���D];}||}|
|}t	j||fd	di|��}|j||<|j||<�<t||j��t||j��dS)Nrr"r!r$rr#r%rrArO)rr rr=�rrrrrrrN�r"rr!rrrc3�4K�|]}t|��V��dSr�r��r�r�s  re�	<genexpr>z=Test_ttest_ind_common.test_ttest_many_dims.<locals>.<genexpr>s(���� 9� 9�a��q��� 9� 9� 9� 9� 9� 9rt)rYr�r�r�rSr�rr�r�r��tiler�r�rr)r]r�r�r�r�r�r�r�r�r�r�r�r�r^r��
statistics�pvalues�indices�xi�yirs                     re�test_ttest_many_dimsz*Test_ttest_ind_common.test_ttest_many_dims�sC��	�	���q�����I�N�N�1�a��A�q�!�,�,���I�N�N�1�a��A�q�)�)���o�a��4�4��4�t�4�4�����1�a�
�q�!�!�!�Q����1�a�a�a��
 ��
�q�q�q�!�Q�Q�Q��1�1�1�}�
����r�2�7�7�B�7�$�7�7���S�]�1�a�a�a��A�q�q�q�=�1��^�	%�	%�	%��S�Z��1�1�1�a��A�A�A�
�.��[�	"�	"�	"�
�K����#5�6�6��B�?�?���K����#5�6�6��B�?�?����������X�e�_�_�
��(�5�/�/��� 9� 9�5� 9� 9� 9�:�	+�	+�G��7��B��7��B��?�2�r�;�;��;�d�;�;�D�"&�.�J�w��#�{�G�G����
�C�M�2�2�2�����,�,�,�,�,rt)r�r�r�rArNc�x�tj�dd����d��}tj�dd����d��}tj|ddd<tj|ddd<tjtj||z|�	����}t��5}tjd
���5|�	td��|�	td
��tj||fd|i|��}ddd��n#1swxYwYddd��n#1swxYwYtj|j
��}t||��tj|j��}	t|	|��dS)NrH)r"r rHr	r�rrr r#r@r^r_z'invalid value encountered in less_equalrrA)rYr��randintr
rZr�r�r
rar'r\rSr�r�r	r�)
r]r�rAr�r�rrdr��p_nans�statistic_nanss
          re�test_nans_on_axisz'Test_ttest_ind_common.test_nans_on_axis"s��
�I���b�z��2�2�9�9�'�B�B���I���b�z��2�2�9�9�'�B�B���V��!��Q���
��V��!��Q���
��8�B�F�1�q�5�t�4�4�4�5�5���
 �
 �	;�C���X�)F�)F�)F�	;�	;��J�J�~�@�
B�
B�
B��J�J�~�'@�A�A�A��/�!�Q�:�:�T�:�T�:�:�C�		;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�
��#�*�%�%���6�8�,�,�,���#�-�0�0���>�8�4�4�4�4�4s7�E�.AE�:E�E
	�
E�
E
	�E�E!�$E!N)	r�r�r�r2r6r�r7rrr�rtrer�r��s?�������[������[���V�s�A�&N�&N�'-�r�l�B�&8�!B�!B�!B��D�D��[���[�4��-�"-�}�!=��?�?�!-�!-�?�?�D�D���!-�F�[���V�s�A�&N�&N�'-�r�l�B�&8�!B�!B�!B��D�D��[���V�b�!�W�-�-�5�5�.�-�D�D�5�5�5rtr�c	�d�eZdZgd�gd�dddggd�gd�dddggd�gd�d	d
dggd�gd
�dddggd�gd�dddggZej�de��d���Zd�Zd�Z	ej�dd��d���Z
d�Zej�dgd���d���ZdS) �Test_ttest_trimr&�rr�g������@�9�(�?�e���r)r&g33333`@rJg33333�^@g�(\��P@rmgfffffڇ@g�B�M)u�?g���]@gy�d�?g	�s5v�@g{�G�z�?�r�r�rr��ffffff�?r�rrrvrr�r.g������@r�r+r(rg333333@rr�g������@rgn4aƂ�g?�^��)g
�,��
�g�m���?g��i��I@gE|��x!�g��vwQ�?gl��fP��g��_�)���g�XG~���?g=�n��@g8$���m��g({���g]�:�m��?g�Yv���gb�����?gb�	���gSTß}�g9��y�g.�Ͽv��?g�޺��i�?g	'X�@�)g�>�_\�?g hO��?gau?�@g׌g+���?g�:�؜^�g��z54�g�7�f��?g��DO%�@g�#�xG@g�\��F��?g���4E�?g���nf�g�>P"�ۿg���uX@gv���R��?g%�����?g2Y�dz�g�o���?gih����?gn����?g��!�n�u?g�J+b��za,b,pr,tr,trimc��tj|||d���\}}t||d���t||d���dS)a
        Using PairedData's yuen.t.test method. Something to note is that there
        are at least 3 R packages that come with a trimmed t-test method, and
        comparisons were made between them. It was found that PairedData's
        method's results match this method, SAS, and one of the other R
        methods. A notable discrepancy was the DescTools implementation of the
        function, which only sometimes agreed with SAS, WRS2, PairedData and
        this implementation. For this reason, most comparisons in R are made
        against PairedData's method.

        Rather than providing the input and output for all evaluations, here is
        a representative example:
        > library(PairedData)
        > a <- c(1, 2, 3)
        > b <- c(1.1, 2.9, 4.2)
        > options(digits=16)
        > yuen.t.test(a, b, tr=.2)

            Two-sample Yuen test, trim=0.2

        data:  x and y
        t = -0.68649512735573, df = 3.4104431643464, p-value = 0.5361949075313
        alternative hypothesis: true difference in trimmed means is not equal
        to 0
        95 percent confidence interval:
         -3.912777195645217  2.446110528978550
        sample estimates:
        trimmed mean of x trimmed mean of y
        2.000000000000000 2.73333333333333
        F�r�r�r�r�N�rSr�r)r]r�r�r>r�r�r�r�s        re�test_ttest_compare_rz$Test_ttest_trim.test_ttest_compare_rSsR��@"�O�A�q�t�u�M�M�M��	�6��	�2�E�2�2�2�2�����/�/�/�/�/�/rtc��gd�}gd�}tj||dd���\}}t|dd���t|d	d���dS)
N)rJrFrirGr��,rJrFrirGr�r )rQrXrFrJr��rjrQrXrFrJr�r!rjg
ףp=
�?FrgRb�v�?rr�g��O�i�?r�r]r�r�r�r�s     re�test_compare_SASz Test_ttest_trim.test_compare_SASwsi��
=�<�<��D�D�D��"�O�A�q�s�e�L�L�L��	�6����t�4�4�4�4��	�8�$�7�7�7�7�7�7rtc��gd�}gd�}tj||d���\}}t|dd���t|dd���d	S)
a�
        The PairedData library only supports unequal variances. To compare
        samples with equal variances, the multicon library is used.
        > library(multicon)
        > a <- c(2.7, 2.7, 1.1, 3.0, 1.9, 3.0, 3.8, 3.8, 0.3, 1.9, 1.9)
        > b <- c(6.5, 5.4, 8.1, 3.5, 0.5, 3.8, 6.8, 4.9, 9.5, 6.2, 4.1)
        > dv = c(a,b)
        > iv = c(rep('a', length(a)), rep('b', length(b)))
        > yuenContrast(dv~ iv, EQVAR = TRUE)
        $Ms
           N                 M wgt
        a 11 2.442857142857143   1
        b 11 5.385714285714286  -1

        $test
                              stat df              crit                   p
        results -4.246116897032513 12 2.178812829667228 0.00113508833897713
        rrr�r�g�����R?绽���|�=r�g��^��Nrr"s     re�test_equal_varzTest_ttest_trim.test_equal_var�sh��&
D�C�C��C�C�C��!�O�A�q�r�:�:�:��	�6��� 3�%�@�@�@�@��	�#5�E�B�B�B�B�B�Brtz	alt,pr,tr))rgjΜ>5��?r)rgn4aƂ�W?rc��gd�}gd�}tj||dd|���\}}t||d���t||d���dS)	z�
        > library(PairedData)
        > a <- c(2.7,2.7,1.1,3.0,1.9,3.0,3.8,3.8,0.3,1.9,1.9)
        > b <- c(6.5,5.4,8.1,3.5,0.5,3.8,6.8,4.9,9.5,6.2,4.1)
        > options(digits=16)
        > yuen.t.test(a, b, alternative = 'greater')
        rrrF)r�r�rr&r�Nr)r]r�r>r�r�r�r�r�s        re�test_alternativesz!Test_ttest_trim.test_alternatives�sq��
D�C�C��C�C�C��!�O�A�q�r�U�8;�=�=�=��	�6�����/�/�/�/��	�2�E�2�2�2�2�2�2rtc�N�d}tt|���5tjddgddgdd���ddd��n#1swxYwYd}tt|���5tjddgdtjdgdd	�
��ddd��dS#1swxYwYdS)Nz7Permutations are currently not supported with trimming.r�rrr r)r�r�z4not supported by permutation tests or trimmed tests.rz)r�r|)r�r�rSr�rYrZ)r]r�s  re�test_errors_unsupportedz'Test_ttest_trim.test_errors_unsupported�sY��J��
�:�U�
3�
3�
3�	E�	E��O�Q��F�Q��F��!�D�D�D�D�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�G��
�:�U�
3�
3�
3�	P�	P��O�Q��F�Q����N���O�O�O�O�	P�	P�	P�	P�	P�	P�	P�	P�	P�	P�	P�	P����	P�	P�	P�	P�	P�	Ps#�A�A�	A�%(B�B�!Br�)g������ɿr(rc��d}tt|���5tjddgddg|���ddd��dS#1swxYwYdS)Nz/Trimming percentage should be 0 <= `trim` < .5.r�rrr%)r�r�rSr�)r]r�r�s   re�test_trim_bounds_errorz&Test_ttest_trim.test_trim_bounds_error�s���A��
�:�U�
3�
3�
3�	7�	7��O�Q��F�Q��F��6�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7s�A�A�	AN)
r�r�r�r�r2r6r7rr#r'r)r+r-r�rtrerr?s�������	���O�O�O�%8�:M�	�	
�	1�	1�	1�?�?�?�	�/��	5�	1�	1�	1�?�?�?�	�/��	6�	@�	@�	@�	@�	@�	@�	�,�b�	2�
H�
H�
H�
 �
 �
 �"3�4D�b�	J�K�F�&�[���-�v�6�6�!0�!0�7�6�!0�F
8�
8�
8�C�C�C�4�[���[�N���3�3�	��3� P�P�P��[���V�\�\�\�2�2�7�7�3�2�7�7�7rtrc	�`�tj�d��tj�dddddd��}tj�ddddd��}t	||fd	�
��}tj|d��}tj|dd
��}t
d�|jD���D]k}|\}}}}}}	||jd	kr!|||||||	f|||||||	fksJ��=||||||jd	z
||	f|||||||	fksJ��ldS)Nrr"r!r rr#r%rrOr@r)N.rc3�4K�|]}t|��V��dSr�r�rs  rerz.test__broadcast_concatenate.<locals>.<genexpr>�s(����5�5��5��8�8�5�5�5�5�5�5rt)rYr�r�r�rrrr�)
r�r�r_�indexr�r�r��lr�r�s
          re�test__broadcast_concatenater2�s\���I�N�N�1����
�	���q�!�Q��1�a�(�(�A�
�	���q�!�Q��1�%�%�A���1�v�B�/�/�/�A�
���%�&�&�A�
���)��0�1�1�A��5�5�Q�W�5�5�5�6�L�L�� ���1�a��A�q��q�w�r�{�?�?��Q��1�a��A�%�&�!�A�q�!�Q��1�,<�*=�=�=�=�=�=��Q��1�a�!�'�"�+�o�q�!�3�4��!�Q��1�a��:J�8K�K�K�K�K�K�L�Lrtc	�"�d}d}d}d}tj||d���\}}t||g||g��ttjt	||��ddi�||g��d}d	}d
}tj||d���\}}t||g||g��ttjt	||��ddi�||g��d}d}d
}d}||g||gf}tjddd��}	tjddd��}
tjddd��}tj||
g��}tj|
|g��}
tj||
dd���\}}t||g||f��ttjt	||
��ddi�||f��tj||	dd���\}}t||g||f��ttjt	||	��ddi�||f��tj|j|
jdd���\}}t||g|��t	|j|
j��}ttj|ddi�||f��tj||
dd���\}}t||g|��t	||
d���}ttj|ddi�||f��d}tj||
dd���}t||��tj
|||g��}tj
|
|
|
g��}tj||dd���\}}ttj|��tj|����ttj|��|��t|jd��t	||d���}tj|ddi�\}}ttj|��tj|����ttj|��|��t|jd��tjtj|dd��tj|dd��dd���\}}ttj|��tj|����ttj|��|��t|jd��t	tj|dd��tj|dd��d���}tj|ddi�\}}ttj|��tj|����ttj|��|��t|jd��t!jt$d���5tjgd�gd�d���\}}ddd��n#1swxYwYttj|��|ft
jdf��tjd� ��5ttjgd�gd�d���t
jt
jf��tjdt
jgd!dgg��}ttj|tjd"��d���dt
jgdt
jgf��ddd��dS#1swxYwYdS)#Nr&rrrF�r�r�rg��J��?g*����ʿr�g��@�[�?g�ωұ�?g��h�G�?rrBrGr"r�rr�r@r=rsrr�rr�r�r�r^�r�rNr�)rSr�rr�r�rYrrr�rr�rrrr�r�r2r�r\rMrarZr�)r�r�r>r�rNr��	tr_uneq_n�	pr_uneq_nr��rvs3r{rzr�r�rer�r�r�r�r�s                    re�test_ttest_ind_with_uneq_varr9�s����A��A�	�B�	�B��?�1�a�5�1�1�1�D�A�q��q��e�b�"�X�.�.�.��e�8�+�a��:K�:K�J�CH�J�J� �!�f�&�&�&�	�A�	�B�	�B��?�1�a�5�1�1�1�D�A�q��q��e�b�"�X�.�.�.��e�8�+�a��:K�:K�J�CH�J�J� �!�f�&�&�&�

�B�#�I�	�B�#�I���s�8�R��G�
�C�
�;�q��b�!�!�D�
�;�q��S�!�!�D�
�;�q��S�!�!�D��h��d�|�$�$�G��h��d�|�$�$�G�
�/�$��1��
>�
>�
>�C�A�a��q��e�R��G�,�,�,��e�8�+�d�FJ�;L�;L�J�CH�J�J� !�!�f�&�&�&�
�/�$��1��
>�
>�
>�C�A�a��q��e�i��%;�<�<�<��e�8�+�d�FJ�;L�;L�J�CH�J�J� !�!�f�&�&�&�
�/�'�)�W�Y�Q�%�
H�
H�
H�C�A�a��q��e�C�(�(�(��w�y�'�)�,�,�D��e�8�$�J�CH�J�J� �!�f�&�&�&��/�'�7��e�
D�
D�
D�C�A�a��q��e�C�(�(�(��w��a�0�0�0�D��e�8�$�J�CH�J�J� �!�f�&�&�&�
)�J�
�/�$��1��
>�
>�
>�C���Z�(�(�(��i����1�2�2�G��i����1�2�2�G�
�/�'�7��e�
D�
D�
D�C�A�a����q�	�	�2�6�"�:�:�.�.�.��b�f�Q�i�i��,�,�,����&�!�!�!��w��a�0�0�0�D��%�t�=�u�=�=�D�A�q����q�	�	�2�6�"�:�:�.�.�.��b�f�Q�i�i��,�,�,����&�!�!�!��?�2�;�w��1�5�5��;�w��1�5�5� !�U�4�4�4�D�A�q��b�f�Q�i�i������4�4�4��b�f�Q�i�i��,�,�,����&�!�!�!��r�{�7�A�q�1�1��{�7�A�q�1�1��;�;�;�D��%�t�=�u�=�=�D�A�q��b�f�Q�i�i������4�4�4��b�f�Q�i�i��,�,�,����&�!�!�!�
��n�,E�	F�	F�	F�F�F���y�y�y�)�)�)�u�E�E�E���1�F�F�F�F�F�F�F�F�F�F�F����F�F�F�F��"�&��)�)�Q��"�&�!��-�-�-�	���	"�	"�	"�1�1��U�_�Y�Y�Y�	�	�	�U�K�K�K��f�b�f�%�	'�	'�	'��x�!�R�V��r�1�g�.�/�/���U�_�T�2�8�F�+;�+;�u�M�M�M��"�&�k�A�r�v�;�/�	1�	1�	1�
1�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1�1�1s%�W2�2W6�9W6�B5\�\�\c�~�tjdddg}gd�}tj||d���}tj||d���}t	|j|jd���t	|j|jd���tj||d	d���}t	||d���t	|d
d���dS)Nr�r�r�r�rzr{r�r�r)g�8���H�g�W�@���?)rYrZrSr�rr�r�r�s     re�test_ttest_ind_nan_2nd_argr;Ds���	���c�3��A����A�	���A�&�	1�	1�	1�B�	���A�&�	1�	1�	1�B��B�L�2�<�-�e�<�<�<�<��B�I�r�y�u�5�5�5�5�
���A�a�b�b�E�	"�	"�B��B���'�'�'�'��B�C�� � � � � � rtc��tjgg��}t|tjj��sJ�t|tjtjf��dSr�)rSr�rr��Ttest_indResultrrYrZr�s re�#test_ttest_ind_empty_1d_returns_nanr>ZsO���_�R��
$�
$�F��f�e�o�=�>�>�>�>�>���"�&�"�&�)�*�*�*�*�*rtc�2�tjd��}tj||d���}t	|tjj��sJ�tj|tj���}t|j
|��t|j|��dSr�)rYr�rSr�rr�r=rmrZrr�r�r�s     re�test_ttest_ind_axis_size_zeror@bs���	�����A�
�_�Q���
+�
+�
+�F��f�e�o�=�>�>�>�>�>��W�^���?�?�?�N���!�>�2�2�2�����/�/�/�/�/rtc�.�tjd��}tjd��}tj||d���}t	|tjj��sJ�t|jj	d��t|j
j	d��dSr��rYr�rSr�rr�r=rr�r�r�r�s   re� test_ttest_ind_nonaxis_size_zerorCqs���
	�����A�
�����A�
�_�Q���
*�
*�
*�F��f�e�o�=�>�>�>�>�>���!�'��0�0�0����$�f�-�-�-�-�-rtc�.�tjd��}tjd��}tj||d���}t	|tjj��sJ�t|jj	d��t|j
j	d��dS)N)rr$rr�rr@r�rBr�s   re�2test_ttest_ind_nonaxis_size_zero_different_lengthsrE~s���	�����A�
�����A�
�_�Q���
*�
*�
*�F��f�e�o�=�>�>�>�>�>���!�'��0�0�0����$�f�-�-�-�-�-rtc�@�tjddg��tjddg��}}tjddg��tjddg��}}tjddg��tjdd	g��}}tj||||||��dS)
Nrrr r!r"��rB�)rYrrSr�)�mean1�mean2�std1�std2�nobs1�nobs2s      re�test_gh5686rP�s����8�Q��F�#�#�R�X�q�!�f�%5�%5�5�E���1�a�&�!�!�2�8�Q��F�#3�#3�$�D��8�S�#�J�'�'���3��*�)=�)=�5�E�	��u�d�E�5�$��F�F�F�F�Frtc	��tjddddddd���}t|tjtjg��dS)Nrr#Fr4)rSr�rrYrZr�s re�%test_ttest_ind_from_stats_inputs_zerorR�s@��
�
'��1�a��A�q�E�
J�
J�
J�F���"�&�"�&�)�*�*�*�*�*rtc��
�d\}}}tj�dd|||f���}tj|dd�dd�dd�ft	j||f��d���\}}tj|dd�dd�dd�fdd���\}}tj|dd�ddfd��\}}	t
||d�	��t|d
|d�	��t|j	||f��tj|dd�dd�dd�ft	j|d|f��d���\}}tj|dd�dd�dd�fdd���\}}tj|ddd�dfd��\}}	t
||d�	��t|d
|d�	��t|j	||f��tj|dd�dd�dd�ft	j||df��d���\}}tj|dd�dd�dd�fdd���\}}tj|dddd�fd��\}}	t
||d�	��t|d
|d�	��t|j	||f��tjgd�d��\}
}tt	j
|
��|ftjdf��d
�}t	j|��}
tj|dd�dd�dd�fd��\}}tj|dd�dd�dd�fdd���\}
}|
||d��}t||��t|
|��tj|dd�dd�dd�fdd���\}
}|
||d��}t||��t|
|��t	jd���5ttjgd�d��tjtjf��t	jdtjgddgg��}ttj|d��dtjgdtjgf��ddd��n#1swxYwYtj|dd�dd�dd�f<tj|dd�dd�dd�fdd���\}}tj|dd�dd�dd�fddd���\}
}|
||d��}t||��t|
|��tj|dd�dd�dd�fddd���\}
}|
||d��}t||��t|
|��dS)N)rHrDrEr"rHrrr@rrFrBrrr�c�L�|dkr|dks|dkr|dkr|dzSd|dzz
Sr�r�r�s   rer�z%test_ttest_1samp_new.<locals>.convert�r�rtrrrr^r5rNr r!r%rzr{rV)rSrLrMrArYr:rrrr�rrMr�rrarZr)rSrT�n3�rvn1r7r�r8�p2r9�p3rNr�r�r�r�r>�pcr�s                  re�test_ttest_1samp_newrZ�s.���J�B��B��:�>�>�a�b�r�"�R�j�>�9�9�D�
��d�1�1�1�Q�Q�Q�q�q�q�5�k�2�7�B�r�7�+;�+;��C�C�C�E�B�r���d�1�1�1�Q�Q�Q�q�q�q�5�k�1�!�4�4�4�E�B�r���d�1�1�1�Q�q�5�k�1�-�-�E�B�r��b��R�0�0�0�0���3���B�/�/�/�/����B�r�7�#�#�#���d�1�1�1�Q�Q�Q�q�q�q�5�k�2�7�B��2�;�+?�+?�Q�G�G�G�E�B�r���d�1�1�1�Q�Q�Q�q�q�q�5�k�1�!�4�4�4�E�B�r���d�1�Q�Q�Q�q�5�k�1�-�-�E�B�r��b��R�0�0�0�0���3���B�/�/�/�/����B�r�7�#�#�#���d�1�1�1�Q�Q�Q�q�q�q�5�k�2�7�B�r�!�9�+=�+=�1�E�E�E�E�B�r���d�1�1�1�Q�Q�Q�q�q�q�5�k�1�!�4�4�4�E�B�r���d�1�Q�q�q�q�5�k�1�-�-�E�B�r��b��R�0�0�0�0���3���B�/�/�/�/����B�r�7�#�#�#���Y�Y�Y��*�*�D�A�q��"�&��)�)�Q��"�&�!��-�-�-������W�%�%�I�
�
�t�A�A�A�q�q�q�!�!�!�G�}�a�
0�
0�F�B����T�!�!�!�Q�Q�Q����'�]�A�9�E�E�E�D�A�q�	��2�r�9�	%�	%�B��A�r�����A�r������T�!�!�!�Q�Q�Q����'�]�A�6�B�B�B�D�A�q�	��2�r�6�	"�	"�B��A�r�����A�r����	���	"�	"�	"�M�M��U�&�y�y�y�!�4�4�r�v�r�v�6F�G�G�G��x�!�R�V��b�!�W�-�.�.���U�&�t�Q�/�/�1�b�f�+��2�6�{�1K�L�L�L�M�M�M�M�M�M�M�M�M�M�M����M�M�M�M��&�D��1��a��c�1�Q�3���
�
�t�A�A�A�q�q�q�!�!�!�G�}�a�F�
C�
C�
C�F�B����T�!�!�!�Q�Q�Q����'�]�A�&�)2�4�4�4�D�A�q�	��2�r�9�	%�	%�B��A�r�����A�r������T�!�!�!�Q�Q�Q����'�]�A�&�)/�1�1�1�D�A�q�	��2�r�6�	"�	"�B��A�r�����A�r�����s�BQ>�>R�Rc�Z�tj�d��}|�d���}d}|�d���}tjt
|���5t
j||d���ddd��n#1swxYwY|�d	���}t
j||d���}|jj	d
ksJ�tj
|���d���}t
j||d���}t|j
d��dS)
NliI��}pC)rrDrEr	z%`popmean.shape\[axis\]` must equal 1.)r"rrEr�r=)rXrA)r"rrE)r"rEr@g�������?)rYr�rr2rr�rSrAr�r�r6r	rr�)rr�r3rXr�rs      re�test_ttest_1samp_popmean_arrayr\�sX��
�)�
�
� 3�
4�
4�C��
�
��
�$�$�A�6�G��j�j�j�j�)�)�G�	��z��	1�	1�	1�7�7�
��!�W�2�6�6�6�6�7�7�7�7�7�7�7�7�7�7�7����7�7�7�7��j�j�j�j�)�)�G�
�
�A�w�R�
8�
8�
8�C��=��'�)�)�)�)�	���/�/�1�1��	;�	;�	;�B�
�
�A�r��
3�
3�
3�C��C�J��%�%�%�%�%s�)B
�
B�Bc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestDescribec	�b�t��5}tjd���5tjt
d���5|�t
d��tjd��\}}}}}}ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYt|d��t|d��t|d��tj
|��sJ�tj
|��sJ�tj
|��sJ�dS)	Nr^r_rr�r&r�r)r�r�)r
rYrar2r�r\r'rS�describerr�)r]rdr�rr�r��sk�kurts        re�test_describe_scalarz!TestDescribe.test_describe_scalar�s���
�
 �
 �	7�C���X�)F�)F�)F�	7�	7�
�\�.�0I�
J�
J�
J�	7�	7��J�J�~�'J�K�K�K�$)�N�2�$6�$6�!�A�r�1�a��T�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	�Q������R��$�$�$��Q������x��{�{�����x��|�|�����x��~�~�����sX�B2�B�7B�8B�B�B�B�B�B2�B	�B2�"B	�#B2�2B6�9B6c���tjtjd��tjdd��f��}dgd�gd�f}}tjgd���}tjgd���}d	gd
z}dgd
z}tj|��\}}	}
}}}
t||��t|	|��t|
|��t||��t||d�
��t|
|d�
��tj|j	d���\}}	}
}}}
t||��t|	|��t|
|��t||��t||d�
��t|
|d�
��tj
d��}tj|d<d\}}d}d}d}d}tj|d���\}}	}
}}}
t||��t|	|��t|
|��t||��t||��t|
|d�
��ttt
j|d���ttt
j|d���dS)Nr��rr!rr"�r�r�r�r��r�r�r�r���ffffff�?ririri)rvrvrvrv�H,p� �?r!�TUUUUU��rKrBrr@rxr&)r&)r}rr�r/r}g�G�z��rzr{r~r)rYr1r:rmrrSr`rrr�rrZr�r��r]r��nc�mmc�mc�vc�skc�kurtcr�rr�r�rarbs              re�test_describe_numbersz"TestDescribe.test_describe_numberss����I�r�w�u�~�~�r�w�v�q�'9�'9�:�;�;���'�'�'�)9�)9�)9�:�C��
�X�*�*�*�
+�
+��
�X�*�*�*�
+�
+��"�#�a�'��#�$�q�(�� %��q� 1� 1���2�q�!�R���Q������R������Q������Q�����!�"�c�2�6�6�6�6�!�$��r�:�:�:�:� %��q�s�� ;� ;� ;���2�q�!�R���Q������R������Q������Q�����!�"�c�2�6�6�6�6�!�$��r�:�:�:�:��I�c�N�N���v��!��!���C�
��
����#�� %��q�V� D� D� D���2�q�!�R���Q������R������Q������Q�����!�"�c�*�*�*�!�$��r�:�:�:�:��j�%�.�!��H�H�H�H��j�%�.�!��I�I�I�I�I�Irtc�v�tjtjd����}d}t	||��dS)Nr")r��minmaxrX�variance�skewnessr&)rSr`rYrr)r]r�r�s   re�test_describe_result_attributesz,TestDescribe.test_describe_result_attributes/s6�����	�!���-�-��"�
��F�J�/�/�/�/�/rtc��tjtjd��tjdd��f��}dgd�gd�f}}tjgd���}tjgd���}d	gd
z}dgd
z}tj|d�
��\}}	}
}}}
t||��t|	|d���t|
|d���t||d���t||d���t|
|d���dS)Nr�rerr"rfrgrh)���Q��?rzrzrzrjr!rkrrhr�rrKrB)
rYr1r:rmrrSr`rrrrls              re�test_describe_ddofzTestDescribe.test_describe_ddof5s,���I�r�w�v�������(:�(:�;�<�<���'�'�'�)9�)9�)9�:�C��
�X�*�*�*�
+�
+��
�X�.�.�.�
/�
/��"�#�a�'��#�$�q�(�� %��q�q� 9� 9� 9���2�q�!�R���Q�������C�e�,�,�,�,���2�E�*�*�*�*���2�E�*�*�*�*�!�"�c�2�6�6�6�6�!�$��r�:�:�:�:�:�:rtc���tjtjd��tjdd��f��}d\}}d}d}d}d}t	j|d�	��}t
|j|��t|j	|��t|j
|��t|j|��t|j
|d
���t|j|d
���dS)Nr�rer)rE)r�r�rig�a�+�?gE,p� �?gUUUUUU��r@rKrB)rYr1r:rmrSr`rr�rrurXrvrrwr&)	r]r��e_nobs�e_minmax�e_mean�e_var�e_skew�e_kurtr�s	         re�test_describe_axis_nonez$TestDescribe.test_describe_axis_noneDs����I�r�w�v�������(:�(:�;�<�<��,����#��#��#��$��
�N�1�4�(�(�(���Q�V�V�$�$�$��A�H�h�/�/�/��A�F�F�+�+�+��A�J��.�.�.�!�!�*�f�b�A�A�A�A�!�!�*�f�b�A�A�A�A�A�Artc�F�tttjg��dSr�)r�r�rSr`rjs re�test_describe_emptyz TestDescribe.test_describe_emptyXs���j�%�.�"�5�5�5�5�5rtN)	r�r�r�rcrsrxr{r�r�r�rtrer^r^�su������
�
�
�'J�'J�'J�R0�0�0�
;�
;�
;�B�B�B�(6�6�6�6�6rtr^c	���tjtd���5ttt
jd��ttt
jd��ttt
jd��ddd��n#1swxYwYd\}}}d\}}}d|dzz
|dz}}|dzd|dzz
}	}tj
d��dz}
d	}ttj|
��||f��ttj|
��|��ttj|
��||f��ttj|
d
���||f��ttj|
d���||f��ttj|
��|��ttj|
��||f��ttj|
d
���||f��ttj|
d���||	f��ttj|
��|��t
j
�dd
d���}tj|d���j}
t!|
dd���t
j�d
d���}tj|d���j}
t!|
d��ttj|
d���||f��ttj|
d���||f��ttj|
d���||f��tjd��}
tj|
d<tjd���5t+tj|
��tjtjf��ddd��n#1swxYwYd}ttj|
d���|��tj|dd�<tj|d���\}}tj|dd
���\}}tj|dd���\}}t-||d� ��t-||d� ��t-|d|dzz
d� ��t-||dzd� ��tjd�!��5ttt
j|
d"���ddd��n#1swxYwYttt
j|
d#���ttt
jt/t1d$����d#���tjd%��}
tj|
d&<tjd�!��5t+tj|
��tjtjf��ddd��n#1swxYwYd'}ttj|
d���|��tj|dd(�<tj|dd�d���\}}tj|dd�dd
���\}}tj|dd�dd���\}}t-||d� ��t-||d� ��t-|d|dzz
d� ��t-||dzd� ��ttt
j|
d"���ttt
j|
d#���ttt
jt/t1d(����d#���tjd�!��5t+tj|
��tjtjf��ddd��n#1swxYwYd)}ttj|
d���|��ttt
j|
d"���ttt
j|
d#���gd*�}tjd+�t5|��D����}
t7tj|
��dd,kd-��dS).Nrr�r�)g�M���c@g
�O��?g{\�᛿��)g2$����?gגe�`�?gǃ�K@��?rr)r=rNrrrr r=rNrrrr r=rNrrrr r=rNrrrr r=rrrr\�{)r�r�r@r}r"rB�r�r@r@rxr&r^r_)ge�G�K�?gZ^<�ý�?rzr{rHrBrVr�r�r5r~rr%g>@r!)g�9+�%�g�?*�ݗ?rE)g��wGw�@g�{8NĦ?)
rr�:r$r�)rFrr�c�>�g|]\}}tj||����Sr�)rYrm)r�r�r_s   rer�z'test_normalitytests.<locals>.<listcomp>�s&��?�?�?�T�Q��2�7�1�a�=�=�?�?�?rtr2T)r2r�r\r�r�rS�skewtest�kurtosistest�
normaltestrYrrr�skewnormrMr�r�laplacerrZrar	rr2r�r5�	enumerater)�	st_normal�st_skew�st_kurt�	pv_normal�pv_skew�pv_kurt�pv_skew_less�pv_kurt_less�pv_skew_greater�pv_kurt_greaterr�r�r�rr�rr0r��zl�pl�zg�pgr�s                       re�test_normalitytestsr�\sp	��	��n�,E�	F�	F�	F�8�8��j�%�.�"�5�5�5��j�%�"4�b�9�9�9��j�%�"2�B�7�7�7�8�8�8�8�8�8�8�8�8�8�8����8�8�8�8�#H��I�w��"F��I�w��!"�W�q�[��'�A�+�,�L�'.��{�A��!��O�_�O�
��'�(�(�!�+�A�(�J��e�.�q�1�1�I�y�3I�J�J�J���(��+�+�Z�8�8�8��e�n�Q�/�/�'�7�1C�D�D�D��e�n�Q�F�C�C�C�&��5�7�7�7��e�n�Q�I�F�F�F�&��8�:�:�:����q�)�)�:�6�6�6��e�0��3�3�g�w�5G�H�H�H��e�0���G�G�G�&��5�7�7�7��e�0��	�J�J�J�&��8�:�:�:���*�1�-�-�z�:�:�:�

��	�	�a�e�#�	�	>�	>�B��>�"�)�4�4�4�;�D���c�1�-�-�-�-�	��	�	��C�	�	8�	8�B���b�i�8�8�8�?�D���c�"�"�"��e�.�q�t�<�<�<��y�!�#�#�#��e�n�Q�T�:�:�:��W������e�0���>�>�>��W�����	�	�#���A�
�6�A�a�D�	��X�	&�	&�	&�@�@��5�>�!�,�,�r�v�r�v�.>�?�?�?�@�@�@�@�@�@�@�@�@�@�@����@�@�@�@�9�H��e�n�Q�6�B�B�B�H�M�M�M���B�r�#�v�J��>�"��0�0�0�D�A�q�
�^�B�6�v�
F�
F�
F�F�B��
�^�B�6�y�
I�
I�
I�F�B���B���&�&�&�&��B���&�&�&�&��B��A�a�C��e�,�,�,�,��B��!��%�(�(�(�(�	���	"�	"�	"�I�I��j�%�.�!��H�H�H�H�I�I�I�I�I�I�I�I�I�I�I����I�I�I�I��*�e�n�a�H�E�E�E�E��*�e�n�d�5��8�8�n�n�&�(�(�(�(�	�	�#���A��F�A�b�E�	���	"�	"�	"�D�D��5�-�a�0�0�2�6�2�6�2B�C�C�C�D�D�D�D�D�D�D�D�D�D�D����D�D�D�D�;�H��e�0��v�F�F�F�&�(�(�(���B�r�"�u�I���b��#��h�6�:�:�:�D�A�q�
�
��4�C�4��V�,2�4�4�4�F�B��
�
��4�C�4��V�,5�7�7�7�F�B���B���&�&�&�&��B���&�&�&�&��B��A�a�C��e�,�,�,�,��B��!��%�(�(�(�(��*�e�0�!��H�H�H�H��*�e�0�!��I�I�I�I��*�e�0�$�u�R�y�y�/�/�&�(�(�(�(�
���	"�	"�	"�B�B��5�+�A�.�.�����0@�A�A�A�B�B�B�B�B�B�B�B�B�B�B����B�B�B�B�9�H��e�.�q�V�D�D�D�h�O�O�O��*�e�.��g�F�F�F�F��*�e�.��h�G�G�G�G�3�
2�
2�F�
�	�?�?�Y�v�->�->�?�?�?�@�@�A���#�A�&�&�q�)�D�0�$�7�7�7�7�7sZ�A!B	�	B
�B
�9O�O�O�<#S+�+S/�2S/�9W�W�W�9^#�#^'�*^'c���eZdZej�d��ej�dd��\ZZe	j
�dgd���d���Zd�Z
d�Zd	S)
�TestRankSumsrrrHr)rrr
c��tj|j|j|���j}tj|j|jd|���j}t
||��dS)NrF)�use_continuityr)rS�ranksumsr�r^r��mannwhitneyur)r]rr�r�s    re�test_ranksums_result_attributesz,TestRankSums.test_ranksums_result_attributes�sk���~�d�f�d�f�*5�7�7�7�7=�	
��!�$�&�$�&��.9�;�;�;�;A�	
���d�#�#�#�#�#rtc�d�tj|j|j��}t	|d��dS)Nr=)rSr�r�r^r)r]r�s  re�test_ranksums_named_resultsz(TestRankSums.test_ranksums_named_results�s.���n�T�V�T�V�,�,���C�!8�9�9�9�9�9rtc��ttd���5tj|j|jd���ddd��dS#1swxYwYdS)Nzalternative must be 'less'r�rr)r�r�rSr�r�r^rjs re�test_input_validationz"TestRankSums.test_input_validation�s���
�:�-I�
J�
J�
J�	A�	A��N�4�6�4�6�x�@�@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A�	A�	As�"A�A
�
A
N)r�r�r�rYr�r�r�r�r^r2r6r7r�r�r�r�rtrer�r��s��������I�N�N�1����
�9�>�>�!�R� � �D�A�q��[���]�,L�,L�,L�M�M�$�$�N�M�$�:�:�:�A�A�A�A�Artr�c�&�eZdZd�Zd�Zd�Zd�ZdS)�TestJarqueBerac��tj�d��tj�ddd��}tj�dd��}tj�dd��}t
tj|��dtj|��j	��t
tj|��dtj|��j
��t
tj|��dtj|��j	��t
tj|��dtj|��j
��t
tj|��dtj|��j	��t
tj|��dtj|��j
��ttj|��dtj|��dk��ttj|��j
tj|��j
k��ttj|��dtj|��dk��ttj|��j
tj|��j
k��ttj|��dtj|��dk��ttj|��j
tj|��j
k��dS)NrrrrBr\)rYr�r�r"r��rayleighrrS�jarque_berar�r�r�r]r�r^r0s    re�test_jarque_bera_statsz%TestJarqueBera.test_jarque_bera_stats�s���
�	���y�!�!�!��I���Q��6�*�*���I����v�.�.���I���q�&�)�)���U�&�q�)�)�!�,�e�.?��.B�.B�.L�M�M�M��U�&�q�)�)�!�,�e�.?��.B�.B�.I�J�J�J��U�&�q�)�)�!�,�e�.?��.B�.B�.L�M�M�M��U�&�q�)�)�!�,�e�.?��.B�.B�.I�J�J�J��U�&�q�)�)�!�,�e�.?��.B�.B�.L�M�M�M��U�&�q�)�)�!�,�e�.?��.B�.B�.I�J�J�J���!�!�$�$�Q�'�%�*;�A�*>�*>�q�*A�A�B�B�B���!�!�$�$�+�e�.?��.B�.B�.I�I�J�J�J���!�!�$�$�Q�'�%�*;�A�*>�*>�q�*A�A�B�B�B���!�!�$�$�+�e�.?��.B�.B�.I�I�J�J�J���!�!�$�$�Q�'�%�*;�A�*>�*>�q�*A�A�B�B�B���!�!�$�$�+�e�.?��.B�.B�.I�I�J�J�J�J�Jrtc�|�tj�d��tj�ddd��}t	jt
|����x}\}}t	jt|����x}\}}t	j|�dd����x}\}	}
t||cxko)|	cxko"|j
cxko|j
cxko
|j
knc��t||cxko)|
cxko"|jcxko|jcxko
|jknc��dS)NrrrrBr�P�)rYr�r�r"rSr�r2�tuplerWrr�r�)r]r��jb_test1�JB1r��jb_test2�JB2rW�jb_test3�JB3rXs           re�test_jarque_bera_array_likez*TestJarqueBera.test_jarque_bera_array_like�sR��
�	���y�!�!�!��I���Q��6�*�*��"�.�t�A�w�w�7�7�7��7�3��"�.�u�Q�x�x�8�8�8��7�3��"�.�q�y�y��E�/B�/B�C�C�C��7�3����s�c�c�c�c�c�c�c�c�c�X�%7�c�c�c�c�8�;M�c�c�c�c�QY�Qc�c�c�c�c�d�d�d���b�W�W�W�W�B�W�W�W�W�(�/�W�W�W�W�X�_�W�W�W�W���W�W�W�W�X�X�X�X�Xrtc�F�tttjg��dSr�)r�r�rSr�rjs re�test_jarque_bera_sizez$TestJarqueBera.test_jarque_bera_size	s���j�%�"3�R�8�8�8�8�8rtc��tj�tt	d������}|�d���}tt
j|d���t
j|�������t
j|d���}t
j|ddd�f��\}}t
j|ddd�f��\}}t|j
||g��t|j||g��t
j|jd���}t||��dS)N�
JarqueBera)rrkr	r@rr)
rYr�rrr�rrSr�rrr�r�r�)	r]rr�r��s0r��s1r��resTs	         rer�zTestJarqueBera.test_axiss$���i�#�#�C��\�(:�(:�$;�$;�<�<���J�J�G�J�$�$���U�&�q�t�4�4�4��&�q�w�w�y�y�1�1�	3�	3�	3�����*�*�*���"�1�Q����T�7�+�+���B��"�1�Q����T�7�+�+���B���
��B�x�0�0�0���
�R��H�-�-�-�� ���1�-�-�-����T�"�"�"�"�"rtN)r�r�r�r�r�r�r�r�rtrer�r��sV������K�K�K�0	Y�	Y�	Y�9�9�9�#�#�#�#�#rtr�c�n�tjd��}tttj|��dS)NrO)rYrr�r�rSr�r�s re�test_skewtest_too_few_samplesr�s+��	�	�#���A��*�e�n�a�0�0�0�0�0rtc�n�tjd��}tttj|��dS)Nr�)rYrr�r�rSr�r�s re�!test_kurtosistest_too_few_samplesr�$s,��	�	�#���A��*�e�0�!�4�4�4�4�4rtc�F�eZdZgd�Zgd�ZdZd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�TestMannWhitneyU)g��	�U�3@g^��–�3@g��t�3@g���]o�5@g�z�S4@g�t�<4@gM	��X3@gX�mC�k4@gL�o&�3@gfɘ���2@g��{m;^3@gaA$|3@gMѢ�_�4@g��#�3@g19T�_3@gg��C�2@g�q�R4@g�Kk/�4@g�܁�3@g�Z��2@g�_
���3@g��$`�3@g
��x�4@g3�#л5@g;VND��1@g>���H2@g���r4@g���yܤ2@g��?4@g=b�ɇ�3@)g���pG3@g�L�:j�0@g�����2@g��JNnC1@gR�;`(3@g+Pi,�2@g6:Z�2@gZ"3=��2@gF	uSa	3@gX�Ҁ2@g��X3^83@g�2��1@g���J2@gZ)E���2@g�U8�3@g���50@g���Ԇ3@gFz��33@g���z3@g���ڴ3@rFc�h�tj|j|jd���\}}tj|j|jd���\}}tj|j|jd���\}}tj|j|jd���\}}t	||��t	||��t||k��t	|d��t	|d��t	|d��t	|d��t
|d|j���t
|d|j���dS)	Nrrr��rYg=_A���?r7glP�z.?�rSr�rU�Yrrr
r8�	r]�u1r��u2rW�u3rX�u4�p4s	         re�test_mannwhitneyu_one_sidedz,TestMannWhitneyU.test_mannwhitneyu_one_sided=s(���#�D�F�D�F��G�G�G���B��#�D�F�D�F�	�J�J�J���B��#�D�F�D�F�	�J�J�J���B��#�D�F�D�F��G�G�G���B��R������R�������b������R������R������R������R������B� 1�t�?O�P�P�P�P��B� 3��AQ�R�R�R�R�R�Rrtc�$�tj|j|jd���\}}tj|j|jd���\}}t	||��t	|d��t	|d��t|d|j���dS)Nr
rr�rYglP�z.?r7�rSr�rUr�rr
r8�r]r�r�r�rWs     re�test_mannwhitneyu_two_sidedz,TestMannWhitneyU.test_mannwhitneyu_two_sidedMs����#�D�F�D�F��L�L�L���B��#�D�F�D�F��L�L�L���B��R������R������R������B� 2�(,�(8�	:�	:�	:�	:�	:�	:rtc�p�tj|j|jdd���\}}tj|j|jdd���\}}tj|j|jdd���\}}tj|j|jdd���\}}t	||��t	||��t||k��t	|d��t	|d��t	|d��t	|d��t
|d|j���t
|d	|j���dS)
NFrrrr�rYgii5����?r7g�2��2?r�r�s	         re�&test_mannwhitneyu_no_correct_one_sidedz7TestMannWhitneyU.test_mannwhitneyu_no_correct_one_sidedWsN���#�D�F�D�F�E�06�8�8�8���B��#�D�F�D�F�E�09�;�;�;���B��#�D�F�D�F�E�09�;�;�;���B��#�D�F�D�F�E�06�8�8�8���B�	�R������R�������b������R������R������R������R������B� 1�t�?O�P�P�P�P��B� 4�$�BR�S�S�S�S�S�Srtc�(�tj|j|jdd���\}}tj|j|jdd���\}}t	||��t	|d��t	|d��t|d|j���dS)NFr
rr�rYg�2��2?r7r�r�s     re�&test_mannwhitneyu_no_correct_two_sidedz7TestMannWhitneyU.test_mannwhitneyu_no_correct_two_sidedks����#�D�F�D�F�E�0;�=�=�=���B��#�D�F�D�F�E�0;�=�=�=���B�	�R������R������R������B� 4�(,�(8�	:�	:�	:�	:�	:�	:rtc�<�tjgd���}tjgd���}ttj||d���d��ttj||d���d��ttj||d���d	��dS)
N)�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr)� ��@g�?չ��>r)r�g�&)E��?r
)r�g��?չ�
?)rYrrrSr�r,s   re�test_mannwhitneyu_onesz'TestMannWhitneyU.test_mannwhitneyu_onesws����H�.�.�.�
/�
/��&
�H�&�&�&�
'�
'��	��*�1�a�V�D�D�D�:�	<�	<�	<�	��*�1�a�Y�G�G�G�2�	4�	4�	4���*�1�a�[�I�I�I�5�	7�	7�	7�	7�	7rtc�l�d}tj|j|jd���}t	||��dS)Nr=rr)rSr�rUr�rrns   re�#test_mannwhitneyu_result_attributesz4TestMannWhitneyU.test_mannwhitneyu_result_attributes�s8��,�
�� �����V�D�D�D���C��,�,�,�,�,rtN)r�r�r�rUr�r8r�r�r�r�r�r�r�rtrer�r�+s�������	-�	-�	-�A�	N�	N�	N�A��K�S�S�S� :�:�:�T�T�T�(
:�
:�
:�)7�)7�)7�V-�-�-�-�-rtr�c���gd�}gd�}ttj||��ddd��d}tj||��}t||��t	|j|j��dS)N)"rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)"g������-@g������+@g������(@rMrr�g333333@�ffffff@g333333@r+r�皙����	@r�r�r�r*r~gffffff@�������@�333333�?r�r)��������?r�rrrr:rtrOr(rrrsrg�/��"�?r"r�)rrS�pointbiserialrrrr�r�)r�r^r�r�s    re�test_pointbiserialr��s���	�	�	�A�	&�	&�	&�A���,�Q��2�2�1�5�w��B�B�B�+�J�
�
�q�!�
$�
$�C���Z�(�(�(����#�-�0�0�0�0�0rtc�J�tjgd���}tj|��}gd�}t	|d|��tjgd���}tj|��}tjgd���}t	|d|��tj||��\}}t||d��t||d��tj|||��\}}}t||d��t||d��t||d��tjd��}tjgd�gd�g��}ttj|d	|z��|d
���tdd��}	tjgd
���}
tj	|	|
��}tjgd���}tj	||
��}tj|��}t|d|d���dS)N)rrr!)r$r=r$r)rr r#r&)r�rrr�r")���㪪�@�I������?g&�>���ڿr�r�)�����5@���㪪�@gI�������r�r�rr%rBrI)r"rIr&r rr)g����_v	@g�1�%��?g"��u�?g���ZӼ�?g�!��u @g�q��&@r!)
rYrrS�obrientransformrrrrr�r)
r�r7rr�r8r�r�r_r�values�repsr��transformed_valuess
             re�test_obrientransformr��s��	��)�)�)�	�	�B�	�	�r�	"�	"�B��z�z�H��B�q�E�8�$�$�$�	��,�,�,�	�	�B�	�	�r�	"�	"�B��x����'�'�H��B�q�E�8�$�$�$�� ��R�(�(�D�A�q���B�q�E������B�q�E�����#�B��B�/�/�G�A�q�!���B�q�E������B�q�E������B�q�E����
��1���B�
�X�D�D�D�F�F�F�H�I�I�F��e�3�B��"��=�=�v�q�Q�Q�Q�Q��1�b�\�\�F�
�8�'�'�'�(�(�D�
�9�V�T�"�"�D���#<�#<�#<�=�=���y�+�T�2�2�H�
�
"�4�
(�
(�F��f�Q�i��1�=�=�=�=�=�=rtr(c��tj||||���}t|||���t|j|��dS�N)rAr?�weightsr)rS�gmeanrrr?��
array_likerSrAr?rr�r�s       re�check_equal_gmeanr��sI��	��J�T���H�H�H�A��A�w�T�*�*�*�*����%� � � � � rtc��tj||||���}t|||���t|j|��dSr�)rS�hmeanrrr?r�s       re�check_equal_hmeanr��sG��
��J�T���H�H�H�A��A�w�T�*�*�*�*����%� � � � � rtc��tj|||||���}t|||���t|j|��dSr�)rS�pmeanrrr?)r�r�rSrAr?rr�r�s        re�check_equal_pmeanr�sI��
��J��$�e�W�M�M�M�A��A�w�T�*�*�*�*����%� � � � � rtc�h�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�ZdS)�TestHarMeanc�2�gd�}d}t||��dS�N)rrrr�r��r]r�rSs   re�test_0zTestHarMean.test_0��&���I�I�����!�W�%�%�%�%�%rtc�^�gd�}d}t||��gd�}d}t||��dS)Nr{�=b�#A@rg���Q��?rrs   re�test_1d_listzTestHarMean.test_1d_listsF��5�5�5�����!�W�%�%�%��L�L��:���!�W�%�%�%�%�%rtc�V�tjgd���}d}t||��dS)Nr{r�rYrr�rs   re�
test_1d_arrayzTestHarMean.test_1d_arrays3���H�>�>�>�?�?�����!�W�%�%�%�%�%rtc�z�tjddg��}d}ttj|��|��dS)Nrrr})rYrrrSr�rs   re�test_1d_array_with_zeroz#TestHarMean.test_1d_array_with_zeros8���H�a��V�������U�[��^�^�W�-�-�-�-�-rtc�r�tjgd���}tttj|��dS)N�rrrN)rYrr�r�rSr�r s  re�!test_1d_array_with_negative_valuez-TestHarMean.test_1d_array_with_negative_values/���H�Z�Z�Z� � ���j�%�+�q�1�1�1�1�1rtc�@�gd�gd�gd�g}d}t||��dS�N�rHrEr�r��r�r�r|r��r�rBr��xgm�W�UC@rrs   re�test_2d_listzTestHarMean.test_2d_lists=��
�
�
�/�/�/�1D�1D�1D�E�����!�W�%�%�%�%�%rtc�d�gd�gd�gd�g}d}ttj|��|��dSr)r�rYrrs   re�
test_2d_arrayzTestHarMean.test_2d_array!sE��
�
�
�/�/�/�1D�1D�1D�E�����"�(�1�+�+�w�/�/�/�/�/rtc�l�gd�gd�gd�g}tjgd���}t||d���dS)Nrrr)�U|ϊ��6@g4.=��C@�JQ�6LsJ@���E]P@rr@rrs   re�
test_2d_axis0zTestHarMean.test_2d_axis0'sS��
�
�
�/�/�/�1D�1D�1D�E���(�O�O�O�P�P���!�W�1�-�-�-�-�-�-rtc��gd�gd�gd�g}tjgd���}ttj|d���|��dS)N�rHrr�r�rr)rr}r r!rr@�rYrrrSr�rs   re�test_2d_axis0_with_zeroz#TestHarMean.test_2d_axis0_with_zero-s[��
�_�_�.�.�.�0C�0C�0C�D���(�G�G�G�H�H�����A�A�.�.�.��8�8�8�8�8rtc�l�gd�gd�gd�g}tjgd���}t||d���dS)Nrrr)g3333333@���O@��y@�Y@rr@rrs   re�
test_2d_axis1zTestHarMean.test_2d_axis12sS��
�
�
�/�/�/�1D�1D�1D�E���(�<�<�<�=�=���!�W�1�-�-�-�-�-�-rtc��gd�gd�gd�g}tjgd���}ttj|d���|��dS)Nr$rr)r}r(r)rr@r%rs   re�test_2d_axis1_with_zeroz#TestHarMean.test_2d_axis1_with_zero8s[��
�_�_�.�.�.�0C�0C�0C�D���(�;�;�;�<�<�����A�A�.�.�.��8�8�8�8�8rtc�@�gd�}gd�}d}t|||d���dS)N�rrHr#�rHr"r r ��h㈵��>�r�rr�r]r�r�rSs    re�test_weights_1d_listz TestHarMean.test_weights_1d_list=s8��
�J�J���*�*�����!�W�g�D�A�A�A�A�A�Artc���tjddgddgddgg��}tjddgddgddgg��}tjddg��}t||d|d�	��dS)
Nrr"rHr#rr rr0�rAr�rrr2s    re�test_weights_2d_array_axis0z'TestHarMean.test_weights_2d_array_axis0Esz��
�H�q�!�f�r�1�g��1�v�.�/�/���(�R��G�a��V�a��V�4�5�5���(�A�q�6�"�"���!�W�1�g�D�I�I�I�I�I�Irtc���tjgd�gd�g��}tjgd�gd�g��}tjddg��}t||d|d�	��dS)
Nr.�r$r$r$r/r�r r$rr0r5rr2s    re�test_weights_2d_array_axis1z'TestHarMean.test_weights_2d_array_axis1Msn��
�H�j�j�j�)�)�)�,�-�-���(�J�J�J�	�	�	�2�3�3���(�A�q�6�"�"���!�W�1�g�D�I�I�I�I�I�Irtc��tjgd���}tj�gd�gd����}d}t|||d���dS)N�rrHr#rx�rHr"r rx�rrrrrr r0r1)rYrrnr�r2s    re�test_weights_masked_1d_arrayz(TestHarMean.test_weights_masked_1d_arrayUsX��
�H�^�^�^�$�$���%�+�+�n�n�n�<�<�<�+�@�@�����!�W�g�D�A�A�A�A�A�ArtN)r�r�r�rrrrrrrr"r&r*r,r3r6r9r>r�rtrerr�s������&�&�&�
&�&�&�&�&�&�.�.�.�
2�2�2�
&�&�&�0�0�0�.�.�.�9�9�9�
.�.�.�9�9�9�
B�B�B�J�J�J�J�J�J�B�B�B�B�Brtrc�b�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�ZdS)�TestGeoMeanc�2�gd�}d}t||��dSr�r�rs   rerzTestGeoMean.test_0_r	rtc�~�gd�}d}t||��gd�}tdd��}t||d���dS)Nr{�s��ŤF@rrMr�r�r)r�rrs   rerzTestGeoMean.test_1d_listdsU��5�5�5�����!�W�%�%�%��L�L���
�w�/�/���!�W�5�1�1�1�1�1�1rtc���tjgd���}d}t||��tgd�t��}t	dd��}t||t���dS)Nr{rDrrMr�r>)rYrr�rrrs   rerzTestGeoMean.test_1d_arraynsj���H�>�>�>�?�?�����!�W�%�%�%��,�,�,��(�(���
�w�/�/���!�W�G�4�4�4�4�4�4rtc�@�gd�gd�gd�g}d}t||��dS�Nrrrg/,$�qJ@rBrs   rerzTestGeoMean.test_2d_listys=��
�
�
�/�/�/�1D�1D�1D�E�����!�W�%�%�%�%�%rtc�Z�gd�gd�gd�g}d}tt|��|��dSrG)r�rrs   rerzTestGeoMean.test_2d_arraysC��
�
�
�/�/�/�1D�1D�1D�E�����%��(�(�G�,�,�,�,�,rtc���gd�gd�gd�g}tjgd���}t||d���tgd�gd�gd�g��}tgd���}t||dd�	��dS)
Nrrr)g�4@���A@g5����H@g`8|wЭN@gm~�&�+R@rr@rr��rAr�rYrr�rs   rer"zTestGeoMean.test_2d_axis0�s���
�
�
�/�/�/�1D�1D�1D�E���(�N�N�N�O�O���!�W�1�-�-�-�-��<�<�<����|�|�|�<�=�=������%�%���!�W�1�5�9�9�9�9�9�9rtc��gd�gd�gd�g}tjgd���}t||d���tgd�gd�gd�g��}tdd	��}t|||g��}t||dd
���dS)Nrrr)gD�" 6"6@g���cP@g
�ҧZ@rr@rrMr�r�rJ)rYrr�r)r]r�rSr�s    rer*zTestGeoMean.test_2d_axis1�s���
�
�
�/�/�/�1D�1D�1D�E���(�C�C�C�D�D���!�W�1�-�-�-�-��<�<�<����|�|�|�<�=�=���-��)�)����A�q�	�"�"���!�W�1�5�9�9�9�9�9�9rtc�P�tgd���}d}t||d���dS)N)g}Ô%�I�Trg�u�<�7~rr`r)rr�rs   re�test_large_valueszTestGeoMean.test_large_values�s6���'�'�'�(�(�����!�W�5�1�1�1�1�1�1rtc��gd�}d}tjd���5t||��ddd��dS#1swxYwYdS)N�
rHrEr�r�r�r�r|r�r�rr}r^r5)rYrar�rs   re�
test_1d_list0zTestGeoMean.test_1d_list0�s���3�3�3����
�[�X�
&�
&�
&�	*�	*��a��)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*s
�:�>�>c��tjgd���}d}tjd���5t||��ddd��dS#1swxYwYdS)NrPr}r^)�divide)rYrrar�rs   re�test_1d_array0zTestGeoMean.test_1d_array0�s����H�<�<�<�=�=����
�[��
)�
)�
)�	*�	*��a��)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*s�A�A�Ac��gd�}tj}tjd���5t||��ddd��dS#1swxYwYdS)N)
rHrEr�r�r�r�r|r�r�rNr^r_)rYrZrar�rs   re�test_1d_list_negzTestGeoMean.test_1d_list_neg�s���4�4�4���&��
�[��
*�
*�
*�	*�	*��a��)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*s�A�A�Ac�@�gd�}gd�}d}t|||d���dS�Nr)rr"r#r!r �GZ*oG8@r0r1rBr2s    rer3z TestGeoMean.test_weights_1d_list�s8��
�O�O��!�/�/�����!�W�g�D�A�A�A�A�A�Artc��tjgd���}tjgd���}d}t|||d���dSrXrKr2s    re�test_weights_1d_arrayz!TestGeoMean.test_weights_1d_array�sL��
�H�_�_�_�%�%���(�?�?�?�+�+�����!�W�g�D�A�A�A�A�A�Artc��tjgd���}tj�gd�gd����}d}t|||d���dS)Nr�)rr"r#r!r r")rrrrrrrrYr0r1)rYrrnr�r2s    rer>z(TestGeoMean.test_weights_masked_1d_array�sa��
�H�'�'�'�(�(���%�+�+�0�0�0�7I�7I�7I�+�J�J�����!�W�g�D�A�A�A�A�A�ArtN)r�r�r�rrrrrr"r*rNrQrTrVr3r[r>r�rtrer@r@^s�������&�&�&�
2�2�2�5�5�5�&�&�&�-�-�-�:�:�:�	:�	:�	:�2�2�2�
*�*�*�*�*�*�*�*�*�B�B�B�B�B�B�B�B�B�B�Brtr@c
��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	e
j�dd	d
gddgd
dggdfe
jd	d
gddgd
dgg��dfg��d���Ze
j�dgd�gd�gd�gdfgd�gd�gd�gdfg��d���Ze
j�dgd�gd�gd�gdfgd�gd�gd�gdfg��d���Zd�Zd�Ze
j�dgd���d���ZdS)�TestPowMeanc�L�tj||z��|jzd|zzSr�)rYr�r��r�r�s  re�pmean_referencezTestPowMean.pmean_reference�s$����q�!�t���q�v�%��1��-�-rtc�l�tj|||zz��tj|��zd|zzSr�)rYr�)r�r�r�s   re�wpmean_referencezTestPowMean.wpmean_reference�s0����w��A��~�&�&������8�A�a�C�@�@rtc�X�tjtd���5tjgd�dg��ddd��n#1swxYwYtjtd���5tjgd�tjdg����ddd��dS#1swxYwYdS)NzPower mean only defined forr�r&r)r2rr�rSrrYrrjs re�test_bad_exponentzTestPowMean.test_bad_exponent�s��
�]�:�-J�
K�
K�
K�	(�	(��K�	�	�	�A�3�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�]�:�-J�
K�
K�
K�	2�	2��K�	�	�	�2�8�Q�C�=�=�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2s#�A�A�A�'+B�B#�&B#c���gd�d}}t�tj|��|��}t	|||��gd�d}}tjd��}t	|||��dS)Nr{r+rrr/)r^rarYrrr��r]r�r�rSs    rerzTestPowMean.test_1d_list�su��8�8�8�#�1���-�-�b�h�q�k�k�1�=�=���!�Q��(�(�(��|�|�Q�1���'�9�:�:���!�Q��(�(�(�(�(rtc��tjgd���d}}t�||��}t	|||��dS)Nr{g�)rYrr^rarrgs    rerzTestPowMean.test_1d_array�sI���x�A�A�A�B�B�D�1���-�-�a��3�3���!�Q��(�(�(�(�(rtc��tjddg��d}}d}ttj||��|��dS)NrrrNr})rYrrrSrrgs    rerz#TestPowMean.test_1d_array_with_zero�s@���x��A�����1�����U�[��A�&�&��0�0�0�0�0rtc���tjgd���d}}tjtd���5tj||��ddd��dS#1swxYwYdS)Nrg�G�z��?zPower mean only defined if allr�)rYrr2rr�rSr)r]r�r�s   rerz-TestPowMean.test_1d_array_with_negative_value�s����x�
�
�
�#�#�T�1��
�]�:�-M�
N�
N�
N�	�	��K��1����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�Ar`rHrEr�r�r�rBrAr(c��t�tj|��|��}t	|||��dSr�)r^rarYrrrgs    re�test_2d_axisnonezTestPowMean.test_2d_axisnone�s9���-�-�b�h�q�k�k�1�=�=���!�Q��(�(�(�(�(rtrrrr$c������fd�tt�d����D��}t��|d���dS)Nc����g|]V�t�tj��fd�t	t�����D���������WS)c�,��g|]}�|���Sr�r�)r�r�r�r�s  ��rer�z=TestPowMean.test_2d_list_axis0.<locals>.<listcomp>.<listcomp>s!���9�9�9�a�!�A�$�q�'�9�9�9rt)r^rarYrr�r�)r�r�r�r�s @��rer�z2TestPowMean.test_2d_list_axis0.<locals>.<listcomp>so����
�
�
��
�'�'���9�9�9�9�9�5��Q���=�=�9�9�9�:�:�A�
�
�
�
�
rtrr@)r�r�rrgs `` re�test_2d_list_axis0zTestPowMean.test_2d_list_axis0�sd����
�
�
�
�
��3�q��t�9�9�%�%�	
�
�
��	�!�Q��a�0�0�0�0�0�0rtc�J���fd�|D��}t|�|d���dS)Nc�j��g|]/}t�tj|�������0Sr�)r^rarYr)r��a_r�s  �rer�z2TestPowMean.test_2d_list_axis1.<locals>.<listcomp>s1���L�L�L�B�;�.�.�r�x��|�|�Q�?�?�L�L�Lrtrr@)rrgs  ` re�test_2d_list_axis1zTestPowMean.test_2d_list_axis1
s<���M�L�L�L�!�L�L�L���!�Q��a�0�0�0�0�0�0rtc��gd�d}}gd�}t�tj|��||��}t	||||d���dS)Nr.gރB��r/r0r1)r^rcrYrr�r]r�r�r�rSs     rer3z TestPowMean.test_weights_1d_listsV���z�z�;�1���*�*���.�.�r�x��{�{�A�w�G�G���!�Q���t�D�D�D�D�D�Drtc���tjgd���d}}tj�gd�gd����}tj||���}t	||||d���dS)	Nr;rr<r=r�r�r0r1)rYrrn�averagerrvs     rer>z(TestPowMean.test_weights_masked_1d_arraysk���x����'�'��1���%�+�+�n�n�n�<�<�<�+�@�@���*�Q��0�0�0���!�Q���t�D�D�D�D�D�Drt)rA�fun_namer�))Nrcg3��E�#@)rr�r)rr�rNc���|dkr�fd�}ntt|��}tjddgddgddgg��}tjddgddgddgg��}||||�	��}t	|�|||d
���dS)Nrcc�<��t�|�|��Sr�)r^rc)r�rAr�r�s   �re�funz.TestPowMean.test_weights_2d_array.<locals>.fun's���"�3�3�A�q�'�B�B�Brtrr"rHr#rr )rAr�r0r5)�getattrrSrYrr)r]rArzr�r}r�r�rSs   `    re�test_weights_2d_arrayz!TestPowMean.test_weights_2d_arrays�����)�)�)�
C�
C�
C�
C�
C�
C��%��*�*�C��H�q�!�f�r�1�g��1�v�.�/�/���(�R��G�a��V�a��V�4�5�5���#�a�d�G�4�4�4���!�Q��d�G�$�O�O�O�O�O�OrtN)r�r�r�rarcrerrrrr2r6r7rYrrlrprtr3r>rr�rtrer^r^�s_������.�.�.�A�A�A�2�2�2�)�)�)�)�)�)�
1�1�1�
���
�[������8�b�"�X��C�y�
)�4�	0�
�"�(�R��H�r�2�h��S�	�2�
3�
3�S�	9�	;���
)�)���
)��[�������-�-�-�/B�/B�/B�
C�T�	J��?�?�,�,�,�.A�.A�.A�
B�C�	H�	J���
1�1���
1��[�������-�-�-�/B�/B�/B�
C�T�	J��?�?�,�,�,�.A�.A�.A�
B�C�	H�	J���
1�1���
1�E�E�E�E�E�E��[���!�	�	�	���	P�	P�
��	P�	P�	Prtr^c�F�eZdZejd��dzZdZe�ddd��Zd�Z	d�Z
d	�Zej
�ej���d
��d���d
���Zej
�ej���d
��d���d���Zej
�ej���d
��d���d���Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestGeometricStandardDeviationrMrgv�a�Z@rr r!c�b�tj|j��}t||j��dSr�)rS�gstd�array_1dr�
gstd_array_1d�r]�gstd_actuals  rerz,TestGeometricStandardDeviation.test_1d_array7s,���j���/�/����T�%7�8�8�8�8�8rtc�|�tjt|j����}t	||j��dSr�)rSr�r�r�rr�r�s  re� test_1d_numeric_array_like_inputz?TestGeometricStandardDeviation.test_1d_numeric_array_like_input;s4���j��t�}�!5�!5�6�6����T�%7�8�8�8�8�8rtc��tjtd���5tjd��ddd��dS#1swxYwYdS)NzInvalid array inputr�z3This should fail as it can not be cast to an array.)r2rr�rSr�rjs re�,test_raises_value_error_non_array_like_inputzKTestGeometricStandardDeviation.test_raises_value_error_non_array_like_input?s���
�]�:�-B�
C�
C�
C�	N�	N��J�L�M�M�M�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N����	N�	N�	N�	N�	N�	Ns�>�A�A�armztest known to fail on armelr;c���tjtd���5tjtj|jdg����ddd��dS#1swxYwYdS)N�Non positive valuer�r�r2rr�rSr�rYrxr�rjs re�"test_raises_value_error_zero_entryzATestGeometricStandardDeviation.test_raises_value_error_zero_entryCs���
�]�:�-A�
B�
B�
B�	6�	6��J�r�y�����4�4�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6��.A�A�Ac���tjtd���5tjtj|jdg����ddd��dS#1swxYwYdS)Nr�r�rNr�rjs re�&test_raises_value_error_negative_entryzETestGeometricStandardDeviation.test_raises_value_error_negative_entryHs���
�]�:�-A�
B�
B�
B�	7�	7��J�r�y�����5�5�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7r�c���tjtd���5tjtj|jt
jg����ddd��dS#1swxYwYdS)NzInfinite valuer�)	r2rr�rSr�rYrxr�rMrjs re�!test_raises_value_error_inf_entryz@TestGeometricStandardDeviation.test_raises_value_error_inf_entryMs���
�]�:�-=�
>�
>�
>�	;�	;��J�r�y������9�9�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;s�8A!�!A%�(A%c���tgd�tjdddgg��}tj|d���}t|tjdtjg����dS)N)rrrrFrrr r@r!)rrYrZrSr�r)r]r�r�s   re�test_propagates_nan_valuesz9TestGeometricStandardDeviation.test_propagates_nan_valuesRs]���=�=�=�2�6�1�a��"3�4�5�5���j���+�+�+����R�X�q�"�&�k�%:�%:�;�;�;�;�;rtc��tjtd���5tj|j|jj���ddd��dS#1swxYwYdS)NzDegrees of freedom <= 0r�rh)r2rr�rSr�r�r�rjs re�)test_ddof_equal_to_number_of_observationszHTestGeometricStandardDeviation.test_ddof_equal_to_number_of_observationsWs���
�]�:�-F�
G�
G�
G�	?�	?��J�t�}�4�=�+=�>�>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?s�&A�A�Ac�f�tj|jd���}t||j��dS)Nr@)rSr��array_3drr�r�s  re�
test_3d_arrayz,TestGeometricStandardDeviation.test_3d_array[s1���j���T�:�:�:����T�%7�8�8�8�8�8rtc�`�tj|jd���}t|ddg��dS)Nr�r@g~�d��@g<��
��?)rSr�r�rr�s  re�test_3d_array_axis_type_tuplez<TestGeometricStandardDeviation.test_3d_array_axis_type_tuple_s3���j���U�;�;�;����j�*�%=�>�>�>�>�>rtc��tj|jd���}tjgd�gd�gd�g��}t||��dS)Nrr@)g��Ķ?�@gQ���ӫ@g�֌�@g�ן7R@)g%Ȁ��@g–��e@gv6�B5@g��_���?)g��E�� �?gީ���?gk̊Y�?g%:
���?�rSr�r�rYrr�r]r��gstd_desireds   re�test_3d_array_axis_0z3TestGeometricStandardDeviation.test_3d_array_axis_0csa���j���Q�7�7�7���x�O�O�O�O�O�O�O�O�O�!
����
	��\�2�2�2�2�2rtc��tj|jd���}tjgd�gd�g��}t||��dS)Nrr@)gN����@g�85@g��'ĥ�?gwt�h��?)gHn�a�X�?gG��?gBu����?g���E��?r�r�s   re�test_3d_array_axis_1z3TestGeometricStandardDeviation.test_3d_array_axis_1lsX���j���Q�7�7�7���x�L�L�L�L�L�L�!
����	��\�2�2�2�2�2rtc��tj|jd���}tjgd�gd�g��}t||��dS)Nrr@)gt��80�?g��і��?g�����?)gۘ]�~�?g�mT6�(�?g�	
G��?r�r�s   re�test_3d_array_axis_2z3TestGeometricStandardDeviation.test_3d_array_axis_2tsX���j���Q�7�7�7���x�?�?�?�?�?�?�!
����	��\�2�2�2�2�2rtc��tj�|jdk|j��}t	j|d���}t	j|jd���}gd�gd�g}t
||��t|j|��dS)NrFrr@r�rf)	rYrn�masked_wherer�rSr�rrr�)r]rnr�r�r�s     re�test_masked_3d_arrayz3TestGeometricStandardDeviation.test_masked_3d_array|s���
�U�
�
��
�� 2�D�M�
B�
B���j��!�,�,�,���z�$�-�a�8�8�8���	�	�9�9�9�%����\�2�2�2��[�%�t�,�,�,�,�,rtN)r�r�r�rYrr�r�rWr�rr�r�r2r6r�r�r��
startswithr�r�r�r�r�r�r�r�r�r�r�r�rtrer�r�1s��������r�y��#�#�a�'�H�"�M�����1�a�(�(�H�9�9�9�9�9�9�N�N�N��[���(��(�*�*�5�5�e�<�<�Eb��c�c�6�6�d�c�6��[���(��(�*�*�5�5�e�<�<�Eb��c�c�7�7�d�c�7��[���(��(�*�*�5�5�e�<�<�Eb��c�c�;�;�d�c�;�<�<�<�
?�?�?�9�9�9�?�?�?�3�3�3�3�3�3�3�3�3�-�-�-�-�-rtr�rWc���d}d}tj�d��}|�dd|f��}||�dd|f��z}|�dd|f��}t|||��D]t\}}}	t
jt|���5tj
|||	|���}
ddd��n#1swxYwY|
tj|||	|���jksJ��udS)	Nzk'binom_test' is deprecated in favour of 'binomtest' from version 1.7.0 and will be removed in Scipy 1.12.0.rHl	}l�6wIK&�W�w^?9urBrrr�r)
rYr�r�integersr
rer2r�r�rS�
binom_test�	binomtestr�)rr�rgrrUr��Pr�r�r�r�s           re�test_binom_test_deprecationr��s\��6�O�
�C�
�)�
�
� G�
H�
H�C����R��s�f�%�%�A�	�C�L�L��C�#��(�(�(�A����A�q�3�&�!�!�A��q�!�Q�<�<�O�O���1�a�
�\�,�O�
D�
D�
D�	E�	E��"�1�a���D�D�D�C�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E��e�o�a��A�;�G�G�G�N�N�N�N�N�N�O�Os�!C�C
	�
C
	c	��tjtjddd��tjddd��tjddd��f��}d}d	}gd
�}t||��D]4\}}t	tj|||��j|dd|z�
���5t	tjddd��jdd���dS)Nrsrr"r�g�������?rYgffffff�?r�i�)r}r}g��s ��g��G|G{�g	�ɺM>6g>
z��tt+g#ӌR
�M/gF׸fz�2g�U�8u�5g�����8M8gФ)�Ba?g%����վ?g*+a�5�?g����ś?gڒJ�|��>rJzfail forp=%f)r8�err_msgr�rBgV�ݶ3;r7)rYrprrer
rSr�r�)�ppr�r�r�r�r�s      re�test_binomtestr��s��	����S�#�q�1�1���T�4��3�3���T�4��3�3�5�
6�
6�B�	�A��A�(�(�(�G��b�'�"�"�H�H���3��E�O�A�q�!�4�4�;�S�(*�N�Q�4F�	H�	H�	H�	H�	H�����C��5�5�<�/�$&�(�(�(�(�(�(rtc����ddggd�gd�gd�gd�gd�gd�gd�gd	�gd
�g
}tdd��D];��fd
�t�dz��D��}t||�dz
d����<dS)Nr�)r(r�r()r�r�r�r�)rr�r�r�r)r��?r�r�r�r)r��?��?r�r�r�r)rr��?r�r�r�rr)	��?��?���?�@�?r�r�r�r�r�)
�p?��?��?�@�?r�r�r�r�r�r�)�`?��?��?��?� �?r�r�r�r�r�r�rrIc�F��g|]}tj|�d��j��S)r()rSr�r��r�r�r�s  �rer�z#test_binomtest2.<locals>.<listcomp>�s*���H�H�H�a����1�c�*�*�1�H�H�HrtrHrB)r�r)r�r�r�s  @re�test_binomtest2r��s����

�c�
���� � � �+�+�+�8�8�8�G�G�G�	�	�	�	*�	*�	*�	E�	E�	E�	�	�	��D�"�1�b�\�\�9�9��H�H�H�H�5��Q��<�<�H�H�H���D�$�q��s�)�R�8�8�8�8�8�9�9rtc��d�tdd��D��}t|tjt	|��t
����tjgd���}tjgd���}d�tdd��D��}d�tdd��D��}t||d�	��t||d�	��dS)
Nc	�v�g|]6}tdd��D]#}tj|||zd|z��j��$�7S)rrIr��r�rSr�r�r�s   rer�z#test_binomtest3.<locals>.<listcomp>�s]��9�9�9��5��B�<�<�9�9�&'�
�O�A�q��s�B�q�D�)�)�0�9�9�9�9rtrrI)Zr(gr�q��?g��?gl�q����?gx0f��#�?g%d)�MO�?g	o�?g���6��?g�:�X@��?r�g�s��w�?g��?gR'jMV�?gE���f��?g�F5a��?gA�QU��?g'W����?gk�����?r�g�
ņB�?g����?g��$���?g{d��U'�?gD�:��B�?g��w��V�?gR0�Nf�?gO����q�?r�g[�k�^�?g�T+��?g�O���?ggg�h(�?g�P�-@�?g��O�Q�?g��}�^�?gV�7�_i�?r�g���e$�?g���р��?g�#�>��?g5�z@��?g�:���?g�f��?gzP���?g���?���?gg*)�,��?g}�A�_�?g}��a�A�?gH�]�@_�?g�
y7s�?g�P�G���?g>)\R���?g�jc�6��?����K�?g�o�;,�?g!�O0��?g����?g��}e��?g�5���?g?�!A^��?gN�/#���?g��*���?�@��?g����?g�����?g����3�?g.1��?gd
T\1-�?gt0W5�9�?g���oQC�?gX�4��J�?���?g�
����?gf?C�"�?g�\�6�I�?g���4b�?g|�$or�?g��WNS~�?g���T��?gXn�c��?��\�?gY\���?gp �^a�?g�X-K���?g�#c����?g��
3��?g7�5Q��?gMJ[�
��?gP8�R���?)Zr(gw	�%���?g��?g�S�g��?g��v^���?g�*uCi��?g�a��?g����]��?g�E9Q���?r�g/�����?g��?g	x��&~�?g�#���?g5�B�
�?g	�A�'9�?g���p�Z�?gWV�$u�?r�gq��Ib��?g@�N�?g1��Y��?g����5��?gO����?gc�-��?gk�����?g�)�?r�glM�V��?g���?$�?g�T�*r�?g�CqRv��?g�r��x��?g��ωZ��?gE�x�Y��?g�<��T�?r�gJ9Ͻd��?g`Ԗ�t�?g�T����?gE��z��?g��Q�?g�7�C<*�?g���<�?g�~� K�?r�g��8��?g~ȍE�t�?g�⿒��?g��<v���?gHE�:��?g8�Z
$�?g��bº5�?gv���C�?r�g�`Y�w��?gA?$�?�?g�E�=��?g�4���?g���3���?g�{G9���?g�p���?g��H �?r�g��z6f�?g¯�F��?g��(�+�?g�	��$V�?gq^w��s�?g!���?gX�N�J��?gK����?r�g4�P����?g�<���q�?gdV��;��?g
�y���?g$�w��?gU<vO��?g�M�X�?g	șz�*�?r�gi�qS�p�?g��MM���?g0�V$)�?g]
yi/Q�?g���l�?g���l��?g��3Ȇ��?gѾ_�c��?c	�|�g|]9}tdd��D]&}tj|dz||zd|z��j��'�:S�rrIrr�r�r�s   rer�z#test_binomtest3.<locals>.<listcomp>�a��<�<�<��e�A�r�l�l�<�<�)*���q��s�A�a�C��A��.�.�5�<�<�<�<rtc	�|�g|]9}tdd��D]&}tj|dz
||zd|z��j��'�:Sr�r�r�s   rer�z#test_binomtest3.<locals>.<listcomp>r�rtrKrB)r�rrYr:r�rrr)r�binom_testm1�binom_testp1�res4_p1�res4_m1s     re�test_binomtest3r��s
��9�9��1�b�\�\�9�9�9�D���r�w�s�4�y�y�#�.�.�/�/�/��8�
�
�
���L�P�8�
�
�
���L�><�<��a����<�<�<�G�<�<��a����<�<�<�G����r�:�:�:�:����r�:�:�:�:�:�:rtc� �eZdZd�Zd�Zd�ZdS)�TestTrimc	��tjd��}ttjt	j|d����tjd����ttjt	j|d����tjd����ttjt	j|dd�����tjdd����ttjt	j|d	d�����tjd
d����tt	j|d��g��tt	j|dd���g��tt	jgd��g��tt	jgd	d���g��tt	jgd��g��tjd
���dd��}tjdd
���dd��}d}t	j|dd|���}ttj||���|��d}t	j|jdd|���}ttj||���|j��dS)NrIrsrHrr&�left)�tailr�t�E]t�?r r�rwrMr#r!r"r)r�rAr@r)rYrr�sortrS�trim1rWr�)r]r�rrA�trimmeds     re�
test_trim1zTestTrim.test_trim1$sA���I�b�M�M���R�W�U�[��C�0�0�1�1�2�9�R�=�=�A�A�A��R�W�U�[��C�0�0�1�1�2�9�Q�<�<�@�@�@��R�W�U�[��C�f�=�=�=�>�>��Y�q�"�%�%�	'�	'�	'��R�W�U�[��E��?�?�?�@�@��Y�q�"�%�%�	'�	'�	'��U�[��C�(�(�"�-�-�-��U�[��C�f�5�5�5�r�:�:�:�	�U�[��S�)�)�2�.�.�.��U�[��U��8�8�8�"�=�=�=��U�[��T�*�*�B�/�/�/�
�I�b�M�M�!�!�!�Q�'�'���i��2���&�&�q�!�,�,�����+�a��6��=�=�=���R�W�W�4�0�0�0�#�6�6�6����+�a�c�3�V�$�?�?�?���R�W�W�4�0�0�0�#�%�8�8�8�8�8rtc
��tjd��}ttjt	j|d����tjdd����ttjt	j|d����tjgd�����ttjt	jtjd���dd	��d����tjd	d
���d	d	����ttjt	jtjd���d	d��jd����tjgd�gd
�g����tttjtjd���d	d��jd��tt	jgd��g��tt	jgd��g��tt	jgd��g��dS)NrIr�r r%r)rr r!r"r#r$r%rMr#r!rEr�)rr%rFrE)r r&rDrErwrs)rYrrr�rS�trimbothrrWr�r�r�r s  re�
test_trimbothzTestTrim.test_trimboth@s����I�b�M�M���R�W�U�^�A�u�5�5�6�6��	�!�Q���H�H�H��R�W�U�^�A�s�3�3�4�4��X�3�3�3�4�4�	6�	6�	6��R�W�U�^�B�I�b�M�M�,A�,A�!�Q�,G�,G��M�M�N�N��Y�q�"�%�%�-�-�a��3�3�	5�	5�	5��R�W�U�^�B�I�b�M�M�,A�,A�!�Q�,G�,G�,I�,0�2�2�3�3��X�~�~�~�~�~�~�>�?�?�	A�	A�	A�	�j�%�.��i��m�m�+�+�A�q�1�1�3�T�	;�	;�	;�	�U�^�B��,�,�b�1�1�1��U�^�B��.�.��3�3�3��U�^�B��-�-�r�2�2�2�2�2rtc�X�tjgd���}tjgd���}tjd���dd��|dd�f}tjd���ddd���|dd�f}t	tj|d��tjgd	�����t	tj|d��tjgd
�����tjgd���}tjd���dd��|dd�f}t	tj|d��tjgd�����gd
�}t	tj|d��d��t	tjgd�d��d��tj�d��tj�	dd���}dD]R}tj|d|���}tjtj
||d��d��}	t	||	���Stj|dd���}tj|���d��}	t	||	��ttt
j|d��t	tjgd��tj��t	tjgd��tj��dS)N)r!r%rrr&r"rHrr$r r#)r r"rrrr!rMr#r!�F)�orderr�)r*r0g-@g�4@ri)rrr r)r�rxr�r�rjg,@)r$rIrJrErFr#rXrr"rrirHrQr&rjrDr�rErrFr!rKr%r rG)r"r!r rrrr*r�rE)r"r#r!r$r	)rrrr rNr@rrOr})rYrrrWrrS�	trim_meanr�r�rr�rr�r�rZ)
r]r��idxr�r��idx4�a4rAr�r�s
          re�test_trim_meanzTestTrim.test_trim_meanRs����H�7�7�7�8�8���h�)�)�)�*�*��
�Y�r�]�]�
"�
"�1�a�
(�
(��a�a�a��
0��
�Y�r�]�]�
"�
"�1�a�s�
"�
3�
3�C����F�
;���U�_�R��.�.��X�4�4�4�5�5�	7�	7�	7��U�_�R��.�.��X�2�2�2�3�3�	5�	5�	5��x����%�%��
�Y�r�]�]�
"�
"�1�a�
(�
(��q�q�q��
1���U�_�R��.�.��X�;�;�;�<�<�	>�	>�	>�
%�
%�
%���U�_�Q��-�-�t�4�4�4��U�_�]�]�]�D�9�9�3�?�?�?�	�	���t�����I���b�|��4�4��$�	%�	%�D��?�1�d��6�6�6�D��?�2�;�q�$��#:�#:�D�A�A�D���t�$�$�$�$���q�$�T�2�2�2����q�w�w�y�y�$�/�/���T�4� � � ��j�%�/�1�c�:�:�:�	�U�_�R��-�-�r�v�6�6�6��U�_�R��-�-�r�v�6�6�6�6�6rtN)r�r�r�r�r�r�r�rtrer�r�"sA������9�9�9�83�3�3�$$7�$7�$7�$7�$7rtr�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�
TestSigmaClipc�f�tjtjddd��tjddd��f��}d}tj|��\}}}t|���|k��t|���|k��t||�	��||�
��zz
��t||�	��||�
��zz��t|j|j��dS)Nr�rM�rrEr"r!�rYrprrS�	sigmaclipr�min�maxrrXrqr��r]r��factr_�low�upps      re�test_sigmaclip1zTestSigmaClip.test_sigmaclip1zs����N�B�K��T�2�6�6���A�r�1�8M�8M�N�O�O�����o�a�(�(���3��������#�
����������#�
�����S�!�&�&�(�(�T�!�%�%�'�'�\�1�2�2�2��S�!�&�&�(�(�T�!�%�%�'�'�\�1�2�2�2��Q�V�Q�V�$�$�$�$�$rtc��tjtjddd��tjddd��f��}d}tj|||��\}}}t|���|k��t|���|k��t||�	��||�
��zz
��t||�	��||�
��zz��t|jd��t|jd	��dS)
Nr�rMr�rrEr"r)r!�$r�r�s      re�test_sigmaclip2zTestSigmaClip.test_sigmaclip2�s���N�B�K��T�2�6�6���A�r�1�8M�8M�N�O�O�����o�a��t�4�4���3��������#�
����������#�
�����S�!�&�&�(�(�T�!�%�%�'�'�\�1�2�2�2��S�!�&�&�(�(�T�!�%�%�'�'�\�1�2�2�2��Q�V�Q�����Q�V�R� � � � � rtc�~�tjtjddd��tjddd��f��}d}tj|||��\}}}t|���|k��t|���|k��t||�	��||�
��zz
��t||�	��||�
��zz��t|tjddd����dS)Nr�rMrI�������r �������?)rYrprrSr�rr�r�rrXrqr�s      re�test_sigmaclip3zTestSigmaClip.test_sigmaclip3�s���N�B�K��T�2�6�6��K��c�1�5�5�7�
8�
8�����o�a��t�4�4���3��������#�
����������#�
�����S�!�&�&�(�(�T�!�%�%�'�'�\�1�2�2�2��S�!�&�&�(�(�T�!�%�%�'�'�\�1�2�2�2��Q���C��r�2�2�3�3�3�3�3rtc���tjtjddd��tjddd��f��}d}tj|||��}d}t||��dS)	Nr�rMrIr	r	r r	)�clippedrprq)rYrprrSr�r)r]r�r�r�r�s     re� test_sigmaclip_result_attributesz.TestSigmaClip.test_sigmaclip_result_attributes�sl���N�B�K��T�2�6�6��K��c�1�5�5�7�
8�
8�����o�a��t�,�,��2�
��C��,�,�,�,�,rtc�~�tjd��}ttj|��d|��dS)NrHr)rYr:rrSr�r�s  re�
test_std_zerozTestSigmaClip.test_std_zero�s4���G�B�K�K���U�_�Q�'�'��*�A�.�.�.�.�.rtN)r�r�r�r�r	r	r	r
	r�rtrer�r�ys_������%�%�%�	!�	!�	!�	4�	4�	4�-�-�-�/�/�/�/�/rtr�c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�TestAlexanderGovernc�B�gd�gd�gd�gd�g}tj|tj���}tj|tj���}tj|tj���}tj|tj���}t
j|�}t
j|�}t
j|�}t
j|�}	|j|jcxkr|jcxkr|	jksnJ�|j	|j	cxkr|j	cxkr|	j	ksnJ�dS)N)	rKrKrKrKrKrKrKrJrJ)	rFrKrJrJrJrJrJrIrI)	rFrFrKrKrKrKrKrJrJ)	rDrFrKrKrKrJrJrJrIr>)
rYrr�r�uint8rrS�alexandergovernr�r�)
r]re�
args_int16�
args_int32�
args_uint8�args_float64�	res_int16�	res_int32�	res_unit8�res_float64s
          re�test_compare_dtypesz'TestAlexanderGovern.test_compare_dtypes�s��4�4�4�4�4�4�4�4�4�4�4�4�6���X�d�"�(�3�3�3�
��X�d�"�(�3�3�3�
��X�d�"�(�3�3�3�
��x��B�J�7�7�7���)�:�6�	��)�:�6�	��)�:�6�	��+�\�:��� �I�$4�7�7�7�7�� �7�7�7�7�$/�$6�7�7�7�7�7�7��#�y�':�=�=�=�=��#�=�=�=�=�'2�'<�=�=�=�=�=�=�=�=rtc���ttd���5tjddgg��ddd��n#1swxYwYttd���5tjddgd��ddd��n#1swxYwYttd���5tjddgdg��ddd��n#1swxYwYttd���5tjddgtjtjg��ddd��n#1swxYwYttd���5tjddgddgddgg��ddd��dS#1swxYwYdS)	Nz+Input sample size must be greater than one.r�rrzInput samples must be finite.z%Input samples must be one-dimensionalr r!)r�r�rSr	rYrMrjs re�test_bad_inputsz#TestAlexanderGovern.test_bad_inputs�s���
�:�.B�C�C�C�	.�	.��!�1�a�&�"�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.��:�.B�C�C�C�	-�	-��!�1�a�&�!�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-��:�.B�C�C�C�	/�	/��!�1�a�&�1�#�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/��:�-L�
M�
M�
M�	<�	<��!�1�a�&�2�6�2�6�*:�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<��:�.<�=�=�=�	<�	<��!�1�a�&�A�q�6�A�q�6�*:�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�	<�	<sU�;�?�?�B�B�B�!C�C
�
C
�'.D!�!D%�(D%�E-�-E1�4E1c��gd�}gd�}gd�}tj|||��}t|jd��t|jd��dS)a�
        Data generated in R with
        > set.seed(1)
        > library("onewaytests")
        > library("tibble")
        > y <- c(rnorm(40, sd=10),
        +        rnorm(30, sd=15),
        +        rnorm(20, sd=20))
        > x <- c(rep("one", times=40),
        +        rep("two", times=30),
        +        rep("eight", times=20))
        > x <- factor(x)
        > ag.test(y ~ x, tibble(y,x))

        Alexander-Govern Test (alpha = 0.05)
        -------------------------------------------------------------
        data : y and x

        statistic  : 1.359941
        parameter  : 2
        p.value    : 0.5066321

        Result     : Difference is not statistically significant.
        -------------------------------------------------------------
        Example adapted from:
        https://eval-serv2.metpsy.uni-jena.de/wiki-metheval-hp/index.php/R_FUN_Alexander-Govern

        )(g5����g���b�?gl�"k� �g�^�s��/@g���Q\
@g��R�h �gI�F@gpZ>�q�@g��7D@g�-ѪZn�g�(�Q<.@g�O�N�/@g	O���g��ҷ�%6�g���s�&@g�w)�ܿg78��9�Ŀg�z��p�"@g�z�l @g57�@g>m@*a"@g�,ZbI@gX�9
]��?g����3�g�1�@g�����g"�Jb�gy:��@j-�g��2�A �g��;���@gL97vp,+@g��p/r�g��"��@gfT|�7�g^v����+�g٘Y���g0/����g�����g��lA!&@g�o�@)g!�_5*��gq�
TEg�g�1���$@g	��a,� @g���ˤ�$�g���9%�gZ����@g��T6U'@g��S ����g�6aG�n*@g�O���@g���\\"�g�^�4�w@g���0�gr����~5@g
D�P��=@gٿԙ��g:��4�R/�gO�x]r!@g�U��4�g�ta)B@g,G����g��2�$@gD%����?g�I,�VL&�g����@g��ч
;�g��
��5@gW��J�c@g�Y�jK@@)g�j�7#@g<���e,�g��}�m(@g���r��2�g#�^�9�gr/���P@g�:RO�!�g'��9��?g6F��
�?g�cʱ�'�gt���*�&�g����g�~*0Ώ7@g�Wz�x>�g�IK�'@g�?��Ң@g���7C5@g;C>ϯU�g���7��@g)n}�.^@g�FQ�?gs�dlT6�?N�rSr	rr�r�)r]�one�two�eight�solns     re�test_compare_rz"TestAlexanderGovern.test_compare_r�sz��:
"�
"�
"��	I�	I�	I��7�7�7���$�S�#�u�5�5�����(=�>�>�>����%;�<�<�<�<�<rtc��gd�}gd�}gd�}tj|||��}t|jdd���t|jdd���	t|jd	��t|jd
��dS)z�
        Data taken from 'The Modification and Evaluation of the
        Alexander-Govern Test in Terms of Power' by Kingsley Ochuko, T.,
        Abdullah, S., Binti Zain, Z., & Soaad Syed Yahaya, S. (2015).
        )g{�G�&~@g�(\��E~@g=
ףp�~@gfffff�~@g�p=
��~@gףp=
k@gR���@g���Q2�@g�����8�@g�����`�@g)\��`�@g=
ףp��@g��(\#�@g������@g=
ףpE�@g��Q��@g
ףp=�@gףp=
Մ@g33333#�@)g=
ףp�t@g{�G�&u@gq=
ףv@g���QDy@gX{@g\��(P}@g�����]~@g�����t~@g�z�G�~@g)\���~@g�����1@g�z�G��@)g�G�z8�@g��@g�p=
ב�@g
ףp=��@g�G�zԀ@gq=
ףր@gR���i�@g{�G�t�@g�����w�@g=
ףp��@g��Q�S�@g�Q����@g�(\�©�@g�Q��-�@g��Q���@g]�FxK@r�r�gR�8�߱?r�g.Ui�kL@g��&Z�ݱ?Nr	)r]�young�middle�oldr 	s     re�test_compare_scholarz(TestAlexanderGovern.test_compare_scholars���0�0�0��8�8�8��G�G�G���$�U�F�C�8�8������T�:�:�:�:����W�4�8�8�8�8�	�:	����1�1�1����Z�0�0�0�0�0rtc���gd�}gd�}tj||��}t|jdd���t|jdd���	t|jd��t|jd��d	S)
aA
        Data taken from 'Robustness And Comparative Power Of WelchAspin,
        Alexander-Govern And Yuen Tests Under Non-Normality And Variance
        Heteroscedasticity', by Ayed A. Almoied. 2017. Page 34-37.
        https://digitalcommons.wayne.edu/cgi/viewcontent.cgi?article=2775&context=oa_dissertations
        )g��Q�h��gM�
O����gY��9�g�n��S�g�dȿg�}"O��gиp $�?g�8~�4�?g
p�?g��Z���?g�)�J=�?g���X�?gp�G��?gᛦ���?g���g���?g�h8en�?g
�����?guw�
�g�?gb���X��?g�9�S�I�?)g��N]����g	�c�Z�gAJ�i�gMg'����g�k�,	P�g�<��gΈ���׿g%z�rKտg��0Bxҿg��PN����g�:ǀ��gv�ꭁ���g�?k~���?gI�\߇��?g���i���?g�<�)��?g�0Xr�?g�
F%u��?gs�FZ*o�?g�7�n:�?g�[z4��?r0r�gO��Z}�?g�9�$��?g�6MDd}�?Nr	)r]r�r�r 	s    re�test_compare_scholar3z)TestAlexanderGovern.test_compare_scholar3Fs���"�"�"��!�!�!���$�R��,�,������t�<�<�<�<����X�D�9�9�9�9�	�8	���	�2�2�2����Y�/�/�/�/�/rtc���gd�dtjgg}tj|�}t	|jtj��t	|jtj��dS)Nrr�rYrZrSr	rr�r�)r]rer�s   re�test_nan_policy_propogatez-TestAlexanderGovern.test_nan_policy_propogatexsQ�����q�"�&�k�*���#�T�*���S�Z���(�(�(��S�]�B�F�+�+�+�+�+rtc��gd�dtjgg}ttd���5t	j|ddi�ddd��dS#1swxYwYdS)NrrrWr�r|r~)rYrZr�r�rSr	�r]res  re�test_nan_policy_raisez)TestAlexanderGovern.test_nan_policy_raises������q�"�&�k�*��
�:�-L�
M�
M�
M�	=�	=��!�4�<�G�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�	=�	=s�A�A�Ac���gd�dtjddgg}gd�gd�g}tj|ddi�}tj|�}t	|j|j��t	|j|j��dS)	N)rrr Nr!rrjrGr)rrjrGr|rzr*	)r]�args_nan�args_no_nan�res_nan�
res_no_nans     re�test_nan_policy_omitz(TestAlexanderGovern.test_nan_policy_omit�s���&�&�&��B�F�B��(;�<��#�|�|�[�[�[�1���'��E�f�E�E���*�K�8�
��W�^�Z�%6�7�7�7��W�&�
�(<�=�=�=�=�=rtc� �d}ttj|���5tjgd�gd���}t	|jtj��t	|jtj��ddd��dS#1swxYwYdS)Nz9An input array is constant; the statistic is not defined.r�r�r�)	rrSr�r	rr�rYrZr�)r]r�r�s   rer�z'TestAlexanderGovern.test_constant_input�s���I��
�%�4�C�
@�
@�
@�	-�	-��'�(=�(=�(=�(=�(=�(=�?�?�C������/�/�/����R�V�,�,�,�		-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-s�AB�B�
BN)r�r�r�r	r	r!	r&	r(	r+	r.	r4	r�r�rtrer	r	�s�������>�>�>�(<�<�<�*@=�@=�@=�D01�01�01�d00�00�00�d,�,�,�=�=�=�
>�>�>�-�-�-�-�-rtr	c	���eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	j
�dej
gd���ej
gd	���ejd
ffej
gd���ej
gd���ejejffg��d���Ze	j
�dgd
���d���Zd�Zd�Zd�Zd�Ze	j
�ddgd�fg��d���Zd�Zd�ZdS)�TestFOneWayc�~�tjddgddg��\}}t|d��t|d��dS)Nrrr}r��rS�f_onewayr�r]r�r�s   re�test_trivialzTestFOneWay.test_trivial�sE���~�q�!�f�q�!�f�-�-���1��Q������Q������rtc��tjddgddg��\}}t|d��t|dt	jd��z
d���dS)	Nrrr!r�rr(r�r)rSr:	rrrYr�r;	s   rer�zTestFOneWay.test_basic�sY���~�q�!�f�q�!�f�-�-���1��Q�������1�r�w�s�|�|�+�%�8�8�8�8�8�8rtc��tjdgdggd���\}}t|d��t|d��dS)Nrr�rOr�r9	r;	s   re�test_known_exactzTestFOneWay.test_known_exact�sK���~�q�c�A�3�	�	�	�2�2���1�	�Q������Q������rtc���tjddgtj���}tjddgtj���}tj||��\}}t|dd���dS)	N��r>��g�Ÿ��?r�r)rYr�uint16rSr:	r)r]r�r�r�r�s     re�test_large_integer_arrayz$TestFOneWay.test_large_integer_array�si���H�c�3�Z�r�y�1�1�1���H�c�3�Z�r�y�1�1�1���~�a��#�#���1�	��.�U�;�;�;�;�;�;rtc���tjddgtj���}tjddgtj���}tj||��}d}t||��dS)NrA	rB	r>rC	rD	r=)rYrrE	rSr:	r)r]r�r�r�r�s     re�test_result_attributesz"TestFOneWay.test_result_attributes�sb���H�c�3�Z�r�y�1�1�1���H�c�3�Z�r�y�1�1�1���n�Q��"�"��,�
��C��,�,�,�,�,rtc��
��gd�}|D�]r}d}tj�tj�tj�t
��d|����}t
|d��5}|����d��}ddd��n#1swxYwYd�|dd�D��}tj
|d	�
��}|j\��
��t���tj���}	t|dd��}�
�fd
�|	D��}
t!j|
�}d}||vrd}t%|d||d|z�����tdS)N)z
SiRstv.datz
SmLs01.datz
SmLs02.datz
SmLs03.datzAtmWtAg.datz
SmLs04.datz
SmLs05.datz
SmLs06.dat�
SmLs07.dat�
SmLs08.dat�
SmLs09.datr(zdata/nist_anovar��
c�^�g|]*}|����|�����+Sr�)�strip�split)r��lines  rer�z)TestFOneWay.test_nist.<locals>.<listcomp>�s<��*�*�*�$� �J�J�L�L�*������*�*�*rtr�r[r�)�skiprowsrrNc�(��g|]}��|k��Sr�r�)r�r�r�r^s  ��rer�z)TestFOneWay.test_nist.<locals>.<listcomp>�s!���-�-�-�1�Q�q�A�v�Y�-�-�-rt)rJ	rK	rL	r�zFailing testcase: %s)rr�)�os�path�abspath�join�dirname�__file__�open�readrP	rY�loadtxtr�r
rr�r�rSr:	r)r]�	filenames�	test_caser�fnamerg�content�	certified�dataf�caty�xlistr��hard_tcr�r^s             @@re�	test_nistzTestFOneWay.test_nist�s�����?�?�?�	�#�	H�	H�I��D��G�O�O�B�G�L�L������1J�1J�1B�I�%O�%O�P�P�E��e�S�!�!�
/�Q��&�&�(�(�.�.��.�.��
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/����
/�
/�
/�
/�*�*�'�"�R�%�.�*�*�*�I��J�u�r�2�2�2�E��7�D�A�q�����
�
�A��9�Q�<�<�D��i��l�2�&�'�'�A�-�-�-�-�-��-�-�-�E��.�%�(�C�A�G��G�#�#����C��F�A�D�$:�Y�$F�
H�
H�
H�
H�
H�-	H�	Hs�>(B2�2B6	�9B6	za, b, expected)rxrxrxr8rc���d}ttj|���5tj||��\}}|sJ||k���	ddd��dS#1swxYwYdS)N�%Each of the input arrays is constant;r�)rrSr�r:	)r]r�r�rr�rgr�s       rer�zTestFOneWay.test_constant_input�s���6��
�%�4�C�
@�
@�
@�	$�	$��>�!�Q�'�'�D�A�q��#�#�a�8�m�#�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s�)A�A�ArA)r=rNrrc�F�tjgd�gd�gd�gd�gd�g��}tjgd�gd�gd�gd�gd	�gd
�gd�gd�g��}tjgd
�gd�gd�gd�g��}|dvr|j}|j}|j}d}nd}d}ttj|���5t	j||||���\}}ddd��n#1swxYwYdD]�}	t	jtj||	|��tj||	|��tj||	|����\}
}t||	|
d���t||	|d�����dD]�}	ttj|���5t	jtj||	|��tj||	|��tj||	|����\}
}t||	|
��t||	|��ddd��n#1swxYwY��dS)N)rr!r r )rr"r r )r r#r r r)r rr"r )r!r#r"r )r!r r"r )rr"r"r )r"r"r"r )rr r"r )r%rr"r )rrr"r )r!r r!r )r!rr!r )r"r!r!r rrrrh	r�r@r�r�rrs)
rYrr�rrSr�r:	�takerr)r]rAr�r�r_�	take_axisr7rgr�r��fj�pjs            re�test_2d_inputszTestFOneWay.test_2d_inputs�s����H�l�l�l�"�l�l�"�l�l�"�l�l�"�l�l�	$�
%�
%��

�H�l�l�l�"�l�l�"�l�l�"�l�l�"�l�l�"�l�l�"�l�l�"�l�l�$�
%�
%��
�H�l�l�l�"�l�l�"�l�l�"�l�l�$�
%�
%��
�7�?�?���A���A���A��I�I��I�:��
�%�4�H�
E�
E�
E�	6�	6��>�!�Q���5�5�5�D�A�q�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�
�	2�	2�A��^�B�G�A�q�)�$<�$<�$&�G�A�q�)�$<�$<�$&�G�A�q�)�$<�$<�>�>�F�B��
�A�a�D�"�5�1�1�1�1��A�a�D�"�5�1�1�1�1�1��	'�	'�A��e�8��I�I�I�
'�
'������1�i�(@�(@�(*���1�i�(@�(@�(*���1�i�(@�(@�B�B���B��Q�q�T�2�&�&�&��Q�q�T�2�&�&�&�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'����
'�
'�
'�
'��	'�	's%�+C�C�C�BH�H	�H	c
���dtjdd���ddd��z}dtjdd���dd	d��z}tjdtjdd
���ddd��z��}t	j|||d���\}}|jdksJ�|jdksJ�t|jd
��D]�}t|jd��D]l}t	j||dd�|f||dd�|f||dd�|f��\}}	t||||f��t|	|||f���m��dS)Nrr��r!r"r$r��r%�qr@)r!r$r)	rYrrW�cosrSr:	r�r�r)
r]r�r�r_rgr�r�r��fij�pijs
          re�test_3d_inputszTestFOneWay.test_3d_inputss���
�b�i��Y�'�'�/�/��1�a�8�8�8��
�b�i��Y�'�'�/�/��1�a�8�8�8���F�1�R�Y�s�I�.�.�6�6�q�!�Q�?�?�?�@�@���~�a��A�A�.�.�.���1��w�&� � � � ��w�&� � � � ��q�w�q�z�"�"�	.�	.�A��1�7�1�:�&�&�
.�
.�� �>�!�A�q�q�q�!�G�*�a��1�1�1�a��j�!�A�q�q�q�!�G�*�M�M���S���Q�q�!�t�W�-�-�-���Q�q�!�t�W�-�-�-�-�
.�	.�	.rtc���d}ttj|���5tjgd�ggd���}t	|t
jt
jf��ddd��dS#1swxYwYdS)N�all input arrays have length 1.r�r&r��rrS�DegenerateDataWarningr:	rrYrZ�r]r�rs   re�test_length0_1d_errorz!TestFOneWay.test_length0_1d_error*s���/��
�%�5�S�
A�
A�
A�	3�	3��^�I�I�I�r�<�<�<�@�@�F���"�&�"�&�!1�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s�AA,�,A0�3A0c��d}ttj|���5d}tjd|f��}tjd|f��}tjd|f��}tj|||��\}}tj|ftj���}t||��t||��ddd��dS#1swxYwYdS)Nrx	r�r r!rr"r�)	rrSrz	rYr:r:	rmrZr)	r]r��ncolsr�r�r_rgr��nanss	         re�test_length0_2d_errorz!TestFOneWay.test_length0_2d_error1s��/��
�%�5�S�
A�
A�
A�	"�	"��E����E�
�#�#�A����E�
�#�#�A����E�
�#�#�A��>�!�Q��*�*�D�A�q��7�E�8���7�7�7�D���D�!�!�!���D�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"s�BC
�
C�Cc���d}ttj|���5tjdgdgdgdg��}t	|t
jt
jf��ddd��dS#1swxYwYdS)Nrx	r�rHrIrJrKry	r{	s   re�test_all_length_onezTestFOneWay.test_all_length_one=s���/��
�%�5�S�
A�
A�
A�	3�	3��^�R�D�2�$���r�d�;�;�F���"�&�"�&�!1�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s�AA-�-A1�4A1rer�r&c�|�tt��5tj|�ddd��dS#1swxYwYdSr�)r�r�rSr:	r-	s  re�test_too_few_inputszTestFOneWay.test_too_few_inputsCs���
�9�
%�
%�	"�	"��N�D�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"s�1�5�5c���tjd��}tjd��}ttj��5t	j||d���ddd��dS#1swxYwYdS)Nr��r"r!rr@)rYr:r�r�rSr:	�r]r�r�s   re�test_axis_errorzTestFOneWay.test_axis_errorHs����G�F�O�O���G�F�O�O��
�2�<�
(�
(�	)�	)��N�1�a�a�(�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)s�A'�'A+�.A+c���tjd��}tjd��}tt��5t	j||d���ddd��dS#1swxYwYdS)Nr�r�	rr@)rYr:r�r�rSr:	r�	s   re�test_bad_shapeszTestFOneWay.test_bad_shapesNs����G�F�O�O���G�F�O�O��
�:�
&�
&�	)�	)��N�1�a�a�(�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)s�A"�"A&�)A&N)r�r�r�r<	r�r?	rF	rH	rf	r2r6r7rYrrMrZr�rn	rv	r|	r�	r�	r�	r�	r�	r�rtrer7	r7	�s����������9�9�9����<�<�<�-�-�-�H�H�H�@�[���-�	���,�,�,�	�	����)�)�)�!4�!4�r�v�q�k�B�	���,�,�,�	�	����,�,�,�!7�!7�"�&�"�&�9I�J�0
���$�$�	��$��[���V�^�^�^�4�4�-'�-'�5�4�-'�^.�.�.�"3�3�3�
"�
"�
"�3�3�3��[���V�b�9�9�9�,�%7�8�8�"�"�9�8�"�)�)�)�)�)�)�)�)rtr7	c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�TestKruskalc���dg}dg}tj||��\}}t|d��t|tjj�|d����tjtj|��tj|����\}}t|d��t|tjj�|d����dS)Nrrr�)	rS�kruskalrr
r�r�r�rYr�r]r�r^�hr�s     re�test_simplezTestKruskal.test_simpleVs���
�C��
�C���}�Q��"�"���1��Q������A�u�2�7�:�:�1�a�@�@�A�A�A��}�R�X�a�[�[�"�(�1�+�+�6�6���1��Q������A�u�2�7�:�:�1�a�@�@�A�A�A�A�Artc���gd�}gd�}tj||��\}}t|dd���t|tjj�dd����tjt
j|��t
j|����\}}t|dd���t|tjj�dd����dS)Nr��rr!r#r%rHr�rHr7r)rSr�	r
r�r�r�rYrr�	s     rer�zTestKruskal.test_basic`s����O�O�������}�Q��"�"���1��A�u�"�5�5�5�5��A�u�2�7�:�:�5�!�D�D�E�E�E��}�R�X�a�[�[�"�(�1�+�+�6�6���1��A�u�"�5�5�5�5��A�u�2�7�:�:�5�!�D�D�E�E�E�E�Ertc�v�dg}ddg}d}d}||z}tj||��\}}t||��dS)Nrrr�r�)rSr�	r�r]r�r^�h_uncorrr�rr�	r�s        re�test_simple_tiezTestKruskal.test_simple_tiejsR��
�C��
��F��*�����d�?���}�Q��"�"���1�	�Q��!�!�!�!�!rtc��gd�}gd�}d}dtd��dzz
}||z}tj||��\}}t||��dS)N)rrrr)rrrrr�r��)r�rSr�	r
r�	s        re�test_another_tiezTestKruskal.test_another_tieuse���L�L���L�L��>���5�,�-�-��:�:���d�?���}�Q��"�"���1��A�x�(�(�(�(�(rtc��gd�}gd�}ddg}d}dtd��dzz
}||z}tj|||��\}}t||��t|tjj�|d����dS)Nr�r5rr6rr�	r�	)r�rSr�	r
r�r�r�)	r]r�r^r0r�	r�rr�	r�s	         re�test_three_groupszTestKruskal.test_three_groups~s����I�I���I�I��
��F��G���5�,�-�-��:�:���d�?���}�Q��1�%�%���1��A�x�(�(�(��A�u�2�7�:�:�1�a�@�@�A�A�A�A�Artc��gd�}gd�}g}ttj|||��tjtjf��dS)Nr�r5)rrSr�	rYrZr�s    rer�zTestKruskal.test_empty�sF���I�I���I�I�����U�]�1�a��+�+�b�f�b�f�-=�>�>�>�>�>rtc�d�gd�}gd�}tj||��}d}t||��dS)Nr�r�	r=)rSr�	r)r]r�r^r�r�s     re�test_kruskal_result_attributesz*TestKruskal.test_kruskal_result_attributes�sB���O�O�������m�A�q�!�!��,�
��C��,�,�,�,�,rtc��tjd��}tj|d<tt	j||��tjtjf��t
t	j||d���d��tttj||d���tttj||d���dS)Nrxr&rzr{rKr~r)	rYrrZrrSr�	rr�r�r�s  rer�zTestKruskal.test_nan_policy�s����I�c�N�N���v��!���U�]�1�a�(�(�2�6�2�6�*:�;�;�;��E�M�!�Q�6�B�B�B�J�O�O�O��j�%�-��A�'�J�J�J�J��j�%�-��A�(�K�K�K�K�K�Krtc���d}tj�|��}tj�|��dz}tj||��\}}d}t||��dS)Nr�r�r)rYr�r�rSr�	r
)r]r�r�r^r�	r�rs       re�test_large_no_samplesz!TestKruskal.test_large_no_samples�sb�����I�O�O�A�����I�O�O�A����#���}�Q��"�"���1����A�x�(�(�(�(�(rtN)r�r�r�r�	r�r�	r�	r�	r�r�	r�r�	r�rtrer�	r�	Us�������B�B�B�F�F�F�	"�	"�	"�)�)�)�
B�
B�
B�?�?�?�-�-�-�L�L�L�)�)�)�)�)rtr�	c�"�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zgd
�Ze
j�dgd���e
j�d
e��d�����Ze
j�d
e��d���ZdS)�TestCombinePvaluesc�`�tjgd�d���\}}t|dd���dS)N�r2rrvr$reg�f���?r!r7�rS�combine_pvaluesr
)r]�xsqr�s   re�test_fisherzTestCombinePvalues.test_fisher�s:���&�}�}�}�X�F�F�F���Q��A�w�A�6�6�6�6�6�6rtc�`�tjgd�d���\}}t|dd���dS)Nr�	�stoufferre�S:X��?r!r7r�	�r]�Zr�s   re�
test_stoufferz TestCombinePvalues.test_stouffer�s:���$�]�]�]�:�F�F�F���1��A�w�A�6�6�6�6�6�6rtc�`�tjgd�d���\}}t|dd���dS)N)r(r(r(r�	rer(r!r7r�	r�	s   re�test_stouffer2z!TestCombinePvalues.test_stouffer2�s:���$�\�\�\�*�E�E�E���1��A�s��2�2�2�2�2�2rtc��tjgd�dtjd�����\}}t	|dd���dS)Nr�	r�	r �rfr�r�	r!r7)rSr�	rYr:r
r�	s   re�test_weighted_stoufferz)TestCombinePvalues.test_weighted_stouffer�sK���$�]�]�]�:�-/�W�Q�Z�Z�9�9�9���1��A�w�A�6�6�6�6�6�6rtc��tjgd�dtjd�����\}}t	|dd���dS)Nr�	r�	)rr!r&r�	g46<��?r!r7)rSr�	rYrr
r�	s   re�test_weighted_stouffer2z*TestCombinePvalues.test_weighted_stouffer2�sP���$�]�]�]�:�-/�X�i�-@�-@�B�B�B���1��A�v�1�5�5�5�5�5�5rtc�`�tjgd�d���\}}t|dd���dS)Nr�	r�regE�
)?��?r!r7r�	r�	s   re�test_pearsonzTestCombinePvalues.test_pearson�s:���$�]�]�]�9�E�E�E���1��A�w�A�6�6�6�6�6�6rtc�`�tjgd�d���\}}t|dd���dS)Nr�	�tippettreg���B�i�?r!r7r�	r�	s   re�test_tippettzTestCombinePvalues.test_tippett�s:���$�]�]�]�9�E�E�E���1��A�v�1�5�5�5�5�5�5rtc�`�tjgd�d���\}}t|dd���dS)N)rsrsrs�mudholkar_georgereg&���?r!r7r�	r�	s   re�test_mudholkar_georgez(TestCombinePvalues.test_mudholkar_george�s;���$�\�\�\�:L�M�M�M���1��A�x�Q�7�7�7�7�7�7rtc���tjgd�d���\}}tjgd�d���\}}tjgd�d���\}}td||zz|d���dS)	Nr�	r�	rer$r�r(r!r7r�	)r]r�	r��Z_f�p_f�Z_p�p_ps       re�2test_mudholkar_george_equal_fisher_pearson_averagezETestCombinePvalues.test_mudholkar_george_equal_fisher_pearson_average�s}���$�]�]�]�;M�N�N�N���1��(����x�H�H�H���S��(����y�I�I�I���S��C�3�s�7�O�Q�A�>�>�>�>�>�>rt)r$r�r�	r�	r�	ra)�singler�r�rfc�6��d\}}tj�d��}|dkrHtj||f|�|����}tjdd|��|dd�df<nk|dkr1tj||ftjdd|����j}n4|dkr.tj|�dd	||f�
��d���}�fd�|D��}tjtj	|��dk��sJ�dS)
N)rHr$l	�TrU�(�	�"b�-�=�r�	rsrurr�r�rr	r@c�H��g|]}tj|����d��S)rer)rSr�	)r�rrfs  �rer�z8TestCombinePvalues.test_monotonicity.<locals>.<listcomp>�s>���
�
�
��
�!�'�&�9�9�9�!�<�
�
�
rt)
rYr�rrmrr�r�r
r��diff)r]rarfr�r�r�pvaluess�combined_pvaluess  `     re�test_monotonicityz$TestCombinePvalues.test_monotonicity�s0������1��i�#�#�$K�L�L���h����w��1�v�s�z�z�!�}�}�5�5�H��[��c�1�5�5�H�Q�Q�Q��T�N�N�
��
�
��w��1�v�r�{�3��Q�'?�'?�@�@�B�H�H�
��
 �
 ��w�s�{�{�1�a�q�!�f�{�=�=�A�F�F�F�H�
�
�
�
�#�
�
�
���v�b�g�.�/�/�1�4�5�5�5�5�5�5�5rtc�n�tjgd�|���}t|j|jf|��dS)Nr�	re)rSr�	rr�r�)r]rfr�s   rerzTestCombinePvalues.test_result�s:���#�M�M�M�&�A�A�A���c�m�S�Z�0�#�6�6�6�6�6rtN)r�r�r�r�	r�	r�	r�	r�	r�	r�	r�	r�	�methodsr2r6r7r�	rr�rtrer�	r�	�s(������7�7�7�
7�7�7�3�3�3�7�7�7�
6�6�6�
7�7�7�6�6�6�8�8�8�?�?�?�O�N�N�G��[���Y�(C�(C�(C�D�D��[���X�w�/�/�6�6�0�/�E�D�6�.�[���X�w�/�/�7�7�0�/�7�7�7rtr�	c�0�eZdZdZd�Zd�Zd�Zd�Zd�ZdS)�TestCdfDistanceValidationzg
    Test that _cdf_distance() (via wasserstein_distance()) raises ValueErrors
    for bad inputs.
    c	��tttjdgdgdgddg��tttjdgdgddg��dS)Nrrr!r r�r�r�rS�wasserstein_distancerjs re�&test_distinct_value_and_weight_lengthsz@TestCdfDistanceValidation.test_distinct_value_and_weight_lengths�sW��	�j�%�"<��c�A�3���a��V�	-�	-�	-��j�%�"<�q�c�A�3��A��O�O�O�O�Ortc��tttjddgdgddg��tttjddgdgddgdg��dS)Nrrrr r�	rjs re�test_zero_weightz*TestCdfDistanceValidation.test_zero_weightsf��	�j�%�"<��!�f�q�c�A�q�6�	+�	+�	+��j�%�"<��!�f�q�c�A�q�6�A�3�	0�	0�	0�	0�	0rtc	�\�tttjddgddgddgddg��dS)Nrrrr rNr�	rjs re�test_negative_weightsz/TestCdfDistanceValidation.test_negative_weightss>���j�%�"<��!�f�q�!�f�q�!�f�q�"�g�	7�	7�	7�	7�	7rtc��tttjgddg��tttjdgg��dS)Nrrr�	rjs re�test_empty_distributionz1TestCdfDistanceValidation.test_empty_distributions>��	�j�%�"<�b�1�a�&�I�I�I��j�%�"<�q�c�2�F�F�F�F�Frtc	�r�tttjgd�ddgdtjdgddg��dS)Nr�r)r�r�rSr�	rYrMrjs re�test_inf_weightz)TestCdfDistanceValidation.test_inf_weightsG���j�%�"<��i�i�!�Q��!�R�V�Q��!�Q��	A�	A�	A�	A�	ArtN)	r�r�r�r5r�	r�	r�	r�	r�	r�rtrer�	r�	�st��������
P�P�P�0�0�0�7�7�7�
G�G�G�A�A�A�A�Artr�	c�<�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestWassersteinDistancez5 Tests for wasserstein_distance() output values.
    c�V�ttjddgdgddgdg��d��ttjddgdgddgdg��d��ttjddgdgddgdg��d��ttjgd�gd���d��dS)	Nrrr(r r�rr�r&�rrSr�	rjs rer�	z#TestWassersteinDistance.test_simple s���	��&��1�v��s�Q��F�Q�C�@�@��	�	�	�	�E�6�
��F�Q�C�!�Q��!��&�&��	�	�	�	�E�6�
��F�Q�C�!�Q��!��&�&�
�	�	�	�	�E�6��I�I�y�y�y�"�"�
�	�	�	�	�	rtc	��ttjgd�gd���d��ttjgd�ddggd�ddg��d��dS�	Nr&r�r)rrrr!r!rrEr )rrSr�	rjs re�test_same_distributionz.TestWassersteinDistance.test_same_distribution0sq��	�U�/�	�	�	�9�9�9�E�E�q�I�I�I���&�|�|�|�a��V�'3�|�|�a��V�
=�
=�
�	�	�	�	�	rtc	�B�ttjdgdg��d��ttjdgdg��d��ttjgd�gd���d��ttjgd�gd	�gd
�gd���d��dS)
Nrrr�r"rHr)rIrJrKrFrD)r,g������@r�)r�r$r)r rr)rr rr*r�	rjs re�
test_shiftz"TestWassersteinDistance.test_shift9s���	�E�6��s�Q�C�@�@�!�D�D�D��E�6��t�a�S�A�A�2�F�F�F���&����8L�8L�8L�M�M��	�	�	�	��&����
�
�
�'0�y�y�)�)�)�
=�
=��	�	�	�	�	rtc
��ttjgd�gd�gd�gd���tjgd�gd�gd�gd�����dS�N)rrrrrrr")rr r r r r!r!)rrrrrrr)r"rr)rr!r �rrr!r�	rjs re�test_combine_weightsz,TestWassersteinDistance.test_combine_weightsFs��	��&�%�%�%�'<�'<�'<�%�%�%�'<�'<�'<�
>�
>�
�&�y�y�y�)�)�)�'0�y�y�)�)�)�
=�
=�		>�	>�	>�	>�	>rtc���tjddd��}tj|��}tt	j||��tjtj|������tjt|����}|ddd�}tt	j||||��tj	tj|��|�����dS)Nr�r�rvrNrx)
rYr�
zeros_likerrSr�	rXrr�ry)r]r�r��	u_weights�	v_weightss     re�
test_collapsez%TestWassersteinDistance.test_collapsePs���
�I�c�2�s�#�#���M�!������&�q�!�,�,��G�B�F�1�I�I���	 �	 �	 ��I�c�!�f�f�%�%�	��d�d��d�O�	���&�q�!�Y�	�B�B��J�r�v�a�y�y�)�4�4�4�	6�	6�	6�	6�	6rtc
��ttjgd�ddggd�ddg��tjddgddgddgddg����dS�N)rrrBr)rrrrr�	rjs rer�	z(TestWassersteinDistance.test_zero_weight_sp����&�~�~�~��1�v�'0�y�y�1�a�&�
:�
:��&��1�v��1�v��1�v��1�v�F�F�	H�	H�	H�	H�	Hrtc��ttjddtjgddg��tj��ttjddtjgtjdg��tj��ttjdtjtjgddg��tj��t��5}|�td��ttjddtjgtjdg��tj��ddd��dS#1swxYwYdS�Nrrry)	rrSr�	rYrMr
r[r\rZ�r]rds  re�test_inf_valuesz'TestWassersteinDistance.test_inf_valuesfsc��	��&��1�b�f�~��1�v�>�>��F�	�	�	�	��&��1�b�f�~�����|�D�D��F�	�	�	�	��&��B�F�7�B�F�';�a��V�D�D��F�	�	�	��
 �
 �	�C��J�J�~�'7�8�8�8���*�A�q�"�&�>�B�F�A�;�G�G���
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��A"E�E�EN)r�r�r�r5r�	r�	r�	r�	r�	r�	r�	r�rtrer�	r�	s������������ ������>�>�>�
6�
6�
6�H�H�H�����rtr�	c�6�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�TestEnergyDistancez0 Tests for energy_distance() output values.
    c���ttjddgdgddgdg��tjd��dz��ttjddgdgddgdg��tjd��dz��ttjddgdgddgdg��d��ttjgd�gd	���tjd��d
z��dS)Nrrrr(r r�r�r�r&g3�E�y�?�rrS�energy_distancerYr�rjs rer�	zTestEnergyDistance.test_simple}s��	��!�1�a�&�1�#��1�v��s�;�;��G�A�J�J��O�	�	�	�	�E�1�
��F�Q�C�!�Q��!��&�&��G�A�J�J���	�	�	�	�E�1�
��F�Q�C�!�Q��!��&�&��	�	�	�	��!�)�)�)�Y�Y�Y�7�7��G�A�J�J�*�*�	,�	,�	,�	,�	,rtc	��ttjgd�gd���d��ttjgd�ddggd�ddg��d��dSr�	)rrSr�	rjs rer�	z)TestEnergyDistance.test_same_distribution�sl��	�U�*�9�9�9�i�i�i�@�@�!�D�D�D���!�,�,�,��A�����q�!�f�M�M�
�	�	�	�	�	rtc���ttjdgdg��tjd����ttjdgdg��tjd��dz��dS)Nrrrr�r"gS[�:XL	@r�	rjs rer�	zTestEnergyDistance.test_shift�sm��	�E�1�1�#��s�;�;�R�W�Q�Z�Z�H�H�H���!�2�$���,�,��G�A�J�J���	!�	!�	!�	!�	!rtc
��ttjgd�gd�gd�gd���tjgd�gd�gd�gd�����dSr�	�rrSr�	rjs rer�	z'TestEnergyDistance.test_combine_weights�s��	��!�"7�"7�"7�9N�9N�9N�"7�"7�"7�9N�9N�9N�
P�
P��!�)�)�)�Y�Y�Y�	�	�	�9�9�9�M�M�	O�	O�	O�	O�	Ortc
��ttjgd�ddggd�ddg��tjddgddgddgddg����dSr�	r�	rjs rer�	z#TestEnergyDistance.test_zero_weight�sk����!�.�.�.�1�a�&�)�)�)�a��V�L�L��!�1�a�&�1�a�&�1�a�&�1�a�&�A�A�	C�	C�	C�	C�	Crtc��ttjddtjgddg��tj��ttjddtjgtjdg��tj��ttjdtjtjgddg��tj��t��5}|�td��ttjddtjgtjdg��tj��ddd��dS#1swxYwYdSr�	)	rrSr�	rYrMr
r[r\rZr�	s  rer�	z"TestEnergyDistance.test_inf_values�sY��	�U�*�A�q�"�&�>�A�q�6�B�B�B�F�K�K�K���!�1�a���.�B�F�7�A�,�?�?��F�	�	�	�	��!�1�r�v�g�r�v�"6��A��?�?��F�	�	�	��
 �
 �	�C��J�J�~�'7�8�8�8���%�q�!�R�V�n�r�v�q�k�B�B���
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�	N)
r�r�r�r5r�	r�	r�	r�	r�	r�	r�rtrer�	r�	ys~��������,�,�,� ���!�!�!�O�O�O�C�C�C�����rtr�	c�j�eZdZgd�Zgd�ZdZd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�ZdS)�TestBrunnerMunzel)rrrrrrrrrrrr!rr�r r r!r rrr rrr"r!rKc��tj|j|jd���\}}tj|j|jd���\}}tj|j|jd���\}}tj|j|jd���\}}t	|||j���t	|||j���t
||k��t	|d|j���t	|d|j���t	|d|j���t	|d|j���t	|d|j���t	|d|j���dS)	Nrrrr7�|	&��	@�|	&��	�g��ҏG�g?g@-p�L��?)rS�
brunnermunzelrUr�r
r8rr�s	         re�test_brunnermunzel_one_sidedz.TestBrunnerMunzel.test_brunnermunzel_one_sided�s����$�T�V�T�V��H�H�H���B��$�T�V�T�V��K�K�K���B��$�T�V�T�V��K�K�K���B��$�T�V�T�V��H�H�H���B��B���0@�A�A�A�A��B���0@�A�A�A�A���b������B� 2�(,�(8�	:�	:�	:�	:��B� 3�(,�(8�	:�	:�	:�	:��B� 2�(,�(8�	:�	:�	:�	:��B� 3�(,�(8�	:�	:�	:�	:��B� 5�(,�(8�	:�	:�	:�	:��B� 3�(,�(8�	:�	:�	:�	:�	:�	:rtc�N�tj|j|jd���\}}tj|j|jd���\}}t	|||j���t	|d|j���t	|d|j���t	|d|j���dS)Nr
rr7r
r
��ҏG�w?�rSr
rUr�r
r8r�s     re�test_brunnermunzel_two_sidedz.TestBrunnerMunzel.test_brunnermunzel_two_sided�s����$�T�V�T�V��M�M�M���B��$�T�V�T�V��M�M�M���B��B���0@�A�A�A�A��B� 2�(,�(8�	:�	:�	:�	:��B� 3�(,�(8�	:�	:�	:�	:��B� 5�(,�(8�	:�	:�	:�	:�	:�	:rtc�F�tj|j|j��\}}tj|j|j��\}}t	|||j���t	|d|j���t	|d|j���t	|d|j���dS)Nr7r
r
r
r
r�s     re�test_brunnermunzel_defaultz,TestBrunnerMunzel.test_brunnermunzel_default�s����$�T�V�T�V�4�4���B��$�T�V�T�V�4�4���B��B���0@�A�A�A�A��B� 2�(,�(8�	:�	:�	:�	:��B� 3�(,�(8�	:�	:�	:�	:��B� 5�(,�(8�	:�	:�	:�	:�	:�	:rtc	��d}d}d}t|dv��tttj|j|j|||��dS)NrQrNr�rW�rr�r�rSr
rUr��r]r�distributionr|s    re�$test_brunnermunzel_alternative_errorz6TestBrunnerMunzel.test_brunnermunzel_alternative_error�s\������ �
���#C�C�D�D�D��j��)��f��f�!�"� �
	"�	"�	"�	"�	"rtc�N�tj|j|jd���\}}tj|j|jd���\}}t	|||j���t	|d|j���t	|d|j���t	|d|j���dS)Nr"�r
r7r
r
g�"H��[?r
r�s     re�$test_brunnermunzel_distribution_normz6TestBrunnerMunzel.test_brunnermunzel_distribution_norms����$�T�V�T�V�(�K�K�K���B��$�T�V�T�V�(�K�K�K���B��B���0@�A�A�A�A��B� 2�(,�(8�	:�	:�	:�	:��B� 3�(,�(8�	:�	:�	:�	:��B� 5�(,�(8�	:�	:�	:�	:�	:�	:rtc	��d}d}d}t|dv��tttj|j|j|||��dS)Nr
rQr�)rNr"r
r
s    re�%test_brunnermunzel_distribution_errorz7TestBrunnerMunzel.test_brunnermunzel_distribution_errors[��!���� �
���?�2�3�3�3��j��)��f��f�!�"� �
	"�	"�	"�	"�	"rtc���tj|jg��\}}tjg|j��\}}tjgg��\}}t	|t
j��t	|t
j��t	|t
j��t	|t
j��t	|t
j��t	|t
j��dSr�)rSr
rUr�rrYrZ)r]r�r�r�rWr�rXs       re�test_brunnermunzel_empty_imputz0TestBrunnerMunzel.test_brunnermunzel_empty_imputs����$�T�V�R�0�0���B��$�R���0�0���B��$�R��,�,���B��R��� � � ��R��� � � ��R��� � � ��R��� � � ��R��� � � ��R��� � � � � rtc�|�ddddddddddddddtjg}gd�}tj||d���\}}tj||d���\}}t	|tj��t	|tj��t	|tj��t	|tj��dS)Nrrr!r
r�r{)rYrZrSr
r�r]rUr�r�r�r�rWs       re�&test_brunnermunzel_nan_input_propagatez8TestBrunnerMunzel.test_brunnermunzel_nan_input_propagate$s���
��1�a��A�q�!�Q��1�a��A�r�v�>��-�-�-���$�Q��k�B�B�B���B��$�Q��k�B�B�B���B��R��� � � ��R��� � � ��R��� � � ��R��� � � � � rtc���ddddddddddddddtjg}gd�}d}d}d}tttj|||||��tttj|||||��dS)Nrrr!r
r
rNr~)rYrZr�r�rSr
)r]rUr�rr
r|s      re�"test_brunnermunzel_nan_input_raisez4TestBrunnerMunzel.test_brunnermunzel_nan_input_raise/s���
��1�a��A�q�!�Q��1�a��A�r�v�>��-�-�-��!�����
��j��)���!�"� �
	"�	"�	"�	�j��)���!�"� �
	"�	"�	"�	"�	"rtc�d�ddddddddddddddtjg}gd�}tj||d���\}}tj||d���\}}t	|||j���t	|d|j���t	|d	|j���t	|d
|j���dS)Nrrr!r
rzr{r7r
r
r
)rYrZrSr
r
r8r
s       re�!test_brunnermunzel_nan_input_omitz3TestBrunnerMunzel.test_brunnermunzel_nan_input_omitEs���
��1�a��A�q�!�Q��1�a��A�r�v�>��-�-�-���$�Q��f�=�=�=���B��$�Q��f�=�=�=���B��B���0@�A�A�A�A��B� 2�(,�(8�	:�	:�	:�	:��B� 3�(,�(8�	:�	:�	:�	:��B� 5�(,�(8�	:�	:�	:�	:�	:�	:rtc��gd�}gd�}tjtd���5tj||d���ddd��dS#1swxYwYdS)z| tests that a warning is emitted when p is nan
        p-value with t-distributions can be nan (0/0) (see gh-15843)
        r&r�zp-value cannot be estimatedr�rNr
N)r2r�r\rSr
r,s   re�test_brunnermunzel_return_nanz/TestBrunnerMunzel.test_brunnermunzel_return_nanSs���
�I�I���O�O��
�\�.�0M�
N�
N�
N�	8�	8����1�3�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���gd�}gd�}tjtd���5tj||d���\}}ddd��n#1swxYwYt|d��dS)	zo tests that a p is 0 for datasets that cause p->nan
        when t-distribution is used (see gh-15843)
        r&r�zdivide by zeror�r"r
Nr)r2r�r\rSr
r)r]r�r^r�r�s     re�test_brunnermunzel_normal_distz0TestBrunnerMunzel.test_brunnermunzel_normal_dist]s���
�I�I���O�O��
�\�.�0@�
A�
A�
A�	D�	D��&�q�!�(�C�C�C�D�A�q�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D��Q������s�A�A�AN)r�r�r�rUr�r8r	
r
r
r
r
r
r
r
r 
r"
r$
r&
r�rtrer
r
�s�������2�2�2�A�)�)�)�A��K�:�:�:�.:�:�:�:�:�:�"�"�"�	:�	:�	:�"�"�"�
!�
!�
!�	!�	!�	!�"�"�"�,:�:�:�8�8�8�	�	�	�	�	rtr
c�*�eZdZdZd�Zd�Zd�Zd�ZdS)�TestRatioUniformsz# Tests for rvs_ratio_uniforms.
    c	�<�tjj}tj|tjd������tjd��z}tj|d����||}}}tj||||dd���}t
tj|d��ddkd	��tjd
�dddtjd��zdd�
��}t
tj|d��ddkd	��dS)Nrri�	i90r�rLrr�Tc�,�tj|��Sr�)rYr�r�s rer�z6TestRatioUniforms.test_rv_generation.<locals>.<lambda>xs��������rtrNrC)�umax�vmin�vmaxr�r@�expon)	rSrL�pdfrYr��rvs_ratio_uniformsrr�r�)r]rg�v_boundr+
r,
r-
rMs       re�test_rv_generationz$TestRatioUniforms.test_rv_generationms
��
�J�N���'�!�!�B�G�A�J�J�-�-�(�(�2�7�1�:�:�5���7�1�1�Q�4�4�=�=�7�(�G�D�d���&�q�$��d��49�;�;�;���U�\�#�v�.�.�q�1�D�8�$�?�?�?��&�';�';�!�,-�A�b�f�R�j�j�L�,0�u�F�F�F��	�U�\�#�w�/�/��2�T�9�4�@�@�@�@�@rtc��tjj}tj|tjd������tjd��z}tj|d����||}}}tj||||dd���}tj||||dd���}tj||||dd���}t
||��t
||�����t
|jd��t
|jd��tj||||dd	���}	tj||||d
d	���}
t
|	���|
��t
|	jd��tj||||d���}tj||||dd���}tj||||d
d���}
t
||��t
||
��dS)Nrrr r�r�r�)r r)r r r rJ��r@rr)	rSrLr/
rYr�r0
rr�r�)r]rgr1
r+
r,
r-
r�r�r��r4�r5�r6�r7�r8s              re�
test_shapezTestRatioUniforms.test_shape}s	���J�N���'�!�!�B�G�A�J�J�-�-�(�(�2�7�1�:�:�5���7�1�1�Q�4�4�=�=�7�(�G�D�d��
�
%�a��t�T��37�9�9�9��
�
%�a��t�T��37�9�9�9��
�
%�a��t�T��37�9�9�9���R������R������&�&�&��R�X�t�$�$�$��R�X�v�&�&�&�
�
%�a��t�T�	�35�7�7�7��
�
%�a��t�T��35�7�7�7���R�Z�Z�\�\�2�&�&�&��R�X�y�)�)�)�
�
%�a��t�T��
M�
M�
M��
�
%�a��t�T��37�9�9�9��
�
%�a��t�T��37�9�9�9���R������R������rtc��tjj}tj|tjd������tjd��z}tj|d����||}}}tj�d��tj||||d���}tj||||dd���}t||��dS)Nrrr�r�r	r�)	rSrLr/
rYr�r�r�r0
r)r]rgr1
r+
r,
r-
r�r�s        re�test_random_statez#TestRatioUniforms.test_random_state�s����J�N���'�!�!�B�G�A�J�J�-�-�(�(�2�7�1�:�:�5���7�1�1�Q�4�4�=�=�7�(�G�D�d��
�	���t����
�
%�a��t�T��
G�
G�
G��
�
%�a��t�T��37�9�9�9���R������rtc�H�tjj}tttj|ddd���tttj|ddd���tttj|ddd���tttj|ddd���dS)Nrr )r/
r+
r,
r-
rNr)rSrLr/
r�r�r0
)r]rgs  re�test_exceptionsz!TestRatioUniforms.test_exceptions�s����J�N���j��.�A�A�A�A�	O�	O�	O�	O��j��.�A�A�A�A�	O�	O�	O�	O�	�j��.�A�B�Q�Q�	P�	P�	P�	P��j��.�A�A�A�A�	O�	O�	O�	O�	O�	OrtN)r�r�r�r5r2
r;
r=
r?
r�rtrer(
r(
isc��������A�A�A� ���@���O�O�O�O�Ortr(
c��eZdZdZd�Zd�Zd�Zd�Zd�Ze	j
�ddd	g��d
���Zd�Z
d�Zd
S)�TestMGCErrorWarningsz1 Tests errors and warnings derived from MGC.
    c��tjd��}dgdz}tttj||��tttj||��dS)NrEr"�rYrr�r�rS�multiscale_graphcorrr,s   re�test_error_notndarrayz*TestMGCErrorWarnings.test_error_notndarray�sN���I�b�M�M��
�C�"�H���j�%�"<�a��C�C�C��j�%�"<�a��C�C�C�C�Crtc���tjd���dd��}|�dd��}ttt
j||��dS)NrBrGr!rH)rYrrWr�r�rSrD
r,s   re�test_error_shapez%TestMGCErrorWarnings.test_error_shape�sO���I�c�N�N�"�"�2�q�)�)��
�I�I�b�"�����j�%�"<�a��C�C�C�C�Crtc��tjd��}tjd��}tttj||��dS)Nr rC
r,s   re�test_error_lowsamplesz*TestMGCErrorWarnings.test_error_lowsamples�s9���I�a�L�L���I�a�L�L���j�%�"<�a��C�C�C�C�Crtc��tjdt���}tj|d<t	t
tj||��tjd��}t	t
tj||��dS)NrEr>r)rYrr�rZr�r�rSrD
r,s   re�test_error_nansz$TestMGCErrorWarnings.test_error_nans�sb���I�b��&�&�&���v��!���j�%�"<�a��C�C�C��I�b�M�M���j�%�"<�a��C�C�C�C�Crtc�x�tjd��}d}tttj|||���dS)NrEr)�compute_distancerC
)r]r�rM
s   re�test_error_wrongdisttypez-TestMGCErrorWarnings.test_error_wrongdisttype�sD���I�b�M�M�����j�%�"<�a��'7�	9�	9�	9�	9�	9�	9rtr�rN�1c�t�tjd��}tttj|||���dS)NrE�r�rC
)r]r�r�s   re�test_error_repsz$TestMGCErrorWarnings.test_error_reps�s3��
�I�b�M�M���j�%�"<�a���N�N�N�N�N�Nrtc�x�tjd��}d}tttj|||���dS)NrErBrQ
)rYrrr\rSrD
)r]r�r�s   re�test_warns_repsz$TestMGCErrorWarnings.test_warns_reps�s6���I�b�M�M�����^�U�%?��A�D�Q�Q�Q�Q�Q�Qrtc��tjd��}tjd��tjz}t	t
tj||��dS)NrE)rYrr:rMr�r�rSrD
r,s   re�test_error_inftyz%TestMGCErrorWarnings.test_error_infty�s@���I�b�M�M���G�B�K�K�"�&� ���j�%�"<�a��C�C�C�C�CrtN)r�r�r�r5rE
rG
rI
rK
rN
r2r6r7rR
rT
rV
r�rtrerA
rA
�s���������D�D�D�D�D�D�D�D�D�D�D�D�9�9�9��[���V�
��&���O�O�	��O�
R�R�R�D�D�D�D�DrtrA
c��eZdZdZdd�Zejjej�dgd���d�����Z	ejjej�dd	d
g��d�����Z
ejjd���Zejjd
���Z
ejjd���Zejjd���Zejjd���Zejjd���ZdS)�TestMGCStatz) Test validity of MGC test statistic
    rBr�c�*�|dkrStj�dd|df���}|dtj�|jdf���zz}�nr|dkr�tjtj�dd|df�����}|tjtj|z��z}|tjtj|z��zd	tj�|jdf���zz}n�|d
kr�tj�	dd|df���}tj�	dd|df���}tj�
dd|df���}	tj�
dd|df���}
|d
zd|	zzdz
}|d
zd|
zzdz
}ntd���|dkr?tj�	dd||dz
f���}tj||fd���}||fS)Nr�rNrr	rv�	nonlinearrr"rN�independencer()r�r�r rz3sim_type must be linear, nonlinear, or independencer@)
rYr�r
�
random_sampler�rrs	�pirr"�binomialr�rp)r]�samps�dims�sim_typer�r^�unifr�r��u_2�v_2�
dims_noises            re�_simulationszTestMGCStat._simulations�s���x����	�!�!�"�a�u�a�j�!�9�9�A��C�"�)�1�1����{�1�C�C�C�C�A�A���
$�
$��8�B�I�-�-�a��%���-�D�D�E�E�D��r�v�b�e�d�l�+�+�+�A��r�v�b�e�d�l�+�+�+�s��)�)�)����{�)�;�;�0<�=�A�A���
'�
'��	� � ��A�U�A�J� �7�7�A��	� � ��A�U�A�J� �7�7�A��)�$�$�Q�#�U�A�J�$�?�?�C��)�$�$�Q�#�U�A�J�$�?�?�C��!��a��e��a��A��!��a��e��a��A�A��,�-�-�
-��!�8�8���)�)�!�Q�e�T�!�V�_�)�E�E�J����:��Q�7�7�7�A��!�t�rtzsim_type, obs_stat, obs_pvalue))r�r�r�)r[
�w��/��?r�)r\
gU���N@��g�(\���?c���tj�d��|�dd|���\}}t	j||��\}}}t
||d���t
||d���dS)NryrBr�r`
ra
rb
r7�rYr�r�rg
rSrD
r
�	r]rb
�obs_stat�
obs_pvaluer�r^r�r�r�s	         re�	test_onedzTestMGCStat.test_oneds���	�	���x� � � �� � �s��X� �F�F���1� �4�Q��:�:���f�a��D�(��:�:�:�:��F�J�A�>�>�>�>�>�>rt)r�gZd;�O��?r�)r[
g�~j�t�?g�ʡE��?c���tj�d��|�dd|���\}}t	j||��\}}}t
||d���t
||d���dS)NryrBr"rj
rr7rk
rl
s	         re�
test_fivedzTestMGCStat.test_fived's���	�	���x� � � �� � �s��X� �F�F���1� �4�Q��:�:���f�a��D�(��:�:�:�:��F�J�A�>�>�>�>�>�>rtc��tj�d��tj�ddd���}tj�ddd���}tj||��\}}}t|d	d�
��t|dd�
��tj�ddd���}tj||d�
��\}}}t|d	d�
��t|dd�
��dS)NryrBr()rBr"r	rr)r�r"r�r7r�T)�
is_twosamp)rYr�r�r_
r"rSrD
r
�r]r�r^r�r�r�s      re�test_twosampzTestMGCStat.test_twosamp7s��
�	���x� � � �
�I���s�C�h��7�7���I���Q����0�0�� �4�Q��:�:���f�a��D�#�1�5�5�5�5��F�E�q�9�9�9�9�
�I���Q����1�1�� �4�Q��d�K�K�K���f�a��D�#�1�5�5�5�5��F�E�q�9�9�9�9�9�9rtc��tj�d��|�ddd���\}}t	j||d���\}}}t
|dd�	��t
|d
d�	��dS)NryrBrr�rj
r)�workersr�r7r�rk
rt
s      re�test_workerszTestMGCStat.test_workersLs���
�	���x� � � �� � �s��X� �F�F���1� �4�Q��1�E�E�E���f�a��D�$�A�6�6�6�6��F�E�q�9�9�9�9�9�9rtc��|�ddd���\}}tj||d���\}}}t|dd���t|dd���dS)	NrBrr�rj
r5
r�r7r�)rg
rSrD
r
rt
s      rer=
zTestMGCStat.test_random_stateXsq��� � �s��X� �F�F���1� �4�Q���J�J�J���f�a��D�$�A�6�6�6�6��F�E�q�9�9�9�9�9�9rtc�B�tj�d��|�ddd���\}}t	||d���}t	||d���}tj||dd���\}}}t|d	d�
��t|dd�
��dS)NryrBrr[
rj
�	euclidean)�metric)rM
r@rh
r7r�)rYr�r�rg
rrSrD
r
)r]r�r^�distx�disty�	stat_dist�pvalue_distr�s        re�test_dist_permzTestMGCStat.test_dist_permbs���
�	���x� � � �� � �s��[� �I�I���1��a��;�/�/�/���a��;�/�/�/��$)�$>�u�e�PT�LM�%O�%O�%O�!�	�;��	�I�u�!�<�<�<�<��K��A�>�>�>�>�>�>rtc���tj�d��|�ddd���\}}t	j||d���\}}}t
|d��dS)NryrBrr�rj
r5
r�)rYr�r�rg
rSrD
r)r]r�r^r�r�s     re�test_pvalue_literaturez"TestMGCStat.test_pvalue_literaturepsk��
�	���x� � � �� � �s��X� �F�F���1��1�!�Q�Q�G�G�G���6�1����'�'�'�'�'rtc���tj�d��|�ddd���\}}t	j||d���}t
|j|j��dS)NryrBrr�rj
r5
)	rYr�r�rg
rSrD
rr�r�r-s    re�
test_aliaszTestMGCStat.test_alias{sg��
�	���x� � � �� � �s��X� �F�F���1��(��A�A�>�>�>���S�X�s�}�-�-�-�-�-rtN)rBrrY
)r�r�r�r5rg
r2r6r�r7ro
rq
r�ru
rx
r=
r�
r�
r�
r�rtrerX
rX
�s��������� � � � �D�[���[���=�@�@�@���
	?�	?�����	?��[���[���=�!�$�@���	?�	?�	����
	?��[��:�:���:�(�[��	:�	:���	:��[��:�:���:��[��?�?���?��[��(�(���(��[��.�.���.�.�.rtrX
c ���eZdZej�d��ej�dd��Zej�dd��Zdddd	efd
ddd	efdd
dd	gd�gd�gd�gfddddgd�gd�gd�gfddddgd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gfddddgd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd �gd!�gd!�gd!�gd!�gd!�gd!�gd!�gfd"d#ddgd$�gd$�gd%�gfd&d'ddgd(�gd(�gd(�gd(�gd(�gd(�gd)�gd*�gd*�gd*�g
fd+d,ddgd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd�gd �gd!�gd!�gd!�gd!�gd!�gd!�gfd-d.ddgd/�gd/�gd0�gd1�gfd2d3ddgd�gd�gd�gd�gd�gd�gd�gd�gd�gd �gd!�gfgZ	e
j�d4e	��d5���Z
d6d7ddgd8�gd9�gfd:d;ddgd8�gd8�gd8�gd<�gd=�gfd>d?ddgd@�gd@�gd@�gd@�gd@�gd@�gd@�gd@�gd@�gdA�gdB�gdB�gdB�gdB�gdB�gfgZe
j�d4e	��e
j���dC�����ZdD�ZdE�ZdF�ZdGS)H�TestPageTrendTestrr rGrH�i2g:h�ў��?Frli�gs���H��?i,0gY���@��?)r*r(�Irhr(�`r��;r�r�r&�1r%�+r|r(rqrqr+rErDrEr�rMr�)�Dr�r��"r rE�A�XrEr%r[r�r��C�ErZr�rMr��Wr|r�
r�r�
r�
)r%rK�Urh�OrJ�\�VrE�@rFr�
r�
rQrF�Yr�r�
r�
r��6rK�Br>rli
gXY��?rd)r)r�g������ @r"rjrI)r"r!r+rHrErE)r�r�rHrJrFrDiLgs���˜�?T)r!r rr)r r!rrr��gĞ�����?)r rrr�r&��g�>K=��?)r#r"r!r rr)rr r!r"rr#i�g�q�ူ�?)r"r!r rr)r!rr rr"r��ga�����?i�g�;�����?)r$r#r"r!r rr)r#r"r$r!r rr)rrr r!r"r#r$�ug�[^6��?zL, p, ranked, method, datac���tj�d��tj|||���}t||j��t||j��t||j	��dS�Nrx)�rankedrf�
rYr�r�rS�page_trend_testrr�rr�rf�r]�Lr�r�
rfr�r�s       re�
test_accuracyzTestPageTrendTest.test_accuracy�si��
�	���r�����#�D���G�G�G���Q��
�&�&�&���3�:�&�&�&��V�S�Z�(�(�(�(�(rtig-lp�
W�?)
rHr&r%r$r#r"r!r rr)
rr%r!r$r#r"r&r rrHi*gh���[��?)
r&rr%r$r#r"r!r rHrrmi�g&]�2��?)r%r$r#r"r!r rr)rr r"r#r!r$rr%r�c���tj�d��tj|||���}t||j��t||j��t||j	��dSr�
r�
r�
s       re�test_accuracy2z TestPageTrendTest.test_accuracy2�sk��	�	���r�����#�D���G�G�G���Q��
�&�&�&���3�:�&�&�&��V�S�Z�(�(�(�(�(rtc��tj�d��d\}}tjd|dz��}tj�tj|����}tj�||��}t
j|d���}t
j|��}t
j|d���}t
j|d���}	t
j||���}
t
j|dd�|f||���}t|j
|j
��t|j
|	j
��t|j
|
j
��t|j
|j
��dS)	Nrx)rHrErr@T�r�
F)�predicted_ranks)rYr�r�r�permutationr�rS�rankdatar�
rr�)r]r�r�r�
�permr��ranksr�r�r�res4�res5s            re�test_optionszTestPageTrendTest.test_options�sO��
�	���r�������1��)�A�q��s�+�+���y�$�$�R�Y�q�\�\�2�2���y�~�~�a��#�#����t�!�,�,�,���$�U�+�+���$�U�4�8�8�8���$�T�%�8�8�8���$�U�O�L�L�L���$�U�1�1�1�d�7�^�5D�T�5J�L�L�L���T�^�T�^�4�4�4��T�^�T�^�4�4�4��T�^�T�^�4�4�4��T�^�T�^�4�4�4�4�4rtc���tj�d��gd�gd�gd�gd�gd�gd�g}tj|��j}tjdd	��}t
j|d
|d���}t|j	d
��t|jdd���t
j|d
|d���}t|j	d
��t|jdd���dS)Nrx)r�r�
�o)r'r��k)�g��y)r rHr�	)rr���)�r�trr$Frl)r�
r�
rfigy�&1�l?r!rBrdgHP�s�b?)rYr�r�rr�rrSr�
rr�rr�)r]r�r�
r�s    re�test_Ames_assayz!TestPageTrendTest.test_Ames_assay�s��
�	���r�������������������/�/�/�C���x��~�~����)�A�q�/�/���#�D��4C�+7�9�9�9��	�S�]�C�(�(�(��C�J���:�:�:�:��#�D��4C�+2�4�4�4��	�S�]�C�(�(�(��C�J���:�:�:�:�:�:rtc��ttd���5tjd��ddd��n#1swxYwYttd���5tjg��ddd��n#1swxYwYttd���5tjddg��ddd��n#1swxYwYttd���5tjdggg��ddd��n#1swxYwYttd���5tjtj�dd����ddd��n#1swxYwYttd���5tjtj�dd����ddd��n#1swxYwYd}tt|���5tjgd�gd�ggd	��
��ddd��n#1swxYwYtt|���5tjgd�gd�ggd��
��ddd��n#1swxYwYtt|���5tjgd�gd�ggd��
��ddd��n#1swxYwYtt|���5tjgd�gd�gd
�
��ddd��n#1swxYwYttd���5tjgd�gd�gd��ddd��n#1swxYwYttd���5tjgd�gd�gd��ddd��n#1swxYwYttd���5tjgd�ddtjggd���ddd��n#1swxYwYttd���5tjgd�gd�gd���ddd��n#1swxYwYttd���5tjgd�gd�gd���ddd��dS#1swxYwYdS)Nz`data` must be a 2d array.r�rrzPage's L is only appropriater z+`predicted_ranks` must include each integerr&r�)r�r�
)rrr )rrr r r`z`data` is not properly ranked)rrr Tr�	z`data` contains NaNsFr�
z`method` must be in�ekki)r�rfz`ranked` must be boolean.)r�r�
)	r�r�rSr�
rYr�r�rZr�r7s  rer�z'TestPageTrendTest.test_input_validations���
�:�-I�
J�
J�
J�	(�	(��!�$�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�:�-I�
J�
J�
J�	&�	&��!�"�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�
�:�-I�
J�
J�
J�	*�	*��!�1�a�&�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�
�:�-I�
J�
J�
J�	+�	+��!�Q�C�5�'�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+��:�-K�
L�
L�
L�	8�	8��!�"�)�.�.��A�"6�"6�7�7�7�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�
�:�-K�
L�
L�
L�	8�	8��!�"�)�.�.��A�"6�"6�7�7�7�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�@��
�:�W�
5�
5�
5�	=�	=��!�	�	�	�9�9�9�'=�2;�)�)�
=�
=�
=�
=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=��:�W�
5�
5�
5�	?�	?��!�	�	�	�9�9�9�'=�2=�+�+�
?�
?�
?�
?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?��:�W�
5�
5�
5�	@�	@��!�	�	�	�9�9�9�'=�2>�,�,�
@�
@�
@�
@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@��:�W�
5�
5�
5�	=�	=��!�	�	�	�9�9�9�'=�2;�
=�
=�
=�
=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�
�:�-L�
M�
M�
M�	@�	@��!�9�9�9�i�i�i�"8�$�?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�
�:�-L�
M�
M�
M�	@�	@��!�9�9�9�i�i�i�"8�$�?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@��:�-C�
D�
D�
D�	0�	0��!�9�9�9�q�!�R�V�n�"=�).�
0�
0�
0�
0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0��:�-B�
C�
C�
C�	1�	1��!�	�	�	�9�9�9�'=�)/�
1�
1�
1�
1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1��9�,G�
H�
H�
H�	1�	1��!�	�	�	�9�9�9�'=�)/�
1�
1�
1�
1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1s�8�<�<�A:�:A>�A>�B>�>C�C�D�D�
D�$3E#�#E'�*E'�3G�G�
G�&H�H�H�2I�I!�$I!�>J)�)J-�0J-�
K3�3K7�:K7�L<�<M�M�N�N	�N	�&(O�O�!O�;P$�$P(�+P(�Q/�/Q3�6Q3N)r�r�r�rYr�r�r��	data_3_25�
data_10_26�tsr2r6r7r�
�ts2r�r�
r�
r�
r�r�rtrer�
r�
�sN�������I�N�N�1�����	���q�"�%�%�I������B�'�'�J��$�e�\�9�
E��%�u�l�J�
G��$�e�\�
=�
=�
=�
=�
=�
=�
=�
=�
=�	>�?��%�u�g�%�%�%�#�#�#�&�&�&�(�)��"�D�'��L�L�,�,�,����l�l�l��L�L�,�,�,����l�l�l��L�L�,�,�,����l�l�l��L�L�,�,�,�(�)�
�"�D�'��I�I�y�y�y�)�)�)�Y�Y�Y�	�	�	�9�9�9��I�I�y�y�y�)�)�)�Y�Y�Y�	�	�	�9�9�9��I�I�y�y�y�)�)�)�Y�Y�Y�	�	�	�9�9�9��I�I�y�y�y�)�)�)�-�.�
�"�D�'���� 2� 2� 2�4F�4F�4F�G�I��"�D�'��O�O�_�_�_�o�o�o��O�O�_�_�_�o�o�o��O�O�_�_�_�o�o�o��O�O���
�"�D�'��I�I�y�y�y�)�)�)�Y�Y�Y�	�	�	�9�9�9��I�I�y�y�y�)�)�)�Y�Y�Y�	�	�	�9�9�9��I�I�y�y�y�)�)�)�Y�Y�Y�	�	�	�9�9�9��I�I���
�!�4��!�!�!�#8�#8�#8�!�!�!�#8�#8�#8�:�;��"�D�'��I�I�y�y�y�)�)�)�Y�Y�Y�	�	�	�9�9�9��I�I�y�y�y�)�)�)�Y�Y�Y�	�	�	�C�D�O*
�B�X�[���9�2�>�>�)�)�?�>�)�
�#�T�7�
,�
,�
,�
,�
,�
,�
.�/�
�$�d�G�
,�
,�
,�.M�.M�.M�
,�
,�
,�.M�.M�.M�
,�
,�
,�
.�/�
�$�d�G�
%�
%�
%�'?�'?�'?�
%�
%�
%�'?�'?�'?�
%�
%�
%�'?�'?�'?�
%�
%�
%�'?�'?�'?�
%�
%�
%�'?�'?�'?�
%�
%�
%�'?�'?�'?�
%�
%�
%�'?�'?�'?�
%�
%�
%�
'�(��C�*�[���9�2�>�>��[�����)�)���?�>�)�5�5�5�$;�;�;�*/1�/1�/1�/1�/1rtr�
iv��5z	fun, argsc��||ddi�}||ddi�}t||��|j�d�}tjttj|�����5||ddd��ddd��dS#1swxYwYdS)Nrfrdr�z#() got multiple values for argumentr�)rfr�)rr�r2rr��re�escape)r}rer�r��errs     re�test_rename_mode_methodr�
Is����#�t�
$�G�
$�
$�C��3��#�7�#�#�D���d�����l�
?�
?�
?�C�	��y��	�#���	7�	7�	7�1�1���T�'��0�0�0�0�1�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1�1�1s�
A/�/A3�6A3c��eZdZd�Zd�Zd�Zd�Zej�	dgd���ej�	ddd	g��d
�����Z
ej�	ddd	g��d���ZdS)
�
TestExpectilec���tj�d��}|�d���}tt	j|d���tj|����dS)NrxrEr	r(�r�)rYr�rrrS�	expectilerX�r]rr�s   re�test_same_as_meanzTestExpectile.test_same_as_mean[sW���i�#�#�B�'�'���J�J�B�J���������5�5�5�r�w�q�z�z�B�B�B�B�Brtc���tj�d��}|�d���}tt	j|d���tj|����dS)NrxrEr	rr�
)rYr�rrrSr�
�aminr�
s   re�test_minimumzTestExpectile.test_minimum`�W���i�#�#�B�'�'���J�J�B�J���������3�3�3�R�W�Q�Z�Z�@�@�@�@�@rtc���tj�d��}|�d���}tt	j|d���tj|����dS)NrxrEr	rr�
)rYr�rrrSr�
�amaxr�
s   re�test_maximumzTestExpectile.test_maximumer�
rtc�>�	�tj�d��}d��	�	fd�}d}|�|��}|���}|�|��}tj|||���}||||��}t||��dS)Nlb�@�lNc��tj||���}d|z
|||k<tj||z||z
dzz��S)Nr�rr)rYr�r�)r�r�r�r�r�s     rer}z'TestExpectile.test_weights.<locals>.funqsH����Q�5�1�1�1�A��E�	�A�a�1�f�I��6�!�g�+��Q���
�2�3�3�3rtc���tj|��tj|��f}tj�||||f���jS)N)�bracketre)rYr�r�r�minimize_scalarr�)r�r�r�r�
r}s    �re�
expectile2z.TestExpectile.test_weights.<locals>.expectile2vsL����f�Q�i�i������*�G��+�C��23�U�G�1D�F�F�F�FG�
HrtrHrx)rYr�rrSr�
r)
r]rr�
r�r�r�r�r�rr}s
         @re�test_weightszTestExpectile.test_weightsjs����
�i�#�#�$7�8�8��	4�	4�	4�
	H�	H�	H�	H�	H�

���J�J�q�M�M���
�
�����*�*�Q�-�-���o�a���8�8�8���j��E�7�+�+����S�!�!�!�!�!rtr�)rg�������?r(g/#�?r:r�rEr1c
��tj�d��}|�|���}dD]:}t	tjtj||���|���|���;|���}t	tj||z|���tj||���|z��t	tj||z
|���tj||���|z
��t	tj||z|���|tj||���z��|�	|d���}|dkrd	�}n
|dkrd
�}nd�}|tjtj
||z|���tj||���tj||���z��|�|d���}tj||���tj||���ksJ�|�	|d���}d
D]b}|tjd|z
|z||zz|���d|z
tj||���z|tj||���zz���ct	tj||���tj|d|z
�����dS)u�
        See Section 6 of
        I. Steinwart, C. Pasin, R.C. Williamson & S. Zhang (2014).
        "Elicitation and Identification of Properties". COLT.
        http://proceedings.mlr.press/v35/steinwart14.html

        and

        Propositions 5, 6, 7 of
        F. Bellini, B. Klar, and A. Müller and E. Rosazza Gianin (2013).
        "Generalized Quantiles as Risk Measures"
        http://doi.org/10.2139/ssrn.2225751
        rxr	)r�rr()r�r�r�
rHrgr(c�&�t||��dSr�)r�r�r�s  re�	assert_opz:TestExpectile.test_expectile_properties.<locals>.assert_op�s����1�%�%�%�%�%rtc��||ksJ�dSr�r�r�
s  rer�
z:TestExpectile.test_expectile_properties.<locals>.assert_op�����1�u�u�u�u�u�urtc��||ksJ�dSr�r�r�
s  rer�
z:TestExpectile.test_expectile_properties.<locals>.assert_op�r�
rtr")rsr(r:rN)rYr�rr"rrSr�
rm�exponential�logisticra)r]r�r�rr�r_r^r�
s        re�test_expectile_propertiesz'TestExpectile.test_expectile_properties�s0��$�i�#�#�B�'�'���J�J�A�J����
�	�	�A������a�A� >� >� >�e�L�L�L��
�
�
�
�
�O�O������O�A��E��/�/�/��O�A�U�+�+�+�a�/�	
�	
�	
�	��O�A��E��/�/�/��O�A�U�+�+�+�a�/�	
�	
�	
�	��O�A��E��/�/�/�
�����/�/�/�/�	
�	
�	
�
�L�L�a�R�L�(�(���C�<�<�
&�
&�
&�
&��S�[�[�
�
�
�
�
�
�
�	�	��O�B�E�!�a�%�L��6�6�6��O�A�U�+�+�+��o�a�u�-�-�-�
.�	
�	
�	
�
�J�J�A�1�J�%�%���O�A�U�+�+�+�u��q��/N�/N�/N�N�N�N�N�
�L�L�a�R�L�(�(�� �	�	�A��I����1��a��!�A�#�
�U�;�;�;��1������7�7�7�7��E�O�A�U�3�3�3�3�4�
�
�
�
�	��O�Q�B�e�,�,�,�
�_�Q�a��g�
.�
.�
.�.�	
�	
�	
�	
�	
rtc��tj�d��}|�d|���}g}tjdtjd��d��}tjd|d|dd	d	�z
dfD]+}|�tj	||�
�����,tj
tj|��dk��sJ�dS)Nrxr)r�r�rr(rBrrrNr�
)rYr�r�pareto�logspace�log10rarxrSr�
r�r�	)r]r�rr��e_list�	alpha_seqr�s       re�test_monotonicity_in_alphaz(TestExpectile.test_monotonicity_in_alpha�s����i�#�#�B�'�'���J�J���J�#�#�����K��R�X�c�]�]�C�8�8�	��U�1�i��Y�v��2�v�->�)>��A�B�	;�	;�E��M�M�%�/�!�5�9�9�9�:�:�:�:��v�b�g�f�o�o��)�*�*�*�*�*�*�*rtN)r�r�r�r�
r�
r�
r�
r2r6r7r�
r�
r�rtrer�
r�
Zs�������C�C�C�
A�A�A�
A�A�A�
"�"�"�4�[����:�:�:����[���S�2�t�*�-�-�_
�_
�.�-���_
�B�[���S�2�t�*�-�-�+�+�.�-�+�+�+rtr�
r�)NNr(N)�r5rT	r�
r��collectionsr�	itertoolsr�
numpy.testingrrrrr	r
rrr
rr2rr�r��numpy.ma.testutilsrn�	testutilsr��numpyrrrrrrY�scipy.statsrS�scipy.stats.mstatsr��scipy.stats._mstats_basic�
_mstats_basicrz�scipy.stats._ksstatsr�scipy.special._testutilsr�
scipy.specialr�scipyr�common_testsr�scipy.spatial.distancer�	numpy.libr�scipy.stats._axis_nan_policyrrsrr�rUrr�r�r�r�r�r2r�r9r�rrvr|r�r�r�r�r�r�r�r�rrrr~r�r�r6�filterwarningsr�r"r$r-r�r�r�r�r;rb�PowerDivCaser�r�r�r�r�r�r7r	rr�r�r�r�r�rr,r�r�r�r�r�r�r�rAr�r�r�r�r�r�rr2r9r;r>r@rCrErPrRrZr\r^r�r�r�r�r�r�r�r�r�r�rrr@r^r�r�r�r�r�r�r�r	r7	r�	r�	r�	r�	r�	r
r(
rA
rX
r�
r�rrr�r^�wilcoxonr�rLr�r.r�r�
r�
r�rtre�<module>rsj����
�	�	�	�	�	�	�	�����"�"�"�"�"�"�������.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�
�
�
�
�*�*�*�*�*�*����� � � � � � � � � �8�8�8�8�8�8�8�8�8�8�8�8�8�8�����������#�#�#�#�#�#�#�#�#�0�0�0�0�0�0�0�0�0�(�(�(�(�(�(�-�-�-�-�-�-�������������-�-�-�-�-�-�(�(�(�(�(�(�"�"�"�"�"�"�?�?�?�?�?�?�=�=�=�=�=�=��
�E�
�
�
�u�%�%���u�
 �
 �
 �%�(�(���e�
 �
 �
 �!&�(�(��	��2�2�2�38�
:�
:���u�
D�
D�
D�e�L�L���u�
D�
D�
D�e�L�L��
��3�3�3�U�;�;��Q4�Q4�Q4�Q4�Q4�Q4�Q4�Q4�hX!�X!�X!�X!�X!�X!�X!�X!�vd7�d7�d7�d7�d7�d7�d7�d7�N{6�{6�{6�{6�{6�{6�{6�{6�|~5�~5�~5�~5�~5�~5�~5�~5�VW3�W3�W3�t
4�
4�
4� <�<�<�7�7�7�SE�SE�SE�SE�SE�SE�SE�SE�lV2�V2�V2�r&�&�&����&$�&$�&$�R
+�
+�
+�
+�
+�
+�
+�
+� ~#�~#�~#�~#�~#�~#�~#�~#�B0�0�0�D)�)�)�3�3�3�"rN�rN�rN�rN�rN�rN�rN�rN�j����3�4�4�m4�m4�m4�m4�m4�m4�m4�5�4�m4�`
$�
$�
$� E�E�E�E�E�E�E�E�<\$�\$�\$�\$�\$�\$�\$�\$�~<@�<@�<@�<@�<@�<@�<@�<@�~1�1�1�i(�i(�i(�i(�i(�i(�i(�i(�Xa�a�a�a�a�a�a�a�H`9�`9�`9�`9�`9�`9�`9�`9�Fp>�p>�p>�p>�p>�p>�p>�p>�f�z�&��������L�}�}�}�D�q�t����&�"�&��+�+�
��6�2�6�$�<�<��7�8��A�f�b�f�S�k�k�M�A�f�b�f�T�l�l�N�:�;�I�	K�K�K��L�}�}�}�N�N�N������&�"�&��+�+�
��&�"�&��,�,��6��6�2�6�#�;�;��F�G��A�f�b�f�S�k�k�M�B�v�r�v�d�|�|�O�;�a����s���m�K�L�1�	2�2�2��L�}�}�}�A�A�D����&�"�&��+�+�
��6�2�6�$�<�<��7�8��A�f�b�f�S�k�k�M�A�f�b�f�T�l�l�N�:�;�I�	K�K�K��L�|�|�|�<�<�<�a�a��Q��a�1�1�1�+��:�L�r��!�!��Q��a�1�1�1�
�L�x�r�x��B�r�
�+�+�-��!�!��i�i��Y�Y�"����I�I�����L�x�r�x��B�r�
�+�+��!�!��������#��4i8�i8�i8�i8�i8�i8�i8�i8�X8�8�8������s�B�H�o����7J�%K�L�L�)�)�M�L�)�H �H �H �V*8�*8�*8�Z2D�2D�2D�j?�?�?�?�?�?�?�?�FQ.�Q.�Q.�Q.�Q.�Q.�Q.�Q.�lG.�G.�G.�G.�G.�G.�G.�G.�RoE�oE�oE�d1�1�1�*+�+�+�����,�#�2�8�I�.�.��7�#�2�8�I�.�.��7�9�:�:�	0�	0�:�:�	0�
.�
.�
.������(H�(H�(H�I�I���J�I��.����)� �,�y�r�y��}�}�a�.@�A� �?�Y�R�Y�r�]�]�I�B�I�b�M�M�,J�K�M�N�N�5�5�N�N�5�/�/�/�/�{A�{A�{A�|t#�t#�t#�t#�t#�t#�t#�t#�nF5�F5�F5�F5�F5�F5�F5�F5�RC7�C7�C7�C7�C7�C7�C7�C7�LL�L�L�$j1�j1�j1�Z � � �,+�+�+�����,�#�2�8�I�.�.��7�#�2�8�I�.�.��7�9�:�:�	0�	0�:�:�	0�
.�
.�
.�.�.�.�G�G�G�+�+�+�G�G�G�T&�&�&�*`6�`6�`6�`6�`6�`6�`6�`6�Fo8�o8�o8�dA�A�A�A�A�A�A�A�.5#�5#�5#�5#�5#�5#�5#�5#�p1�1�1�5�5�5�{-�{-�{-�{-�{-�{-�{-�{-�|1�1�1�"(>�(>�(>�VHL�"�!�!�!�!�HL�"�!�!�!�!�BF�)-�!�!�!�!�`B�`B�`B�`B�`B�`B�`B�`B�FlB�lB�lB�lB�lB�lB�lB�lB�^aP�aP�aP�aP�aP�aP�aP�aP�HQ-�Q-�Q-�Q-�Q-�Q-�Q-�Q-�h�����(H�(H�(H�I�I�O�O�J�I�O�(�(�(�.9�9�9�0[;�[;�[;�|T7�T7�T7�T7�T7�T7�T7�T7�n,/�,/�,/�,/�,/�,/�,/�,/�^k-�k-�k-�k-�k-�k-�k-�k-�\|)�|)�|)�|)�|)�|)�|)�|)�~R)�R)�R)�R)�R)�R)�R)�R)�jI7�I7�I7�I7�I7�I7�I7�I7�X#A�#A�#A�#A�#A�#A�#A�#A�LZ�Z�Z�Z�Z�Z�Z�Z�z@�@�@�@�@�@�@�@�Fj�j�j�j�j�j�j�j�ZIO�IO�IO�IO�IO�IO�IO�IO�X9D�9D�9D�9D�9D�9D�9D�9D�xR.�R.�R.�R.�R.�R.�R.�R.�j{1�{1�{1�{1�{1�{1�{1�{1�|	�i���I�&�&���J�J�r�N�N���J�J�r�N�N������� �>�A�4�0� �>�A�u�z�~�+>�?� �>�A�q�6�2� �<�!�Q��0����1�1�
��1�X+�X+�X+�X+�X+�X+�X+�X+�X+�X+rt

Youez - 2016 - github.com/yon3zu
LinuXploit