Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_statistics.cpython-312.opt-2.pyc

�

'Μg���6�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZddlmZmZddlmZddlmZddlZd�Zd�Zd	�Zdxd
�ZGd�d�Zej6d
dg��Zej6d
dg��ZGd�dej<�ZGd�dej<�Z Gd�dej<�Z!Gd�dej<�Z"Gd�dej<�Z#Gd�dej<�Z$Gd�dej<�Z%Gd�d ej<�Z&Gd!�d"ej<�Z'Gd#�d$ej<�Z(Gd%�d&ej<�Z)Gd'�d(ej<�Z*Gd)�d*ej<�Z+Gd+�d,ej<�Z,Gd-�d.ej<�Z-Gd/�d0ej<�Z.Gd1�d2ej<�Z/Gd3�d4ej<�Z0Gd5�d6ej<�Z1Gd7�d8�Z2Gd9�d:�Z3Gd;�d<e2e3�Z4Gd=�d>e �Z5Gd?�d@e �Z6GdA�dBe �Z7GdC�dDe2�Z8GdE�dFe e8e3�Z9GdG�dHe e8e3�Z:GdI�dJe e8�Z;GdK�dLe e3�Z<GdM�dNe;e3�Z=GdO�dPe;e3�Z>GdQ�dRe;�Z?GdS�dTe e8e3�Z@GdU�dVej<�ZAGdW�dXej<�ZBGdY�dZe2�ZCGd[�d\eCe e3�ZDGd]�d^eCe e3�ZEGd_�d`eCe �ZFGda�dbej<�ZGGdc�ddeCe �ZHGde�dfej<�ZIGdg�dhej<�ZJGdi�djej<�ZKGdk�dlej<�ZLGdm�dnej<�ZMGdo�dp�ZNGdq�drej<eN�ZOej�eds�Gdt�duej<eN��ZQdv�ZReSdwk(rej��yy)yz_Test suite for statistics module, including helper NumericTestCase and
approx_equal function.

�N)�support)�
import_helper�requires_IEEE_754)�Decimal��Fractionc�0�	tjd|�S)N�)�math�copysign��xs �1/usr/local/lib/python3.12/test/test_statistics.py�signrs��D��=�=��A���c��	t|�t|�uryt|t�r,tj|�xrtj|�S|j�d}|j�d}||k(xr|dvS)NF�)�n�N)�type�
isinstance�floatr�isnan�as_tuple)�a�b�aexp�bexps    r�
_nan_equalr#ss���*�A�w�d�1�g����!�U���z�z�!�}�.����A��.��:�:�<��?�D��:�:�<��?�D��D�L�2�t�z�1�2rc��	tt|�t|��}t||z
�}|r||zn
td�}||fS�N�inf)�max�absr)�actual�expected�base�abs_err�rel_errs     r�_calc_errorsr*BsH����s�6�{�C��M�*�D��&�8�#�$�G�"�g�d�l��e��G��W��rc
�b�	|dks|dkrtd��tj|�stj|�ry||k(rytj|�stj|�ryt	||z
�}t||tt	|�t	|��z�}||kS)Nrz%error tolerances must be non-negativeFT)�
ValueErrorrr�isinfr$r#)r�y�tol�rel�actual_error�
allowed_errors      r�approx_equalr3Rs��� �B�Q�w�#��'��@�A�A��z�z�!�}��
�
�1�
���A�v���z�z�!�}��
�
�1�
���q�1�u�:�L���S��S��V�S��V�!4�4�5�M��=�(�(rc��eZdZ	y)�
_DoNothingN��__name__�
__module__�__qualname__�rrr5r5�s
��"�F	rr5�
statistics�_statistics)�blocked)�freshc�J�eZdZdgZd�Zejed�d��Zy)�TestModules�_normal_dist_inv_cdfc�z�|jD],}|jtt|�jd��.y�Nr;)�
func_names�assertEqual�getattr�
py_statisticsr8��self�fnames  r�test_py_functionszTestModules.test_py_functions�s-���_�_�E����W�]�E�:�E�E�|�T�%r�requires _statisticsc�z�|jD],}|jtt|�jd��.y)Nr<)rDrErF�c_statisticsr8rHs  r�test_c_functionszTestModules.test_c_functions�s-���_�_�E����W�\�5�9�D�D�m�T�%rN)	r7r8r9rDrK�unittest�
skipUnlessrNrOr:rrr@r@�s6��(�)�J�U��X����'=�>�U�?�Urr@c�>�eZdZ	dxZZ	dd�Zd�Zdd�Zed��Z	y)	�NumericTestCaserNc��	|�|j}|�|j}t|tjj
�r1t|tjj
�r
|j}n|j}||||||�y�N)r/r0r�collections�abc�Sequence�_check_approx_seq�_check_approx_num)rI�first�secondr/r0�msg�checks       r�assertApproxEqualz!NumericTestCase.assertApproxEqual�ss��	�8�;��(�(�C��;��(�(�C��5�+�/�/�":�":�;��6�;�?�?�#;�#;�<��*�*�E��*�*�E�
�e�V�S�#�s�+rc	��t|�t|�k7r<dt|�t|�fz}|j||�}|j|��tt	||��D]\}\}}	|j||	||||�� y)Nz0sequences differ in length: %d items != %d items)�len�_formatMessage�failureException�	enumerate�ziprZ)
rIr[r\r/r0r]�standardMsg�ir�es
          rrYz!NumericTestCase._check_approx_seq�s����u�:��V��$�B��u�:�s�6�{�+�,�
��%�%�c�;�7�C��'�'��,�,�!�#�e�V�"4�5�H�A�u��!��"�"�1�a��c�3��:�6rc��t||||�ry|j|||||�}|j||�}|j|��rU)r3�_make_std_err_msgrbrc)rIr[r\r/r0r]�idxrfs        rrZz!NumericTestCase._check_approx_num
sN����v�s�C�0���,�,�U�F�C��c�J���!�!�#�{�3���#�#�C�(�(rc�R�d}|�
d|z}||z}t||�\}}|||||||fzS)Nzk  %r != %r
  values differ by more than tol=%r and rel=%r
  -> absolute error = %r
  -> relative error = %rz,numeric sequences first differ at index %d.
)r*)	r[r\r/r0rk�template�headerr(r)s	         rrjz!NumericTestCase._make_std_err_msgsP��

'�	��?�D�s�J�F���(�H�'��v�6�����5�&�#�s�G�W�E�E�Er)NNNrU)
r7r8r9r/r0r_rYrZ�staticmethodrjr:rrrSrS�s=����M�C�#�:>�*,�X	;�)��F��FrrSc��eZdZ	d�Zy)�TestSignc�p�|jtd�d�|jtd�d�y)N�r
g����)rEr�rIs r�
testZeroeszTestSign.testZeroes+s*������c��B�'�����d��R�(rN)r7r8r9rvr:rrrqrq)s
��?�)rrqc�$�eZdZd�Zd�Zd�Zd�Zy)�ApproxEqualSymmetryTestc��dddtd�tdd�g}ddd	td
�tdd�g}t||�D]\}}|j||��y)Ni�	gfffff�B@gfffff�(�z2.54��6i�	g������B@gR����(�z2.59�)rrre�do_relative_symmetry)rI�args1�args2rrs     r�test_relative_symmetryz.ApproxEqualSymmetryTest.test_relative_symmetry6s_���t�V�W�V�_�h�r�2�6F�G���t�V�W�V�_�h�r�2�6F�G����u�%�D�A�q��%�%�a��+�&rc��t||�t||�}}||z
}t||z�t||z�}}||zdz}|jt	||d|���|jt	||d|���y)Nrr�r/r0)�minr#r$�
assertTruer3)rIrr�delta�rel_err1�rel_err2r0s       rr}z,ApproxEqualSymmetryTest.do_relative_symmetryFsx���1�a�y�#�a��)�1���A��� ��q��\�3�u�Q�w�<�(���(�"�A�%��	
����Q��q�c�:�;�����Q��q�c�:�;rc	�(�gd�}d}|D�]}ttttfD]�}||�dz}||z}t	|t||�z�}|j
||||��|j
|||dzd|z��|j
|||dz
|dz��|j
||||dz��|j
|||dz
|��|j
|||dz
d|z��|j
||dd��|j
||dd������	y)N)i�������ki�mr�dr�r
r)�intrrrr$r#�do_symmetry_test)rI�argsr�r�type_rr.�rs        r�
test_symmetryz%ApproxEqualSymmetryTest.test_symmetryRs-��'�����A��u�g�x�8���!�H�S�L����I����c�!�Q�i��(���%�%�a���1�%�=��%�%�a���a��Q�q�S�%�A��%�%�a���a��Q�q�S�%�A��%�%�a���1�Q�3�%�?��%�%�a���a��Q�%�?��%�%�a���a��Q�q�S�%�A��%�%�a���q�%�9��%�%�a���q�%�9�#9�rc
��d}t||||�}t||||�}|j|||j||||f��y)Nz+approx_equal comparisons don't match for %r)r3rE�format)rIrrr/r0rm�flag1�flag2s        rr�z(ApproxEqualSymmetryTest.do_symmetry_testjsK��@���Q��3��,���Q��3��,�������x����1�c�3�7G�'H�IrN)r7r8r9r�r}r�r�r:rrrxrx3s��,� 
<�:�0Jrrxc�B�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�ApproxEqualExactTestc��t||||��}|j|d|z�t||||��}|j|d|z�y)Nr�zequality failure for x=%r)r3r�)rIrr/r0�results     r�do_exactly_equal_testz*ApproxEqualExactTest.do_exactly_equal_testwsP���a����5������ ;�a� ?�@��q�b�1�"�#�3�7������ ;�q�b� @�Arc�8�dD]}|j|dd��y)N)�*iMi~:��iiU�
i�r�r��rIrs  r�test_exactly_equal_intsz,ApproxEqualExactTest.test_exactly_equal_ints}s��=�A��&�&�q�!�Q�/�>rc�8�dD]}|j|dd��y)N)g�z�G��?g/�$���?g�����e�@g7@gpf@g!�rh��Q@gB`��"KB@rr��rIrs  r�test_exactly_equal_floatsz.ApproxEqualExactTest.test_exactly_equal_floats�s��E�A��&�&�q�!�Q�/�Frc	��t}|dd�|d�|dd�|dd�|dd	�|dd�fD]}|j|dd��y)
Nr
rrr���	��#�$)rr��rI�F�fs   r�test_exactly_equal_fractionsz1ApproxEqualExactTest.test_exactly_equal_fractions�sS�����A�q�'�1�Q�4��1�a��!�A�q�'�1�R��9�a��1�g�F�A��&�&�q�!�Q�/�Grc�t�t}t|dj��D]}|j|dd��y)Nz8.2 31.274 912.04 16.745 1.2047r)r�map�splitr�)rI�D�ds   r�test_exactly_equal_decimalsz0ApproxEqualExactTest.test_exactly_equal_decimals�s5�����Q�9�?�?�A�B�A��&�&�q�!�Q�/�Crc��dD]J}|j|dd�|j|dzdd�t|d�}|j|dd��Ly)N)�i�i\i�i���{�G�z�?r�
i�)r�r)rIrr�s   r�test_exactly_equal_absolutez0ApproxEqualExactTest.test_exactly_equal_absolute�sR��/�A��&�&�q�$��2��&�&�q��t�T�1�5���D�!�A��&�&�q�$��2�0rc��|jtd�td�d�|jtd�td�d�y)Nz3.571�0.01rz81.3971)r�rrus r�$test_exactly_equal_absolute_decimalsz9ApproxEqualExactTest.test_exactly_equal_absolute_decimals�s;���"�"�7�7�#3�W�V�_�a�H��"�"�G�I�$6�#6�����Krc��dddtdd�fD]}|j|dd��|jtd�dtd	��y)
Ni� g33333SY@g�z�G�r��rr�z11.68r��rr�rr�s  r�test_exactly_equal_relativez0ApproxEqualExactTest.test_exactly_equal_relative�sH����x��!�R��9�A��&�&�q�!�T�2�:��"�"�7�7�#3�Q����Hrc��dddtdd�fD]}|j|dd��t}|j|d�|d	�|d
��y)Ni9�gˡE��0@g\��(h��r��皙�����?r�z7.2z0.1r�r�)rIrr�s   r�test_exactly_equal_bothz,ApproxEqualExactTest.test_exactly_equal_both�sP�����(�1�a�.�9�A��&�&�q�#�t�4�:����"�"�1�U�8�Q�u�X�q��y�ArN)r7r8r9r�r�r�r�r�r�r�r�r�r:rrr�r�qs3��B�0�
0�
0�0�	3�L�
I�Brr�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�ApproxEqualUnequalTestc�f�||fD])}t||dzdd��}|j|d|z��+y)Nr
rr�zinequality failure for x=%r)r3�assertFalse)rIrrr�s    r�do_exactly_unequal_testz.ApproxEqualUnequalTest.do_exactly_unequal_test�s<���a�R��A�!�!�Q�q�S�a�Q�7�F����V�%B�Q�%F�G�rc�4�dD]}|j|��y)N)i�i��i�i�iXC�r�r�s  r�test_exactly_unequal_intsz0ApproxEqualUnequalTest.test_exactly_unequal_ints�s��/�A��(�(��+�0rc�4�dD]}|j|��y)N)g��Q�#@g����[�@gfffff�G@gףp=
W"@g=
ףp=1@r�r�s  r�test_exactly_unequal_floatsz2ApproxEqualUnequalTest.test_exactly_unequal_floats�s��3�A��(�(��+�4rc��t}|dd�|dd�|dd�|dd�fD]}|j|��y)	Nr
r�r�r����eiς)rr�r�s   r�test_exactly_unequal_fractionsz5ApproxEqualUnequalTest.test_exactly_unequal_fractions�s@�����A�q�'�1�Q��7�A�b�"�I�q��e�}�=�A��(�(��+�>rc�l�ttdj��D]}|j|��y)Nz!3.1415 298.12 3.47 18.996 0.00245)r�rr�r��rIr�s  r�test_exactly_unequal_decimalsz4ApproxEqualUnequalTest.test_exactly_unequal_decimals�s,���W�A�G�G�I�J�A��(�(��+�KrN)r7r8r9r�r�r�r�r�r:rrr�r��s��H�
,�
,�
,�,rr�c�l�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zy)�ApproxEqualInexactTestc	���d}||z||z
fD]X}|j||�}|jt||d|zd��|�|jt|||dzd��|��Zy)N�Test failure for x={!r}, y={!r}rrr��r�r�r3r��rIrr�rmr.r]s      r�do_approx_equal_abs_testz/ApproxEqualInexactTest.do_approx_equal_abs_test�sj��4���e�)�Q��Y�'�A��/�/�!�Q�'�C��O�O�L��A�1�U�7��B�C�H����\�!�Q�E�!�G��C�S�I�(rc�Z�dD]&}|j|d�|j|d��(y)N)i��iI���i����r�rr
r��%i�i�&i6�jr�r�r�r�s  r�test_approx_equal_absolute_intsz6ApproxEqualInexactTest.test_approx_equal_absolute_ints�s-��J�A��)�)�!�R�0��)�)�!�Q�/�Krc�~�dD]8}|j|d�|j|d�|j|d��:y)N)	g�t��q�gfffffFX�g333333�g333333���?��?g333333@g�Q���@g�����ҭ@��?r��-C��6?r�r�s  r�!test_approx_equal_absolute_floatsz8ApproxEqualInexactTest.test_approx_equal_absolute_floats�s=��L�A��)�)�!�S�1��)�)�!�T�2��)�)�!�V�4�Mrc��tdd�}gd�}d�|D�D]/}|j||�|j|t|���1y)Nr
�)i������r�rtrr
r�rz��"�Gc3�4K�|]}t|d����y�w)r�Nr)�.0rs  r�	<genexpr>zNApproxEqualInexactTest.test_approx_equal_absolute_fractions.<locals>.<genexpr>�s����6�:�a�(�1�b�/�:�s�)rr�r)rIr��
numeratorsr�s    r�$test_approx_equal_absolute_fractionsz;ApproxEqualInexactTest.test_approx_equal_absolute_fractions�sE����B���@�
�6�:�6�A��)�)�!�U�3��)�)�!�U�5�\�:�7rc��td�}ttdj��D]'}|j||�|j||��)y)Nr�z1.0 3.5 36.08 61.79 7912.3648)rr�r�r�)rIr�r�s   r�#test_approx_equal_absolute_decimalsz:ApproxEqualInexactTest.test_approx_equal_absolute_decimals�sI�������W�=�C�C�E�F�A��)�)�!�U�3��)�)�1�"�e�4�Grc�@�|jtdddd���y)Ng�h㈵��>g�h㈵��r�rr�)r�r3rus r�test_cross_zeroz&ApproxEqualInexactTest.test_cross_zero�s������T�5�d��B�Crc
���d}|d|zz|d|z
zfD]X}|j||�}|jt||dd|z��|�|jt||d|dz��|��Zy)Nr�r
rrr�r�r�s      r�do_approx_equal_rel_testz/ApproxEqualInexactTest.do_approx_equal_rel_test�sr��4���Q�u�W�+�q�!�E�'�{�+�A��/�/�!�Q�'�C��O�O�L��A�1�!�E�'�B�C�H����\�!�Q�A�5��7�C�S�I�,rc�0�|jtdddd���|jtdddd���|jtdddd	���|jtd
ddd	���|jtdddd	���y)N�@�/rg
ףp=
�?r�g�G�z��?i�i��?i�i�)r�r3r�rus r�test_approx_equal_relative_intsz6ApproxEqualInexactTest.test_approx_equal_relative_intssw������R����=�>�����R����=�>�����S�#�1�%�@�A�����S�#�1�%�@�A�����c�3�A�5�A�Brc�Z�dD]&}|j|d�|j|d��(y)N)g{�G�Jf�皙������r�r�g\��(|B@g��ʡE>�@g��x��@�{�G�z�?r�)r�r�s  r�!test_approx_equal_relative_floatsz8ApproxEqualInexactTest.test_approx_equal_relative_floatss-��E�A��)�)�!�T�2��)�)�!�V�4�Frc���t}tdd�}|dd�|dd�|dd�|dd	�fD]9}|t|�fD]'}|j||�|j||��)�;y)
Nr�r��Trz��1�2�\�U)rrr�)rIr�r�r�r�s     r�$test_approx_equal_relative_fractionsz;ApproxEqualInexactTest.test_approx_equal_relative_fractionssr������A����A�r�(�A�b�"�I�q��R�y�!�B��)�<�A��U�5�\�*���-�-�a��3��-�-�q�b�!�4�+�=rc��ttdj��D]9}|j|td��|j|td���;y)Nz$0.02 1.0 5.7 13.67 94.138 91027.9321�0.001�0.05)r�rr�r�r�s  r�#test_approx_equal_relative_decimalsz:ApproxEqualInexactTest.test_approx_equal_relative_decimalssI���W�D�J�J�L�M�A��)�)�!�W�W�-=�>��)�)�1�"�g�f�o�>�Nrc�"�|r|jn|j}|t|||d���|r|jn|j}|t||d|���|s|r|jn|j}|t||||���y)Nrr�)r�r�r3)rIrrr/r0�tol_flag�rel_flagr^s        r�
do_check_bothz$ApproxEqualInexactTest.do_check_both,sv��#+�����1A�1A��
�l�1�a�S�a�0�1�#+�����1A�1A��
�l�1�a�Q�C�0�1�$,�����t�?O�?O��
�l�1�a�S�c�2�3rc�\�|jdddddd�|jdddd	dd�y)
N�R����@�+���@���Mbp?���W�8?Tg?5^�I��g%��C�����Mb`?g-C��6*?�rrus r�test_approx_equal_both1z.ApproxEqualInexactTest.test_approx_equal_both14s2�����5�%����d�C����6�6�5�&�$��Erc�0�|jdddddd�y)NrrrgV�F�?8?TFrrus r�test_approx_equal_both2z.ApproxEqualInexactTest.test_approx_equal_both29s�����5�%����e�Drc�0�|jdddddd�y)Nrr���MbP?rFTrrus r�test_approx_equal_both3z.ApproxEqualInexactTest.test_approx_equal_both3=s�����5�%����t�Drc�\�|jdddddd�|jdddd	dd�y)
Ng=
ףp=@�@r�rFg�Q��[�@g�(\��[�@rgiUMu�>rrus r�test_approx_equal_both4z.ApproxEqualInexactTest.test_approx_equal_both4As2�����4��t�U�E�5�A����6�6�4��u�e�DrN)r7r8r9r�r�r�r�r�r�r�r�rr
rrrrrr"r:rrr�r��sZ��J�0�5�;�5�D�J�C�5�5�?�4�F�
E�E�Err�c�$�eZdZd�Zd�Zd�Zd�Zy)�ApproxEqualSpecialsTestc	��ttfD]�}|d�}|jt||��|jt||dd��|jt||dd��|jt||��|j	t||��|j	t|d����y)Nr"rr
r���)rrr�r3r�)rIr�r"s   r�test_infz ApproxEqualSpecialsTest.test_infJs����W�%�E���,�C��O�O�L��c�2�3��O�O�L��c�1�a�8�9��O�O�L��c�1�d�;�<��O�O�L�#���t�4�5����\�#��t�4�5����\�#�t�4�5�&rc��ttfD]5}|d�}||d�dfD]}|jt||����7y)N�nanr"r&)rrr�r3)rIr�r)�others    r�test_nanz ApproxEqualSpecialsTest.test_nanTsD���W�%�E���,�C��u�U�|�T�2��� � ��c�5�!9�:�3�&rc�l�tjdd�}|jt|ddd���y)Nrsrtr�r�)rrr�r3�rI�nzeros  r�test_float_zeroesz)ApproxEqualSpecialsTest.test_float_zeroesZs)���
�
�c�2�&������U�C�S�c�B�Crc�h�td�}|jt|td�dd���y)Nz-0.0rr�r�)rr�r3r-s  r�test_decimal_zeroesz+ApproxEqualSpecialsTest.test_decimal_zeroes^s&����������U�G�A�J�C�S�I�JrN)r7r8r9r'r+r/r1r:rrr$r$Gs��6�;�D�Krr$c��eZdZd�Zd�Zy)�TestApproxEqualErrorsc�@�|jttdddd�y)Nr�rtr���assertRaisesr,r3rus r�test_bad_tolz"TestApproxEqualErrors.test_bad_tolfs�����*�l�C��b�#�Frc�@�|jttdddd�y)Nr�r
rr5rus r�test_bad_relz"TestApproxEqualErrors.test_bad_reljs�����*�l�C��a��FrN)r7r8r9r7r9r:rrr3r3cs��G�Grr3c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TestNumericTestCasec�x�tj|�}|j|�}|D]}|j||��yrU)rSrj�generate_substrings�assertIn)rIr��
actual_msgr&�	substrings     r�do_testzTestNumericTestCase.do_testzs<��$�6�6��=�
�+�4�+�+�T�2��!�I��M�M�)�Z�0�"rc�^�|jtttj��yrU)r��
issubclassrSrP�TestCaserus r� test_numerictestcase_is_testcasez4TestNumericTestCase.test_numerictestcase_is_testcase�s�����
�?�H�4E�4E�F�Grc�*�d}|j|�y)N)�@�@r���?N�rA�rIr�s  r�test_error_msg_numericz*TestNumericTestCase.test_error_msg_numeric�s��*�����T�rc�*�d}|j|�y)N)�@g� @g�?r�r�rJrKs  r�test_error_msg_sequencez+TestNumericTestCase.test_error_msg_sequence�s��)�����T�rc�v�	t||�\}}d|zd|zd|zd|zg}|�|jd|z�|S)Nztol=%rzrel=%rzabsolute error = %rzrelative error = %rzdiffer at index %d)r*�append)	rIr[r\r/r0rkr(r)�
substringss	         rr=z'TestNumericTestCase.generate_substrings�s\��C�'��v�6�����3���3��%��/�%��/�	�
��?����2�S�8�9��rN)r7r8r9rArErLrOr=r:rrr;r;ts��1�H��
�
rr;c�$�eZdZeZddgZd�Zd�Zy)�GlobalsTest�__doc__�__all__c�x�|jD]+}|jt|j|�d|z��-y)Nz%s not present)�expected_metadatar��hasattr�module)rI�metas  r�	test_metazGlobalsTest.test_meta�s3���*�*�D��O�O�G�D�K�K��6�,�t�3�
5�+rc���|j}|jD]E}|j|jd�d|z�|j	t||�d|z��Gy)N�_zprivate name "%s" in __all__zmissing name "%s" in __all__)rZrVr��
startswithr�rY)rIrZ�names   r�test_check_allzGlobalsTest.test_check_all�s[�������N�N�D����T�_�_�S�1�;�d�B�
D�
�O�O�G�F�D�1�:�T�A�
C�#rN)r7r8r9r;rZrXr\rar:rrrTrT�s��
�F�"�I�.��5�	CrrTc�l�eZdZejejjdk\d�d��Zy)�DocTestsrz)Docstrings are omitted with -OO and abovec��tjttj��\}}|j	|d�|j|d�y)N)�optionflagsr)�doctest�testmodr;�ELLIPSIS�
assertGreaterrE)rI�failed�trieds   r�test_doc_testszDocTests.test_doc_tests�s>�� ���
��@P�@P�Q�
������5�!�$������#rN)	r7r8r9rP�skipIf�sys�flags�optimizerlr:rrrcrc�s5���X�_�_�S�Y�Y�'�'�1�,�@�B�$�B�$rrcc��eZdZd�Zy)�StatisticsErrorTestc���d}|jttd��|jttjt
�|tjjz�y)NzNExpected StatisticsError to be a ValueError, but got a subclass of %r instead.�StatisticsError)r�rYr;rCrtr,�__base__)rI�errmsgs  r�test_has_exceptionz&StatisticsErrorTest.test_has_exception�sR��+�	�	
����
�,=�>�?�����:�5�5�z�B���3�3�<�<�<�	rN)r7r8r9rwr:rrrrrr�s��	rrrc�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�ExactRatioTestc�`�dD])}|jtj|�|df��+y)N)i�����rr��cl F�x:^Vr
)rEr;�_exact_ratio)rIrgs  r�test_intzExactRatioTest.test_int�s+��,�A����Z�4�4�Q�7�!�Q��@�-rc�|�d}|D]5}t|d�}|jtj|�|df��7y)N)���r
r��&r�)rrEr;r})rIr�rr�s    r�
test_fractionzExactRatioTest.test_fraction�s;��$�
��A���B��A����Z�4�4�Q�7�!�R��A�rc�b�|jtjd�d�|jtjd�d�td�D�cgc]}t	j
dd���}}|D]/}tj|�\}}|j|||z��1ycc}w)Nr��r
r���?)r�r�r����)rEr;r}�range�random�uniform)rIr^�datar�num�dens      r�
test_floatzExactRatioTest.test_float�s�������0�0��7��@�����0�0��7��@�38��:�>�:�a����t�S�)�:��>��A�!�.�.�q�1�H�C�����Q��C��(���?s�B,c���t}tj}|j||d��d�|j||d��d�|j||d��d�y)Nz0.125r�z12.345)i�	��z-1.98)i����r)rr;r}rE)rIr�r}s   r�test_decimalzExactRatioTest.test_decimal�s]����!�.�.������a��j�1�6�:�����a��k�2�K�@�����a��j�1�9�=rc�|�td�}Gd�dt�}Gd�dt�}||fD]�}t|t|fD]x}||�}tj|�}|j	||df�|j	t|d�|�|j
tj|d���z��y)N�INFc��eZdZy)�(ExactRatioTest.test_inf.<locals>.MyFloatNr6r:rr�MyFloatr�����rr�c��eZdZy)�*ExactRatioTest.test_inf.<locals>.MyDecimalNr6r:rr�	MyDecimalr��r�rr�r)	rrr;r}rErr�rr-)rIr�r�r�r"r�r�ratios        rr'zExactRatioTest.test_inf�s����E�l��	�e�	�	��	��#��;�C���'�9�=���#�J��"�/�/��2��� � ���D�	�2�� � ��e�A�h���7�����
�
�5��8� 4�5�>�rc�F�td�}Gd�dt�}|||�fD]z}tj|�}|jt	j
|d��|j
|dd�|jt|d�t|���|y)N�NANc��eZdZy)�.ExactRatioTest.test_float_nan.<locals>.MyFloatNr6r:rrr�r��r�rr�rr
)	rr;r}r�rr�assertIsrEr)rIr�r�r)r�s     r�test_float_nanzExactRatioTest.test_float_nan�s����E�l��	�e�	�����&�C��+�+�C�0�E��O�O�D�J�J�u�Q�x�0�1��M�M�%��(�D�)����T�%��(�^�T�#�Y�7�	'rc�Z�td�}td�}Gd�dt�}|||�|||�fD]q}tj|�}|jt	|d|��|j|dd�|j
t|d�t|���sy)Nr��sNANc��eZdZy)�2ExactRatioTest.test_decimal_nan.<locals>.MyDecimalNr6r:rrr�r�r�rr�rr
)rr;r}r�rr�rEr)rIr�r�r�r)r�s      r�test_decimal_nanzExactRatioTest.test_decimal_nans����e�n���v���	��	���3���y���?�C��+�+�C�0�E��O�O�J�u�Q�x��5�6��M�M�%��(�D�)����T�%��(�^�T�#�Y�7�	@rN)
r7r8r9r~r�r�r�r'r�r�r:rrryry�s'��A�B�)�>�6�8�	8rryc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�DecimalToRatioTestc��td�}|jtj|�|df�|jtj|�|df�y)Nr�)rrEr;r})rIr"s  r�
test_infinityz DecimalToRatioTest.test_infinitysM���e�n������0�0��5��T�{�C�����0�0�#��6�#��t��Erc���td�td�fD]G}tj|�\}}|jt	||��|j|d��Iy)Nr�r�)rr;r}r�rr�)rIr)r�r�s    rr+zDecimalToRatioTest.test_nansP���E�N�G�F�O�4�C�!�.�.�s�3�H�C��
�O�O�J�s�C�0�1��M�M�#�t�$�
5rc�0�td�td�g}|D]{}tj|�\}}|j|d�|j	|d�tj|�\}}|j|d�|j	|d��}y)Nz	9.8765e12z
9.8765e-12r)rr;r}�assertGreaterEqualri�assertLessEqual)rI�numbersr�r�r�s     r�	test_signzDecimalToRatioTest.test_sign!s����;�'���)>�?���A�"�.�.�q�1�H�C���#�#�C��+����s�A�&�!�.�.��r�2�H�C��� � ��a�(����s�A�&�rc�d�tjtd��}|j|d�y)Nz0.1234)ii��r;r}rrE�rI�ts  r�test_negative_exponentz)DecimalToRatioTest.test_negative_exponent/s'���#�#�G�H�$5�6������K�(rc�d�tjtd��}|j|d�y)Nz1.234e7)i K�r
r�r�s  r�test_positive_exponentz)DecimalToRatioTest.test_positive_exponent4s'���#�#�G�I�$6�7������M�*rc���tjtd��}|j|d�tjtd��}|j|d�y)N�1e2)r�r
z1.47e5)i8>r
r�r�s  r�test_regression_20536z(DecimalToRatioTest.test_regression_205369sM��
�#�#�G�E�N�3������H�%��#�#�G�H�$5�6������K�(rN)	r7r8r9r�r+r�r�r�r�r:rrr�r�s!��F�%�'�)�
+�
)rr�c��eZdZd�Zd�Zd�Zy)�IsFiniteTestc��dtdd�dtd�fD]&}|jtj|���(y)Nr�r
r�rG�5.5)rrr�r;�	_isfiniter�s  r�test_finitezIsFiniteTest.test_finiteEs6���X�a��^�S�'�%�.�9�A��O�O�J�0�0��3�4�:rc��td�td�fD]&}|jtj|���(yr!�rrr�r;r�r�s  rr�zIsFiniteTest.test_infinityJs2����,����/�A����Z�1�1�!�4�5�0rc��td�td�td�fD]&}|jtj|���(y�Nr)r�r�r�r�s  rr+zIsFiniteTest.test_nanOs9����,�������@�A����Z�1�1�!�4�5�ArN)r7r8r9r�r�r+r:rrr�r�Bs��5�
6�
6rr�c�N�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
y)
�
CoerceTestc��ttttfD]a}|j	tj|t�|�Gd�d|�}|j	tj|t�|��cy)Nc��eZdZy)�%CoerceTest.test_bool.<locals>.MyClassNr6r:rr�MyClassr�p��rr�)r�rrrr�r;�_coerce�bool)rI�Tr�s   r�	test_boolzCoerceTest.test_booljsU���u�h��0�A��M�M�*�,�,�Q��5�q�9�"�!�"��M�M�*�,�,�W�d�;�W�E�1rc��	|jtj||�|�|jtj||�|�yrU)r�r;r��rI�A�Bs   r�assertCoerceTozCoerceTest.assertCoerceToss;��.��
�
�j�(�(��A�.��2��
�
�j�(�(��A�.��2rc���	|j||�Gd�d|�}|j||�Gd�d|�}|j||�|j||�y)Nc��eZdZy)�/CoerceTest.check_coerce_to.<locals>.SubclassOfANr6r:rr�SubclassOfAr�}r�rr�c��eZdZy)�/CoerceTest.check_coerce_to.<locals>.SubclassOfBNr6r:rr�SubclassOfBr��r�rr�)r�)rIr�r�r�r�s     r�check_coerce_tozCoerceTest.check_coerce_toxsU��D����A�q�!�"�!�"����K��+�"�!�"����A�{�+����K��5rc��	|jttj||f�|jttj||f�yrU)r6�	TypeErrorr;r�r�s   r�assertCoerceRaiseszCoerceTest.assertCoerceRaises�s=��K����)�Z�%7�%7�!�Q��@����)�Z�%7�%7�!�Q��@rc�8�	|jtj||�|�Gd�d|�}Gd�d|�}Gd�d|�}|||fD]}|j||��|j||�|j	||�|j	||�y)Nc��eZdZy)�*CoerceTest.check_type_coercions.<locals>.UNr6r:rr�Ur��r�rr�c��eZdZy)�*CoerceTest.check_type_coercions.<locals>.VNr6r:rr�Vr��r�rr�c��eZdZy)�*CoerceTest.check_type_coercions.<locals>.WNr6r:rr�Wr��r�rr�)r�r;r�r�r�)rIr�r�r�r��typs      r�check_type_coercionszCoerceTest.check_type_coercions�s���L�	
�
�
�j�(�(��A�.��2�����������q�!�9�C�����3�'�����A�q�!�����1�%�����1�%rc��|jt�tttfD]}|jt|��yrU)r�r�rrrr�)rIr�s  rr~zCoerceTest.test_int�s1���!�!�#�&��8�W�-�C�� � ��c�*�.rc�b�|jt�|jtt�yrU)r�rr�rrus rr�zCoerceTest.test_fraction�s ���!�!�(�+����X�u�-rc�.�|jt�yrU)r�rrus rr�zCoerceTest.test_decimal�s���!�!�'�*rc�.�|jt�yrU)r�rrus rr�zCoerceTest.test_float�s���!�!�%�(rc��tttd�ttfD]/}t
tttfD]}|j||���1yrU)
�str�listr�tuple�dictr�rrrr�)rI�bad_type�	good_types   r�test_non_numeric_typesz!CoerceTest.test_non_numeric_types�s>���d�D��J��t�<�H�!�5�(�G�<�	��'�'�	�8�<�=�=rc��ttfD]9}Gd�d|�}|j|t�|j|t��;y)Nc��eZdZy)�6CoerceTest.test_incompatible_types.<locals>.MySubclassNr6r:rr�
MySubclassr��r�rr�)rrr�r)rIr�r�s   r�test_incompatible_typesz"CoerceTest.test_incompatible_types�s9����"�A�%�Q�%��#�#�A�w�/��#�#�J��8�#rN)r7r8r9r�r�r�r�r�r~r�r�r�r�r�r:rrr�r�Us;��*F�3�

6�A�
&� +�.�
+�)�=�
9rr�c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�ConvertTestc�r�	|j||�|jt|�t|��yrU)rEr�r�rIrr.s   r�check_exact_equalzConvertTest.check_exact_equal�s+��C�����A���
�
�d�1�g�t�A�w�'rc��tjtd�t�}|j	|d�Gd�dt�}tjtd�|�}|j	||d��y)Nr�c��eZdZy)�#ConvertTest.test_int.<locals>.MyIntNr6r:rr�MyIntr�r�rrrz)r;�_convertrr�r)rIrrs   rr~zConvertTest.test_int�sZ��������c�2�����q�"�%��C��������e�4�����q�%��)�,rc��tjtdd�t�}|j|tdd��Gd�dt�}tjtdd�|�}|j||dd��y)N�_r|c���eZdZ�fd�Z�xZS)�-ConvertTest.test_fraction.<locals>.MyFractionc�@��|jt�|�	|��SrU��	__class__�super�__truediv__�rIr*r
s  �rrz9ConvertTest.test_fraction.<locals>.MyFraction.__truediv__������~�~�e�g�&9�%�&@�A�Ar�r7r8r9r�
__classcell__�r
s@r�
MyFractionr
�����
B�
Brrr��
)r;rrr)rIrrs   rr�zConvertTest.test_fraction�sr�������R� 0�(�;�����q�(�2�r�"2�3�	B��	B�
�����R� 0�*�=�����q�*�R��"4�5rc��tjtdd�t�}|j	|d�Gd�dt�}tjtdd�|�}|j	||d��y)	Nrtrg�c���eZdZ�fd�Z�xZS)�'ConvertTest.test_float.<locals>.MyFloatc�@��|jt�|�	|��SrUrrs  �rrz3ConvertTest.test_float.<locals>.MyFloat.__truediv__�rrrrs@rr�r�rrr�r�r�r�)r;rrrr)rIrr�s   rr�zConvertTest.test_float�sf�������Q���7�����q�$�'�	B�e�	B�
�����A���8�����q�'�%�.�1rc��tjtdd�t�}|j	|td��Gd�dt�}tjtdd�|�}|j	||d��y)	Nr
�(z0.025c���eZdZ�fd�Z�xZS)�+ConvertTest.test_decimal.<locals>.MyDecimalc�@��|jt�|�	|��SrUrrs  �rrz7ConvertTest.test_decimal.<locals>.MyDecimal.__truediv__�rrrrs@rr�r�rrr�r�r�z-0.9375)r;rrrr)rIrr�s   rr�zConvertTest.test_decimal�sm�������B���9�����q�'�'�"2�3�	B��	B�
�����b� 1�9�=�����q�)�I�"6�7rc��td�td�fD]=}||fD]3}tj|t	|��}|j||��5�?yr!)rrr;rrr)rIr�r"rs    rr'zConvertTest.test_inf�sO���%�L�'�%�.�1�C��c�T�{���'�'��T�#�Y�7���&�&�q�#�.�#�2rc���td�td�td�fD]<}tj|t	|��}|jt
||���>yr�)rrr;rrr�r)rIr)rs   rr+zConvertTest.test_nan�sI���%�L�'�%�.�'�&�/�B�C��#�#�C��c��3�A��O�O�J�q�#�.�/�Crc��|jt�5tjdt�ddd�y#1swYyxYwrU)r6r�r;rrrus r�test_invalid_input_typez#ConvertTest.test_invalid_input_type�s,��
�
�
�y�
)�����e�,�*�
)�
)�s	�:�AN)r7r8r9rr~r�r�r�r'r+r$r:rrr�r��s*��(�
-�6�2�8�/�0�
-rr�c� �eZdZ	d�Zd�Zd�Zy)�FailNegTestc��ddtd�td�g}ttj|��}|j||�y�Nr
�@r�r�)rrr�r;�	_fail_negrE)rI�values�news   r�test_pass_throughzFailNegTest.test_pass_through�s=���S�(�1�+�w�q�z�2���:�'�'��/�0�������%rc��ddtd�td�fD]@}|g}tj|�}|j	tj
t|��Byr()rrr;r*r6rt�next)rIr�seq�its    r�test_negatives_raisez FailNegTest.test_negatives_raisesN���S�(�1�+�w�q�z�2�A��2�$�C��%�%�c�*�B����j�8�8�$��C�3rc��dtjdd�z}	ttjdg|��|jd�|j|�y#tj$r}|jd}Yd}~�:d}~wwxYw)Nzbadness #%d�'i��rtz(expected exception, but it didn't happenr)	r��randintr/r;r*�failrtr�rE)rIr]rhrvs    r�test_error_msgzFailNegTest.test_error_msgsx���f�n�n�U�E�:�:��	B���%�%�r�d�C�0�1�
�I�I�@�A������%��	�)�)�	��V�V�A�Y�F��	�s� A�B�2B�BN)r7r8r9r-r2r7r:rrr&r&�s��*�&�D�	&rr&c�H�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�UnivariateCommonMixinc�D�|jt|j�yrU�r6r��funcrus r�test_no_argsz"UnivariateCommonMixin.test_no_argss�����)�T�Y�Y�/rc��gdtg�fD]-}|jtj|j|��/y)Nr:)�iterr6r;rtr<)rI�emptys  r�test_empty_dataz%UnivariateCommonMixin.test_empty_datas3���"�d�2�h�'�E����j�8�8�$�)�)�U�K�(rc��	ttd��}|t|�k(r$tj|�|t|�k(r�$|S�Nr��r�r��sortedr��shuffle�rIr�s  r�prepare_dataz"UnivariateCommonMixin.prepare_data!s=��0��E�"�I����f�T�l�"��N�N�4� ��f�T�l�"��rc�v�|j�}|dd}|j|�}|j||d�y)Nzdata has been modified)rHr<�assertListEqual)rIr��savedr^s    r�test_no_inplace_modificationsz3UnivariateCommonMixin.test_no_inplace_modifications(s;��� � �"���Q����I�I�d�O�����T�5�*B�Crc��gd�dz}|j|�}tj|�|j|�}|j||�y)N)r
rr�r�r�r�r��r�)r<r�rFrE)rIr�r&r%s    r�test_order_doesnt_matterz.UnivariateCommonMixin.test_order_doesnt_matter2sD��(��+���9�9�T�?�����t�����4�������6�*rc��Gd�dt�}Gd�dt�}d�}|j�}|j|�}ttt|||fD]+}|j||��}|j||��-y)Nc��eZdZy)�BUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyListNr6r:rr�MyListrRAr�rrSc��eZdZy)�CUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyTupleNr6r:rr�MyTuplerUCr�rrVc��d�|D�S)Nc3� K�|]}|���y�wrUr:)r��objs  rr�zXUnivariateCommonMixin.test_type_of_data_collection.<locals>.generator.<locals>.<genexpr>Fs����(�4�C�C�4�s�r:�r�s r�	generatorzEUnivariateCommonMixin.test_type_of_data_collection.<locals>.generatorEs
��(�4�(�(r)r�r�rHr<r?rE)rIrSrVr[r�r&�kindr�s        r�test_type_of_data_collectionz2UnivariateCommonMixin.test_type_of_data_collection?st��	�T�	�	�e�	�	)�� � �"���9�9�T�?���5�$����C�D��Y�Y�t�D�z�*�F����V�X�.�Drc��tddd�}|jt|��}|j|j|�|�y�N�rr�)r�r<r�rE�rIr�r&s   r�test_range_dataz%UnivariateCommonMixin.test_range_dataMs:���R��Q����9�9�T�$�Z�(��������4��(�3rc��|jd�|jd�|jd�|jt��y)Nr�gE@)�check_for_type_error�objectrus r�test_bad_arg_typesz(UnivariateCommonMixin.test_bad_arg_typesSs>��	
�!�!�$�'��!�!�"�%��!�!�$�'��!�!�&�(�+rc�H�|jt|jg|���yrUr;rKs  rrdz*UnivariateCommonMixin.check_for_type_errorbs������)�T�Y�Y�6��6rc�*�Gd�dt�}|j�}|j|�}t|ttfD]I}|D�cgc]
}||���}}t|�|j|��}|j
||��Kycc}w)Nc�,��eZdZ�fd�Z�fd�ZeZ�xZS)�@UnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloatc�@��t|�t�|�	|��SrU�rrrrs  �rrzLUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__truediv__j����!�t�D�z�%�'�"5�e�"<�=�=rc�@��t|�t�|�	|��SrU�rr�__add__rs  �rrpzHUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__add__l����!�t�D�z�%�'�/�%�"8�9�9r)r7r8r9rrp�__radd__rrs@rr�rjis���
>�
:��Hrr�)rrHr<rrrrE)rIr��rawr&r\rr�r�s        r�test_type_of_data_elementz/UnivariateCommonMixin.test_type_of_data_elementes���	�e�	����!���9�9�S�>���G�W�h�7�D�%(�)�S��D��G�S�D�)�#�T�(�^�D�I�I�d�O�4�F����V�X�.�8��)s�
BN)
r7r8r9r=rArHrLrOr]rbrfrdrtr:rrr9r9s6��0�L�
�D�+�/�4�
,�7�/rr9c��eZdZ	d�Zd�Zy)�UnivariateTypeMixinc�F�	Gd�dt�}ttt|fS)Nc�b��eZdZ�fd�Z�fd�Z�fd�Z�fd�Z�fd�Z�fd�ZeZ	�fd�Z
e
Z�xZS)�HUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloatc�@��t|�t�|�	|��SrUrlrs  �rrzTUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__truediv__�rmrc�@��t|�t�|�	|��SrU)rr�__rtruediv__rs  �rr|zUUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rtruediv__�s���!�t�D�z�%�'�"6�u�"=�>�>rc�@��t|�t�|�	|��SrU)rr�__sub__rs  �rr~zPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__sub__�rqrc�@��t|�t�|�	|��SrU)rr�__rsub__rs  �rr�zQUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rsub__�s���!�t�D�z�%�'�"2�5�"9�:�:rc�@��t|�t�|�	|��SrU)rr�__pow__rs  �rr�zPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__pow__�rqrc�@��t|�t�|�	|��SrUrors  �rrpzPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__add__�rqrc�@��t|�t�|�	|��SrU)rr�__mul__rs  �rr�zPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__mul__�rqr)
r7r8r9rr|r~r�r�rprrr��__rmul__rrs@rr�ry�s0���
>�
?�
:�
;�
:�
:��H�
:��Hrr�)rrr)rIr�s  r�#prepare_types_for_conservation_testz7UnivariateTypeMixin.prepare_types_for_conservation_test�s"��B�	�e�	�"�w��'�2�2rc���|j�}|j�D]C}|D�cgc]
}||���}}|j|�}|jt	|�|��Eycc}wrU)rHr�r<r�r)rIr�r\rr�r�s      r�test_types_conservedz(UnivariateTypeMixin.test_types_conserved�s_��� � �"���<�<�>�D�"&�'�$�Q��a��$�A�'��Y�Y�q�\�F��M�M�$�v�,��-�?��'s�A(N)r7r8r9r�r�r:rrrvrvxs���3�*.rrvc��eZdZd�Zy)�
TestSumCommonc��d�}||_y)Nc�Z�tj|�\}}}tj||�SrU)r;�_sumr�)r�r��valuers    r�simplified_sumz+TestSumCommon.setUp.<locals>.simplified_sum�s)��$�/�/�4�0�K�A�u�a��%�%�e�Q�/�/r)r<)rIr�s  r�setUpzTestSumCommon.setUp�s��	0�#��	rN)r7r8r9r�r:rrr�r��s��
#rr�c�H�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�TestSumc�.�tj|_yrU)r;r�r<rus rr�z
TestSum.setUp��
���O�O��	rc��gdtg�fD]3}|j|j|�tt	d�df��5y)Nr:r)r?rEr<r�rrGs  rrAzTestSum.test_empty_data�s:����T�"�X�&�D����T�Y�Y�t�_�s�H�Q�K��.C�D�'rc�j�|j|jgd��ttd�df�y)N)r
r�r����i����r`r�r
�<r�)rEr<r�rrus r�	test_intszTestSum.test_ints�s*��������#?�@��x��|�Q�/�	1rc�n�|j|jdgdz�ttd�df�y)NrIr`�@)rEr<rrrus r�test_floatszTestSum.test_floats�s/��������D�6�"�9�-���#���3�	5rc��|j|jtdd�gdz�ttdd�df�y)Nr
r&��r)rEr<rrus r�test_fractionszTestSum.test_fractions�s:��������H�Q��$5�#6�s�#:�;�"�H�Q��N�C�8�	:rc
���t}|d�|d�|d�|d�|d�|d�|d�|d�g}|j|j|�ttd	�d
f�y)Nrz5.246z1.702z-0.025z3.974z2.328z4.617z2.843z20.686r�)rrEr<�rIr�r�s   r�
test_decimalszTestSum.test_decimals�si�����'�
�A�g�J��'�
�A�h�K��'�
�A�g�J��'�
�A�g�J���	
������4��!�7�8�#4�a�8�	:rc���td�D�cgc]}tjdd���}}|jt	|j|�d�t
j|�d��ycc}w)Nr&r�r
g��ؗ�Ҭ<�r0)r�r�r�r_rr<r�fsum)rIr^r�s   r�test_compare_with_math_fsumz#TestSum.test_compare_with_math_fsum�s\��5:�$�K�@�K�q����t�T�*�K��@����u�T�Y�Y�t�_�Q�%7�8�$�)�)�D�/�u��U��As�A0c��|jt|jgd�d�|jt|jgd��y)N�r
rr��999)r
rr�r�r;rus r�test_strings_failzTestSum.test_strings_fail�s1�����)�T�Y�Y�	�5�A����)�T�Y�Y�0@�Arc��|jt|jgd�d�|jt|jgd��y)Nr��999)r
rr�r�r;rus r�test_bytes_failzTestSum.test_bytes_fail�s1�����)�T�Y�Y�	�6�B����)�T�Y�Y�0A�Brc	��|jt|jddtd�g�|jt|jddgtd��y)Nr
r))r6r�r<rrus r�test_mixed_sumzTestSum.test_mixed_sum�sE��	
���)�T�Y�Y��C����0D�E����)�T�Y�Y��C��'�!�*�ErN)
r7r8r9r�rAr�r�r�r�r�r�r�r�r:rrr�r��s9��
$�E�
1�5�:�:�V�B�
C�
Frr�c��eZdZd�Zy)�SumTortureTestc��|jtjgd�dz�tt	d�df�|jtjgd�dz�tt	d�df�tjgd�dz�\}}}|j|t�|j|d�|j
t|�dd�	�y)
N)r
�}Ô%�I�Tr
�}Ô%�I��r4g��@i@�)r�r
r
r�)�0��.�++r
r�rtg���^�,gV瞯�<r�)rEr;r�rrr�r_)rIr�r��counts    r�test_torturezSumTortureTest.test_torture�s���������)>�u�)D�E���'�!2�E�:�	<�������)>�u�)D�E���'�!2�E�:�	<�"���(?��(E�F�
��3���
�
�a��������&����u�S�z�7���>rN)r7r8r9r�r:rrr�r��s��	?rr�c�B�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�SumSpecialValuesc���ttfD]d}|d�}tjd|dg�d}|j	t|�|�|j
tj|���fy)Nr)r
r)	rrr;r�r�rr�rr)rIr�r)r�s    rr+zSumSpecialValues.test_nan�sZ���W�%�E���,�C��_�_�a��a�[�1�!�4�F��M�M�$�v�,��.��O�O�D�J�J�v�.�/�	&rc���	|jtj|��|jt	|�t	|��|j|dkD|dkD�y�Nr)r�rr-r�rrE)rIrr"s   r�check_infinityzSumSpecialValues.check_infinity�sG��F�����
�
�1�
�&��
�
�d�1�g�t�C�y�)�����Q���a��(rc��tjdd|dg�d}|j||�tjdd|d|dg�d}|j||�y)Nr
rr�r�)r;r�r��rIr"r�s   r�do_test_infzSumSpecialValues.do_test_infs]�����!�Q��Q��0��3�����F�C�(����!�Q��Q��Q�!7�8��;�����F�C�(rc�P�td�}dD]}|j||z��y�Nr"�r
rt)rr��rIr"rs   r�test_float_infzSumSpecialValues.test_float_infs'���E�l���D����T�#�X�&�rc�P�td�}dD]}|j||z��yr�)rr�r�s   r�test_decimal_infz!SumSpecialValues.test_decimal_infs'���e�n���D����T�#�X�&�rc��td�}tjdd|d|dg�d}|jt	j
|��y�Nr"r
rr�r�)rr;r�r�rrr�s   r�test_float_mismatched_infsz+SumSpecialValues.test_float_mismatched_infssB���E�l�����!�Q��Q���a�!8�9�!�<������
�
�6�*�+rc��td�}dd|d|dg}tjtj�5|j	tjtj|�d��ddd�y#1swYyxYwr�)	r�decimal�localcontext�ExtendedContextr�rrr;r��rIr"r�s   r�3test_decimal_extendedcontext_mismatched_infs_to_nanzDSumSpecialValues.test_decimal_extendedcontext_mismatched_infs_to_nansb���e�n���1�c�1�s�d�A�&��
�
!�
!�'�"9�"9�
:��O�O�D�J�J�z���t�'<�Q�'?�@�A�;�
:�
:�s�;A<�<Bc��td�}dd|d|dg}tjtj�5|j	tj
tj|�ddd�y#1swYyxYwr�)rr�r��BasicContextr6�InvalidOperationr;r�r�s   r�0test_decimal_basiccontext_mismatched_infs_to_nanzASumSpecialValues.test_decimal_basiccontext_mismatched_infs_to_nan%s[���e�n���1�c�1�s�d�A�&��
�
!�
!�'�"6�"6�
7����g�6�6�
����N�8�
7�
7�s�0A1�1A:c��td�}d|dg}|jtjtj
|�y)Nr�r
r)rr6r�r�r;r�)rIr�r�s   r�test_decimal_snan_raisesz)SumSpecialValues.test_decimal_snan_raises,s2���v����4��|�����'�2�2�J�O�O�T�JrN)r7r8r9r+r�r�r�r�r�r�r�r�r:rrr�r��s2��0��)�'�
'�
,�B�O�Krr�c��eZdZd�Zd�Zd�Zy)�AverageMixinc��dddtdd�td�fD]$}|j|j|g�|��&y�Nr�g@E@g�X_yCr|�z0.28�rrrEr<r�s  r�test_single_valuezAverageMixin.test_single_value8s=���d�F�H�R��$4�g�f�o�F�A����T�Y�Y��s�^�Q�/�Grc�6�dddtdd�td�fS)N�@rz���7y�!C�=�Cz4.9712�rrrus r�'prepare_values_for_repeated_single_testz4AverageMixin.prepare_values_for_repeated_single_test=s���R���"�b�!1�7�8�3D�E�Erc���|j�D]L}dD]E}|j||��5|g|z}|j|j|�|�ddd��G�Ny#1swY�TxYw)N�rr�r�r`)rr�)r��subTestrEr<�rIrr�r�s    r�test_repeated_single_valuez'AverageMixin.test_repeated_single_value@sb���=�=�?�A�'���\�\�A�U�\�3��3�u�9�D��$�$�T�Y�Y�t�_�a�8�4�3�(�@�3�3�s�(A!�!A*N)r7r8r9r�r�r�r:rrr�r�5s��0�
F�9rr�c�Z�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zy)�TestMeanc�.�tj|_yrU)r;�meanr<rus rr�zTestMean.setUpJr�rc�J�|j|jgd��d�y)N)r�r
r�r�r
�rEr<rus r�test_torture_pepzTestMean.test_torture_pepMs��������#8�9�1�=rc�x�gd�}tj|�|j|j|�d�y)N)rr
rr�r�r�r�r�r�rNr�r�r�r�r�r�g@@�r�rFrEr<rGs  rr�zTestMean.test_intsQs+��?�����t��������4��&�1rc�x�gd�}tj|�|j|j|�d�y)N)g@1@g�3@�4@g�5@g�5@g@7@g 9@g�;@g6@r�rGs  rr�zTestMean.test_floatsWs+��E�����t��������4��)�4rc���t}|d�|d�|d�|d�|d�g}tj|�|j|j	|�|d��y)Nz1.634z2.517z3.912z4.072z5.813z3.5896�rr�rFrEr<r�s   rr�zTestMean.test_decimals]sS�����'�
�A�g�J��'�
�A�g�J��'�
�K�����t��������4��!�H�+�6rc
��t}|dd�|dd�|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j	|�|d	d
��y)Nr
rr�r�r�rNr�r�i�i��rr�rFrEr<�rIr�r�s   rr�zTestMean.test_fractionsdso�����!�Q���1�a��!�A�q�'�1�Q��7�A�a��G�Q�q�!�W�a��1�g�N�����t��������4��!�D�$�-�8rc���gd�}ttfD]a}dD]Z}|d�|z}||gz}|j|�}|jt	j
|��|j
||��\�cy)N�r
r�r�r�r�r�r")rrr<r�rr-rE)rIrsr\rr"r�r�s       rr'zTestMean.test_infksk�����G�$�D����5�k�$�&���c�U�{�����4�������
�
�6� 2�3�� � ���-� �%rc
��dddtd�dddtd�g}|j|�}|jtj|��y)	Nrr�rNr"r
r�r�z-inf)rr<r�rr�rIr�r�s   r�test_mismatched_infszTestMean.test_mismatched_infsvsB���1�a��u��q�!�Q��f�
�>�����4�������
�
�6�*�+rc��gd�}ttfD]E}|d�}||gz}|j|�}|jt	j
|���Gy)Nr�r))rrr<r�rr)rIrsr\r"r�r�s      rr+zTestMean.test_nan|sL�����G�$�D��u�+�C��#��;�D��Y�Y�t�_�F��O�O�D�J�J�v�.�/�	%rc��d}gd�}|j|�|z}|j|D�cgc]}||z��	c}�}|j||�ycc}w)Nge��A�	�333333@�@g������@g������@g333333@�������@g @g333333 @g������"@�r<rE�rI�cr�r&rr�s      r�
test_big_datazTestMean.test_big_data�sT����<���9�9�T�?�Q�&������.��A�A�a�C��.�/�������*��/��Ac���td�D�cgc]}tjdd���}}|j|�}|j|dz�}|j	||�ycc}w)Nr&r{r�r�r�r�r�r<r_�rIr^r�r&r%s     r�test_doubled_datazTestMean.test_doubled_data�sY��/4�T�{�;�{�!����r�1�%�{��;��9�9�T�?�����4��6�"�����v�x�0��<��A%c�f�td�}|jtj|g�|�y)N�1e4)rrEr;r�r�s  r�test_regression_20561zTestMean.test_regression_20561�s(��
�E�N��������!��-�q�1rc��|jtjddg�d�d}d}dD]T}|jtj|g|z�|�|jtj|g|z�|��Vy)Ng�������g�g)rr�r�r�)rEr;r�)rI�big�tinyrs    r�test_regression_25177zTestMean.test_regression_25177�s}��	
������
#�%:�;�=�!�	#�$�����A����Z�_�_�c�U�1�W�5�s�;����Z�_�_�d�V�A�X�6��=� rN)r7r8r9r�r�r�r�r�r�r'r�r+r	rrrr:rrr�r�IsC��$�>�2�5�7�9�	.�,�0�+�1�2�>rr�c�x��eZdZd�Z�fd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Z�xZS)�TestHarmonicMeanc�.�tj|_yrU)r;�
harmonic_meanr<rus rr�zTestHarmonicMean.setUp�s���,�,��	rc�F��t�|��}|jd�|Sr�)rrH�remove)rIr+r
s  �rrHzTestHarmonicMean.prepare_data�s!�����%�'���
�
�a���
rc�6�dddtdd�td�fS)Nr�rzr�r�r�z4.125r�rus rr�z8TestHarmonicMean.prepare_values_for_repeated_single_test�s���R���"�b�!1�7�7�3C�D�Drc�N�gd�}|j|j|�d�y)N)r
rrrr��rIr+s  r�	test_zerozTestHarmonicMean.test_zero�s ����������6�*�A�.rc���tj}dggd�fD]:}|j|��5|j||j|�ddd��<y#1swY�GxYw)Nrt)r
r�r�)r+)r;rtr�r6r<)rI�excr+s   r�test_negative_errorz$TestHarmonicMean.test_negative_error�sQ���(�(���t�Z�(�F����V��,��!�!�#�t�y�y�&�9�-�,�)�,�,�s�A�A	c���dggd�gd�gd�fD]L}|j|��5|jt�5|j|�ddd�ddd��Ny#1swY�xYw#1swY�exYw)Nz3.14)�1�2�3)r
r&r��4r�)gffffff@rrz5.6rZ)r�r6r�r<rGs  r�test_invalid_type_errorz(TestHarmonicMean.test_invalid_type_error�sf���H���"�	
�D����4��(��&�&�y�1��I�I�d�O�2�)�(�

�2�1��)�(�s"�A*�A�A*�A'�#A*�*A3	c�x�gd�}tj|�|j|j|�d�y)N)rr�r�r�r�r�g333333@r�rGs  rr�zTestHarmonicMean.test_ints�s+��#�����t��������4��%�0rc��gd�}tj|�|j|j|�d�|j|jgd��d�y)N)r�rIrIr�r�rI)rIr�r�r�r�r�rGs  r�test_floats_exactz"TestHarmonicMean.test_floats_exact�sE��(�����t��������4��#�.�������#8�9�3�?rc�j�tdd�D]$}|j|j|g�|��&y)Nr
r��r�rEr<r�s  r�test_singleton_listsz%TestHarmonicMean.test_singleton_lists�s,���q�#��A����T�Y�Y��s�^�Q�/�rc
��t}|j|j|d�|d�|d�|d�g�|d��|d�|d�|d�|d�g}tj|�|j|j|�|d��|d�|d�|d	�|d
�g}tj|�|j|j|�|d�dz�y)
Nr|rr�r
z0.10z0.20z1.68z0.32z5.94z2.75i�iC)rrEr<r�rFr�s   r�test_decimals_exactz$TestHarmonicMean.test_decimals_exact�s�����������A�b�E�1�R�5�!�B�%��2��#?�@�!�B�%�H��&�	�1�V�9�a��i��6��;�����t��������4��!�F�)�4��&�	�1�V�9�a��i��6��;�����t��������4��!�E�(�5�.�9rc
��t}|dd�|dd�|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j	|�|d	d
��y)Nr
rr�r�r�rNr�r�i|i�r�r�s   rr�zTestHarmonicMean.test_fractions�so�����!�Q���1�a��!�A�q�'�1�Q��7�A�a��G�Q�q�!�W�a��1�g�N�����t��������4��!�E�4�.�9rc�b�dtd�dg}|j|j|�d�y)Nr)r"r�)rrEr<rs  rr'zTestHarmonicMean.test_inf�s+���u�U�|�S�)��������6�*�C�0rc��dtd�dg}|jtj|j	|���y)Nr)r)r�)rr�rrr<rs  rr+zTestHarmonicMean.test_nan�s0���u�U�|�S�)������
�
�4�9�9�V�#4�5�6rc��d}gd�}|j|�|z}|j|D�cgc]}||z��	c}�}|j||�ycc}w)N�orrrs      r�test_multiply_data_pointsz*TestHarmonicMean.test_multiply_data_points�sT����<���9�9�T�?�1�$������.��A�A�a�C��.�/�������*��/r
c���td�D�cgc]}tjdd���}}|j|�}|j|dz�}|j	||�ycc}w)Nr&r
r�rrr
s     rrz"TestHarmonicMean.test_doubled_datasY��.3�D�k�:�k�����q�!�$�k��:��9�9�T�?�����4��6�"�����v�x�0��;rc
��|j|jddgddg�d�|j|jddgddg��d�|j|jtddg�tddg��d�|j|jtdd�td	d�td
d�ggd��|jtdd�gdztd	d�gdzztd
d�gdzz��|j|jdgd
g�d�|j	t
�5|jgd
�gd��ddd�|j	tj�5|jgd
�ddg�ddd�|j	tj�5|jdgdg�ddd�|j	tj�5|jddgddg�ddd�y#1swY��xYw#1swY��xYw#1swY�`xYw#1swYyxYw)Nrr�r�rgL@)�weightsr�r�r�r�r)r�rr�r�)r
r:r�r
rr`)rEr<r?rr6r�r;rtrus r�test_with_weightsz"TestHarmonicMean.test_with_weightss���������B��8�a��W�5�t�<�������B��8�,-�r�7�#�4�59�	;�������4��R��>�#'��B��=�2�37�	9�����I�I�x��A����Q���!�Q��H�*�U��I�I�x��A��'�!�+���A��'�!�+�,���1�~�&��+�,�
-�	.�
	
������B�4�!��-�r�2�
�
�
�y�
)��I�I�i��,�*�
�
�
�z�9�9�
:��I�I�i�!�Q��(�;�
�
�
�z�9�9�
:��I�I�r�d�Q�C� �;�
�
�
�z�9�9�
:��I�I�r�2�h��A��'�;�
:�
*�
)��
:�
:��
:�
:��
:�
:�s0�H�H'�?H3�;H?�H$�'H0�3H<�?I)r7r8r9r�rHr�r r#r)r�r,r/r1r�r'r+r7rr;rrs@rrr�sU���-��E�/�
:�
$�1�@�0�
	:�:�1�
7�
+�1�(rrc�H��eZdZd�Z�fd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
�xZS)	�
TestMedianc�.�tj|_yrU�r;�medianr<rus rr�zTestMedian.setUp$����%�%��	rc�j��	t�|��}t|�dzdk7r|jd�|S)Nrr
)rrHrarQ)rIr�r
s  �rrHzTestMedian.prepare_data's3���9��w�#�%���t�9�Q�;�!���K�K��N��rc�N�gd�}|j|j|�d�y)N�r
rr�r�r�rNr�r�rGs  r�test_even_intszTestMedian.test_even_ints.s��!��������4��#�.rc�N�gd�}|j|j|�d�y)N)r
rr�r�r�rNr�r�r�rGs  r�
test_odd_intszTestMedian.test_odd_ints4s��$��������4��!�,rc���t}|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j	|�|dd��y)Nr
r�rr�r�r�r�r�s   r�test_odd_fractionszTestMedian.test_odd_fractions:s_�����!�Q���1�a��!�A�q�'�1�Q��7�A�a��G�<�����t��������4��!�A�q�'�2rc	���t}|dd�|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j	|�|dd��y�Nr
r�rr�r�r�rNr�r�s   r�test_even_fractionszTestMedian.test_even_fractionsB�g�����!�Q���1�a��!�A�q�'�1�Q��7�A�a��G�Q�q�!�W�E�����t��������4��!�A�q�'�2rc���t}|d�|d�|d�|d�|d�g}tj|�|j|j	|�|d��y)N�2.5�3.1�4.2�5.7�5.8r�r�s   r�test_odd_decimalszTestMedian.test_odd_decimalsJsS�����%��!�E�(�A�e�H�a��h��%��A�����t��������4��!�E�(�3rc���t}|d�|d�|d�|d�|d�|d�g}tj|�|j|j	|�|d��y)Nz1.2rOrPrQrRrSz3.65r�r�s   r�test_even_decimalszTestMedian.test_even_decimalsRsY�����%��!�E�(�A�e�H�a��h��%��!�E�(�K�����t��������4��!�F�)�4r)r7r8r9r�rHrErGrIrLrTrVrrs@rr=r="s+���&��/�-�3�3�4�5rr=c��eZdZd�Zd�Zy)�TestMedianDataTypec�.�tj|_yrUr?rus rr�zTestMedianDataType.setUp]rArc��ttd��}|t|�k(r$tj|�|t|�k(r�$|S)Nr|rDrGs  rrHzTestMedianDataType.prepare_data`s:���E�"�I����f�T�l�"��N�N�4� ��f�T�l�"��rN)r7r8r9r�rHr:rrrXrX[s��&�rrXc�$�eZdZd�Zd�Zd�Zd�Zy)�
TestMedianLowc�.�tj|_yrU)r;�
median_lowr<rus rr�zTestMedianLow.setUpis���)�)��	rc�N�gd�}|j|j|�d�y)NrDr�r�rGs  rrEzTestMedianLow.test_even_intsl���!��������4��!�,rc	���t}|dd�|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j	|�|dd��yrKr�r�s   rrLz!TestMedianLow.test_even_fractionsrrMrc���t}|d�|d�|d�|d�|d�|d�g}tj|�|j|j	|�|d��y�Nz1.1z2.2z3.3z4.4r�z6.6r�r�s   rrVz TestMedianLow.test_even_decimalsz�Y�����%��!�E�(�A�e�H�a��h��%��!�E�(�K�����t��������4��!�E�(�3rN�r7r8r9r�rErLrVr:rrr\r\hs��*�-�3�4rr\c�$�eZdZd�Zd�Zd�Zd�Zy)�TestMedianHighc�.�tj|_yrU)r;�median_highr<rus rr�zTestMedianHigh.setUp�s���*�*��	rc�N�gd�}|j|j|�d�y)NrDr�r�rGs  rrEzTestMedianHigh.test_even_ints�r`rc	���t}|dd�|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j	|�|dd��yrKr�r�s   rrLz"TestMedianHigh.test_even_fractions�rMrc���t}|d�|d�|d�|d�|d�|d�g}tj|�|j|j	|�|d��yrcr�r�s   rrVz!TestMedianHigh.test_even_decimals�rdrNrer:rrrgrg�s��+�-�3�4rrgc�N�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
y)
�TestMedianGroupedc�.�tj|_yrU)r;�median_groupedr<rus rr�zTestMedianGrouped.setUp�s���-�-��	rc�4�gd�}|j|j|�d�gd�}|j|j|�d�gd�}|j|j|d�d�gd�}|j|j|d	�d
d��y)
N)r�r�rrrrr|r|rr)r�rrrrrrrrrr|g�+@)r�r�r�r|r`r`r`r`�rsrr�g`3@)r��rtrtrtr`r`r`�ruru�rv��rg������4@�:�0�yE>�r/�rEr<r_rGs  r�test_odd_number_repeatedz*TestMedianGrouped.test_odd_number_repeated�s���+��������4��"�-�+��������4��&�1�:��������4��+�V�4�K�����t�y�y��q�1�;�D��Irc�6�gd�}|j|j|d�dd��gd�}|j|j|�dd��gd�}|j|j|�d	�gd
�}|j|j|�d�y)N)
r�r�r�r|r`r`r`rsrsrr�g�����*3@ryrz)rr�r�r�r�r�g["8���@)rr�r�r�r�r�r�r�r�r�rNrNr)
r�r�r�r�r�r�r�r�rNrN�@)r_r<rErGs  r�test_even_number_repeatedz+TestMedianGrouped.test_even_number_repeated�s���6�����t�y�y��q�1�;�D��I�!�����t�y�y���
���E�3��������4��#�.�-��������4��$�/rc��dddtdd�td�fD]9}dD]2}|g|z}|j|j|�t	|���4�;y)N�333333@�Dg��ޗCr�r�z32.9714r��rrrEr<rr�s    rr�z,TestMedianGrouped.test_repeated_single_value�sW���r�6�8�B��#4�g�i�6H�I�A�'���s�5�y��� � ����4��%��(�;�(�Jrc��dddtdd�td�fD]-}|j|j|g�t	|���/yr�r�r�s  rr�z#TestMedianGrouped.test_single_value�sC���d�F�H�R��$4�g�f�o�F�A����T�Y�Y��s�^�U�1�X�6�Grc���t}|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j	|�d�y)Nr�r�r�rrz�@r�r�s   rrIz$TestMedianGrouped.test_odd_fractions�sY�����!�Q���1�a��!�B��(�A�b�!�H�a��A�h�?�����t��������4��#�.rc	���t}|dd�|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j	|�d�y)Nr�r�r�rrz�
@r�r�s   rrLz%TestMedianGrouped.test_even_fractions�sa�����!�Q���1�a��!�B��(�A�b�!�H�a��A�h��"�a��I�����t��������4��$�/rc���t}|d�|d�|d�|d�|d�g}tj|�|j|j	|�d�y)Nr��6.5�7.5�8.5g@r�r�s   rrTz#TestMedianGrouped.test_odd_decimals�sO�����%��!�E�(�A�e�H�a��h��%��A�����t��������4��$�/rc��t}|d�|d�|d�|d�|d�|d�g}tj|�|j|j	|�d�|d�|d�|d�|d�|d�|d�g}tj|�|j|j	|�d�y)Nr�r�r�r��@�@r�r�s   rrVz$TestMedianGrouped.test_even_decimals�s������%��!�E�(�A�e�H�a��h��%��!�E�(�K�����t��������4��#�.��%��!�E�(�A�e�H�a��h��%��!�E�(�K�����t��������4��#�.rc���gd�}|j|j|d�d�gd�}|j|j|d�dd��gd�}|j|j|d	�d
�y)N)
�@rGrGr!r!r�r�r�r�rNrIg@)r�rGrGr!r!r!r�r�r�r�rNg["8���@ryrz)��r����r�r�r��r��,�@iTr`g�p@r{rGs  r�
test_intervalzTestMedianGrouped.test_interval�sg��F��������4��.��6�L�����t�y�y��t�4�j�d��K�K��������4��,�e�4rc�8�gd�}|jt|j|�gd�}|jt|j|�gd�}d}|jt|j||�gd�}d}|jt|j||�y)N)�r�r�)rrrr�r�rr;)rIr��intervals   r�test_data_type_errorz&TestMedianGrouped.test_data_type_errors|�������)�T�Y�Y��5������)�T�Y�Y��5��������)�T�Y�Y��h�?��������)�T�Y�Y��h�?rN)r7r8r9r�r|rr�r�rIrLrTrVr�r�r:rrrnrn�s;��.�J�$0�$<�7�/�0�0�/�5�@rrnc�B�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�TestModec�.�tj|_yrU)r;�moder<rus rr�zTestMode.setUpr�rc��	gd�S)N)r
r
r
r
r�r�r�r�rr�rr:rus rrHzTestMode.prepare_datas��9�0�0rc�`�tddd�}|j|j|�d�yr_r.rGs  rrbzTestMode.test_range_data s(���R��Q���������4��"�-rc��d}|j|j|�d�dj�}|j|j|�d�y)N�abcbdbrzfe fi fo fum fi fi�fi)rEr<r�rGs  r�test_nominal_datazTestMode.test_nominal_data%sE����������4��#�.�#�)�)�+��������4��$�/rc���ttd��}td�D]>}||gz}tj|�|j	|j|�|��@yrC�r�r�r�rFrEr<)rIr�rgr�s    r�test_discrete_datazTestMode.test_discrete_data,sL���E�"�I����r��A���s�
�A��N�N�1�����T�Y�Y�q�\�1�-�rc�N�gd�}|j|j|�d�y)N)r
r
rrrrr�r�r�rNrNrNrNr�r�r�r�rr�rGs  r�test_bimodal_datazTestMode.test_bimodal_data4s!��B��	
������4��!�,rc�n�ttd��}|j|j|�d�y)Nr�r)r�r�rEr<rGs  r�test_unique_datazTestMode.test_unique_data;s'���E�"�I���������4��!�,rc�F�|jt|jd�yrUr;rus r�test_none_datazTestMode.test_none_dataAs��
	
���)�T�Y�Y��5rc�t�tjdd��}|j|j|�d�y)Nr
r)rrr)rV�CounterrEr<)rIrs  r�test_counter_datazTestMode.test_counter_dataHs0��

���!�q�)��	
������1��s�+rN)r7r8r9r�rHrbr�r�r�r�r�r�r:rrr�r�s/��$�1�
.�
0�.�-�-�6�,rr�c��eZdZd�Zy)�
TestMultiModec��tj}|j|d�dg�|j|d�gd��|j|d�g�y)N�aabbbbbbbbccr�aabbbbccddddeeffffgg)rr�r�r�)r;�	multimoderE)rIr�s  r�test_basicszTestMultiMode.test_basicsUsN���(�(�	�����>�2�S�E�:�����#9�:�O�L�����2���+rN)r7r8r9r�r:rrr�r�Ss��,rr�c�$�eZdZd�Zd�Zd�Zd�Zy)�	TestFMeanc
��tj}t}t}gd�ddf|d�|d�|d�gddf|dd	�|d
d�|dd
�gdd
fgd�ddfdd
|dd
�gddfdt	gd��ddffD]A\}}}||�}|jt
|�t|�|j|||��Cy)N�r�rH�@�@�floats�3.5�4.0�5.25�decimalsr�rr�r
r��	fractions)TFTTF�333333�?�booleansr��mixed types)r�r�r��iterator)	r;�fmeanrrr?r�rrrE)rIr�r�r�r��
expected_meanr\�actual_means        rr�zTestFMean.test_basics^s���� � ������
�t�X�.���h��%��!�F�)�
,�d�J�?���1�g�q��A�w��"�a��
)�4��=�
-�t�Z�@��1�a��A�h�
��}�5�-�
�"�
#�T�:�6�*�%�D�-�� ��+�K��M�M�$�{�+�U�D�9����[�-��>�*rc��tj}tj}|j|�5|g�ddd�|j|�5|t	g��ddd�|jt
�5|d�ddd�|jt
�5|gd��ddd�|jt
�5|�ddd�|jt
�5|gd�d�ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY�|xYw#1swY�cxYw#1swYyxYw)N�r�Nr`�r�r`r��F)r;r�rtr6r?r��rIr�rts   r�test_error_caseszTestFMean.test_error_casesos���� � ��$�4�4��
�
�
��
/��"�I�0�
�
�
��
/��$�r�(�O�0�
�
�
�y�
)��$�K�*�
�
�
�y�
)��.�!�*�
�
�
�y�
)��G�*�
�
�
�y�
)��,��#�*�
)�0�
/��
/�
/��
)�
)��
)�
)��
)�
)��
)�
)�sG�	D�D�	D#�)D/�D;�6E�D�D �#D,�/D8�;E�Ec���tj}td�}td�}|jt	j
|d|g��d�|jt	j
|||g��d�|jt	j|d|g��d�|jt�5|||g�ddd�y#1swYyxYw�N�Nan�Infr�r)znan and infinity�infinity)	r;r�rr�rrr-r6r,)rIr��NaNr�s    r�test_special_valueszTestFMean.test_special_valuess���� � ���E�l���E�l������
�
�5�"�c��#3�4�e�<�����
�
�5�#�s��#4�5�7I�J�����
�
�5�"�c��#3�4�j�A�
�
�
�z�
*��3���+��+�
*�
*���C�C!c	�*�tj}tj}|j|gd�dgdz�|gd���|j|gd�gd��|gd���|j|t	gd��t	gd���|gd���|j|�5|gd�dd	g�ddd�|j|�5|t	gd��t	dd	g��ddd�|j|�5|d
dgddg�ddd�|j|�5|t	d
dg�t	ddg��ddd�y#1swY��xYw#1swY�vxYw#1swY�[xYw#1swYyxYw)
N)r�r�r�rrIr�)r�r�r`)rIrIr�)r�r�r`r`�r�r`rr
rr�r`rt)r;r�rtrEr?r6r�s   r�test_weightszTestFMean.test_weights�sR��� � ��$�4�4������"�T�F�Q�J�/��"�#�	%�	
����,� 2�3��"�#�	%�	
����$�|�$�d�+=�&>�?��"�#�	%��
�
��
/��,��A��'�0�
�
�
��
/��$�|�$�d�A�q�6�l�3�0�
�
�
��
/��2�r�(�R��G�$�0�
�
�
��
/��$��B�x�.�$��A�w�-�0�0�
/�
0�
/��
/�
/��
/�
/��
/�
/�s0�5E%� E1�E=�< F	�%E.�1E:�=F�	FN)r7r8r9r�r�r�r�r:rrr�r�\s��?�"$� 	�1rr�c�4�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	y)	�VarianceStdevMixin��-���q=c��dddtdd�td�fD]$}|j|j|g�d��&y)Nr�g������3@g���%�Br�r�z8.392rr�r�s  rr�z$VarianceStdevMixin.test_single_value�s>���d�F�H�R��$4�g�g�6F�G�A����T�Y�Y��s�^�Q�/�Hrc��dddtdd�td�fD]0}dD])}|g|z}|j|j|�d��+�2y)	Nrrg@�6��<Cr�r�z62.4802)rr�r�r|rr�r�s    rr�z-VarianceStdevMixin.test_repeated_single_value�sP���r�6�8�A�q�>�7�9�3E�F�A�&���s�5�y��� � ����4��!�4�'�Grc�~�dgdz}|j|�}|j|dd��|j|d�y)Ng.�F7ݚ�?r4rsg��ؗ�Ҍ<rzr)r<r_r�r�s   r�test_domain_error_regressionz/VarianceStdevMixin.test_domain_error_regression�sE��"�"�5�(�����4������v�s���6������*rc��gd�}|j|�}d}|D�cgc]}||z��	}}|j|j|�|�ycc}w)N)
g{�G�z�?gR���Q�?g
ףp=
�?gR���Q@g�p=
ף@g��Q�	@r~g�Q���@g�G�z�@g��Q�@gj�@)r<r_�rIrsr&�shiftrr�s      r�test_shift_dataz"VarianceStdevMixin.test_shift_data�sQ��K���9�9�S�>����#&�'�3�a��E�	�3��'����t�y�y����9��(��Ac��gd�}|j|�}d}|D�cgc]}||z��	}}|j|j|�|�ycc}w)N)
r
r�r�r�r�r�r�r�r�r�iʚ;rr�s      r�test_shift_data_exactz(VarianceStdevMixin.test_shift_data_exact�sN��/���9�9�S�>����#&�'�3�a��E�	�3��'�������4��(�3��(r�c���td�D�cgc]}tjdd���}}|j|�}|j	|jt|��|�ycc}w)Nr&r{r�)r�r�r�r<rEr?�rIr^r�r&s    r�test_iter_list_samez&VarianceStdevMixin.test_iter_list_same�sV��05�T�{�;�{�!����r�1�%�{��;��9�9�T�?��������4��:�.��9��<s�A)N)
r7r8r9r0r�r�r�r�r�r�r:rrr�r��s'���C�0�
5�+�:�4�
:rr�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�
TestPVariancec�.�tj|_yrU)r;�	pvariancer<rus rr�zTestPVariance.setUp�s���(�(��	rc��ttd��}tj|�d}|j	|j|�|�y)Nr4gP�_Ar�ras   r�test_exact_uniformz TestPVariance.test_exact_uniform�s9���E�%�L�!�����t��$��������4��(�3rc�R�gd�}d}|j|j|�|�y)N�r�r�rr�g�6@r��rIr��exacts   rr�zTestPVariance.test_ints�s$������������4��%�0rc���t}|dd�|dd�|dd�|dd�g}|dd�}|j|�}|j||�|j|t�y)Nr
r�r�r�r��rr<rE�assertIsInstance�rIr�r�r�r�s     rr�zTestPVariance.test_fractions��e�����!�Q���1�a��!�A�q�'�1�Q��7�3���!�Q������4��������'����f�h�/rc���t}|d�|d�|d�|d�g}|d�}|j|�}|j||�|j|t�y)Nz12.1z12.2z12.5z12.9z0.096875�rr<rEr��rIr�r�r�r�s     rr�zTestPVariance.test_decimals�s[�����&�	�1�V�9�a��i��6��;���*�
�����4��������'����f�g�.rc��gd�}d}|j|�}|j||�|j|t�y)N)rrr
g�q�q�?�r<rEr�r�rIr�r�r�s    r�test_accuracy_bug_20499z%TestPVariance.test_accuracy_bug_20499�9���������4��������'����f�e�,rN)	r7r8r9r�r�r�r�r�rr:rrr�r��s ��)�4�1�0�/�-rr�c�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�TestVariancec�.�tj|_yrU)r;�variancer<rus rr�zTestVariance.setUps���'�'��	rc��dddtdd�td�fD].}|jtj|j
|g��0y)Nr�g33333�8@g�(G�!=Cr�rz4.2084�rrr6r;rtr<r�s  rr�zTestVariance.test_single_valuesB���d�F�H�R��$4�g�h�6G�H�A����j�8�8�$�)�)�a�S�I�Irc�R�gd�}d}|j|j|�|�y)Nr�rr�r�s   rr�zTestVariance.test_intss$������������4��%�0rc���t}|dd�|dd�|dd�|dd�g}|dd�}|j|�}|j||�|j|t�y)Nr
r�r�r�rr�r�s     rr�zTestVariance.test_fractions r�rc���t}|d�|d�|d�|d�g}d|d�z|d�z}|j|�}|j||�|j|t�y)Nrr�r�r�z9.5r�r�rs     rr�zTestVariance.test_decimals)sg�����!��a��d�A�a�D�!�A�$�'���!�E�(�
�1�Q�4������4��������'����f�g�.rc��d}|j|j|�d�|j|j|d��d�y)N�r�r)r�r)��xbarr�r�rGs  r�test_center_not_at_meanz$TestVariance.test_center_not_at_mean2s<����������4��#�.�������4�c��2�C�8rc��gd�}d}|j|�}|j||�|j|t�y)N)rrrgUUUUUU�?rrs    rrz$TestVariance.test_accuracy_bug_204997rrN)
r7r8r9r�r�r�r�r�rrr:rrrrs&��(�J�
1�0�/�9�
-rrc��eZdZd�Zd�Zd�Zy)�
TestPStdevc�.�tj|_yrU)r;�pstdevr<rus rr�zTestPStdev.setUp@rArc��td�D�cgc]}tjdd���}}tjtj|��}|j|j|�|�ycc}w)Nr&i��rv)	r�r�r�r�sqrtr;r�rEr<r�s    r�test_compare_to_variancez#TestPStdev.test_compare_to_varianceCs[��16�t��=��A����s�B�'���=��9�9�Z�1�1�$�7�8��������4��(�3��>��A7c��d}|j|j|�d�|j|j|d��d�y)N)r�rNr�r�rGr�)�mur�r�rGs  rrz"TestPStdev.test_center_not_at_meanIs<����������4��#�.�������4�C��0�#�6rN)r7r8r9r�rrr:rrrr>s��&�4�7rrc�R�eZdZd�Zeejd�d���Zd�Zy)�TestSqrtHelpersc�b�tjtd�tdd��D]�\}}tj||�}|j|t�||z|z|k(r�>|j|dzd�|j||dz
dzz|cxkxr||dzdzzknc���y)Nr�r
r&r)	�	itertools�productr�r;�_integer_sqrt_of_frac_rtor�r�rEr�)rIr�mr�s    r�test_integer_sqrt_of_frac_rtoz-TestSqrtHelpers.test_integer_sqrt_of_frac_rtoQs����%�%�e�C�j�%��4�.�A�D�A�q��4�4�Q��:�A��!�!�!�S�)���s�1�u��z�����Q�q�S�!�$��O�O�A��Q���
�N�Q�?��a�!�e�a�Z��?�@�Br�cpuc��dtdtdtfd�}tj}td�D]}}|d|d�z�}|d|d�z�dz}|j
||�	�5t||�}tj||�}|j|||��ddd��|jtjd
d�d�|jt�5tjdd�ddd�|jt�5tjdd�ddd�|jt�5tjdd
�ddd�|jtjd
d�tjdd��y#1swY���xYw#1swY��xYw#1swY��xYw#1swY�ixYw)Nr�root�returnc�(�|s|dk(Stj|tj�}tj|tj�}t|�}|t|�zdz}|t|�zdz}|dz|cxkxr|dzkScS)Nrsr)r�	nextafterr"r)rr)�r_up�r_down�	frac_root�half_way_up�
half_way_downs       r�is_root_correctly_roundedzJTestSqrtHelpers.test_float_sqrt_of_frac.<locals>.is_root_correctly_roundedas�����s�{�"��.�.��t�x�x�8�D� �N�N�4�$�(�(��;�F�#+�4�.�I�%.��$��%?�1�$D�K�'0�8�F�3C�'C�q�&H�M�!�A�%��>�k�Q�.>�>�>�>�>ri`�r�rr
)�	numerator�denonimatorrrsrtr�r)rrr�r��	randranger�r�r;�_float_sqrt_of_fracr�rEr6r,�ZeroDivisionError)rIr2r5rgr3r4rr)s        r�test_float_sqrt_of_fracz'TestSqrtHelpers.test_float_sqrt_of_frac]s���	?��	?��	?�4�	?�$�$�$�	��v��A�&�r�Y�r�]�':�;�I�(��y��}�)<�=��A�K����	�{��K�&�y�+�>��(�<�<�Y��T����� 9�!�T� B�C�L�K��	
����7�7��1�=�s�C�
�
�
�z�
*��*�*�2�q�1�+�
�
�
�z�
*��*�*�1�b�1�+��
�
�0�
1��*�*�1�a�0�2�	
����7�7��B�?��A_�A_�`a�cd�Ae�f�#L�K��+�
*��
*�
*��2�
1�s0�-;F/�-F<�!G�G�/F9	�<G�G�Gc�B�td�ddftd�ddftd�ddffD�]\}}}tjtj�5|j	tj||�|�ddd�tjtj�5}|xjdzc_t|�t|�z}tj|_	|j�}ddd�tjtj�5�}ddd�|j	|���|j	tjd	d
�d�|jtj�5tjdd
�ddd�|jtj�5tjd
d�ddd�|jt�5tjd
d	�ddd�|j	tjd
d�tjdd
��y#1swY���xYw#1swY��lxYw#1swY��JxYw#1swY��xYw#1swY��xYw#1swY��xYw)Nz0.4481904599041192673635338663l:j�t9�)4]�!�l�7�3M�e'z0.7924949131383786609961759598lQ_Ar�,NE��*�z0.8500554152289934068192208727lkr�"-D��9}ZGr�rr
rsrtr�r)rr�r��DefaultContextrEr;�_decimal_sqrt_of_frac�prec�
ROUND_05UP�roundingrr6r�r7)rIr)r3�denominator�ctx�high_prec_ratio�high_prec_root�target_roots        r�test_decimal_sqrt_of_fracz)TestSqrtHelpers.test_decimal_sqrt_of_frac�s
���5�
6�8V�Xw�x�
�5�
6�8V�Xw�x�
�5�
6�8V�Xw�x�-
�(�D�)�[�
�%�%�g�&<�&<�=�� � ��!A�!A�)�[�!Y�[_�`�>��%�%�g�&<�&<�=�����A�
��")�)�"4�w�{�7K�"K��&�1�1���!0�!5�!5�!7��	>�
�%�%�g�&<�&<�=�-�o��>����T�;�/�!-
�&	
����9�9�!�Q�?��E�
�
�
�w�7�7�
8��,�,�R��3�9�
�
�
�w�7�7�
8��,�,�Q��3�9��
�
�0�
1��,�,�Q��2�2�	
����9�9�"�b�A�:�Cc�Cc�de�gh�Ci�j�3>�=��>�=��
>�=��9�
8��
8�
8��2�
1�sI�'I�'AI#�$I0�
I=�J	�<J�I 	�#I-	�0I:	�=J�	J�JN)	r7r8r9r&rr�requires_resourcer8rDr:rrr r Os:��
A���W���u�%�*g�&��*g�X#krr c�$�eZdZd�Zd�Zd�Zd�Zy)�	TestStdevc�.�tj|_yrU)r;�stdevr<rus rr�zTestStdev.setUp�s���$�$��	rc��dddtdd�td�fD].}|jtj|j
|g��0y)N�QgH�z�wi@gf7?+�Br�r�z35.719rr�s  rr�zTestStdev.test_single_value�sA���f�f�h�q�"�o�w�x�7H�I�A����j�8�8�$�)�)�a�S�I�Jrc��td�D�cgc]}tjdd���}}tjtj|��}|j|j|�|�ycc}w)Nr&r�r�)	r�r�r�rrr;r	�assertAlmostEqualr<r�s    rrz"TestStdev.test_compare_to_variance�s[��/4�T�{�;�{�!����r�1�%�{��;��9�9�Z�0�0��6�7�����t�y�y����9��<rc�N�d}|j|j|d��d�y)Nrr)rr�r�rGs  rrz!TestStdev.test_center_not_at_mean�s$����������4�c��2�C�8rN)r7r8r9r�r�rrr:rrrGrG�s��%�J�
:�9rrGc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�TestGeometricMeanc�v�tj}|j|gd��d�|j|ddg�d�|j|dg�d�tjd�tdd	�tdd
�tdd�tddd
�tddd�gd�td
�D�cgc]}tjd���c}td�D�cgc]}tjdd���c}td�D�cgc]}tjddd���c}f	D]s}tjtt|��td�t|�zz}||�}|jtj|t!|����uycc}wcc}wcc}w)N)r{rvr��B@rHg"@g@g�1@l���;r
r�r&r4r�r�r{)r�rzrr��xr��I@��r�r�i�i�)r;�geometric_meanrMr��seedr��expovariate�lognormvariate�
triangularr�prodr�rrar��iscloser)rIrVrg�rng�
gm_decimal�gm_floats      rr�zTestGeometricMean.test_basics�se��#�2�2�����~�l�;�T�B����~�s�C�j�9�3�?����~�v�h�7��@����N�#��a��
��a����a�� ��c�6�1�%��f�c�2�&�'�38��<�@�<�a��#�#�D�)�<�@�;@��<�H�<�a��&�&�t�S�1�<�H�>C�E�l�K�l���"�"�4��t�4�l�K�
�C����3�w��#4�5�'�!�*�s�3�x�:O�P�J�%�c�*�H��O�O�D�L�L��5��3D�E�F�
��A��H��Ks�<F,�'F1�F6c	�t�tj}t}t}d}gd�df|d�|d�|d�gdf|dd	�|d
d�|dd
�gd
fdd
|dd
�gdfdt	gd��dffD]A\}}||�}|jt
|�t|�|j||d���Cy)Ng�d�@r�r�r�r�r�r�r�rr�r
r�r�r�r�)r�r�r�r���places)	r;rVrrr?r�rrrM)rIrVr�r�r�r�r\r�s        r�test_various_input_typesz*TestGeometricMean.test_various_input_types�s���#�2�2�������
�
�x�(���h��%��!�F�)�
,�j�9���1�g�q��A�w��"�a��
)�;�7��1�a��A�h�
��/�'�
�"�
#�Z�0�
�J�D�$�)��.�K��M�M�$�{�+�U�D�9��"�"�;�
�a�"�H�rc��tj}d}|d|zd|zd|zg�}|jtj|d|z��|jtj|��d}|d|zd|zd|zg�}|jtj|d|z��|j|d�y)Ngp~gK@g8@rRgprs)r;rVr�rr\r�r-�assertNotEqual)rIrV�large�big_gm�small�small_gms      r�test_big_and_smallz$TestGeometricMean.test_big_and_small�s���#�2�2��������t�e�|�T�E�\� J�K��������V�T�E�\�:�;�������F�+�,���!�4�%�<����t�e�|�"L�M��������X�t�e�|�<�=����H�c�*rc�j�tj}tj}|j|�5|g�ddd�|j|�5|gd��ddd�|j|�5|gd��ddd�|j|�5|t	g��ddd�|jt
�5|d�ddd�|jt
�5|gd��ddd�|jt
�5|�ddd�|jt
�5|gd�d�ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY�}xYw#1swYyxYw)N)r�rsr�)r�g�r�r�r�r�)r;rVrtr6r?r�)rIrVrts   rr�z"TestGeometricMean.test_error_cases�s3��#�2�2��$�4�4��
�
�
��
/��2��0�
�
�
��
/��+�,�0�
�
�
��
/��,�-�0�
�
�
��
/��4��8�$�0�
�
�
�y�
)��4� �*�
�
�
�y�
)��>�*�*�
�
�
�y�
)���*�
�
�
�y�
)��<��,�*�
)�0�
/��
/�
/��
/�
/��
/�
/��
)�
)��
)�
)��
)�
)��
)�
)�s_�	E�E �8E-�E9�	F�1F�F�>F)�E� E*�-E6�9F�F�F�F&�)F2c���tj}td�}td�}|jt	j
|d|g��d�|jt	j
|||g��d�|jt	j|d|g��d�|jt�5|||g�ddd�y#1swYyxYwr�)	r;rVrr�rrr-r6r,)rIrVr�r�s    rr�z%TestGeometricMean.test_special_values	s���#�2�2���E�l���E�l������
�
�>�2�s�)�#<�=�u�E�����
�
�>�3��*�#=�>�@R�S�����
�
�>�2�s�)�#<�=�z�J�
�
�
�z�
*��C�#��;�'�+�
*�
*�r�c���tj}d}gd�gd�gd�gd�gd�g}|D]9}|j|��5||�}|j||d�	�ddd��;y#1swY�FxYw)
Ng�Y�};t@)rr�r�r�)rr�r�r�)rr�r�r�)rr�r�r�)r)r�r�r�)�vr�ra)r;rVr�rM)rIrVr�r+rnr�s      r�test_mixed_int_and_floatz*TestGeometricMean.test_mixed_int_and_float	sp��#�2�2��(�
����� �
���A������"�,�Q�/���&�&�{�M�!�&�L�#�"��"�"�s�A#�#A,	N)	r7r8r9r�rcrjr�r�ror:rrrPrP�s#��G�,I�$
+�-�(	(�MrrPc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�
TestQuantilesc���tj}gd�}tj|�dgfddgfdddgfdgd	�fd
gd�fdgd
�fdgd�fdgd�fdgd�fdgd�ff
D�]�\}}|j	||||���|j	t|||���|dz
�tttfD]U�|t�|�|��}|j�fd�|D��|j	|tt�|����Wt|�dk\r|j	|||��|�t|�}d|dz|dz
}d|dz|dz
}|||gz}	|j	|||��||	|d��||f�d�}
tt|
|��}|t|
|�|��}|jtd�t||�D������tdd�D]S}
tj td �|
�!�}||�\}}}|j	|tj"|���Uy)"N)rSr��r�i^r
r�@o@r��i@�t@r�)�d@rt��t@r�)�a@��k@�@r@��u@rN)�^@rurtrv��u@r�)�Y@rwg�j@rtg�r@rxgXv@r�)	gV@rygg@rzrtr{g`t@r|g�v@r�)�T@r}rwru� l@rtg�q@rvrxr~g�v@r|)gR@gZ@ryge@rurz�n@g�p@r{rvg�t@r|g@v@gw@�rc3�L�K�|]}tt|��k(����y�wrU��allr�r�r�datatypes  �rr�z4TestQuantiles.test_specific_cases.<locals>.<genexpr>I	� �����I�&�Q��D��G�x�$7� 8�&���!$rrtr��	inclusive�r�methodc��d|zdz
S�Nr�g3333�J�@r:r
s rr�z,TestQuantiles.test_specific_cases.<locals>.f[	����Q�w��)�)rc3�NK�|]\}}tj||����y�wrU�rr\�r�rhrs   rr�z4TestQuantiles.test_specific_cases.<locals>.<genexpr>_	� ����M�}�t�q�!����Q�� 2�}���#%r�r���k)r;�	quantilesr�rFrErarrrr�r�r�rEr�rer��choicesr@)rIr�r�rr&r��sdata�lo�hi�padded_datar��exp�actr��q1�q2�q3r�s                 @r�test_specific_casesz!TestQuantiles.test_specific_cases0	sJ����(�(�	�(�����t��
��G�
���L�
�����
�%�&�
�,�-�
�3�4�
�A�B�
�O�P�
� �
!�
�5�
6�
�K�A�x�
���X�y���';�<����S��4�1�!5�6��A��>�"�G�X�6��"�3�x��#6�!�<�����I�&�I�I�� � ���c�(�H�.E�)F�G�7�
�8�}��!�� � ��8�q�!9�8�D��4�L�E��U�1�X���a��(�B��U�2�Y���r��*�B��"�b��/�K�����$�!�$��+��;�?��D�	�
�
*��s�1�h�'�(�C��C��4�L�A�.�C��O�O�C�M�s�3��}�M�M�N�S
�V�q�"��A��>�>�%��*��2�D�"�4��J�B��B����R��!2�!2�4�!8�9�rc�@��tj}gd�}tj|�dgfddgfdddgfdgd	�fd
gd�fdgd
�fdgd�fdgd�fdgd�fdgd�ff
D�]
\}}|j	||||d���|j	t|||d���|dz
�tttfD]V�|t�|�|d��}|j�fd�|D��|j	|tt�|����Xd�}tt||��}|t||�|d��}|jtd�t||�D�����
|j	|ddgdd��gd��|j	|tdd�dd��gd��td�D�	cgc]}	tjd ���}}	||d!d��}
|j!t#|��|j!t%|��||d!�"�}|j	||
�tdd#�D]U}tj&td�|�$�}||d�%�\}}
}|j	|
tj(|���Wycc}	w)&N)r�r�i�i r
r��r@r�ru�y@r�)��e@r��@@r�)rwr���v@���@rN)��b@rur�r����@r�)g0a@�r�r�gpw@r�gP�@r�)	g@`@rwg�g@r�r�r�g�{@r�g@�@r�)g@_@r�r�rurtr�r~r�r�r�g�@r|)r}g�a@rwg�f@rur�g�q@rvr�r�g~@r�g�@g��@r�r�c3�L�K�|]}tt|��k(����y�wrUr�r�s  �rr�z>TestQuantiles.test_specific_cases_inclusive.<locals>.<genexpr>�	r�r�c��d|zdz
Sr�r:r
s rr�z6TestQuantiles.test_specific_cases_inclusive.<locals>.f�	r�rc3�NK�|]\}}tj||����y�wrUr�r�s   rr�z>TestQuantiles.test_specific_cases_inclusive.<locals>.<genexpr>�	r�r�rr�)	�$@r�g>@gD@rTgN@g�Q@r�g�V@r�i�r4� r�r�r��r�)r;r�r�rFrErarrrr�r�r�r�rer�r5rr�r#r�r@)rIr�r�rr&r�r�r�r�rgr%r�r�r�r�r�s               @r�test_specific_cases_inclusivez+TestQuantiles.test_specific_cases_inclusivef	sx����(�(�	�#�����t��
��G�
���L�
�����
�%�&�
�,�-�
�3�4�
�>�?�
�P�Q�
�'�
(�
�5�
6�
�K�A�x�
���X�y���;�'O�P����S��4�1�[�!I�J�A�PQ�E�R�"�G�X�6��"�3�x��#6�!�K�P�����I�&�I�I�� � ���c�(�H�.E�)F�G�7�

*��s�1�h�'�(�C��C��4�L�A�k�B�C��O�O�C�M�s�3��}�M�M�N�5
�8	
����A�s�8�r�+�F�O�	Q�����5��C�=�B�{�K�O�	Q�
38��*�=�*�Q�� � ��(�*��=��4�2�k�:�����C��I�����C��I���T�R�(������6�*��q�"��A��>�>�%��*��2�D�"�4��<�J�B��B����R��!2�!2�4�!8�9���>s�=Jc��tj}tdd�D]>}dg|z}|j||�gd��|j||d��gd���@y)Nrr�r�)r�r�r�r�r�)r;r�r�rE)rIr�rr�s    r�test_equal_inputszTestQuantiles.test_equal_inputs�	sW���(�(�	��q�"��A��6�A�:�D����Y�t�_�.@�A����Y�t�K�@�.�
0�rc��tj}d}t|�D�cgc]}tjd���}}tt
|��|k7r<|jtjd��tt
|��|k7r�<|j�dD]W}||z}|j|||��D�cgc]}tj||���c}tt|||����YdD]r}||z||zdzh}|||��D�cgc]}tj||���}	}t|	|	dd�D�
�chc]
\}
}||
z
��}}
}|j||k��tycc}wcc}wcc}wcc}}
w)Nr4皙�����?)
r
rr�r�r`rr�r�r�r&rUr�r4r�)
rr��;�m��i;i�isi�i)&r
)r;r�r�r�rXra�setrQ�sortrE�bisectr�rer�)rIr��totalrgr�r�
group_size�q�group_sizes�pos�p�sizess            r�test_equal_sized_groupsz%TestQuantiles.test_equal_sized_groups�	so���(�(�	���16�u��>��A��"�"�3�'���>��#�d�)�n��%��K�K��*�*�3�/�0��#�d�)�n��%��	�	��O�A��!��J����1:�4�1�1E�F�1E�A����t�Q�'�1E�F��U�:�u�j�9�:�
<�O�E�A� �A�:�u��z�A�~�6�K�3<�T�Q�3G�H�3G�a�6�=�=��q�)�3G�C�H�'*�3��A�B��'8�9�'8�t�q�!�Q��U�'8�E�9��O�O�E�[�0�1�	E��?��G��I��9s�E5�E:
�E?�Fc���tj}tj}|jt�5|�ddd�|jt�5|gd�dd��ddd�|jt�5|gd�d�ddd�|j|�5|gd�d��ddd�|j|�5|gd�d��ddd�|jt�5|gd�d��ddd�|jt
�5|gd�d�	�ddd�|j|�5|d
gd��ddd�|jt�5|gd�d��ddd�y#1swY��NxYw#1swY��0xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nr�rr�r�rrtr��Xr�r�)r�Nr)r;r�rtr6r�r,)rIr�rts   rr�zTestQuantiles.test_error_cases�	s`���(�(�	�$�4�4��
�
�
�y�
)��K�*�
�
�
�y�
)��l�B�!�,�*�
�
�
�y�
)��l�A�&�*�
�
�
��
/��l�a�(�0�
�
�
��
/��l�b�)�0�
�
�
�y�
)��l�c�*�*�
�
�
�z�
*��l�3�/�+�
�
�
��
/��r�d�a� �0�
�
�
�y�
)��n��*�*�
)�!*�
)��
)�
)��
)�
)��
/�
/��
/�
/��
)�
)��
*�
*��
/�
/��
)�
)�sk�F
�F�F$�+
F1�
F=�;
G	�%
G�G!�4
G-�
F�F!�$F.�1F:�=G�	G�G�!G*�-G6N)r7r8r9r�r�r�r�r�r:rrrqrq.	s��4:�l4:�l0�2�.+rrqc��eZdZd�Zd�Zy)�TestBivariateStatisticsc���gd�ddgfddggd�ffD]�\}}|jtj�5tj||�ddd�|jtj�5tj||�ddd�|jtj�5tj
||�ddd���y#1swY��xYw#1swY�VxYw#1swY��xYw)Nr�r
r�r6r;rt�
covariance�correlation�linear_regressionrs   r�test_unequal_size_errorz/TestBivariateStatistics.test_unequal_size_error�	s���
��A�����V�Y��
�D�A�q��"�"�:�#=�#=�>��%�%�a��+�?��"�"�:�#=�#=�>��&�&�q�!�,�?��"�"�:�#=�#=�>��,�,�Q��2�?�>�
�?�>��>�>��>�>�s#�C�4C �2C,�C	� C)	�,C5	c��ggfgddgfddggfdgdgfdgddgfddgdgffD]�\}}|jtj�5tj||�ddd�|jtj�5tj||�ddd�|jtj�5tj
||�ddd���y#1swY��xYw#1swY�VxYw#1swY��xYw)Nr
rr�rs   r�test_small_sample_errorz/TestBivariateStatistics.test_small_sample_error�	s���
��H�
�!�Q��M���W�b�M��T�A�4�L��T�A�q�7�O���W�q�d�O�

�D�A�q��"�"�:�#=�#=�>��%�%�a��+�?��"�"�:�#=�#=�>��&�&�q�!�,�?��"�"�:�#=�#=�>��,�,�Q��2�?�>�
�?�>��>�>��>�>�s$�C$�C0�C<�$C-	�0C9	�<D	N)r7r8r9r�r�r:rrr�r��	s��
3�3rr�c��eZdZd�Zd�Zd�Zy)�TestCorrelationAndCovariancec��gd�gd�dfgd�gd�dfgd�gd�dfgd�gd�dfgd�gd�d	ffD]R\}}}|jtj||�|�|jtj||�|��Ty)
Nr�r
�rtr�r{rt)r�rr
)r
rr
r)r
r�rr��rMr;r�r�)rIrr.r�s    r�test_resultsz)TestCorrelationAndCovariance.test_results�	s���
�	�1�%�
��b�)�
�	�2�&�
�	�1�%�
�	�3�'�
�L�A�q�&�
�"�"�:�#9�#9�!�Q�#?��H��"�"�:�#8�#8��A�#>��G�
rc�L�gd�}gd�}|jtj||�d�|jtj||�d�gd�}|jtj||�d�|jtj||�d�y)Nr�)r�rr`r�r�)r�r�g333333�?r
r�r�rs   r�test_different_scalesz2TestCorrelationAndCovariance.test_different_scales�	s����������z�5�5�a��;�S�A����z�4�4�Q��:�A�>������z�5�5�a��;�Q�?����z�4�4�Q��:�C�@rc���gd�}gd�}|jtj||d��d�|jt�5tj||d��ddd�y#1swYyxYw)N)
�8�K�-r�r�r��:�P�Lr�)
�Br�rr��Ar�r��Mr��?�rankedr�gl�\�e�?�
bad_method)rMr;r�r6r,)rI�reading�mathematicss   r�test_correlation_spearmanz6TestCorrelationAndCovariance.test_correlation_spearman	
s_��;��>�����z�5�5�g�{�S[�\�1�	3��
�
�z�
*��"�"�7�K��M�+�
*�
*�s�A(�(A1N)r7r8r9r�r�r�r:rrr�r��	s��	H�A�Nrr�c�$�eZdZd�Zd�Zd�Zd�Zy)�TestLinearRegressionc��gd�}gd�}|jtj�5tj||�ddd�y#1swYyxYw)N)r
r
r
r�)r6r;rtr�rs   r�test_constant_input_errorz.TestLinearRegression.test_constant_input_error
s<������
�
�
�z�9�9�
:��(�(��A�.�;�
:�
:�s�A�Ac
��gd�gd�ddfgd�gd�ddfgd�gd�ddfgd�gd�dd	fgd�gd
�ddfgd�gd�d
dfgd�gd�ddffD]D\}}}}tj||�\}}|j||�|j||��Fy)Nr�)rrrrr
)r�r�r�r�)r�rrr�r�rr�rt)r�rur�r`)gffffff@g������@r�r�r�)r;r�rM)rIrr.�true_intercept�
true_slope�slope�	intercepts       rr�z!TestLinearRegression.test_results!
s���
�	�1�a�(�
�	�1�a�(�
���a�0�
��b�!�,�
��a��,�
��b�!�,�
���C�0�1
�,�A�q�.�*� *�;�;�A�q�A��E�9��"�"�9�n�=��"�"�5�*�5�1
rc��gd�}gd�}tj||d��\}}|j|d�|j|d�y)N)r�r`rr)�i�ibiT��proportionalg�N�4@rs)r;r�rMrE�rIrr.r�r�s     r�test_proportionalz&TestLinearRegression.test_proportional/
sE���� ��%�7�7��1�4�P���y����u�j�1�����C�(rc���tdd�tdd�g}tdd�tdd�g}tj||�\}}|jt	|t
��|jt	|t
��tj||d��\}}|jt	|t
��|jt	|t
��y)Nrr�r�r�rNTr�)rr;r�r�rrr�s     r�test_float_outputz&TestLinearRegression.test_float_output6
s���
�a��^�X�a��^�,��
�a��^�X�a��^�,��%�7�7��1�=���y����
�5�%�0�1����
�9�e�4�5�%�7�7��1�4�P���y����
�5�%�0�1����
�9�e�4�5rN)r7r8r9r�r�r�r�r:rrr�r�
s��/�6�)�6rr�c���eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	je	jd�d���Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�TestNormalDistc���|jjdd�}|jt�5t	|�ddd�|jt
|j�d�y#1swY�/xYw)Nr�r�)�_mu�_sigma)rZ�
NormalDistr6r��varsrEr��	__slots__�rI�nds  r�
test_slotszTestNormalDist.test_slotsI
sU��
�[�[�
#�
#�C��
,��
�
�
�y�
)���H�*�����r�|�|�,�.?�@�*�
)�s�A,�,A5c���|jjdd�}|j|jd�|j|jd�|j|j
d�|jj�}|j|jd�|j|jd�|j|j
d�|j
|jj�5|jjdd�ddd�Gd�d|jj�}|d	d
�}|jt|�|�y#1swY�MxYw)Nr�rzi!rr
i����c��eZdZy)�GTestNormalDist.test_instantiation_and_attributes.<locals>.NewNormalDistNr6r:rr�
NewNormalDistr	`
r�rr
r�r�)	rZrrEr�rIr	r6rtr)rIrr
�nnds    r�!test_instantiation_and_attributesz0TestNormalDist.test_instantiation_and_attributesO
s��
�[�[�
#�
#�C��
,��������#�&�������2�&�������e�,��[�[�
#�
#�
%��������!�$�������1�%�������d�+��
�
�t�{�{�:�:�
;��K�K�"�"�3��,�<�	�D�K�K�2�2�	��C��#������c��M�2�<�
;�s�E-�-E6c���|jj}gd�}|j|j|�|dd��|j|jt	|��|dd��|j|jt|��|dd��|j
|jj�5|jg�ddd�|j
|jj�5|jdg�ddd�Gd�d|�}|j|�}|jt|�|�y#1swY��xYw#1swY�MxYw)N)�`r��Zr�nr|r�r�c��eZdZy)�BTestNormalDist.test_alternative_constructor.<locals>.NewNormalDistNr6r:rrr
ru
r�rr
)	rZrrE�from_samplesr�r?r6rtr)rIrr�r
rs     r�test_alternative_constructorz+TestNormalDist.test_alternative_constructore
s���[�[�+�+�
�%������0�0��6�
�2�q�8I�J�����0�0��t��=�z�"�a�?P�Q�����0�0��d��<�j��Q�>O�P�
�
�
�t�{�{�:�:�
;��#�#�B�'�<�
�
�
�t�{�{�:�:�
;��#�#�R�D�)�<�	�J�	��(�(��.������c��M�2�<�
;��
;�
;�s�
E�	E(�E%�(E1c��|jj}d\}}|||�}d}|j|�}|jt	|�|�|jtt
t|��th�|jj|�}|j||dzz
|cxkxr||dzzknc�d}|j|d��}|j|d��}	|j|d��}
|j|d��}|j||
�|j|	|�|j||	�y)N)r4r�r&r�r�zhappiness and joy)rWztrouble and despair)rZr�samplesrErar�r�rrr�r�re)rIrr�sigmar�rr�r�data1�data2�data3�data4s            r�test_sample_generationz%TestNormalDist.test_sample_generationz
s&���[�[�+�+�
��	��E��r�5�!�����y�y��|������T��A�&�����S��t�_�-��w�7��{�{����%������U�1�W���<��U�1�W��<�=�
���	�	�!�"5�	�6���	�	�!�"7�	�8���	�	�!�"5�	�6���	�	�!�"7�	�8�������&������&����E�5�)rc	���|jj}|dd�}|j|jd�|jd��|j|jd�|jd��t	d�D]8}|j|jd|z
�|jd|z���:d}t	dd�D]N}|j
||z�|j
|�z
|z}|j|j|�|d	�
��P|�}tgd��D]R\}}|j|j|dz�|d	�
�|j|j|dz�|d	�
��T|dd
�}	|j|jj�5|	jd�ddd�|j|jtd��d�|j|jtd��d�|jtj|jtd����y#1swY��xYw)Nr�r|r|r�rgP?rr6r�ra)2�+��ݓ��?rrggDio��?g������?gV}��b�?g�Q�|�?gF���x�?g��g��s�?g�٬�\m�?g�� �rh�?g�K7�A`�?g��|гY�?g����Q�?g���QI�?gsh��|?�?g�=yX�5�?g|a2U0*�?g��Q��?g���N@�?g�/�$�?g~��k	��?g]�C����?gw��/��?g�~�:p��?g�>W[���?gM�
O��?gW[����?g鷯��?g{�G�z�?g
q���h�?g�|a2U�?g��K7�A�?gvq
�-�?gj�t��?g�c]�F�?g�\�C���?gףp=
��?g�����?ga2U0*��?g�y�):��?g(��y�?g��N@a�?gf�c]�F�?g"lxz�,�?g�O��n�?g�3��7��?g�e�c]��?g��n���?g��T����?rr�-Infrsr�r�)rZr�
assertLess�pdfr�rM�cdfrdr6rtrErr�rr)
rIrr�rg�dxr�est_pdf�Z�px�Ys
          r�test_pdfzTestNormalDist.test_pdf�
s����[�[�+�+�
��s�B���������b�	�1�5�5��:�.�������c�
�A�E�E�#�J�/��r��A��"�"�1�5�5��q��>�1�5�5��q��>�B�����r�3��A��u�u�Q��V�}�q�u�u�Q�x�/�2�5�G��"�"�1�5�5��8�W�Q�"�?� �
�L��� 
��E�A�r�
�"�"�1�5�5��U��#3�R��"�B��"�"�1�5�5�!��e��#4�b��"�C��
�s�A���
�
�
�t�{�{�:�:�
;�
�E�E�"�I�<�	
������u�V�}�-�s�3�������u�U�|�,�c�2�����
�
�1�5�5��u��#6�7�8�<�
;�s�<I'�'I0c	���|jj}|dd�}tdd�D�cgc]}|j|���}}|j	tt
t|��th�|j	|t|��|j	|jd�d�|�}dD]O\}}|j|j|�|d��|j|j|�d	|z
d���Q|dd
�}|j|jj�5|jd�ddd�|j	|jtd��d
�|j	|jtd��d	�|jtj|jtd����ycc}w#1swY��xYw)Nr�r|r
r�r�))rsr�)r�gqZ� �?)rg��E_A�?)g�Q���?gGɫs��?)g��(\��?g؞Y���?)g��Q��?g���9#�?)gH�z�G�?g&S���?)r�g�MbX9�?)g���Q��?gT㥛� �?)g�������?g�?�?)gffffff@g_�x�Z�?)g��Q�@g��#0��?)g)\��(@gu<f�2��?)gףp=
�@gVe����?)gH�z�G@g9���?r�rar�rrrrsr�r�)rZrr�r"rEr�r�rrrErMr6rtr�rr)	rIrr�r�cdfsr%�z�cum_probr's	         r�test_cdfzTestNormalDist.test_cdf�
s����[�[�+�+�
��s�B���"'��3�-�0�-�Q����a��-��0�����S��t�_�-��w�7�����v�d�|�,�������s��T�*�
�L���K�A�x�
�"�"�1�5�5��8�X�a�"�@��"�"�1�5�5�!��9�c�H�n�Q�"�G��
�s�A���
�
�
�t�{�{�:�:�
;�
�E�E�"�I�<�	
������u�V�}�-�s�3�������u�U�|�,�c�2�����
�
�1�5�5��u��#6�7�8��31�(<�
;�s�G&�;G+�+G4r'c	�8�|jj}|dd�}|j|jd�|j�|�}dddd�}|j�D]o\}}t
|d�	�D]Z\}}|d
|zz}	|j|j|	�|d��d
|	z
}	|j|j|	�|d���\�q|j|dd�jd�d�d}
td|
�D]7}	|	|
z}	|j|j|j|	��|	��9tdd�D]m}d|z}	|j|j|j|	��|	�d
|	z
}	|j|j|j|	��|	��otd�D]4}|j|j|j|��|d���6|j|jj�5|jd�ddd�|j|jj�5|jd�ddd�|j|jj�5|jd
�ddd�|j|jj�5|jd�ddd�|dd�}|j|jd�d�|jtj|jtd����y#1swY��.xYw#1swY��xYw#1swY��xYw#1swY��xYw)Nr�r|r�)
rsgR���Q�?g�S㥛@g���S
@gT㥛� @g^�I�@g� �rh�@g+��N@g��C��@gV-��o@)
g� �rh��?g\��(\�?g�~j�t@g+��@g�MbX9@g�(\�B@g��v��@g����@g��Sc@g�K7�A�@)
gP��n��?g�S㥛@g���Q�@g��n��
@g��(\@gP��n@g�����@g��� �r@gˡE��@g�l�q@)r�rGr�r
)�startr�r�rar�rr�g��>���?g���E@i�3r)r�r�rsrg�������?rr�)rZrrE�inv_cdfr��itemsrdrMr�r"r6rtr�rrr)rIr�iqr%�ppr'�rowr�rr�rrhs            r�test_inv_cdfzTestNormalDist.test_inv_cdf�
s����[�[�+�+�
���R�
 ��������D�)�2�7�7�3�

�L��7�7�7�	8������I�D�#�#�C�q�1���Q��4�S�D�>�)���&�&��	�	�!��}�a��&�B��!�G���&�&�q�y�y��|�Q�q�&�A�	2�$�	
���z�"�c�2�:�:�8�D�i�P�
���q�!��A�
��F�A��"�"�2�6�6�"�*�*�Q�-�#8�!�<���q�"��A�����A��"�"�2�6�6�"�*�*�Q�-�#8�!�<��a��A��"�"�2�6�6�"�*�*�Q�-�#8�!�<�	��s��A��"�"�2�:�:�b�f�f�Q�i�#8�!�A�"�F���
�
�t�{�{�:�:�
;��J�J�s�O�<�
�
�
�t�{�{�:�:�
;��J�J�t��<�
�
�
�t�{�{�:�:�
;��J�J�s�O�<�
�
�
�t�{�{�:�:�
;��J�J�s�O�<���Q�
��������C��#�.�	
����
�
�1�9�9�U�5�\�#:�;�<�<�
;��
;�
;��
;�
;��
;�
;�s0�-M+�,M8�+N�*N�+M5�8N�N
�Nc
���|jj�}dgfddgfdddgfdgd�ffD]B\}}|j|�	�}|jt	d
�t||�D����Dy)Nr
rrsr�g�ǘ���ۿg�ǘ����?r�)g/�$���rsg/�$���?r�c3�RK�|]\}}tj||d�����!y�w)r�)�abs_tolNr�r�s   rr�z0TestNormalDist.test_quantiles.<locals>.<genexpr>"s,���� ?�(=���1�!%���Q��6� B� B�(=�s�%')rZrr�r�r�re)rIr%rr&r%s     r�test_quantileszTestNormalDist.test_quantiless����K�K�"�"�$��
��G�
���J�
��&�!�"�
�&�'�	�K�A�x��[�[�1�[�%�F��O�O�C� ?�(+�H�f�(=� ?�?�
@�rc�x�|jj}|dd�|dd�df|dd�|dd�dffD]L\}}}|j|j|�|d��|j|j|�|d���Ndd	d
�d�}|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|d
d�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�ffD]Y\}}|j|j|�|||�d	��|j|j|�|||�d	���[|�}|j	t
�5|j�ddd�|j	t
�5|j||�ddd�|j	t
�5|jd�ddd�|j	|jj�5|j|dd��ddd�|j	|jj�5|dd�j|�ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY�txYw#1swYyxYw)Nrsr)r�gɎ�@���?gM-[닄�?r�rai r�)�stepsr+c���	tj}|j|jzdz}|t|j|j�z}||z
}d|z|z}t|�D�	cgc]
}	||	|zz��}
}	t
t|j|
��}t
t|j|
��}t||�||��}
|tt||��|
zScc}	w)Nr))
rr�r�r#rIr�r�r�r!r�)r�r'r<r+r��center�widthr/r#rg�x_arr�xp�ypr�s              r�overlap_numericz4TestNormalDist.test_overlap.<locals>.overlap_numeric1s���>��9�9�D��f�f�q�v�v�o��,�F���A�G�G�Q�W�W�-�-�E��U�N�E��u��u�$�B�+0��<�8�<�a�U�Q�r�T�\�<�E�8��c�!�%�%��'�(�B��c�!�%�%��'�(�B���R��$�r�(�+�E���C��R�(�)�E�1�1��	9s�+C,r�r�r�r�r|rr�i����r��r�rgj�t��?g�~j�t�h?gj�t��?ga2U0*�3?g��MbX�?r
r)rZrrM�overlapr6r�rt)rIr�X1�X2�published_resultrCr�s       r�test_overlapzTestNormalDist.test_overlap%s ���[�[�+�+�
��C��%�z�#�s�';�W�E��C��%�z�#�s�';�W�E�)�$�B��$�
�"�"�2�:�:�b�>�3C�A�"�N��"�"�2�:�:�b�>�3C�A�"�N�)�,1�A�	2��C��%�z�#�s�';�<��C��%�z�#�s�';�<��C��%�z�#�s�';�<��B��"�J�r�3�$7�8��C��$�j��b�&9�:��D�"�%�z�#�r�':�;��D�"�%�z�$��';�<��C��$�j��b�&9�:��C��$�j��b�&9�:��C��$�j��b�&9�:��C��$�j��b�&9�:��E�5�)�:�e�U�+C�D��E�5�)�:�e�V�+D�E��E�5�)�:�e�U�+C�D�)�F�B��,
�"�"�2�:�:�b�>�?�2�r�3J�ST�"�U��"�"�2�:�:�b�>�?�2�r�3J�ST�"�U�/�4
�L��
�
�
�y�
)�
�I�I�K�*�
�
�
�y�
)�
�I�I�a��O�*�
�
�
�y�
)�
�I�I�d�O�*�
�
�
�t�{�{�:�:�
;�
�I�I�j��A�&�'�<�
�
�
�t�{�{�:�:�
;��q�!��$�$�Q�'�<�
;�*�
)��
)�
)��
)�
)��
;�
;��
;�
;�s<�;L�)L�L�L$�L0�L	�L�L!�$L-�0L9c��|jj}|dd�}|j|jd�d�|j|jd�d�|j|jd�d�|j	t
�5|j�ddd�|j	t
�5|jdd�ddd�|j	t
�5|jd�ddd�|j	|jj�5|dd	�jd�ddd�y#1swY��xYw#1swY��xYw#1swY�hxYw#1swYyxYw)
Nr�r|�gffffff@r�gffffff�rsr
r)rZrrE�zscorer6r�rt)rIrr�s   r�test_zscorezTestNormalDist.test_zscoreds���[�[�+�+�
��s�B���������#���,�������"��t�,�������#���,�
�
�
�y�
)�
�H�H�J�*�
�
�
�y�
)�
�H�H�Q��N�*�
�
�
�y�
)�
�H�H�T�N�*�
�
�
�t�{�{�:�:�
;��q�!��#�#�C�(�<�
;�
*�
)��
)�
)��
)�
)��
;�
;�s0�E�E#�6E/�5E;�E �#E,�/E8�;Fc�T�|jjdd�}|j|jd�|j|jd�|j|j
d�|j|jd�|j|jd�y)Nr�r|��)rZrrEr�r@r�rIr	)rIr�s  r�test_propertieszTestNormalDist.test_propertiesss|���K�K�"�"�3��+���������%�������3�'��������%�������"�%�������S�)rc���|jj}|dd�}|dd�}|j||z|dd��|j||z
|dd��y)Nr�r�rr��rr�)rZrrE�rIrr�r's    r�'test_same_type_addition_and_subtractionz6TestNormalDist.test_same_type_addition_and_subtraction{s_���[�[�+�+�
��s�B����r�1�������Q��
�3�� 3�4�����Q��
�2�r� 2�3rc��|jj}|dd�}d}|j|�|dd��|j||dd��|j||z|dd��|j||z|dd��|j||z
|dd��|j||z
|dd��|j||z|dd	��|j||z|dd	��|j||z|dd
��|jt�5||zddd�y#1swYyxYw)Nr�r|r�r�rri����r&rDr�)rZrrEr6r�)rIrr�r.s    r�test_translation_and_scalingz+TestNormalDist.test_translation_and_scaling�s2���[�[�+�+�
��s�B��������!��Z��R�0�1����!��Z��b�1�2�����Q��
�3�� 3�4�����Q��
�3�� 3�4�����Q��
�2�r� 2�3�����Q��
�3�� 3�4�����Q��
�4�� 5�6�����Q��
�4�� 5�6�����Q��
�2�s� 3�4�
�
�
�y�
)�
��E�*�
)�
)�s�/D>�>Ec���|jj}|dd�}|�}|j||�|j|j|j�|j|j
|j
�|}|j||�|j|j|j�|j|j
|j
�y)Nr�r�)rZr�assertIsNotrEr�rIrSs    r�test_unary_operationsz$TestNormalDist.test_unary_operations�s����[�[�+�+�
��s�B���
�B������A�����������(�������!�'�'�*�
�B������A��������!�&�&��)�������!�'�'�*rc���|jj}|�}|dd�}|�}|dd�}|dd�}|dd�}|j||�|j||�|j||�|j||�|j||�Gd�d�}|�}	|j|j	|	�t
�|j||	k(d�|j|	|k(d�Gd�d|�}
|
d	d
d�}|d	d
�}|j||�Gd�d
�}|d	d
�}
|d	d
�}|j||
�y)Nrr�r�c��eZdZd�Zy)�'TestNormalDist.test_equality.<locals>.Ac��yrCr:)rIr*s  r�__eq__z.TestNormalDist.test_equality.<locals>.A.__eq__�s��rN)r7r8r9r^r:rrr�r\�s��
rr�r�c���eZdZ�fd�Z�xZS)�5TestNormalDist.test_equality.<locals>.SizedNormalDistc�4��t�|�||�||_yrU)r�__init__r)rIrrrr
s    �rrbz>TestNormalDist.test_equality.<locals>.SizedNormalDist.__init__�s����� ��U�+���r)r7r8r9rbrrs@r�SizedNormalDistr`�s
���
�
rrcr�r|�9c��eZdZd�Zy)�3TestNormalDist.test_equality.<locals>.LognormalDistc� �||_||_yrU)rr)rIrrs   rrbz<TestNormalDist.test_equality.<locals>.LognormalDist.__init__�s�����"��
rN)r7r8r9rbr:rr�
LognormalDistrf�s��
#rrh)rZrrerEr^�NotImplemented)rIr�nd1�nd2�nd3�nd4�nd5�nd6r�rrc�srh�lndrs               r�
test_equalityzTestNormalDist.test_equality�s^���[�[�+�+�
��l����A����l����A�����A�����A������C��%�����c�"�����c�"����C��%����C��%�	�	�
�C��������A���7�������2�&�����c��2�&�	�j�	�
�C��R�(����b�!������C� �
	#�	#��C��$��
��R�
 �����B��$rc���|jjdd�}tj|�}|j||�tj|�}|j||�y)N��B@��@)rZr�copyrE�deepcopy)rIrrjrks    r�	test_copyzTestNormalDist.test_copy�sS��
�[�[�
#�
#�D�%�
0���i�i��m������S�!��m�m�B�������S�!rc�D�|jjdd�}ttjdz�D]Y}|j|��5tjtj||���}|j||�ddd��[y#1swY�fxYw)Nrtrur
)�proto)�protocol)	rZrr��pickle�HIGHEST_PROTOCOLr��loads�dumpsrE)rIrrz�pickleds    r�test_picklezTestNormalDist.test_pickle�sx��
�[�[�
#�
#�D�%�
0���6�2�2�Q�6�7�E����E��*� �,�,�v�|�|�B��'G�H��� � ��W�-�+�*�8�*�*�s�=B�B	c��|jj}|dd�|dd�|dd�|dd�|dd�h}|jt|�d�y)Nr�r|rg.@r�rr�)rZrrEra)rI�NDrps   r�test_hashabilityzTestNormalDist.test_hashability�sS��
�[�[�
#�
#��
��R�[�"�U�D�/�2�c�2�;��2�r�
�B�s�B�K�P������Q���#rc�r�|jjdd�}|jt|�d�y)Nrtruz NormalDist(mu=37.5, sigma=5.625))rZrrE�reprrs  r�	test_reprzTestNormalDist.test_repr�s-��
�[�[�
#�
#�D�%�
0������b��#E�FrN)r7r8r9rrrrr(r-r�skip_if_pgo_taskrEr6r:rIrMrPrTrVrYrrrxr�r�r�r:rrr�r�@
s���A�3�,3�**�,%9�N9�<
����W���u�%�?=�&��?=�B@�=(�~
)�*�4�� 
+�*%�X"�.�$�
Grr�c��eZdZeZd�Zd�Zy)�TestNormalDistPythonc�>�|jtjd<yrC�rZrn�modulesrus rr�zTestNormalDistPython.setUp����$(�K�K����L�!rc�2�ttjd<yrC�r;rnr�rus r�tearDownzTestNormalDistPython.tearDown����$.����L�!rN)r7r8r9rGrZr�r�r:rrr�r��s��
�F�0�/rr�rLc��eZdZeZd�Zd�Zy)�TestNormalDistCc�>�|jtjd<yrCr�rus rr�zTestNormalDistC.setUp�r�rc�2�ttjd<yrCr�rus rr�zTestNormalDistC.tearDown�r�rN)r7r8r9rNrZr�r�r:rrr�r��s��
�F�0�/rr�c�N�	|jtj��|SrU)�addTestsrf�DocTestSuite)�loader�tests�ignores   r�
load_testsr��s��0�	�N�N�7�'�'�)�*��Lr�__main__)r�gH�����z>)Urr�rV�collections.abcrvr�rfr"rr|r�rnrP�testr�test.supportrrrr�rr;rrr*r3r5�import_fresh_modulerGrNrDr@rSrqrxr�r�r�r$r3r;rTrcrrryr�r�r�r�r&r9rvr�r�r�r�r�r�rr=rXr\rgrnr�r�r�r�r�rrr rGrPrqr�r�r�r�r�rQr�r�r7�mainr:rr�<module>r�s_����
��������
�
�
���9����
�3�>
� 2)�t$	�$	�V2�
�1�1�,�;H�/�K�
�0�}�0�0��8E��H��
U�(�#�#�
U�XF�h�'�'�XF�~)�x� � �)�;J�h�/�/�;J�|=B�8�,�,�=B�@,�X�.�.�,�>tE�X�.�.�tE�nK�h�/�/�K�8	G�H�-�-�	G�"%�(�+�+�%�ZC�(�#�#�C�,$�x� � �$�
�(�+�+�
�=8�X�&�&�=8�@1)��*�*�1)�h6�8�$�$�6�&a9��"�"�a9�H;-�(�#�#�;-�|&�(�#�#�&�<`/�`/�F'.�'.�T	#�)�+>�	#�7F�o�7F�t
?�_�
?�;K��;K�@9�(�9�(]>���.A�]>�@v(���6I�v(�r65��,�65�r
��*=�
�4�J� 3�4�64�Z�!4�4�6u@�
�u@�p:,���.A�:,�z,�H�%�%�,�A1��!�!�A1�L?:�.�?:�D)-�&��9L�)-�X,-�%��8K�,-�\7�#�_�7�"_k�h�'�'�_k�D9�"�O�9�(fM��)�)�fM�Ra+�H�%�%�a+�H3�h�/�/�3�>&N�8�#4�#4�&N�P%6�8�,�,�%6�N_G�_G�J
/�8�,�,�n�/�����\�#9�:�/�h�'�'��/�;�/���z���H�M�M�O�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists