403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_statistics.cpython-313.opt-2.pyc
�

��i���H�SrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSK
Jr SSKJrJr SSKJr SSKJr SSKrSurr\\-S:HrS	rS
rSrSzSjr"S
S5r\R:"SS/S9r\R:"SS/S9r"SS\R@5r!"SS\R@5r""SS\R@5r#"SS\R@5r$"SS\R@5r%"SS\R@5r&"SS \R@5r'"S!S"\R@5r("S#S$\R@5r)"S%S&\R@5r*"S'S(\R@5r+"S)S*\R@5r,"S+S,\R@5r-"S-S.\R@5r."S/S0\R@5r/"S1S2\R@5r0"S3S4\R@5r1"S5S6\R@5r2"S7S85r3"S9S:5r4"S;S<\3\45r5"S=S>\"5r6"S?S@\"5r7"SASB\"5r8"SCSD\35r9"SESF\"\9\45r:"SGSH\"\9\45r;"SISJ\"\95r<"SKSL\"\45r="SMSN\<\45r>"SOSP\<\45r?"SQSR\<5r@"SSST\"\9\45rA"SUSV\R@5rB"SWSX\R@5rC"SYSZ\35rD"S[S\\D\"\45rE"S]S^\D\"\45rF"S_S`\D\"5rG"SaSb\R@5rH"ScSd\D\"5rI"SeSf\R@5rJ"SgSh\R@5rK"SiSj\R@5rL"SkSl\R@5rM"SmSn\R@5rN"SoSp\R@5rO"SqSr5rP"SsSt\R@\P5rQ\R�"\Su5"SvSw\R@\P55rSSxrT\USy:Xa\R�"5 gg){z_Test suite for statistics module, including helper NumericTestCase and
approx_equal function.

�N)�support)�
import_helper�requires_IEEE_754)�Decimal��Fraction)g��7y�ACg�):��@g��7y�ACc�0�[R"SU5$)N�)�math�copysign��xs �)C:\Python313\\Lib\test\test_statistics.py�signr%s���=�=��A���c�.�[U5[U5Lag[U[5(a3[R"U5=(a [R"U5$UR5SnUR5SnX#:H=(a US;$)NF�)�n�N)�type�
isinstance�floatr�isnan�as_tuple)�a�b�aexp�bexps    r�
_nan_equalr)so��,�A�w�d�1�g����!�U����z�z�!�}�.����A��.��:�:�<��?�D��:�:�<��?�D��L�2�t�z�1�2rc��[[U5[U55n[X-
5nU(aX2-O
[S5nX44$�N�inf)�max�absr)�actual�expected�base�abs_err�rel_errs     r�_calc_errorsr*Hs=���s�6�{�C��M�*�D��&�#�$�G�"�g�l��e��G���rc
��US:dUS:a[S5e[R"U5(d[R"U5(agX:Xag[R"U5(d[R"U5(ag[	X-
5n[X#[[	U5[	U55-5nXE:*$)Nrz%error tolerances must be non-negativeFT)�
ValueErrorrr�isinfr$r#)r�y�tol�rel�actual_error�
allowed_errors      r�approx_equalr3Xs���D�Q�w�#��'��@�A�A��z�z�!�}�}��
�
�1�
�
���v���z�z�!�}�}��
�
�1�
�
���q�u�:�L����S��V�S��V�!4�4�5�M��(�(rc��\rSrSrSrg)�
_DoNothing��N��__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__r7rrr5r5�s��H	rr5�
statistics�_statistics)�blocked)�freshc�R�\rSrSrS/rSr\R"\S5S5r	Sr
g)�TestModules���_normal_dist_inv_cdfc�~�URH-nUR[[U5RS5 M/ g�Nr>)�
func_names�assertEqual�getattr�
py_statisticsr:��self�fnames  r�test_py_functions�TestModules.test_py_functions�s-���_�_�E����W�]�E�:�E�E�|�T�%r�requires _statisticsc�~�URH-nUR[[U5RS5 M/ g)Nr?)rHrIrJ�c_statisticsr:rLs  r�test_c_functions�TestModules.test_c_functions�s-���_�_�E����W�\�5�9�D�D�m�T�%rr7N)r9r:r;r<rHrO�unittest�
skipUnlessrSrTr=r7rrrCrC�s4��(�)�J�U�����'=�>�U�?�UrrCc�H�\rSrSrS=rrS	SjrSrS
Sjr\	S5r
Srg)�NumericTestCase��rNc�*�UcURnUcURn[U[RR
5(a6[U[RR
5(a
URnOURnU"XX4U5 g�N)r/r0r�collections�abc�Sequence�_check_approx_seq�_check_approx_num)rM�first�secondr/r0�msg�checks       r�assertApproxEqual�!NumericTestCase.assertApproxEqual�sp��>�;��(�(�C��;��(�(�C��5�+�/�/�":�":�;�;��6�;�?�?�#;�#;�<�<��*�*�E��*�*�E�
�e�S�s�+rc	��[U5[U5:wa;S[U5[U54-nURXV5nURU5e[[	X55Hunup�URX�X4XW5 M g)Nz0sequences differ in length: %d items != %d items)�len�_formatMessage�failureException�	enumerate�zipra)
rMrbrcr/r0rd�standardMsg�ir�es
          rr`�!NumericTestCase._check_approx_seqs~���u�:��V��$�B��u�:�s�6�{�+�,�
��%�%�c�7�C��'�'��,�,�!�#�e�"4�5�H�A�u���"�"�1��3�:�6rc��[XX45(agURXX4U5nURXW5nURU5er\)r3�_make_std_err_msgrjrk)rMrbrcr/r0rd�idxrns        rra�!NumericTestCase._check_approx_numsG����s�0�0���,�,�U�C�c�J���!�!�#�3���#�#�C�(�(rc�H�SnUb	SU-nXe-n[X5upxXPXX7U4-$)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*)	rbrcr/r0rt�template�headerr(r)s	         rrs�!NumericTestCase._make_std_err_msgsD��

'�	��?�D�s�J�F��(�H�'��6����&�s�W�E�E�Err7)NNNr\)r9r:r;r<r/r0rfr`ra�staticmethodrsr=r7rrrYrY�s8���M�C�#�:>�*,�X	;�)��F��FrrYc��\rSrSrSrSrg)�TestSigni/c�p�UR[S5S5 UR[S5S5 g)N�r
�����)rIr�rMs r�
testZeroes�TestSign.testZeroes1s*������c��B�'�����d��R�(rr7N)r9r:r;r<r�r=r7rrr|r|/s��)rr|c�,�\rSrSrSrSrSrSrSrg)�ApproxEqualSymmetryTesti9c��SSS[S5[SS5/nSSS	[S
5[SS5/n[X5Hup4URX45 M g)Ni�	gfffff�B@gfffff�(�z2.54��6i�	g������B@gR����(�z2.59�)rrrm�do_relative_symmetry)rM�args1�args2rrs     r�test_relative_symmetry�.ApproxEqualSymmetryTest.test_relative_symmetry<sY���t�V�W�V�_�h�r�2�6F�G���t�V�W�V�_�h�r�2�6F�G����%�D�A��%�%�a�+�&rc	���[X5[X5p!X!-
n[X1-5[X2-5pTXE-S-nUR[	XSUS95 UR[	X!SUS95 g)Nrr�r/r0)�minr#r$�
assertTruer3)rMrr�delta�rel_err1�rel_err2r0s       rr��,ApproxEqualSymmetryTest.do_relative_symmetryLsd���1�y�#�a�)�1���� ���\�3�u�w�<�(��"�A�%��	
����Q�q�c�:�;�����Q�q�c�:�;rc	���/SQnSnUH�n[[[[4H�nU"U5S-nXR-n[	U[XV5-5nUR
XVX'S9 UR
XVUS-SU-S9 UR
XVUS-
US-S9 UR
XVX'S-S9 UR
XVUS-
US9 UR
XVUS-
SU-S9 UR
XUSSS9 UR
XVSSS9 M� M� g)N)i�������ki�mr�dr�r
r)�intrrrr$r#�do_symmetry_test)rM�argsr�r�type_rr.�rs        r�
test_symmetry�%ApproxEqualSymmetryTest.test_symmetryXs��'�����A��u�g�x�8���!�H�S�L���I����c�!�i��(���%�%�a��%�=��%�%�a��a��Q�q�S�%�A��%�%�a��a��Q�q�S�%�A��%�%�a��Q�3�%�?��%�%�a��a��Q�%�?��%�%�a��a��Q�q�S�%�A��%�%�a��q�%�9��%�%�a��q�%�9�#9�rc
�~�Sn[XX45n[X!X45nURXgURXX4455 g)Nz+approx_equal comparisons don't match for %r)r3rI�format)rMrrr/r0rw�flag1�flag2s        rr��(ApproxEqualSymmetryTest.do_symmetry_testps=��@���Q�3�,���Q�3�,������x����c�7G�'H�Irr7N)	r9r:r;r<r�r�r�r�r=r7rrr�r�9s��,� 
<�:�0Jrr�c�J�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
g)
�ApproxEqualExactTestiwc��[XX#S9nURUSU-5 [U*U*X#S9nURUSU*-5 g)Nr�zequality failure for x=%r)r3r�)rMrr/r0�results     r�do_exactly_equal_test�*ApproxEqualExactTest.do_exactly_equal_test}sJ���a��5������ ;�a� ?�@��q�b�1�"�#�7������ ;�q�b� @�Arc�<�SHnURUSS5 M g)N)�*iMi~:��iiU�
i�r�r��rMrs  r�test_exactly_equal_ints�,ApproxEqualExactTest.test_exactly_equal_ints�s��=�A��&�&�q�!�Q�/�>rc�<�SHnURUSS5 M g)N)g�z�G��?g/�$���?g�����e�@g7@gpf@g!�rh��Q@gB`��"KB@rr��rMrs  r�test_exactly_equal_floats�.ApproxEqualExactTest.test_exactly_equal_floats�s��E�A��&�&�q�!�Q�/�Frc	��[nU"SS5U"S5U"SS5U"SS5U"SS	5U"SS54HnURUSS5 M g)
Nr
rrr���	��#�$)rr��rM�F�fs   r�test_exactly_equal_fractions�1ApproxEqualExactTest.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�x�[n[USR55HnURUSS5 M g)Nz8.2 31.274 912.04 16.745 1.2047r)r�map�splitr�)rM�D�ds   r�test_exactly_equal_decimals�0ApproxEqualExactTest.test_exactly_equal_decimals�s5�����Q�9�?�?�A�B�A��&�&�q�!�Q�/�Crc��SHKnURUSS5 URUS-SS5 [US5nURUSS5 MM g)N)��i\i�����{�G�z�?r�
i�)r�r)rMrr�s   r�test_exactly_equal_absolute�0ApproxEqualExactTest.test_exactly_equal_absolute�sR��/�A��&�&�q�$��2��&�&�q��t�T�1�5���D�!�A��&�&�q�$��2�0rc��UR[S5[S5S5 UR[S5*[S5S5 g)Nz3.571�0.01rz81.3971)r�rr�s r�$test_exactly_equal_absolute_decimals�9ApproxEqualExactTest.test_exactly_equal_absolute_decimals�s;���"�"�7�7�#3�W�V�_�a�H��"�"�G�I�$6�#6�����Krc��SSS[SS54HnURUSS5 M UR[S5S[S	55 g)
Ni� g33333SY@g�z�G�r��rr�z11.68r��rr�rr�s  r�test_exactly_equal_relative�0ApproxEqualExactTest.test_exactly_equal_relative�sH����x��!�R��9�A��&�&�q�!�T�2�:��"�"�7�7�#3�Q����Hrc��SSS[SS54HnURUSS5 M [nURU"S5U"S	5U"S
55 g)Ni9�gˡE��0@g\��(h��r��皙�����?r�z7.2z0.1r�r�)rMrr�s   r�test_exactly_equal_both�,ApproxEqualExactTest.test_exactly_equal_both�sP�����(�1�a�.�9�A��&�&�q�#�t�4�:����"�"�1�U�8�Q�u�X�q��y�Arr7N)r9r:r;r<r�r�r�r�r�r�r�r�r�r=r7rrr�r�ws3��B�0�
0�
0�0�	3�L�
I�Brr�c�2�\rSrSrSrSrSrSrSrSr	g)	�ApproxEqualUnequalTesti�c�`�X*4H&n[X"S-SSS9nURUSU-5 M( g)Nr
rr�zinequality failure for x=%r)r3�assertFalse)rMrrr�s    r�do_exactly_unequal_test�.ApproxEqualUnequalTest.do_exactly_unequal_test�s8���R��A�!�!�q�S�a�Q�7�F����V�%B�Q�%F�G�rc�8�SHnURU5 M g)N)�i��i�i�iXC�r�r�s  r�test_exactly_unequal_ints�0ApproxEqualUnequalTest.test_exactly_unequal_ints�s��/�A��(�(��+�0rc�8�SHnURU5 M g)N)g��Q�#@g����[�@gfffff�G@gףp=
W"@g=
ףp=1@r�r�s  r�test_exactly_unequal_floats�2ApproxEqualUnequalTest.test_exactly_unequal_floats�s��3�A��(�(��+�4rc��[nU"SS5U"SS5U"SS5U"SS54HnURU5 M g)	Nr
r�r�r����eiς)rr�r�s   r�test_exactly_unequal_fractions�5ApproxEqualUnequalTest.test_exactly_unequal_fractions�s@�����A�q�'�1�Q��7�A�b�"�I�q��e�}�=�A��(�(��+�>rc�p�[[SR55HnURU5 M g)Nz!3.1415 298.12 3.47 18.996 0.00245)r�rr�r��rMr�s  r�test_exactly_unequal_decimals�4ApproxEqualUnequalTest.test_exactly_unequal_decimals�s,���W�A�G�G�I�J�A��(�(��+�Krr7N)
r9r:r;r<r�r�r�r�r�r=r7rrr�r��s��H�
,�
,�
,�,rr�c�t�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrg)�ApproxEqualInexactTesti�c
��SnX-X-
4HPnURX5nUR[XSU-SS9U5 UR[XUS-SS9U5 MR g)N�Test failure for x={!r}, y={!r}rrr��r�r�r3r��rMrr�rwr.rds      r�do_approx_equal_abs_test�/ApproxEqualInexactTest.do_approx_equal_abs_test�s`��4���)�Q�Y�'�A��/�/�!�'�C��O�O�L��1�U�7��B�C�H����\�!�E�!�G��C�S�I�(rc�^�SH'nURUS5 URUS5 M) g)N)i��iI���i����r�rr
r��%i�i�&i6�jr�r�rr�s  r�test_approx_equal_absolute_ints�6ApproxEqualInexactTest.test_approx_equal_absolute_ints�s-��J�A��)�)�!�R�0��)�)�!�Q�/�Krc��SH9nURUS5 URUS5 URUS5 M; g)N)	g�t��q�gfffffFX�g333333�g333333���?��?�333333@g�Q���@g�����ҭ@��?r��-C��6?rr�s  r�!test_approx_equal_absolute_floats�8ApproxEqualInexactTest.test_approx_equal_absolute_floats�s=��L�A��)�)�!�S�1��)�)�!�T�2��)�)�!�V�4�Mrc��[SS5n/SQnSU5H/nURX15 URU[U55 M1 g)Nr
�)i������r�r�rr
r�r���"�Gc3�:# �UHn[US5v� M g7f)rNr)�.0rs  r�	<genexpr>�NApproxEqualInexactTest.test_approx_equal_absolute_fractions.<locals>.<genexpr>�s���6�:�a�(�1�b�/�/�:�s�)rrr)rMr��
numeratorsr�s    r�$test_approx_equal_absolute_fractions�;ApproxEqualInexactTest.test_approx_equal_absolute_fractions�sC����B���@�
�6�:�6�A��)�)�!�3��)�)�!�U�5�\�:�7rc��[S5n[[SR55H'nURX!5 URU*U5 M) g)Nr�z1.0 3.5 36.08 61.79 7912.3648)rr�r�r)rMr�r�s   r�#test_approx_equal_absolute_decimals�:ApproxEqualInexactTest.test_approx_equal_absolute_decimals�sG�������W�=�C�C�E�F�A��)�)�!�3��)�)�1�"�e�4�Grc	�:�UR[SSSSS95 g)Ng�h㈵��>g�h㈵��rrr�)r�r3r�s r�test_cross_zero�&ApproxEqualInexactTest.test_cross_zero�s������T�5�d��B�Crc
���SnUSU--USU-
-4HPnURX5nUR[XSSU-S9U5 UR[XSUS-S9U5 MR g)Nr�r
rrr�r�r�s      r�do_approx_equal_rel_test�/ApproxEqualInexactTest.do_approx_equal_rel_testsl��4���Q�u�W�+�q�!�E�'�{�+�A��/�/�!�'�C��O�O�L��1�!�E�'�B�C�H����\�!�A�5��7�C�S�I�,rc	��UR[SSSSS95 UR[SSSSS95 UR[SSSS	S95 UR[S
SSS	S95 UR[SSSS	S95 g)N�@�/rg
ףp=
�?r�g�G�z��?i�i��?i�i�)r�r3r�r�s r�test_approx_equal_relative_ints�6ApproxEqualInexactTest.test_approx_equal_relative_intssw������R����=�>�����R����=�>�����S�#�1�%�@�A�����S�#�1�%�@�A�����c�3�A�5�A�Brc�^�SH'nURUS5 URUS5 M) g)N)g{�G�Jf�皙������r�r	g\��(|B@g��ʡE>�@g��x��@�{�G�z�?r)r#r�s  r�!test_approx_equal_relative_floats�8ApproxEqualInexactTest.test_approx_equal_relative_floatss-��E�A��)�)�!�T�2��)�)�!�V�4�Frc���[n[SS5nU"SS5U"SS5U"SS5U"SS	54H;nU[U54H'nURX45 URU*U5 M) M= g)
Nr�r��Tr���1�2�\�U)rrr#)rMr�r�r�r�s     r�$test_approx_equal_relative_fractions�;ApproxEqualInexactTest.test_approx_equal_relative_fractionssp������A����A�r�(�A�b�"�I�q��R�y�!�B��)�<�A��U�5�\�*���-�-�a�3��-�-�q�b�!�4�+�=rc��[[SR55H:nURU[S55 URU*[S55 M< g)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_decimals�:ApproxEqualInexactTest.test_approx_equal_relative_decimals$sI���W�D�J�J�L�M�A��)�)�!�W�W�-=�>��)�)�1�"�g�f�o�>�Nrc	�0�U(aUROURnU"[XUSS95 U(aUROURnU"[XSUS95 U(dU(aUROURnU"[XX4S95 g)Nrr�)r�r�r3)rMrrr/r0�tol_flag�rel_flagres        r�
do_check_both�$ApproxEqualInexactTest.do_check_both2sn��#+�����1A�1A��
�l�1�S�a�0�1�#+�����1A�1A��
�l�1�Q�C�0�1�$,�����t�?O�?O��
�l�1�S�2�3rc�\�URSSSSSS5 URSSSS	SS5 g)
N�R����@�+���@���Mbp?���W�8?Tg?5^�I��g%��C�����Mb`?g-C��6*?�rAr�s r�test_approx_equal_both1�.ApproxEqualInexactTest.test_approx_equal_both1:s2�����5�%����d�C����6�6�5�&�$��Erc�0�URSSSSSS5 g)NrDrErFgV�F�?8?TFrIr�s r�test_approx_equal_both2�.ApproxEqualInexactTest.test_approx_equal_both2?s�����5�%����e�Drc�0�URSSSSSS5 g)NrDrE���MbP?rGFTrIr�s r�test_approx_equal_both3�.ApproxEqualInexactTest.test_approx_equal_both3Cs�����5�%����t�Drc�\�URSSSSSS5 URSSSS	SS5 g)
Ng=
ףp=@�@r�rPFg�Q��[�@g�(\��[�@r-giUMu�>rIr�s r�test_approx_equal_both4�.ApproxEqualInexactTest.test_approx_equal_both4Gs2�����4��t�U�E�5�A����6�6�4��u�e�Drr7N)r9r:r;r<rrr
rrr r#r)r.r7r<rArJrMrQrUr=r7rrr�r��sZ��J�0�5�;�5�D�J�C�5�5�?�4�F�
E�E�Err�c�,�\rSrSrSrSrSrSrSrg)�ApproxEqualSpecialsTestiMc	��[[4H�nU"S5nUR[X"55 UR[X"SS55 UR[X"SS55 UR[U*U*55 UR	[X"*55 UR	[US55 M� g)Nr"rr
r���)rrr�r3r�)rMr�r"s   r�test_inf� ApproxEqualSpecialsTest.test_infPs����W�%�E���,�C��O�O�L��2�3��O�O�L��1�a�8�9��O�O�L��1�d�;�<��O�O�L�#���t�4�5����\�#�t�4�5����\�#�t�4�5�&rc��[[4H6nU"S5nX!"S5S4HnUR[X#55 M M8 g)N�nanr"rZ)rrr�r3)rMr�r^�others    r�test_nan� ApproxEqualSpecialsTest.test_nanZsB���W�%�E���,�C��u�U�|�T�2��� � ��c�!9�:�3�&rc	�h�[R"SS5nUR[USSSS95 g)Nr~r�r�r�)rrr�r3�rM�nzeros  r�test_float_zeroes�)ApproxEqualSpecialsTest.test_float_zeroes`s)���
�
�c�2�&������U�C�S�c�B�Crc	�b�[S5nUR[U[S5SSS95 g)Nz-0.0rr�r�)rr�r3rcs  r�test_decimal_zeroes�+ApproxEqualSpecialsTest.test_decimal_zeroesds&����������U�G�A�J�C�S�I�Jrr7N)	r9r:r;r<r[r`rerhr=r7rrrXrXMs��6�;�D�KrrXc� �\rSrSrSrSrSrg)�TestApproxEqualErrors�ic�@�UR[[SSSS5 g)Nr�r�r���assertRaisesr,r3r�s r�test_bad_tol�"TestApproxEqualErrors.test_bad_tolls�����*�l�C��b�#�Frc�@�UR[[SSSS5 g)Nr�r
r,rnr�s r�test_bad_rel�"TestApproxEqualErrors.test_bad_relps�����*�l�C��a��Frr7N)r9r:r;r<rprsr=r7rrrkrkis��G�Grrkc�2�\rSrSrSrSrSrSrSrSr	g)	�TestNumericTestCaseizc�|�[R"U6nUR"U6nUHnURXB5 M gr\)rYrs�generate_substrings�assertIn)rMr��
actual_msgr&�	substrings     r�do_test�TestNumericTestCase.do_test�s8��$�6�6��=�
��+�+�T�2��!�I��M�M�)�0�"rc�^�UR[[[R55 gr\)r��
issubclassrYrV�TestCaser�s r� test_numerictestcase_is_testcase�4TestNumericTestCase.test_numerictestcase_is_testcase�s�����
�?�H�4E�4E�F�Grc�*�SnURU5 g)N)�@�@r��?N�r|�rMr�s  r�test_error_msg_numeric�*TestNumericTestCase.test_error_msg_numeric�s��*�����T�rc�*�SnURU5 g)N)�@g� @g�?rr�r�r�s  r�test_error_msg_sequence�+TestNumericTestCase.test_error_msg_sequence�s��)�����T�rc�r�[X5upgSU-SU-SU-SU-/nUbURSU-5 U$)Nztol=%rzrel=%rzabsolute error = %rzrelative error = %rzdiffer at index %d)r*�append)	rMrbrcr/r0rtr(r)�
substringss	         rrx�'TestNumericTestCase.generate_substrings�sU��'��6����3���3��%��/�%��/�	�
��?����2�S�8�9��rr7N)
r9r:r;r<r|r�r�r�rxr=r7rrrvrvzs��1�H��
�
rrvc�,�\rSrSr\rSS/rSrSrSr	g)�GlobalsTesti��__doc__�__all__c�|�URH,nUR[URU5SU-5 M. g)Nz%s not present)�expected_metadatar��hasattr�module)rM�metas  r�	test_meta�GlobalsTest.test_meta�s3���*�*�D��O�O�G�D�K�K��6�,�t�3�
5�+rc���URnURHEnURURS5SU-5 UR	[X5SU-5 MG g)N�_zprivate name "%s" in __all__zmissing name "%s" in __all__)r�r�r��
startswithr�r�)rMr��names   r�test_check_all�GlobalsTest.test_check_all�sY�������N�N�D����T�_�_�S�1�;�d�B�
D�
�O�O�G�F�1�:�T�A�
C�#rr7N)
r9r:r;r<r>r�r�r�r�r=r7rrr�r��s��
�F�"�I�.��5�	Crr�c��\rSrSrSrSrg)�StatisticsErrorTesti�c���SnUR[[S55 UR[[R[
5U[RR-5 g)NzNExpected StatisticsError to be a ValueError, but got a subclass of %r instead.�StatisticsError)r�r�r>rr�r,�__base__)rM�errmsgs  r�test_has_exception�&StatisticsErrorTest.test_has_exception�sR��+�	�	
����
�,=�>�?�����:�5�5�z�B���3�3�<�<�<�	rr7N)r9r:r;r<r�r=r7rrr�r��s��	rr�c�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�ExactRatioTesti�c�f�SH+nUR[R"U5US45 M- g)N)������rr��cl F�x:^Vr
)rIr>�_exact_ratio)rMros  r�test_int�ExactRatioTest.test_int�s+��,�A����Z�4�4�Q�7�!�Q��@�-rc��SnUH7n[US5nUR[R"U5US45 M9 g)N)���r
r��&r)rrIr>r�)rMrrr�s    r�
test_fraction�ExactRatioTest.test_fraction�s;��$�
��A���B��A����Z�4�4�Q�7�!�R��A�rc�p�UR[R"S5S5 UR[R"S5S5 [S5Vs/sHn[R
"SS5PM nnUH/n[R"U5upEURX4U-5 M1 gs snf)Nr(�r
r���?)r�r�r����)rIr>r��range�random�uniform)rMr��datar�num�dens      r�
test_float�ExactRatioTest.test_float�s�������0�0��7��@�����0�0��7��@�38��:�>�:�a����t�S�)�:��>��A�!�.�.�q�1�H�C����Q�C��(���?s�!B3c���[n[RnURU"U"S55S5 URU"U"S55S5 URU"U"S55S5 g)Nz0.125r�z12.345)i�	��z-1.98)i����r4)rr>r�rI)rMr�r�s   r�test_decimal�ExactRatioTest.test_decimal�s]����!�.�.������a��j�1�6�:�����a��k�2�K�@�����a��j�1�9�=rc��[S5n"SS[5n"SS[5nX*4H�n[U[U4HznU"U5n[R"U5nUR	XvS45 UR	[US5U5 UR
[R"US55 M| M� g)N�INFc��\rSrSrSrg)�(ExactRatioTest.test_inf.<locals>.MyFloati�r7Nr8r7rr�MyFloatr�����rr�c��\rSrSrSrg)�*ExactRatioTest.test_inf.<locals>.MyDecimali�r7Nr8r7rr�	MyDecimalr��r�rr�r)	rrr>r�rIrr�rr-)rMr�r�r�r"r�r�ratios        rr[�ExactRatioTest.test_inf�s����E�l��	�e�	�	��	���;�C���'�9�=���#�J��"�/�/��2��� � ��D�	�2�� � ��e�A�h���7�����
�
�5��8� 4�5�>�rc�L�[S5n"SS[5nX"U54H}n[R"U5nUR[R
"US55 UR
USS5 UR[US5[U55 M g)N�NANc��\rSrSrSrg)�.ExactRatioTest.test_float_nan.<locals>.MyFloati�r7Nr8r7rrr�r��r�rr�rr
)	rr>r�r�rr�assertIsrIr)rMr�r�r^r�s     r�test_float_nan�ExactRatioTest.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�\�[S5n[S5n"SS[5nX"U5X#"U54Hsn[R"U5nUR[	USU55 URUSS5 UR
[US5[U55 Mu g)Nr��sNANc��\rSrSrSrg)�2ExactRatioTest.test_decimal_nan.<locals>.MyDecimalir7Nr8r7rrr�r�r�rr�rr
)rr>r�r�rr�rIr)rMr�r�r�r^r�s      r�test_decimal_nan�ExactRatioTest.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�	@rr7N)r9r:r;r<r�r�r�r�r[r�r�r=r7rrr�r��s'��A�B�)�>�6�8�	8rr�c�8�\rSrSrSrSrSrSrSrSr	Sr
g	)
�DecimalToRatioTestic��[S5nUR[R"U5US45 UR[R"U*5U*S45 g)Nr�)rrIr>r�)rMr"s  r�
test_infinity� DecimalToRatioTest.test_infinitysM���e�n������0�0��5��T�{�C�����0�0�#��6�#��t��Erc���[S5[S54HGn[R"U5up#UR[	X!55 URUS5 MI g)Nr�r�)rr>r�r�rr�)rMr^r�r�s    rr`�DecimalToRatioTest.test_nansL���E�N�G�F�O�4�C�!�.�.�s�3�H�C�
�O�O�J�s�0�1��M�M�#�t�$�
5rc�4�[S5[S5/nUH|n[R"U5up4URUS5 UR	US5 [R"U*5up4URUS5 UR	US5 M~ g)Nz	9.8765e12z
9.8765e-12r)rr>r��assertGreaterEqual�
assertGreater�assertLessEqual)rM�numbersr�r�r�s     r�	test_sign�DecimalToRatioTest.test_signs����;�'���)>�?���A�"�.�.�q�1�H�C��#�#�C��+����s�A�&�!�.�.��r�2�H�C�� � ��a�(����s�A�&�rc�f�[R"[S55nURUS5 g)Nz0.1234)rl��r>r�rrI�rM�ts  r�test_negative_exponent�)DecimalToRatioTest.test_negative_exponent-s'���#�#�G�H�$5�6������K�(rc�f�[R"[S55nURUS5 g)Nz1.234e7)i K�r
r�r�s  r�test_positive_exponent�)DecimalToRatioTest.test_positive_exponent2s'���#�#�G�I�$6�7������M�*rc���[R"[S55nURUS5 [R"[S55nURUS5 g)N�1e2)r�r
z1.47e5)i8>r
r�r�s  r�test_regression_20536�(DecimalToRatioTest.test_regression_205367sM��
�#�#�G�E�N�3������H�%��#�#�G�H�$5�6������K�(rr7N)r9r:r;r<r�r`r�r�r�r�r=r7rrr�r�s!��F�%�'�)�
+�
)rr�c�&�\rSrSrSrSrSrSrg)�IsFiniteTesti@c��S[SS5S[S54H(nUR[R"U55 M* g)Nr�r
r�r��5.5)rrr�r>�	_isfiniter�s  r�test_finite�IsFiniteTest.test_finiteCs6���X�a��^�S�'�%�.�9�A��O�O�J�0�0��3�4�:rc��[S5[S54H(nUR[R"U55 M* gr!�rrr�r>rr�s  rr��IsFiniteTest.test_infinityHs2����,����/�A����Z�1�1�!�4�5�0rc��[S5[S5[S54H(nUR[R"U55 M* g�Nr^r�r�rr�s  rr`�IsFiniteTest.test_nanMs9����,�������@�A����Z�1�1�!�4�5�Arr7N)r9r:r;r<rr�r`r=r7rrr�r�@s��5�
6�
6rr�c�V�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rg)�
CoerceTestiSc��[[[[4HdnUR	[
R"U[5U5 "SSU5nUR	[
R"U[5U5 Mf g)Nc��\rSrSrSrg)�%CoerceTest.test_bool.<locals>.MyClassinr7Nr8r7rr�MyClassrn���drr)r�rrrr�r>�_coerce�bool)rM�Trs   r�	test_bool�CoerceTest.test_boolhsU���u�h��0�A��M�M�*�,�,�Q��5�q�9�"�!�"��M�M�*�,�,�W�d�;�W�E�1rc��UR[R"X5U5 UR[R"X!5U5 gr\)r�r>r�rM�A�Bs   r�assertCoerceTo�CoerceTest.assertCoerceToqs4���
�
�j�(�(��.��2��
�
�j�(�(��.��2rc��URX5 "SSU5nURX25 "SSU5nURX5 URX45 g)Nc��\rSrSrSrg)�/CoerceTest.check_coerce_to.<locals>.SubclassOfAi{r7Nr8r7rr�SubclassOfAr{rrr c��\rSrSrSrg)�/CoerceTest.check_coerce_to.<locals>.SubclassOfBi~r7Nr8r7rr�SubclassOfBr"~rrr#)r)rMrrr r#s     r�check_coerce_to�CoerceTest.check_coerce_tovsL��	
���A�!�"�!�"����K�+�"�!�"����A�+����K�5rc��UR[[RX45 UR[[RX!45 gr\)ro�	TypeErrorr>rrs   r�assertCoerceRaises�CoerceTest.assertCoerceRaises�s6�����)�Z�%7�%7�!��@����)�Z�%7�%7�!��@rc�0�UR[R"X5U5 "SSU5n"SSU5n"SSU5nX#U4HnURX5 M URX$5 UR	X#5 UR	X45 g)Nc��\rSrSrSrg)�*CoerceTest.check_type_coercions.<locals>.Ui�r7Nr8r7rr�Ur,����Drr-c��\rSrSrSrg)�*CoerceTest.check_type_coercions.<locals>.Vi�r7Nr8r7rr�Vr0�r.rr1c��\rSrSrSrg)�*CoerceTest.check_type_coercions.<locals>.Wi�r7Nr8r7rr�Wr3�r.rr4)r�r>rrr()rMrr-r1r4�typs      r�check_type_coercions�CoerceTest.check_type_coercions�s{��	
�
�
�j�(�(��.��2�����������!�9�C�����'�����A�!�����%�����%rc��UR[5 [[[4HnUR[U5 M gr\)r6r�rrrr$)rMr5s  rr��CoerceTest.test_int�s1���!�!�#�&��8�W�-�C�� � ��c�*�.rc�b�UR[5 UR[[5 gr\)r6rr$rr�s rr��CoerceTest.test_fraction�s ���!�!�(�+����X�u�-rc�.�UR[5 gr\)r6rr�s rr��CoerceTest.test_decimal�s���!�!�'�*rc�.�UR[5 gr\)r6rr�s rr��CoerceTest.test_float�s���!�!�%�(rc��[[[S5[[4H1n[
[[[4HnURX!5 M M3 gr\)
�str�listr�tuple�dictr�rrrr()rM�bad_type�	good_types   r�test_non_numeric_types�!CoerceTest.test_non_numeric_types�s<���d�D��J��t�<�H�!�5�(�G�<�	��'�'�	�<�=�=rc��[[4H:n"SSU5nURU[5 URU[5 M< g)Nc��\rSrSrSrg)�6CoerceTest.test_incompatible_types.<locals>.MySubclassi�r7Nr8r7rr�
MySubclassrK�s��rrL)rrr(r)rMrrLs   r�test_incompatible_types�"CoerceTest.test_incompatible_types�s9����"�A�%�Q�%��#�#�A�w�/��#�#�J��8�#rr7N)r9r:r;r<rrr$r(r6r�r�r�r�rGrMr=r7rrrrSs;��*F�3�

6�A�
&� +�.�
+�)�=�
9rrc�D�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rg)�ConvertTestr�c�n�URX5 UR[U5[U55 gr\)rIr�r�rMrr.s   r�check_exact_equal�ConvertTest.check_exact_equal�s&��������
�
�d�1�g�t�A�w�'rc��[R"[S5[5nUR	US5 "SS[5n[R"[S5U5nUR	X"S55 g)Nrc��\rSrSrSrg)�#ConvertTest.test_int.<locals>.MyInti�r7Nr8r7rr�MyIntrW�s��$rrXr�)r>�_convertrr�rS)rMrrXs   rr��ConvertTest.test_int�sZ��������c�2�����q�"�%��C��������e�4�����q�%��)�,rc��[R"[SS5[5nURU[SS55 "SS[5n[R"[SS5U5nURX"SS55 g)N�_r�c�(^�\rSrSrU4SjrSrU=r$)�-ConvertTest.test_fraction.<locals>.MyFractionr�c�@>�UR[TU]	U55$r\��	__class__�super�__truediv__�rMr_ras  �rrc�9ConvertTest.test_fraction.<locals>.MyFraction.__truediv__������~�~�e�g�&9�%�&@�A�Arr7�r9r:r;r<rcr=�
__classcell__�ras@r�
MyFractionr^�����
B�
Brrjr�
)r>rYrrS)rMrrjs   rr��ConvertTest.test_fraction�sr�������R� 0�(�;�����q�(�2�r�"2�3�	B��	B�
�����R� 0�*�=�����q�*�R��"4�5rc��[R"[SS5[5nUR	US5 "SS[5n[R"[SS5U5nUR	X"S55 g)	Nr�rg�c�(^�\rSrSrU4SjrSrU=r$)�'ConvertTest.test_float.<locals>.MyFloati�c�@>�UR[TU]	U55$r\r`rds  �rrc�3ConvertTest.test_float.<locals>.MyFloat.__truediv__�rfrr7rgris@rr�rp�rkrr�r�r�r�)r>rYrrrS)rMrr�s   rr��ConvertTest.test_float�sf�������Q���7�����q�$�'�	B�e�	B�
�����A���8�����q�'�%�.�1rc��[R"[SS5[5nUR	U[S55 "SS[5n[R"[SS5U5nUR	X"S55 g)	Nr
�(z0.025c�(^�\rSrSrU4SjrSrU=r$)�+ConvertTest.test_decimal.<locals>.MyDecimali�c�@>�UR[TU]	U55$r\r`rds  �rrc�7ConvertTest.test_decimal.<locals>.MyDecimal.__truediv__�rfrr7rgris@rr�rw�rkrr�rr�z-0.9375)r>rYrrrS)rMrr�s   rr��ConvertTest.test_decimal�sm�������B���9�����q�'�'�"2�3�	B��	B�
�����b� 1�9�=�����q�)�I�"6�7rc��[S5[S54H?nX*4H4n[R"U[	U55nURX25 M6 MA gr!)rrr>rYrrS)rMr�r"rs    rr[�ConvertTest.test_inf�sK���%�L�'�%�.�1�C��T�{���'�'��T�#�Y�7���&�&�q�.�#�2rc���[S5[S5[S54H=n[R"U[	U55nUR[
X!55 M? gr	)rrr>rYrr�r)rMr^rs   rr`�ConvertTest.test_nan�sG���%�L�'�%�.�'�&�/�B�C��#�#�C��c��3�A��O�O�J�q�.�/�Crc��UR[5 [R"S[5 SSS5 g!,(df   g=fr\)ror'r>rYrr�s r�test_invalid_input_type�#ConvertTest.test_invalid_input_type�s,��
�
�
�y�
)�����e�,�*�
)�
)�s	�;�
A	r7N)
r9r:r;r<rSr�r�r�r�r[r`r�r=r7rrrPrP�s*��(�
-�6�2�8�/�0�
-rrPc�&�\rSrSrSrSrSrSrg)�FailNegTestr�c��SS[S5[S5/n[[R"U55nURX5 g�Nr
�@r�r�)rrrBr>�	_fail_negrI)rM�values�news   r�test_pass_through�FailNegTest.test_pass_through�s;���S�(�1�+�w�q�z�2���:�'�'��/�0������%rc��SS[S5[S54HBnU*/n[R"U5nUR	[R
[U5 MD gr�)rrr>r�ror��next)rMr�seq�its    r�test_negatives_raise� FailNegTest.test_negatives_raise�sN���S�(�1�+�w�q�z�2�A��2�$�C��%�%�c�*�B����j�8�8�$��C�3rc�"�S[R"SS5-n[[R"S/U55 URS5 URWU5 g![RanURSnSnAN;SnAff=f)Nzbadness #%d�'i��r�z(expected exception, but it didn't happenr)	r��randintr�r>r��failr�r�rI)rMrdrpr�s    r�test_error_msg�FailNegTest.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�5B	�	Br7N)r9r:r;r<r�r�r�r=r7rrr�r��s��&�D�	&rr�c�P�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
Srg
)�UnivariateCommonMixinic�D�UR[UR5 gr\�ror'�funcr�s r�test_no_args�"UnivariateCommonMixin.test_no_argss�����)�T�Y�Y�/rc��/S[/54H.nUR[RURU5 M0 g)Nr7)�iterror>r�r�)rM�emptys  r�test_empty_data�%UnivariateCommonMixin.test_empty_datas3���"�d�2�h�'�E����j�8�8�$�)�)�U�K�(rc��[[S55nU[U5:Xa'[R"U5 U[U5:XaM'U$�Nr��rBr��sortedr��shuffle�rMr�s  r�prepare_data�"UnivariateCommonMixin.prepare_datas:���E�"�I����f�T�l�"��N�N�4� ��f�T�l�"��rc�t�UR5nUSSnURU5nURXS5 g)Nzdata has been modified)r�r��assertListEqual)rMr��savedr�s    r�test_no_inplace_modifications�3UnivariateCommonMixin.test_no_inplace_modifications&s9��� � �"���Q����I�I�d�O�����T�*B�Crc��/SQS-nURU5n[R"U5 URU5nURX#5 g)N)r
rr�r�r�r�r��r�)r�r�r�rI)rMr�r&r%s    r�test_order_doesnt_matter�.UnivariateCommonMixin.test_order_doesnt_matter0sB��(��+���9�9�T�?�����t�����4�������*rc��"SS[5n"SS[5nSnUR5nURU5n[[[XU4H+nURU"U55nURXu5 M- g)Nc��\rSrSrSrg)�BUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyListi?r7Nr8r7rr�MyListr�?r�rr�c��\rSrSrSrg)�CUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyTupleiAr7Nr8r7rr�MyTupler�Ar�rr�c��SU5$)Nc3�$# �UHov� M g7fr\r7)r�objs  rr�XUnivariateCommonMixin.test_type_of_data_collection.<locals>.generator.<locals>.<genexpr>Ds���(�4�C�C�4�s�r7�r�s r�	generator�EUnivariateCommonMixin.test_type_of_data_collection.<locals>.generatorCs
��(�4�(�(r)rBrCr�r�r�rI)rMr�r�r�r�r&�kindr�s        r�test_type_of_data_collection�2UnivariateCommonMixin.test_type_of_data_collection=sp��	�T�	�	�e�	�	)�� � �"���9�9�T�?���5�$���C�D��Y�Y�t�D�z�*�F����V�.�Drc��[SSS5nUR[U55nURURU5U5 g�N�r4r�)r�r�rBrI�rMr�r&s   r�test_range_data�%UnivariateCommonMixin.test_range_dataKs:���R��Q����9�9�T�$�Z�(��������4��(�3rc��URS5 URS5 URS5 UR[55 g)NrgE@)�check_for_type_error�objectr�s r�test_bad_arg_types�(UnivariateCommonMixin.test_bad_arg_typesQs>��	
�!�!�$�'��!�!�"�%��!�!�$�'��!�!�&�(�+rc�H�UR"[UR/UQ76 gr\r�r�s  rr��*UnivariateCommonMixin.check_for_type_error`s�����)�T�Y�Y�6��6rc�0�"SS[5nUR5nURU5n[U[[4HKnUVs/sH
oT"U5PM nn[U5"URU55nUR
Xs5 MM gs snf)Nc�8^�\rSrSrU4SjrU4Sjr\rSrU=r$)�@UnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloatigc�@>�[U5"[TU]	U55$r\�rrbrcrds  �rrc�LUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__truediv__h�����D�z�%�'�"5�e�"<�=�=rc�@>�[U5"[TU]	U55$r\�rrb�__add__rds  �rr��HUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__add__j�����D�z�%�'�/�%�"8�9�9rr7)	r9r:r;r<rcr��__radd__r=rhris@rr�r�gs���
>�
:��Hrr�)rr�r�rrrrI)rMr��rawr&r�rr�r�s        r�test_type_of_data_element�/UnivariateCommonMixin.test_type_of_data_elementcs}��	�e�	����!���9�9�S�>���G�W�h�7�D�%(�)�S��D��G�S�D�)��(�^�D�I�I�d�O�4�F����V�.�8��)s�
Br7N)r9r:r;r<r�r�r�r�r�r�r�r�r�r�r=r7rrr�r�s6��0�L�
�D�+�/�4�
,�7�/rr�c� �\rSrSrSrSrSrg)�UnivariateTypeMixinivc�D�"SS[5n[[[U4$)Nc�x^�\rSrSrU4SjrU4SjrU4SjrU4SjrU4SjrU4Sjr	\	r
U4Sjr\rS	r
U=r$)
�HUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloati�c�@>�[U5"[TU]	U55$r\r�rds  �rrc�TUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__truediv__�r�rc�@>�[U5"[TU]	U55$r\)rrb�__rtruediv__rds  �rr��UUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rtruediv__�s����D�z�%�'�"6�u�"=�>�>rc�@>�[U5"[TU]	U55$r\)rrb�__sub__rds  �rr��PUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__sub__�r�rc�@>�[U5"[TU]	U55$r\)rrb�__rsub__rds  �rr��QUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rsub__�s����D�z�%�'�"2�5�"9�:�:rc�@>�[U5"[TU]	U55$r\)rrb�__pow__rds  �rr��PUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__pow__�r�rc�@>�[U5"[TU]	U55$r\r�rds  �rr��PUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__add__�r�rc�@>�[U5"[TU]	U55$r\)rrb�__mul__rds  �rr��PUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__mul__�r�rr7)r9r:r;r<rcr�r�r�r�r�r�r��__rmul__r=rhris@rr�r��s0���
>�
?�
:�
;�
:�
:��H�
:��Hrr�)rrr)rMr�s  r�#prepare_types_for_conservation_test�7UnivariateTypeMixin.prepare_types_for_conservation_test�s��	�e�	�"�w��'�2�2rc���UR5nUR5HFnUVs/sH
o2"U5PM nnURU5nUR[	U5U5 MH gs snfr\)r�r�r�r�r)rMr�r�rr�r�s      r�test_types_conserved�(UnivariateTypeMixin.test_types_conserved�s_��� � �"���<�<�>�D�"&�'�$�Q��a��$�A�'��Y�Y�q�\�F��M�M�$�v�,��-�?��'s�A,r7N)r9r:r;r<r�r�r=r7rrr�r�vs��3�*.rr�c��\rSrSrSrSrg)�
TestSumCommoni�c��SnXlg)Nc�Z�[R"U6upn[R"X!5$r\)r>�_sumr)r�r�valuers    r�simplified_sum�+TestSumCommon.setUp.<locals>.simplified_sum�s%��$�/�/�4�0�K�A�a��%�%�e�/�/r�r�)rMrs  r�setUp�TestSumCommon.setUp�s��	0�#�	rr	N)r9r:r;r<r
r=r7rrrr�s��
#rrc�P�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
Srg
)�TestSumi�c�.�[RUlgr\)r>rr�r�s rr
�
TestSum.setUp��
���O�O��	rc��/S[/54H4nURURU5[[	S5S45 M6 g)Nr7r)r�rIr�r�rr�s  rr��TestSum.test_empty_data�s:����T�"�X�&�D����T�Y�Y�t�_�s�H�Q�K��.C�D�'rc�j�URUR/SQ5[[S5S45 g)N)r
r�r����i����r�r�r
�<r�)rIr�r�rr�s r�	test_ints�TestSum.test_ints�s*��������#?�@��x��|�Q�/�	1rc�n�URURS/S-5[[S5S45 g)Nr�r��@)rIr�rrr�s r�test_floats�TestSum.test_floats�s/��������D�6�"�9�-���#���3�	5rc��URUR[SS5/S-5[[SS5S45 g)Nr
rZ��r)rIr�rr�s r�test_fractions�TestSum.test_fractions�s:��������H�Q��$5�#6�s�#:�;�"�H�Q��N�C�8�	:rc
���[nU"S5U"S5U"S5U"S5U"S5U"S5U"S5U"S5/nURURU5[[S	5S
45 g)Nr:z5.246z1.702z-0.025z3.974z2.328z4.617z2.843z20.686r�)rrIr��rMr�r�s   r�
test_decimals�TestSum.test_decimals�si�����'�
�A�g�J��'�
�A�h�K��'�
�A�g�J��'�
�A�g�J���	
������4��!�7�8�#4�a�8�	:rc���[S5Vs/sHn[R"SS5PM nnUR[	URU5S5[R"U5SS9 gs snf)NrZr�r
g��ؗ�Ҭ<�r0)r�r�r�rfrr�r�fsum)rMr�r�s   r�test_compare_with_math_fsum�#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�!A2c��UR[UR/SQS5 UR[UR/SQ5 g)N�r
rr��999)r
rr�r+r�r�s r�test_strings_fail�TestSum.test_strings_fail�s1�����)�T�Y�Y�	�5�A����)�T�Y�Y�0@�Arc��UR[UR/SQS5 UR[UR/SQ5 g)Nr*�999)r
rr�r/r�r�s r�test_bytes_fail�TestSum.test_bytes_fail�s1�����)�T�Y�Y�	�6�B����)�T�Y�Y�0A�Brc	��UR[URSS[S5/5 UR[URSS/[S55 g)Nr
r�)ror'r�rr�s r�test_mixed_sum�TestSum.test_mixed_sum�sE��	
���)�T�Y�Y��C����0D�E����)�T�Y�Y��C��'�!�*�Err	N)r9r:r;r<r
r�rrrr"r'r,r0r3r=r7rrr
r
�s9��
$�E�
1�5�:�:�V�B�
C�
Frr
c��\rSrSrSrSrg)�SumTortureTesti�c��UR[R"/SQS-5[[	S5S45 UR[R"/SQS-5[[	S5S45 [R"/SQS-5upnURU[5 URUS5 UR
[U5SSS	9 g)
N)r
�}Ô%�I�Tr
�}Ô%�I��r�g��@i@�)r8r
r
r9)�0��.�++r
r:r�g���^�,gV瞯�<r%)rIr>rrrr�rf)rMrr��counts    r�test_torture�SumTortureTest.test_torture�s���������)>�u�)D�E���'�!2�E�:�	<�������)>�u�)D�E���'�!2�E�:�	<�"���(?��(E�F�
����
�
�a��������&����u�S�z�7���>rr7N)r9r:r;r<r<r=r7rrr6r6�s��	?rr6c�J�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
g)
�SumSpecialValuesi�c���[[4HgnU"S5n[R"SUS/5SnUR	[U5U5 UR
[R"U55 Mi g)Nr^r
r)	rrr>rr�rr�rr)rMr�r^r�s    rr`�SumSpecialValues.test_nan�sZ���W�%�E���,�C��_�_�a��a�[�1�!�4�F��M�M�$�v�,��.��O�O�D�J�J�v�.�/�	&rc���UR[R"U55 UR[	U5[	U55 URUS:�US:�5 g�Nr)r�rr-r�rrI)rMrr"s   r�check_infinity�SumSpecialValues.check_infinity�sD������
�
�1�
�&��
�
�d�1�g�t�C�y�)�����Q���a��(rc��[R"SSUS/5SnURX!5 [R"SSUSUS/5SnURX!5 g)Nr
rr�r�)r>rrD�rMr"r�s   r�do_test_inf�SumSpecialValues.do_test_infsY�����!�Q��Q��0��3�����F�(����!�Q��Q��Q�!7�8��;�����F�(rc�R�[S5nSHnURX!-5 M g�Nr"�r
r�)rrH�rMr"rs   r�test_float_inf�SumSpecialValues.test_float_infs%���E�l���D����T�X�&�rc�R�[S5nSHnURX!-5 M grK)rrHrMs   r�test_decimal_inf�!SumSpecialValues.test_decimal_infs%���e�n���D����T�X�&�rc��[S5n[R"SSUSU*S/5SnUR[R
"U55 g�Nr"r
rr�r�)rr>rr�rrrGs   r�test_float_mismatched_infs�+SumSpecialValues.test_float_mismatched_infssB���E�l�����!�Q��Q���a�!8�9�!�<������
�
�6�*�+rc� �[S5nSSUSU*S/n[R"[R5 UR	[
R"[R"U5S55 SSS5 g!,(df   g=frT)	r�decimal�localcontext�ExtendedContextr�rrr>r�rMr"r�s   r�3test_decimal_extendedcontext_mismatched_infs_to_nan�DSumSpecialValues.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?�?
B
c��[S5nSSUSU*S/n[R"[R5 UR	[R
[RU5 SSS5 g!,(df   g=frT)rrXrY�BasicContextro�InvalidOperationr>rr[s   r�0test_decimal_basiccontext_mismatched_infs_to_nan�ASumSpecialValues.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�0A2�2
Bc��[S5nSUS/nUR[R[R
U5 g)Nr�r
r)rrorXr`r>r)rMr�r�s   r�test_decimal_snan_raises�)SumSpecialValues.test_decimal_snan_raises*s2���v����4��|�����'�2�2�J�O�O�T�Jrr7N)r9r:r;r<r`rDrHrNrQrUr\rardr=r7rrr?r?�s2��0��)�'�
'�
,�B�O�Krr?c�&�\rSrSrSrSrSrSrg)�AverageMixini3c��SSS[SS5[S54H%nURURU/5U5 M' g�Nrg@E@g�X_yCr��z0.28�rrrIr�r�s  r�test_single_value�AverageMixin.test_single_value6s=���d�F�H�R��$4�g�f�o�F�A����T�Y�Y��s�^�Q�/�Grc�6�SSS[SS5[S54$)N�@r����7y�!C�=�Cz4.9712�rrr�s r�'prepare_values_for_repeated_single_test�4AverageMixin.prepare_values_for_repeated_single_test;s���R���"�b�!1�7�8�3D�E�Erc���UR5HKnSHBnURXS9 U/U-nURURU5U5 SSS5 MD MM g!,(df   MZ=f)N�rr�r�r�)rr;)rt�subTestrIr��rMrr;r�s    r�test_repeated_single_value�'AverageMixin.test_repeated_single_value>s`���=�=�?�A�'���\�\�A�\�3��3�u�9�D��$�$�T�Y�Y�t�_�a�8�4�3�(�@�3�3�s�(A!�!
A0r7N)r9r:r;r<rlrtrzr=r7rrrgrg3s��0�
F�9rrgc�b�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrg)�TestMeaniGc�.�[RUlgr\)r>�meanr�r�s rr
�TestMean.setUpHrrc�J�URUR/SQ5S5 g)N)r8r
r�r9r
�rIr�r�s r�test_torture_pep�TestMean.test_torture_pepKs��������#8�9�1�=rc�z�/SQn[R"U5 URURU5S5 g)N)rr
rr�r�r�r�r�r�r�r�r�r�r�r�r�g@@�r�r�rIr�r�s  rr�TestMean.test_intsOs+��?�����t��������4��&�1rc�z�/SQn[R"U5 URURU5S5 g)N)g@1@g�3@�4@g�5@g�5@g@7@g 9@g�;@g6@r�r�s  rr�TestMean.test_floatsUs+��E�����t��������4��)�4rc���[nU"S5U"S5U"S5U"S5U"S5/n[R"U5 URUR	U5U"S55 g)Nz1.634z2.517z3.912z4.072z5.813z3.5896�rr�r�rIr�r!s   rr"�TestMean.test_decimals[sS�����'�
�A�g�J��'�
�A�g�J��'�
�K�����t��������4��!�H�+�6rc
��[nU"SS5U"SS5U"SS5U"SS5U"SS5U"SS5U"SS5/n[R"U5 URUR	U5U"S	S
55 g)Nr
rr�r�r�r�r�r�i�i��rr�r�rIr��rMr�r�s   rr�TestMean.test_fractionsbso�����!�Q���1�a��!�A�q�'�1�Q��7�A�a��G�Q�q�!�W�a��1�g�N�����t��������4��!�D�$�-�8rc���/SQn[[4HcnSHZnU"S5U-nX/-nURU5nUR[R
"U55 UR
Xd5 M\ Me g)N�r
r�r�r�r�rLr")rrr�r�rr-rI)rMr�r�rr"r�r�s       rr[�TestMean.test_infisg�����G�$�D����5�k�$�&���U�{�����4�������
�
�6� 2�3�� � ��-� �%rc
��SSS[S5SSS[S5/nURU5nUR[R"U55 g)	Nrr�r�r"r
r�r�z-inf)rr�r�rr�rMr�r�s   r�test_mismatched_infs�TestMean.test_mismatched_infstsB���1�a��u��q�!�Q��f�
�>�����4�������
�
�6�*�+rc��/SQn[[4HFnU"S5nX/-nURU5nUR[R
"U55 MH g)Nr�r^)rrr�r�rr)rMr�r�r"r�r�s      rr`�TestMean.test_nanzsJ�����G�$�D��u�+�C���;�D��Y�Y�t�_�F��O�O�D�J�J�v�.�/�	%rc��Sn/SQnURU5U-nURUVs/sHoDU-PM	 sn5nURXS5 gs snf)Nge��A�	�333333@�@g������@g������@g333333@�������@g @g333333 @g������"@�r�rI�rM�cr�r&rr�s      r�
test_big_data�TestMean.test_big_data�sP����<���9�9�T�?�Q�&������.��A�a�C��.�/������*��/��Ac���[S5Vs/sHn[R"SS5PM nnURU5nURUS-5nUR	XC5 gs snf)NrZr�r�r�r�r�r�r�rf�rMr�r�r&r%s     r�test_doubled_data�TestMean.test_doubled_data�sW��/4�T�{�;�{�!����r�1�%�{��;��9�9�T�?�����4��6�"�����v�0��<��!A(c�h�[S5nUR[R"U/5U5 g)N�1e4)rrIr>rr�s  r�test_regression_20561�TestMean.test_regression_20561�s(��
�E�N��������!��-�q�1rc��UR[R"SS/5S5 SnSnSHWnUR[R"U/U-5U5 UR[R"U/U-5U5 MY g)Ng�������g�g)rr�r�r�)rIr>r)rM�big�tinyrs    r�test_regression_25177�TestMean.test_regression_25177�s}��	
������
#�%:�;�=�!�	#�$�����A����Z�_�_�c�U�1�W�5�s�;����Z�_�_�d�V�A�X�6��=� rr	N)r9r:r;r<r
r�rrr"rr[r�r`r�r�r�r�r=r7rrr}r}GsC��$�>�2�5�7�9�	.�,�0�+�1�2�>rr}c�^�\rSrSrSrU4SjrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrU=r$)�TestHarmonicMeani�c�.�[RUlgr\)r>�
harmonic_meanr�r�s rr
�TestHarmonicMean.setUp�s���,�,��	rc�F>�[TU]5nURS5 U$rC)rbr��remove)rMr�ras  �rr��TestHarmonicMean.prepare_data�s!�����%�'���
�
�a���
rc�6�SSS[SS5[S54$)Nror�rprqrrz4.125rsr�s rrt�8TestHarmonicMean.prepare_values_for_repeated_single_test�s���R���"�b�!1�7�7�3C�D�Drc�N�/SQnURURU5S5 g)N)r
rrrr��rMr�s  r�	test_zero�TestHarmonicMean.test_zero�s ����������6�*�A�.rc���[RnS//SQ4H7nURUS9 URXRU5 SSS5 M9 g!,(df   MK=f)Nr�)r
r�r�)r�)r>r�rxror�)rM�excr�s   r�test_negative_error�$TestHarmonicMean.test_negative_error�sO���(�(���t�Z�(�F����V��,��!�!�#�y�y�&�9�-�,�)�,�,�s�A�
A#	c��S//SQ/SQ/SQ4HJnURUS9 UR[5 URU5 SSS5 SSS5 ML g!,(df   N=f!,(df   Mo=f)Nz3.14)�1�2�3)r
r�r��4r�)�ffffff@r�r�z5.6r�)rxror'r�r�s  r�test_invalid_type_error�(TestHarmonicMean.test_invalid_type_error�sf���H���"�	
�D����4��(��&�&�y�1��I�I�d�O�2�)�(�

�2�1��)�(�s"�A.�A�A.�
A+�'A.�.
A=	c�z�/SQn[R"U5 URURU5S5 g)N)rr�r�r�r�r�g333333@r�r�s  rr�TestHarmonicMean.test_ints�s+��#�����t��������4��%�0rc��/SQn[R"U5 URURU5S5 URUR/SQ5S5 g)N)r(r�r�rrr�)r�rr	r	rr�r�s  r�test_floats_exact�"TestHarmonicMean.test_floats_exact�sE��(�����t��������4��#�.�������#8�9�3�?rc�n�[SS5H%nURURU/5U5 M' g)Nr
r��r�rIr�r�s  r�test_singleton_lists�%TestHarmonicMean.test_singleton_lists�s,���q�#��A����T�Y�Y��s�^�Q�/�rc
��[nURURU"S5U"S5U"S5U"S5/5U"S55 U"S5U"S5U"S5U"S5/n[R"U5 URURU5U"S55 U"S5U"S5U"S	5U"S
5/n[R"U5 URURU5U"S5S-5 g)
Nr�r2rr;z0.10z0.20z1.68z0.32z5.94z2.75i�iC)rrIr�r�r�r!s   r�test_decimals_exact�$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
��[nU"SS5U"SS5U"SS5U"SS5U"SS5U"SS5U"SS5/n[R"U5 URUR	U5U"S	S
55 g)Nr
rr�r�r�r�r�r�i|i�r�r�s   rr�TestHarmonicMean.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�S[S5S/nURURU5S5 g)Nr�r"r	)rrIr�r�s  rr[�TestHarmonicMean.test_inf�s+���u�U�|�S�)��������6�*�C�0rc��S[S5S/nUR[R"UR	U555 g)Nr�r^r	)rr�rrr�r�s  rr`�TestHarmonicMean.test_nan�s0���u�U�|�S�)������
�
�4�9�9�V�#4�5�6rc��Sn/SQnURU5U-nURUVs/sHoDU-PM	 sn5nURXS5 gs snf)N�or�r�r�s      r�test_multiply_data_points�*TestHarmonicMean.test_multiply_data_points�sP����<���9�9�T�?�1�$������.��A�a�C��.�/������*��/r�c���[S5Vs/sHn[R"SS5PM nnURU5nURUS-5nUR	XC5 gs snf)NrZr
r�rr�r�s     rr��"TestHarmonicMean.test_doubled_datasW��.3�D�k�:�k�����q�!�$�k��:��9�9�T�?�����4��6�"�����v�0��;r�c
��URURSS/SS/5S5 URURSS/SS/S9S5 URUR[SS/5[SS/55S5 URUR[SS5[S	S5[S
S5//SQ5UR[SS5/S-[S	S5/S--[S
S5/S--55 URURS/S
/5S5 UR	[
5 UR/S
Q/SQ5 SSS5 UR	[R5 UR/S
QSS/5 SSS5 UR	[R5 URS/S/5 SSS5 UR	[R5 URSS/SS/5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   No=f!,(df   g=f)Nrurr�r2gL@)�weightsr�r�rr�r)r�rr�r*)r
r7r�r
rr�)rIr�r�rror'r>r�r�s r�test_with_weights�"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)�<H:�8I�
H&�)
H7�:
I�
Ir	)r9r:r;r<r
r�rtr�r�r�rr�r�r�rr[r`r�r�r�r=rhris@rr�r��sZ���-��E�/�
:�
$�1�@�0�
	:�:�1�
7�
+�1�(�(rr�c�R^�\rSrSrSrU4SjrSrSrSrSr	Sr
S	rS
rU=r
$)�
TestMediani c�.�[RUlgr\�r>�medianr�r�s rr
�TestMedian.setUp"����%�%��	rc�j>�[TU]5n[U5S-S:waURS5 U$)Nrr
)rbr�rir�)rMr�ras  �rr��TestMedian.prepare_data%s0����w�#�%���t�9�Q�;�!���K�K��N��rc�N�/SQnURURU5S5 g)N�r
rr�r�r�r�ror�r�s  r�test_even_ints�TestMedian.test_even_ints,s��!��������4��#�.rc�N�/SQnURURU5S5 g)N)r
rr�r�r�r�r�r�r�r�s  r�
test_odd_ints�TestMedian.test_odd_ints2s��$��������4��!�,rc���[nU"SS5U"SS5U"SS5U"SS5U"SS5/n[R"U5 URUR	U5U"SS55 g)Nr
r�rr�r�r�r�r�s   r�test_odd_fractions�TestMedian.test_odd_fractions8s_�����!�Q���1�a��!�A�q�'�1�Q��7�A�a��G�<�����t��������4��!�A�q�'�2rc	���[nU"SS5U"SS5U"SS5U"SS5U"SS5U"SS5/n[R"U5 URUR	U5U"SS55 g�Nr
r�rr�r�r�r�r�r�s   r�test_even_fractions�TestMedian.test_even_fractions@�g�����!�Q���1�a��!�A�q�'�1�Q��7�A�a��G�Q�q�!�W�E�����t��������4��!�A�q�'�2rc���[nU"S5U"S5U"S5U"S5U"S5/n[R"U5 URUR	U5U"S55 g)N�2.5�3.1�4.2�5.7�5.8r�r!s   r�test_odd_decimals�TestMedian.test_odd_decimalsHsS�����%��!�E�(�A�e�H�a��h��%��A�����t��������4��!�E�(�3rc���[nU"S5U"S5U"S5U"S5U"S5U"S5/n[R"U5 URUR	U5U"S55 g)Nz1.2rrrrrz3.65r�r!s   r�test_even_decimals�TestMedian.test_even_decimalsPsY�����%��!�E�(�A�e�H�a��h��%��!�E�(�K�����t��������4��!�F�)�4rr	)r9r:r;r<r
r�r�r�r�rr	rr=rhris@rr�r� s0���&��/�-�3�3�4�5�5rr�c� �\rSrSrSrSrSrg)�TestMedianDataTypeiYc�.�[RUlgr\r�r�s rr
�TestMedianDataType.setUp[r�rc��[[S55nU[U5:Xa'[R"U5 U[U5:XaM'U$)Nr�r�r�s  rr��TestMedianDataType.prepare_data^s:���E�"�I����f�T�l�"��N�N�4� ��f�T�l�"��rr	N)r9r:r;r<r
r�r=r7rrrrYs��&�rrc�,�\rSrSrSrSrSrSrSrg)�
TestMedianLowifc�.�[RUlgr\)r>�
median_lowr�r�s rr
�TestMedianLow.setUpgs���)�)��	rc�N�/SQnURURU5S5 g)Nr�r�r�r�s  rr��TestMedianLow.test_even_intsj���!��������4��!�,rc	���[nU"SS5U"SS5U"SS5U"SS5U"SS5U"SS5/n[R"U5 URUR	U5U"SS55 gr�r�r�s   rr�!TestMedianLow.test_even_fractionsprrc���[nU"S5U"S5U"S5U"S5U"S5U"S5/n[R"U5 URUR	U5U"S55 g�Nz1.1z2.2z3.3z4.4rz6.6r�r!s   rr� TestMedianLow.test_even_decimalsx�Y�����%��!�E�(�A�e�H�a��h��%��!�E�(�K�����t��������4��!�E�(�3rr	N�	r9r:r;r<r
r�rrr=r7rrrrfs��*�-�3�4rrc�,�\rSrSrSrSrSrSrSrg)�TestMedianHighi�c�.�[RUlgr\)r>�median_highr�r�s rr
�TestMedianHigh.setUp�s���*�*��	rc�N�/SQnURURU5S5 g)Nr�r�r�r�s  rr��TestMedianHigh.test_even_ints�rrc	���[nU"SS5U"SS5U"SS5U"SS5U"SS5U"SS5/n[R"U5 URUR	U5U"SS55 gr�r�r�s   rr�"TestMedianHigh.test_even_fractions�rrc���[nU"S5U"S5U"S5U"S5U"S5U"S5/n[R"U5 URUR	U5U"S55 grr�r!s   rr�!TestMedianHigh.test_even_decimals�r!rr	Nr"r7rrr$r$�s��+�-�3�4rr$c�V�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rg)�TestMedianGroupedi�c�.�[RUlgr\)r>�median_groupedr�r�s rr
�TestMedianGrouped.setUp�s���-�-��	rc�.�/SQnURURU5S5 /SQnURURU5S5 /SQnURURUS5S5 /SQnURURUS	5S
SS9 g)
N)r�rl�r4r4r�r�r4)r�rlr4r4r4r4r�g�+@)r�r�r�r�r�r�r�r��r5r2r�g`3@)r��r6r6r6r�r�r��r7r7�r8��rg������4@�:�0�yE>�r/�rIr�rfr�s  r�test_odd_number_repeated�*TestMedianGrouped.test_odd_number_repeated�s���+��������4��"�-�+��������4��&�1�:��������4��+�V�4�K�����t�y�y��q�1�;�D��Irc�*�/SQnURURUS5SSS9 /SQnURURU5SSS9 /SQnURURU5S	5 /S
QnURURU5S5 g)N)
r�r�r�r�r�r�r�r5r5r2r�g�����*3@r;r<)rr�r�r�r�r�g["8���@)rr�r�r�r�r�r�r�r�r�r�r�r�)
r�r�r�r�r�r�r�r�r�r��@)rfr�rIr�s  r�test_even_number_repeated�+TestMedianGrouped.test_even_number_repeated�s���6�����t�y�y��q�1�;�D��I�!�����t�y�y���
���E�3��������4��#�.�-��������4��$�/rc��SSS[SS5[S54H<nSH3nU/U-nURURU5[	U55 M5 M> g)N�333333@�Dg��ޗCrr�z32.9714rw�rrrIr�rrys    rrz�,TestMedianGrouped.test_repeated_single_value�sW���r�6�8�B��#4�g�i�6H�I�A�'���s�5�y��� � ����4��%��(�;�(�Jrc��SSS[SS5[S54H.nURURU/5[	U55 M0 grirGr�s  rrl�#TestMedianGrouped.test_single_value�sC���d�F�H�R��$4�g�f�o�F�A����T�Y�Y��s�^�U�1�X�6�Grc���[nU"SS5U"SS5U"SS5U"SS5U"SS5/n[R"U5 URUR	U5S5 g)Nr�r�r�rlr��@r�r�s   rr��$TestMedianGrouped.test_odd_fractions�sY�����!�Q���1�a��!�B��(�A�b�!�H�a��A�h�?�����t��������4��#�.rc	���[nU"SS5U"SS5U"SS5U"SS5U"SS5U"SS5/n[R"U5 URUR	U5S5 g)Nr�r�r�rlr��
@r�r�s   rr�%TestMedianGrouped.test_even_fractions�sa�����!�Q���1�a��!�B��(�A�b�!�H�a��A�h��"�a��I�����t��������4��$�/rc���[nU"S5U"S5U"S5U"S5U"S5/n[R"U5 URUR	U5S5 g)Nr�6.5�7.5�8.5g@r�r!s   rr	�#TestMedianGrouped.test_odd_decimals�sO�����%��!�E�(�A�e�H�a��h��%��A�����t��������4��$�/rc��[nU"S5U"S5U"S5U"S5U"S5U"S5/n[R"U5 URUR	U5S5 U"S5U"S5U"S5U"S5U"S5U"S5/n[R"U5 URUR	U5S5 g)NrrRrSrT�@�@r�r!s   rr�$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���/SQnURURUS5S5 /SQnURURUS5SSS9 /SQnURURUS	5S
5 g)N)
�@r�r�rTrTrLrLrOror�r�g@)r[r�r�rTrTrTrLrLrOror�g["8���@r;r<)��r\���r^r^r^�r_�,�@iTr�g�p@r=r�s  r�
test_interval�TestMedianGrouped.test_interval�sg��F��������4��.��6�L�����t�y�y��t�4�j�d��K�K��������4��,�e�4rc�4�/SQnUR[URU5 /SQnUR[URU5 /SQnSnUR[URX5 /SQnSnUR[URX5 g)N)�rere)rrrr*rerr�)rMr��intervals   r�test_data_type_error�&TestMedianGrouped.test_data_type_errorsx�������)�T�Y�Y��5������)�T�Y�Y��5��������)�T�Y�Y��?��������)�T�Y�Y��?rr	N)r9r:r;r<r
r>rBrzrlr�rr	rrbrgr=r7rrr/r/�s;��.�J�$0�$<�7�/�0�0�/�5�@rr/c�J�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
g)
�TestModeic�.�[RUlgr\)r>�moder�r�s rr
�TestMode.setUprrc�
�/SQ$)N)r
r
r
r
r�r�r�r�rr�rr7r�s rr��TestMode.prepare_datas
��1�0rc�`�[SSS5nURURU5S5 gr�r�r�s  rr��TestMode.test_range_datas(���R��Q���������4��"�-rc��SnURURU5S5 SR5nURURU5S5 g)N�abcbdbrzfe fi fo fum fi fi�fi)rIr�r�r�s  r�test_nominal_data�TestMode.test_nominal_data#sE����������4��#�.�#�)�)�+��������4��$�/rc���[[S55n[S5H?nX/-n[R"U5 UR	URU5U5 MA gr��rBr�r�r�rIr�)rMr�ror�s    r�test_discrete_data�TestMode.test_discrete_data*sJ���E�"�I����r��A��s�
�A��N�N�1�����T�Y�Y�q�\�1�-�rc�N�/SQnURURU5S5 g)N)r
r
rrrrr�r�r�r�r�r�r�r�r�r�r�rr�r�s  r�test_bimodal_data�TestMode.test_bimodal_data2s!��B��	
������4��!�,rc�n�[[S55nURURU5S5 g)Nr�r)rBr�rIr�r�s  r�test_unique_data�TestMode.test_unique_data9s'���E�"�I���������4��!�,rc�F�UR[URS5 gr\r�r�s r�test_none_data�TestMode.test_none_data?s��
	
���)�T�Y�Y��5rc�p�[R"SSS9nURURU5S5 g)Nr
r)rrr)r]�CounterrIr�)rMr�s  r�test_counter_data�TestMode.test_counter_dataFs0��

���!�q�)��	
������1��s�+rr	N)r9r:r;r<r
r�r�ruryr|rr�r�r=r7rrrjrjs/��$�1�
.�
0�.�-�-�6�,rrjc��\rSrSrSrSrg)�
TestMultiModeiQc��[RnURU"S5S/5 URU"S5/SQ5 URU"S5/5 g)N�aabbbbbbbbccr�aabbbbccddddeeffffgg)rr�r�re)r>�	multimoderI)rMr�s  r�test_basics�TestMultiMode.test_basicsSsN���(�(�	�����>�2�S�E�:�����#9�:�O�L�����2���+rr7N)r9r:r;r<r�r=r7rrr�r�Qs��,rr�c�,�\rSrSrSrSrSrSrSrg)�	TestFMeaniZc
��[Rn[n[n/SQSS4U"S5U"S5U"S5/SS4U"SS	5U"S
S5U"SS
5/SS
4/SQSS4SS
U"SS
5/SS4S[	/SQ5SS44H@upEnU"U5nUR[
U5[U5 URXuU5 MB g)N�ror��@�@�floats�3.5�4.0�5.25�decimalsr�rr�r
r��	fractions)TFTTF�333333�?�booleansro�mixed types)r�r�rC�iterator)	r>�fmeanrrr�r�rrrI)rMr�r�r�r��
expected_meanr��actual_means        rr��TestFMean.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���[Rn[RnURU5 U"/5 SSS5 URU5 U"[	/55 SSS5 UR[
5 U"S5 SSS5 UR[
5 U"/SQ5 SSS5 UR[
5 U"5 SSS5 UR[
5 U"/SQS5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   N|=f!,(df   g=f)N�r�Nr��r�r�r�F)r>r�r�ror�r'�rMr�r�s   r�test_error_cases�TestFMean.test_error_casesms���� � ��$�4�4��
�
�
��
/��"�I�0�
�
�
��
/��$�r�(�O�0�
�
�
�y�
)��$�K�*�
�
�
�y�
)��.�!�*�
�
�
�y�
)��G�*�
�
�
�y�
)��,��#�*�
)�0�
/��
/�
/��
)�
)��
)�
)��
)�
)��
)�
)�sG�	D�D�	D-�)D>�E�6E �
D�
D*�-
D;�>
E�
E� 
E.c���[Rn[S5n[S5nUR[R
"U"SU/55S5 UR[R
"U"X#/55S5 UR[R"U"SU/55S5 UR[5 U"X3*/5 SSS5 g!,(df   g=f)N�Nan�Infr�r^�nan and infinity�infinity)	r>r�rr�rrr-ror,)rMr��NaNr�s    r�test_special_values�TestFMean.test_special_values}s���� � ���E�l���E�l������
�
�5�"�c��#3�4�e�<�����
�
�5�#��#4�5�7I�J�����
�
�5�"�c��#3�4�j�A�
�
�
�z�
*��3��+��+�
*�
*�s�C�
C'c	�R�[Rn[RnURU"/SQS/S-5U"/SQ55 URU"/SQ/SQ5U"/SQ55 URU"[	/SQ5[	/SQ55U"/SQ55 URU5 U"/SQSS	/5 SSS5 URU5 U"[	/SQ5[	SS	/55 SSS5 URU5 U"S
S/SS/5 SSS5 URU5 U"[	S
S/5[	SS/55 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   Nj=f!,(df   g=f)
N)r�r�r�r4r�r�)r�r�r�)r�r�r)r�r�r�r��r�r�r2r
rr�r�r�)r>r�r�rIr�ror�s   r�test_weights�TestFMean.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%� E6�F�< F�%
E3�6
F�
F�
F&r7N)	r9r:r;r<r�r�r�r�r=r7rrr�r�Zs��?�"$� 	�1rr�c�<�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�VarianceStdevMixini���-���q=c��SSS[SS5[S54H%nURURU/5S5 M' g)Nr�g������3@g���%�Br�rz8.392rrkr�s  rrl�$VarianceStdevMixin.test_single_value�s>���d�F�H�R��$4�g�g�6F�G�A����T�Y�Y��s�^�Q�/�Hrc��SSS[SS5[S54H3nSH*nU/U-nURURU5S5 M, M5 g)	Nr�r3g@�6��<Cr�r�z62.4802)rr�r�r�rrkrys    rrz�-VarianceStdevMixin.test_repeated_single_value�sP���r�6�8�A�q�>�7�9�3E�F�A�&���s�5�y��� � ����4��!�4�'�Grc�x�S/S-nURU5nURUSSS9 URUS5 g)Ng.�F7ݚ�?r�r~g��ؗ�Ҍ<r<r)r�rfr�r�s   r�test_domain_error_regression�/VarianceStdevMixin.test_domain_error_regression�sE��"�"�5�(�����4������v�s���6������*rc��/SQnURU5nSnUVs/sHoDU-PM	 nnURURU5U5 gs snf)N)
g{�G�z�?gR���Q�?g
ףp=
�?gR���Q@g�p=
ף@g��Q�	@rAg�Q���@g�G�z�@g��Q�@gj�@)r�rf�rMr�r&�shiftrr�s      r�test_shift_data�"VarianceStdevMixin.test_shift_data�sO��K���9�9�S�>����#&�'�3�a�E�	�3��'����t�y�y����9��(��Ac��/SQnURU5nSnUVs/sHoDU-PM	 nnURURU5U5 gs snf)N)
r
r�r�r�r�r�r�r�r�r�iʚ;r�r�s      r�test_shift_data_exact�(VarianceStdevMixin.test_shift_data_exact�sL��/���9�9�S�>����#&�'�3�a�E�	�3��'�������4��(�3��(r�c���[S5Vs/sHn[R"SS5PM nnURU5nUR	UR[U55U5 gs snf)NrZr�r�)r�r�r�r�rIr��rMr�r�r&s    r�test_iter_list_same�&VarianceStdevMixin.test_iter_list_same�sV��05�T�{�;�{�!����r�1�%�{��;��9�9�T�?��������4��:�.��9��<s�!A-r7N)r9r:r;r<r0rlrzr�r�r�r�r=r7rrr�r��s'���C�0�
5�+�:�4�
:rr�c�8�\rSrSrSrSrSrSrSrSr	Sr
g	)
�
TestPVariancei�c�.�[RUlgr\)r>�	pvariancer�r�s rr
�TestPVariance.setUp�s���(�(��	rc��[[S55n[R"U5 SnUR	URU5U5 g)Nr�gP�_Arxr�s   r�test_exact_uniform� TestPVariance.test_exact_uniform�s9���E�%�L�!�����t��$��������4��(�3rc�R�/SQnSnURURU5U5 g)N�r�r�rlr�g�6@r��rMr��exacts   rr�TestPVariance.test_ints�s$������������4��%�0rc���[nU"SS5U"SS5U"SS5U"SS5/nU"SS5nURU5nURXC5 URU[5 g)Nr
r�r�r�r��rr�rI�assertIsInstance�rMr�r�r�r�s     rr�TestPVariance.test_fractions��c�����!�Q���1�a��!�A�q�'�1�Q��7�3���!�Q������4�������'����f�h�/rc���[nU"S5U"S5U"S5U"S5/nU"S5nURU5nURXC5 URU[5 g)Nz12.1z12.2z12.5z12.9z0.096875�rr�rIr��rMr�r�r�r�s     rr"�TestPVariance.test_decimals�sY�����&�	�1�V�9�a��i��6��;���*�
�����4�������'����f�g�.rc��/SQnSnURU5nURX25 URU[5 g)N)rrr
g�q�q�?�r�rIr�r�rMr�r�r�s    r�test_accuracy_bug_20499�%TestPVariance.test_accuracy_bug_20499�7���������4�������'����f�e�,rr	N)r9r:r;r<r
r�rrr"r�r=r7rrr�r��s ��)�4�1�0�/�-rr�c�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�TestVarianceic�.�[RUlgr\)r>�variancer�r�s rr
�TestVariance.setUps���'�'��	rc��SSS[SS5[S54H/nUR[RUR
U/5 M1 g)Nr�g33333�8@g�(G�!=Crjr2z4.2084�rrror>r�r�r�s  rrl�TestVariance.test_single_valuesB���d�F�H�R��$4�g�h�6G�H�A����j�8�8�$�)�)�a�S�I�Irc�R�/SQnSnURURU5U5 g)Nr�r2r�r�s   rr�TestVariance.test_intss$������������4��%�0rc���[nU"SS5U"SS5U"SS5U"SS5/nU"SS5nURU5nURXC5 URU[5 g)Nr
r�r�r�rr�r�s     rr�TestVariance.test_fractionsr�rc���[nU"S5U"S5U"S5U"S5/nSU"S5-U"S5-nURU5nURXC5 URU[5 g)Nrr�r�r�z9.5r�r�r�s     rr"�TestVariance.test_decimals'se�����!��a��d�A�a�D�!�A�$�'���!�E�(�
�1�Q�4������4�������'����f�g�.rc��SnURURU5S5 URURUSS9S5 g)N�r	r�rr���xbarr	r�r�s  r�test_center_not_at_mean�$TestVariance.test_center_not_at_mean0s<����������4��#�.�������4�c��2�C�8rc��/SQnSnURU5nURX25 URU[5 g)N)rrrgUUUUUU�?r�r�s    rr��$TestVariance.test_accuracy_bug_204995r�rr	N)r9r:r;r<r
rlrrr"r�r�r=r7rrr�r�s&��(�J�
1�0�/�9�
-rr�c�,�\rSrSrSrSrSrSrSrg)�
TestPStdevi<c�.�[RUlgr\)r>�pstdevr�r�s rr
�TestPStdev.setUp>r�rc��[S5Vs/sHn[R"SS5PM nn[R"[
R"U55nURURU5U5 gs snf)NrZi��r8)	r�r�r�r�sqrtr>r�rIr�r�s    r�test_compare_to_variance�#TestPStdev.test_compare_to_varianceAs[��16�t��=��A����s�B�'���=��9�9�Z�1�1�$�7�8��������4��(�3��>��!A=c��SnURURU5S5 URURUSS9S5 g)N)r�r�r�r�r�r)�murWr�r�s  rr��"TestPStdev.test_center_not_at_meanGs<����������4��#�.�������4�C��0�#�6rc�D�UR[5 URS[R/5 SSS5 UR[5 URS[R
/5 SSS5 g!,(df   NN=f!,(df   g=f�Nr	�ror,r�rr"r^r�s r�test_gh_140938�TestPStdev.test_gh_140938M�c��
�
�
�z�
*��I�I�s�D�H�H�o�&�+�
�
�
�z�
*��I�I�s�D�H�H�o�&�+�
*�+�
*��
*�
*���"B�"B�
B�
Br	N)	r9r:r;r<r
rr�rr=r7rrrr<s��&�4�7�'rrc�Z�\rSrSrSr\\R"S5S55rSr	Sr
g)�TestSqrtHelpersiUc�n�[R"[S5[SS55H�up[R"X5nURU[5 X3-U-U:XaM>URUS-S5 URX#S-
S--Us=:=(a
 X#S-S--:Os 5 M� g)Nr�r
rZr)	�	itertools�productr�r>�_integer_sqrt_of_frac_rtor�r�rIr�)rMr�mr�s    r�test_integer_sqrt_of_frac_rto�-TestSqrtHelpers.test_integer_sqrt_of_frac_rtoWs����%�%�e�C�j�%��4�.�A�D�A��4�4�Q�:�A��!�!�!�S�)��s�1�u��z�����Q�q�S�!�$��O�O�A�Q���
�N�Q�?�?��!�e�a�Z��?�@�Br�cpuc���S[S[S[4Sjn[Rn[S5HxnU"SU"S5-5nU"SU"S5-5S-nUR
XES	9 [XE5n[R"XE5nURU"Xg55 SSS5 Mz UR[R"S
S5S5 UR[5 [R"SS5 SSS5 UR[5 [R"SS5 SSS5 UR[5 [R"SS
5 SSS5 UR[R"S
S5[R"SS55 g!,(df   GM�=f!,(df   N�=f!,(df   N�=f!,(df   N�=f)Nr�root�returnc�@�U(dUS:H$[R"U[R5n[R"U[R*5n[U5nU[U5-S-nU[U5-S-nUS-Us=:*=(a US-:*$s $)Nr~r)r�	nextafterr"r)rr �r_up�r_down�	frac_root�half_way_up�
half_way_downs       r�is_root_correctly_rounded�JTestSqrtHelpers.test_float_sqrt_of_frac.<locals>.is_root_correctly_roundedgs�����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�r4r
)�	numerator�denonimatorrr~r�r�r)rrrr��	randranger�rxr>�_float_sqrt_of_fracr�rIror,�ZeroDivisionError)rMr)r-ror+r,rr s        r�test_float_sqrt_of_frac�'TestSqrtHelpers.test_float_sqrt_of_fraccs���	?��	?��	?�4�	?�$�$�$�	��v��A�&�r�Y�r�]�':�;�I�(��y��}�)<�=��A�K����	��K�&�y�>��(�<�<�Y�T����� 9�!� 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�*9F2�+G� G�G'�2
G	�
G�
G$�'
G5c��[S5SS4[S5SS4[S5SS44GHupn[R"[R5 UR	[
R"X#5U5 SSS5 [R"[R5nU=RS-sl[U5[U5-n[RUl	UR5nSSS5 [R"[R5 W7nSSS5 UR	UW5 GM UR	[
R"S	S
5S5 UR[R5 [
R"SS
5 SSS5 UR[R5 [
R"S
S5 SSS5 UR[5 [
R"S
S	5 SSS5 UR	[
R"S
S5[
R"SS
55 g!,(df   GN�=f!,(df   GN=f!,(df   GNa=f!,(df   N�=f!,(df   N�=f!,(df   N�=f)Nz0.4481904599041192673635338663l:j�t9�)4]�!�l�7�3M�e'z0.7924949131383786609961759598lQ_Ar�,NE��*�z0.8500554152289934068192208727lkr�"-D��9}ZGr�rr
r~r�r�r)rrXrY�DefaultContextrIr>�_decimal_sqrt_of_frac�prec�
ROUND_05UP�roundingrror`r/)rMr r+�denominator�ctx�high_prec_ratio�high_prec_root�target_roots        r�test_decimal_sqrt_of_frac�)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 �(AI2�&J�J�J'�J8� 
I/	�2
J	�
J	�
J$�'
J5�8
Kr7N)r9r:r;r<rrr�requires_resourcer0r=r=r7rrrrUs8��
A�����u�%�*g�&��*g�X#krrc�2�\rSrSrSrSrSrSrSrSr	g)	�	TestStdevi�c�.�[RUlgr\)r>�stdevr�r�s rr
�TestStdev.setUp�s���$�$��	rc��SSS[SS5[S54H/nUR[RUR
U/5 M1 g)N�QgH�z�wi@gf7?+�Br�r�z35.719r�r�s  rrl�TestStdev.test_single_value�sA���f�f�h�q�"�o�w�x�7H�I�A����j�8�8�$�)�)�a�S�I�Jrc��[S5Vs/sHn[R"SS5PM nn[R"[
R"U55nURURU5U5 gs snf)NrZr�r�)	r�r�r�rrr>r��assertAlmostEqualr�r�s    rr�"TestStdev.test_compare_to_variance�s[��/4�T�{�;�{�!����r�1�%�{��;��9�9�Z�0�0��6�7�����t�y�y����9��<r
c�H�SnURURUSS9S5 g)Nr�r�r�r	r�r�s  rr��!TestStdev.test_center_not_at_mean�s$����������4�c��2�C�8rc�D�UR[5 URS[R/5 SSS5 UR[5 URS[R
/5 SSS5 g!,(df   NN=f!,(df   g=frrr�s rr�TestStdev.test_gh_140938�rrr	N)
r9r:r;r<r
rlrr�rr=r7rrrArA�s��%�J�
:�9�'rrAc�8�\rSrSrSrSrSrSrSrSr	Sr
g	)
�TestGeometricMeani�c��[RnURU"/SQ5S5 URU"SS/5S5 URU"S/5S5 [R"S5 [SS	5[SS
5[SS5[SSS
5[SSS5/SQ[S
5Vs/sHn[R"S5PM sn[S5Vs/sHn[R"SS5PM sn[S5Vs/sHn[R"SSS5PM sn4	Hvn[R"[[U55[S5[U5--nU"U5nUR[R"U[!U555 Mx gs snfs snfs snf)N)r�r8r��B@r�g"@g@g�1@l���;r
r�rZr�rr�r�)r�r�rlr��xr��I@��r�rLi�i�)r>�geometric_meanrIr��seedr��expovariate�lognormvariate�
triangularr�prodr�rrir��iscloser)rMrVro�rng�
gm_decimal�gm_floats      rr��TestGeometricMean.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=�,!G�"Gc	�n�[Rn[n[nSn/SQS4U"S5U"S5U"S5/S4U"SS	5U"S
S5U"SS
5/S
4SS
U"SS
5/S4S[	/SQ5S44H=upVU"U5nUR[
U5[U5 URXtSS9 M? g)Ng�d�@r�r�r�r�r�r�r�rr�r
r�r�ror�)r�rCr�r���places)	r>rVrrr�r�rrrI)rMrVr�r�r�r�r�r�s        r�test_various_input_types�*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��[RnSnU"SU-SU-SU-/5nUR[R"USU-55 UR[R"U55 SnU"SU-SU-SU-/5nUR[R"USU-55 URUS5 g)Ngp~gK@g8@rRgpr~)r>rVr�rr\r�r-�assertNotEqual)rMrV�large�big_gm�small�small_gms      r�test_big_and_small�$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�H�[Rn[RnURU5 U"/5 SSS5 URU5 U"/SQ5 SSS5 URU5 U"/SQ5 SSS5 URU5 U"S[R
*S/5 SSS5 URU5 U"[
/55 SSS5 UR[5 U"S5 SSS5 UR[5 U"/SQ5 SSS5 UR[5 U"5 SSS5 UR[5 U"/SQS5 SSS5 g!,(df   GNS=f!,(df   GNA=f!,(df   GN/=f!,(df   GN
=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   g=f)N)ro��r�)r~ror�ror�r�r�r�)r>rVr�rorr"r�r')rMrVr�s   rr��"TestGeometricMean.test_error_cases	sb��#�2�2��$�4�4��
�
�
��
/��2��0�
�
�
��
/��,�-�0�
�
�
��
/��,�-�0�
�
�
��
/��C�$�(�(��D�1�2�0�
�
�
��
/��4��8�$�0�
�
�
�y�
)��4� �*�
�
�
�y�
)��>�*�*�
�
�
�y�
)���*�
�
�
�y�
)��<��,�*�
)�!0�
/��
/�
/��
/�
/��
/�
/��
/�
/��
)�
)��
)�
)��
)�
)��
)�
)�sk�	F�F�8F+�F=�G�?	G �%G1�
H�2H�
F�
F(�+
F:�=
G�
G� 
G.�1
G?�
H�
H!c���[Rn[S5n[S5nUR[R
"U"SU/55S5 UR[R
"U"X#/55S5 UR[R"U"SU/55S5 UR[5 U"X3*/5 SSS5 URU"/SQ5S5 URU"/S	Q5S5 UR[R
"U"S
U/555 UR[R
"U"S
U/555 g!,(df   N�=f)Nr�r�r�r^r�r�)r�r~r�r~)r�rr�r)
r>rVrr�rrr-ror,rI)rMrVr�r�s    rr��%TestGeometricMean.test_special_values"	s��#�2�2���E�l���E�l������
�
�>�2�s�)�#<�=�u�E�����
�
�>�3�*�#=�>�@R�S�����
�
�>�2�s�)�#<�=�z�J�
�
�
�z�
*��C��;�'�+�	
�����4�c�:������5�s�;�����
�
�>�1�c�(�#;�<�=�����
�
�>�1�c�(�#;�<�=�+�
*�s�E'�'
E5c���[RnSn/SQ/SQ/SQ/SQ/SQ/nUH3nURUS9 U"U5nURXRSS	9 SSS5 M5 g!,(df   MG=f)
Ng�Y�};t@)rr�r�r�)rr�r�rX)rr�rrX)rrLrrX)r�rLrrX)�vr�rb)r>rVrxrI)rMrVr�r�rtr�s      r�test_mixed_int_and_float�*TestGeometricMean.test_mixed_int_and_float3	sn��#�2�2��(�
����� �
���A������"�,�Q�/���&�&�{�!�&�L�#�"��"�"�s�A�
A-	r7N)r9r:r;r<r�rdrlr�r�rur=r7rrrPrP�s#��G�,I�$
+�-�,>�"MrrPc�z�\rSrSr\R
"S5S5rSr\R
"S5S5rSr	g)�TestKDEiD	rc	�H�[Rn[Rn/SQn/SQnS$SjnUH>nURUS9 U"USUS9nU"USS5nUR	US	S
S9 SSS5 M@ /SQn	S
n
SnUHNnURUS9 U"X�USS9nU"X�U5nU"USUS5nUR	U"U5US
S9 SSS5 MP URU5 U"/S	S9 SSS5 UR[5 U"SS/S5 SSS5 UR[5 U"[U5S5 SSS5 URU5 U"USS9 SSS5 URU5 U"USS9 SSS5 UR[5 U"USS9 SSS5 URU5 U"US	SS9 SSS5 UR[5 U"US	SS5 SSS5 Sn
SnU"XJU5nURURS5 URXgR5 UR[U
5UR5 U"S/S	S5nURU"S5S5 URU"S	5S5 SS /n	U"U	S!S"5nURU"S#5S5 U	RS#5 URU"S#5S5 g!,(df   GM�=f!,(df   GM�=f!,(df   GN4=f!,(df   GN=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f)%N�
�normal�gauss�logistic�sigmoid�rectangularr�rZ�	parabolic�epanechnikov�quartic�biweight�	triweight�cosine�����������������皙����ٿ�ffffff�?�ffffff@�������@c�p^^�UT-
U-mUU4Sj[U55n[[X55T-$)Nc3�:># �UHnTUS-T--v� M g7f)rNr7)rro�dx�lows  ��rr�6TestKDE.test_kde.<locals>.integrate.<locals>.<genexpr>V	s����D�|�!���C��2�~�-�|�s�)r��sumr�)r�r��high�steps�	midpointsr�s `   @r�	integrate�#TestKDE.test_kde.<locals>.integrateS	s4�����*��%�B�D�u�U�|�D�I��s�4�+�,�r�1�1r��kernelr��hr�r�r�r	r�rb)r�r�r�r�r�g%@T��
cumulativei���r�r^�defr~��rA�bogusr|r��pdfrr�rr
rrrZr�)r�)r>�kder�rxrIror'r�rIr9ryr��reprr�r�)
rMr�r��kernels�sampler�r��f_hat�arear�r�r�cdfs
             r�test_kde�TestKDE.test_kdeF	s���n�n��$�4�4��A��3��	2��F����V��,��F�c�&�9�� ���R�0���&�&�t�S��&�;�-�,���������F����V��,��$�6�d�;���D�V�,�� ���Q��8���&�&�s�1�v�t�A�&�>�	-�,���
�
��
/���c�N�0�
�
�
�y�
)������$�*�
�
�
�y�
)���V��c�"�*�
�
�
��
/���#��0�
�
�
��
/���$��0�
�
�
�y�
)���%� �*�
�
�
��
/���#�g�.�0�
�
�
�y�
)����W�d�+�*�

�����F�v�&���������/��
�
�f�m�m�,��
�
�d�1�g�u�}�}�-�
�Q�C��i�(������t��c�*�����s��S�)��1�v���D�#�|�,������s��S�)����C�����5��:�s�+�u-�,��-�,��0�
/��
)�
)��
)�
)��
/�
/��
/�
/��
)�
)��
/�
/��
)�
)�sx�$K.�4L�L�L&�-L8�M
�:M�M.�	N�&N�.
K>	�
L	�
L#�&
L5�8
M�

M�
M+�.
M=�
N�
N!c
�p�[Rn[Rn[SS5Vs/sHo3S-PM	 nnUR	5HMupVURUS9 U"S/SUSS9nUH nUR
U"U"U55US	S
9 M" SSS5 MO gs snf!,(df   Mf=f)Nr�r�r�r�r~r	T)r�r�r�r�rb)r>�_kernel_invcdfsr�r��itemsrxrI)	rM�kernel_invcdfsr�ro�xarrr��invcdfr�rs	         r�test_kde_kernel_invcdfs�TestKDE.test_kde_kernel_invcdfs�	s���#�3�3���n�n�� %�T�3�/�0�/�!�#��/��0�,�2�2�4�N�F����V��,��3�%�3�v�$�G���A��*�*�6�#�a�&�>�1�Q�*�G��-�,�5��1�,�,�s�B!�#1B&�&
B5	c�^^^^�[Rn[Rn/SQn/SQnUHCnURUS9 U"USUS9m[	S5Vs/sH
nT"5PM nnSSS5 ME URU5 U"/SS9 SSS5 UR[5 U"S	S
/S5 SSS5 UR[5 U"[U5S5 SSS5 URU5 U"USS9 SSS5 URU5 U"USS9 SSS5 UR[5 U"US
S9 SSS5 URU5 U"USSS9 SSS5 SnSnU"XHU5mURTRS5 URUTR5 UR[U5TR5 /SQn	[	SS5V
s/sHo�S-PM	 nn
SnSnSmUU4Sjn
UU4SjnUH�nURUS9 U"X�USS9m[[	U5Vs/sH
nT"5PM sn5m[R"X�USS9mUH4n
UR[ R""U
"U
5U"U
5SS95 M6 SSS5 M� SS /n	U"U	S!S"5mUR%['[	S#5Vs/sH
nT"5PM sn5S5 U	R)S$5 UR+['U4S%j[	S#555S5 gs snf!,(df   GM*=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GNn=f!,(df   GN^=fs sn
fs snf!,(df   GM�=fs snf)&Nrzr�r�rr�r�r	r�r^r�r�r~rAr�r��rand)r�r�r�r�r�r�r
g������,@g333333.@g������.@g������/@g1@r��i@Bg�?r�c�>�[R"TU5n[R"TUT-5nX!-
[T5-$r\)�bisect�bisect_leftri)rro�j�
big_sampler�s   ��r�
p_observed�+TestKDE.test_kde_random.<locals>.p_observed�	s<����"�"�:�q�1�A��"�"�:�q�2�v�6�A��E�S��_�,�,rc�,>�T"UT-5T"U5-
$r\r7)r�F_hatr�s ��r�
p_expected�+TestKDE.test_kde_random.<locals>.p_expected�	s�����R��=�5��8�+�+rliA� ��rWTr�g����Mb@?��abs_tolr
rr�rZr�r�c3�2># �UHnT"5v� M g7fr\r7)rror�s  �rr�*TestKDE.test_kde_random.<locals>.<genexpr>�	s����;�{�!�t�v�v�{�s�)r>�
kde_randomr�rxr�ror'r�rIr9ryr�r�r�r�r�rr\�
assertLessr#r�r�)rMr�r�r�r�r�ro�
selectionsr�r�rr�rr�r�r�r�r�r�s               @@@@r�test_kde_random�TestKDE.test_kde_random�	s.����*�*�
�$�4�4��A��3���F����V��,�!�&�C��?��.3�B�i�8�i��d�f�i�
�8�-�,���
�
��
/��r�S�!�0�
�
�
�y�
)���u�~�s�+�*�
�
�
�y�
)��t�F�|�S�)�*�
�
�
��
/��v��&�0�
�
�
��
/��v��%�0�
�
�
�y�
)��v��'�*�
�
�
��
/��v��W�5�0�

�����&�V�,���������/��
�
�f�d�l�l�+��
�
�d�1�g�t�|�|�,�T�� %�d�C� 0�1� 0�1�B�� 0��1�����
��	-�	,��F����V��,�!�$�6�
�C��#�U�1�X�$>�X��T�V�X�$>�?�
�"���t��4�H���A��O�O�D�L�L��A��
�1�
�W]�$^�_��
-�,���1�v���$��<�0������U�4�[�9�[��T�V�[�9�:�B�?����C�����3�;�u�T�{�;�;�R�@��}9�-�,��0�
/��
)�
)��
)�
)��
/�
/��
/�
/��
)�
)��
/�
/��2��&%?�-�,��:s��M	�M�(M	�M�,M.�N�N�"N$�N6�(	O�5O�-O$�O�AO$�'O7�M	�	
M	�
M+�.
M=�
N�
N!�$
N3�6
O�
O�O$�$
O4	r7N)
r9r:r;r<rr?r�r�r�r=r7rrrxrxD	sK�����u�%�M,�&�M,�^
H�
���u�%�KA�&�KArrxc�2�\rSrSrSrSrSrSrSrSr	g)	�
TestQuantilesi�	c�V^�[Rn/SQn[R"U5 S/4SS/4SSS/4S/S	Q4S
/SQ4S/S
Q4S/SQ4S/SQ4S/SQ4S/SQ44
GHfup4UR	XA"X#S95 UR	[U"X#S95US-
5 [[[4HTmU"[TU5US9nURU4SjU55 UR	U[[TU555 MV [U5S:�aUR	U"XCS9U5 [U5nSUS-US-
nSUS-US-
nX'U/-n	UR	U"X#S9U"X�SS9X245 Sn
[[X�55nU"[X�5US9nUR[S[X�5555 GMi [SS5HRn
[R "[S 5U
S!9nU"U5up�nUR	U[R""U55 MT g)"N)rSr�r�rai^r
r�@o@r��i@�t@r�)�d@r���t@r�)�a@��k@�@r@��u@r�)�^@r�r�r���u@r�)�Y@r�g�j@r�g�r@r�gXv@r�)	gV@r�gg@r�r�r�g`t@r�g�v@r�)�T@r�r�r�� l@r�g�q@r�r�r�g�v@r�)gR@gZ@r�ge@r�r��n@g�p@r�r�g�t@r�g@v@gw@�rc3�R># �UHn[[U5T:H5v� M g7fr\��allr�rr�datatypes  �rr�4TestQuantiles.test_specific_cases.<locals>.<genexpr>
�"����I�&�Q��D��G�x�$7� 8� 8�&���$'rr�r��	inclusive�r�methodc��SU-S-
$�Nrog3333�J�@r7r
s rr��,TestQuantiles.test_specific_cases.<locals>.f
����Q�w��)�)rc3�R# �UHup[R"X5v� M g7fr\�rr\�rrprs   rrr�"
����M�}�t�q����Q� 2� 2�}���%'rr���k)r>�	quantilesr�r�rIrirrrr�r�rBr�r�rmr��choicesr�)rMr�r�rr&r��sdata�lo�hi�padded_datar��exp�actr��q1�q2�q3r�s                 @r�test_specific_cases�!TestQuantiles.test_specific_cases�	s2����(�(�	�(�����t��
��G�
���L�
�����
�%�&�
�,�-�
�3�4�
�A�B�
�O�P�
� �
!�
�5�
6�
�K�A�
���X�y��';�<����S��4�!5�6��A��>�"�G�X�6��"�3�x��#6�!�<�����I�&�I�I�� � ���c�(�H�.E�)F�G�7�
�8�}��!�� � ��8�!9�8�D��4�L�E��U�1�X���a��(�B��U�2�Y���r��*�B��b��/�K�����$�$��+�;�?��	�
�
*��s�1�'�(�C��C��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�t^�[Rn/SQn[R"U5 S/4SS/4SSS/4S/S	Q4S
/SQ4S/S
Q4S/SQ4S/SQ4S/SQ4S/SQ44
H�up4UR	XA"X#SS95 UR	[U"X#SS95US-
5 [[[4HUmU"[TU5USS9nURU4SjU55 UR	U[[TU555 MW Sn[[Xd55nU"[Xb5USS9nUR[S[Xx5555 M� UR	U"SS/SSS9/SQ5 UR	U"[SS5SSS9/SQ5 [S5V	s/sHn	[R"S 5PM nn	U"US!SS9n
UR![#U55 UR![%U55 U"US!S"9nUR	XJ5 [SS#5HQn[R&"[S5US$9nU"USS%9up�nUR	U
[R("U55 MS UR	U"S/SS"9/S&Q5 UR	U"S/SS'S9/S&Q5 gs sn	f)(N)r�r�i�i r
r��r@r�r��y@r�)��e@r�@@r�)r�r���v@���@r�)��b@r�rr���@r�)g0a@�r�rgpw@rgP�@r�)	g@`@r�g�g@r�rrg�{@rg@�@r�)g@_@r	rr�r�rr�rrr
g�@r�)r�g�a@r�g�f@r�r�g�q@r�rrg~@rg�@g��@r�r�c3�R># �UHn[[U5T:H5v� M g7fr\r�r�s  �rr�>TestQuantiles.test_specific_cases_inclusive.<locals>.<genexpr>C
r�r�c��SU-S-
$r�r7r
s rr��6TestQuantiles.test_specific_cases_inclusive.<locals>.fF
r�rc3�R# �UHup[R"X5v� M g7fr\r�r�s   rrr
J
r�r�rr�)	�$@r�g>@gD@rTgN@g�Q@r�g�V@r�i�r�� r�rr��r��rrr�	exclusive)r>r�r�r�rIrirrrr�r�rBr�rmr�r-r�r�r#r�r�)rMr�r�rr&r�r�r�r�ror%r�r�r�r�r�s               @r�test_specific_cases_inclusive�+TestQuantiles.test_specific_cases_inclusive)
s�����(�(�	�#�����t��
��G�
���L�
�����
�%�&�
�,�-�
�3�4�
�>�?�
�P�Q�
�'�
(�
�5�
6�
�K�A�
���X�y��;�'O�P����S��4�[�!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�'�(�C��C��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�(������*��q�"��A��>�>�%��*��2�D�"�4��<�J�B�B����R��!2�!2�4�!8�9��	
����B�4�1�-�/A�B�����B�4�1�[�A�CU�V��>s�( J5c��[Rn[SS5H<nS/U-nURU"U5/SQ5 URU"USS9/SQ5 M> g)Nrr�rrr�r)r>r�r�rI)rMr�rr�s    r�test_equal_inputs�TestQuantiles.test_equal_inputsd
sW���(�(�	��q�"��A��6�A�:�D����Y�t�_�.@�A����Y�t�K�@�.�
0�rc��[RnSn[U5Vs/sHn[R"S5PM nn[[
U55U:wa?UR[R"S55 [[
U55U:waM?UR5 SHUnX%-nURU"XES9Vs/sHn[R"XG5PM sn[[XbU555 MW SHonX%-X%-S-1nU"XES9Vs/sHn[R"XG5PM n	n[X�SS5V
Vs1sH	up�Xz-
iM nn
nURX�:*5 Mq gs snfs snfs snfs snn
f)Nr�皙�����?)
r
rr�r�r�r4r�r�rrZrUr�r�r�)
rlrj�;�m��i;i�isi�i)&r
)r>r�r�r�rXri�setr��sortrIr�rBrmr�)rMr��totalror�r�
group_size�q�group_sizes�pos�p�sizess            r�test_equal_sized_groups�%TestQuantiles.test_equal_sized_groupsl
sW���(�(�	���16�u��>��A��"�"�3�'���>��#�d�)�n��%��K�K��*�*�3�/�0��#�d�)�n��%��	�	��O�A���J����1:�4�1E�F�1E�A����t�'�1E�F��U�:�j�9�:�
<�O�E�A� �:�u�z�A�~�6�K�3<�T�3G�H�3G�a�6�=�=��)�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� E:� E?
� F�F	c� �[Rn[RnUR[5 U"5 SSS5 UR[5 U"/SQSSS9 SSS5 UR[5 U"/SQS5 SSS5 URU5 U"/SQSS9 SSS5 URU5 U"/SQSS9 SSS5 UR[5 U"/SQSS9 SSS5 UR[
5 U"/SQSS	9 SSS5 URU5 U"/SS9 SSS5 UR[5 U"/S
QSS9 SSS5 g!,(df   GN==f!,(df   GN'=f!,(df   GN=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   g=f)Nr�rlr�r�rr�r�Xr)r�Nr2)r>r�r�ror'r,)rMr�r�s   rr��TestQuantiles.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�/�+�
�
�
��
/��b�A��0�
�
�
�y�
)��n��*�*�
)�!*�
)��
)�
)��
)�
)��
/�
/��
/�
/��
)�
)��
*�
*��
/�
/��
)�
)�sk�E4�F�F�(
F*�
F;�2
G�
G�<G.�!
G?�4
F�
F�
F'�*
F8�;
G	�
G�
G+�.
G<�?
H
r7N)
r9r:r;r<rrrr)r�r=r7rrr�r��	s��4:�l9W�v0�2�.+rr�c� �\rSrSrSrSrSrg)�TestBivariateStatisticsi�
c��/SQSS/4SS//SQ44H�upUR[R5 [R"X5 SSS5 UR[R5 [R"X5 SSS5 UR[R5 [R
"X5 SSS5 M� g!,(df   N�=f!,(df   Nb=f!,(df   M�=f)Nr*r
r�ror>r��
covariance�correlation�linear_regressionrRs   r�test_unequal_size_error�/TestBivariateStatistics.test_unequal_size_error�
s���
��A�����V�Y��
�D�A��"�"�:�#=�#=�>��%�%�a�+�?��"�"�:�#=�#=�>��&�&�q�,�?��"�"�:�#=�#=�>��,�,�Q�2�?�>�
�?�>��>�>��>�>�s#�C�3C&�1C7�
C#	�&
C4	�7
D	c�2�//4/SS/4SS//4S/S/4S/SS/4SS/S/44H�upUR[R5 [R"X5 SSS5 UR[R5 [R"X5 SSS5 UR[R5 [R
"X5 SSS5 M� g!,(df   N�=f!,(df   Nb=f!,(df   M�=f)Nr
rr1rRs   r�test_small_sample_error�/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��"�"�:�#=�#=�>��%�%�a�+�?��"�"�:�#=�#=�>��&�&�q�,�?��"�"�:�#=�#=�>��,�,�Q�2�?�>�
�?�>��>�>��>�>�s$�C%�C6�D�%
C3	�6
D	�
D	r7N)r9r:r;r<r5r8r=r7rrr/r/�
s��
3�3rr/c��\rSrSrSrSrSr\\R"\
S5\RS555r
SrSrg	)
�TestCorrelationAndCovariancei�
c��/SQ/SQS4/SQ/SQS4/SQ/SQS4/SQ/SQS4/SQ/SQS	44HRupnUR[R"X5U5 UR[R"X5U5 MT g)
Nr*r
�r�r�r�r�)r�rr
)r
rr
r)r
r�rr�rIr>r3r2)rMrr.r�s    r�test_results�)TestCorrelationAndCovariance.test_results�
s|��
�	�1�%�
��b�)�
�	�2�&�
�	�1�%�
�	�3�'�
�L�A�&�
�"�"�:�#9�#9�!�#?��H��"�"�:�#8�#8��#>��G�
rc�L�/SQn/SQnUR[R"X5S5 UR[R"X5S5 /SQnUR[R"X5S5 UR[R"X5S5 g)Nr*)r�r2r�rr�)r�rg333333�?r
r�r>rRs   r�test_different_scales�2TestCorrelationAndCovariance.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
��[S5H�n[R"5n[R"5n[R"X#-5n[
R"X#5nURX#XES9 URXE5 SSS5 M� Sup#nUR[
R"X#5U5 UR[R"X#-5U5 [RR[RR-nUR[
R"Xw5U5 [RRnUR[
R"X�5U5 SSSSSS	[R [R *[R"[R"*/
n	[$R&"U	S
S9GHup#[R"X#-5n[
R"X#5nURX#XES9 [+U[,5(a#US:XaURUS5 SSS5 MUR/U[05 [R2"U5(a0UR5[R2"U55 SSS5 M�URXT5 UR[7U5[7U55 SSS5 GM  g!,(df   GM=f![(a SnGN&f=f![(a SnGN"f=f!,(df   GMl=f)
Nr�)rr.r&r%�g?�4�ܶ�?gҚz�v�?g�SdP���?r~rr	r�r�ror)�repeatr,)r�r�rXrrr>�	_sqrtprodrxrIrIrg�sys�
float_infor��epsilonr#r^r"rrr,rrAr�rrr�r)
rMrorr.r&r%�target�smallest�biggest�special_valuess
          r�*test_sqrtprod_helper_function_fundamentals�GTestCorrelationAndCovariance.test_sqrtprod_helper_function_fundamentals�
s����s��A��"�"�$�A��"�"�$�A��y�y���'�H��)�)�!�/�F�������I��&�&�x�8�J�I��R���f�����-�-�a�3�V�<����D�I�I�a�e�,�f�5��>�>�%�%����(>�(>�>������-�-�h�A�8�L��.�.�$�$������-�-�g�?��I��t�S�$��T��(�(�T�X�X�I�t�x�x�$�(�(��D���%�%�n�Q�?�D�A�
(��9�9�Q�U�+��
&�#�-�-�a�3��������I��h��,�,��\�1I��$�$�V�\�:��J�I��%�%�f�e�4��:�:�h�'�'��O�O�D�J�J�v�$6�7��J�I�� � ��2�� � ��f��t�H�~�>�J�I�@�!J�I��&�
(�'��
(���
&�%��
&��I�I�sI�7L�%L�>L'�$/L:�AL:�>5L:�
L	�L$�#L$�'L7�6L7�:
M
	z8accuracy not guaranteed on machines with double roundingc��SupnUR[R"X5U5 UR[R
"X-5U5 S[S[S[4SjnSnSn[S5Hqn[R"5n[R"5n[R"X5n[R
"X-5n	U"X5n
XXU
:H-
nXiU
:H-
nMs URXV5 g)NrErr.r!c��[R"U5n[R"U5n[R"5nSUl[	X-R55sSSS5 $!,(df   g=f)Nr�)rXrrYr5rr)rr.r9s   r�reference_value�eTestCorrelationAndCovariance.test_sqrtprod_helper_function_improved_accuracy.<locals>.reference_valuesO������"�A�����"�A��%�%�'�3�����a�e�\�\�^�,�(�'�'�s�"A.�.
A<rr�)rIr>rGrgrrrr�r�rXr�)rMrr.rKrS�new_agreements�old_agreementsror��old�refs           r�/test_sqrtprod_helper_function_improved_accuracy�LTestCorrelationAndCovariance.test_sqrtprod_helper_function_improved_accuracy�
s���R���f�����-�-�a�3�V�<����D�I�I�a�e�,�f�5�	-�u�	-��	-�5�	-������v��A��"�"�$�A��"�"�$�A��&�&�q�,�C��)�)�A�E�"�C�!�!�'�C��c�z�*�N��c�z�*�N��	
���>�:rc���/SQn/SQnUR[R"XSS9S5 UR[5 [R"XSS9 SSS5 g!,(df   g=f)N)
�8�K�-rrqr&�:�P�Lrq)
�Br�rur�Ar\r�Mrr�?�rankedrgl�\�e�?�
bad_method)rIr>r3ror,)rM�reading�mathematicss   r�test_correlation_spearman�6TestCorrelationAndCovariance.test_correlation_spearmans[��;��>�����z�5�5�g�S[�\�1�	3��
�
�z�
*��"�"�7��M�+�
*�
*�s�A"�"
A0r7N)r9r:r;r<r?rBrOrrV�skipIf�HAVE_DOUBLE_ROUNDINGr�cpython_onlyrYrjr=r7rrr;r;�
sU��	H�A�)?�V�
�_�_�)�O�Q����;��Q��;�6Nrr;c�,�\rSrSrSrSrSrSrSrg)�TestLinearRegressioni*c��/SQn/SQnUR[R5 [R"X5 SSS5 g!,(df   g=f)N)r
r
r
r*)ror>r�r4rRs   r�test_constant_input_error�.TestLinearRegression.test_constant_input_error,s:������
�
�
�z�9�9�
:��(�(��.�;�
:�
:�s�A�
Ac
��/SQ/SQSS4/SQ/SQSS4/SQ/SQSS4/SQ/SQSS	4/SQ/S
QSS4/SQ/SQS
S4/SQ/SQSS44H@upp4[R"X5upVURXc5 URXT5 MB g)Nr*)rrrrr
)r�r�r�r�)r�r4r�r�rr=r�)r�r7rr�)r�g������@rEr�r�)r>r4rI)rMrr.�true_intercept�
true_slope�slope�	intercepts       rr?�!TestLinearRegression.test_results2s���
�	�1�a�(�
�	�1�a�(�
���a�0�
��b�!�,�
��a��,�
��b�!�,�
���C�0�1
�,�A�.� *�;�;�A�A��E��"�"�9�=��"�"�5�5�1
rc��/SQn/SQn[R"XSS9up4URUS5 URUS5 g)N)r�r�r2ru)�i�ibiT��proportionalg�N�4@r~)r>r4rIrI�rMrr.rwrxs     r�test_proportional�&TestLinearRegression.test_proportional@sA���� ��%�7�7��4�P������u�j�1�����C�(rc��[SS5[SS5/n[SS5[SS5/n[R"X5up4UR[	U[
55 UR[	U[
55 [R"XSS9up4UR[	U[
55 UR[	U[
55 g)Nrr�r�r�r�Tr|)rr>r4r�rrr~s     r�test_float_output�&TestLinearRegression.test_float_outputGs���
�a��^�X�a��^�,��
�a��^�X�a��^�,��%�7�7��=������
�5�%�0�1����
�9�e�4�5�%�7�7��4�P������
�5�%�0�1����
�9�e�4�5rr7N)	r9r:r;r<rrr?rr�r=r7rrrprp*s��/�6�)�6rrpc���\rSrSrSrSrSrSrSrSr	\
R\
R"S5S	55r
S
rSrSrS
rSrSrSrSrSrSrSrSrSrg)�TestNormalDistiQc��URRSS5nUR[5 [	U5 SSS5 UR[
UR5S5 g!,(df   N4=f)Nr`r)�_mu�_sigma)r��
NormalDistror'�varsrIrC�	__slots__�rM�nds  r�
test_slots�TestNormalDist.test_slotsZsU��
�[�[�
#�
#�C��
,��
�
�
�y�
)���H�*�����r�|�|�,�.?�@�*�
)�s�A,�,
A:c��URRSS5nURURS5 URURS5 URUR
S5 URR5nURURS5 URURS5 URUR
S5 UR
URR5 URRSS5 SSS5 "SSURR5nU"S	S
5nUR[U5U5 g!,(df   NR=f)Nrr�i!rr
i����c��\rSrSrSrg)�GTestNormalDist.test_instantiation_and_attributes.<locals>.NewNormalDistiqr7Nr8r7rr�
NewNormalDistr�qr�rr�r�r�)	r�r�rIrrCr�ror�r)rMr�r��nnds    r�!test_instantiation_and_attributes�0TestNormalDist.test_instantiation_and_attributes`s��
�[�[�
#�
#�C��
,��������#�&�������2�&�������e�,��[�[�
#�
#�
%��������!�$�������1�%�������d�+��
�
�t�{�{�:�:�
;��K�K�"�"�3��,�<�	�D�K�K�2�2�	��C��#������c��M�2�<�
;�s�E-�-
E;c��URRn/SQnURURU5U"SS55 URUR[	U55U"SS55 URUR[U55U"SS55 UR
URR5 UR/5 SSS5 UR
URR5 URS/5 SSS5 "SSU5nURU5nUR[U5U5 g!,(df   N�=f!,(df   NW=f)N)�`r��Zr5�nr�r�r�c��\rSrSrSrg)�BTestNormalDist.test_alternative_constructor.<locals>.NewNormalDisti�r7Nr8r7rrr�r��r�rr�)	r�r�rI�from_samplesrCr�ror�r)rMr�r�r�r�s     r�test_alternative_constructor�+TestNormalDist.test_alternative_constructorvs���[�[�+�+�
�%������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*�-
E;c�|�URRnSup#U"X#5nSnURU5nUR[	U5U5 UR[[
[U55[15 URRU5nURX#S--
Us=:*=(a
 X#S--:*Os 5 SnURUSS9nURUSS9n	URUSS9n
URUSS9nURX�5 URX�5 URX�5 g)N)r�rLrZr�r�zhappiness and joyr�ztrouble and despair)r�r��samplesrIrir r�rrrr�rg)rMr�r�sigmar,rr�r��data1�data2�data3�data4s            r�test_sample_generation�%TestNormalDist.test_sample_generation�s���[�[�+�+�
��	���r�!�����y�y��|������T��A�&�����S��t�_�-��w�7��{�{����%������1�W���<�<��1�W��<�=�
���	�	�!�"5�	�6���	�	�!�"7�	�8���	�	�!�"5�	�6���	�	�!�"7�	�8������&�����&����E�)rc	���URRnU"SS5nURURS5URS55 URURS5URS55 [	S5H9nURURSU-
5URSU-55 M; Sn[	SS5HKnUR
XT-5UR
U5-
U-nURURU5US	S
9 MM U"5n[/SQ5HLupXURURUS-5US	S
9 URURU*S-5US	S
9 MN U"SS
5n	URURR5 U	RS5 SSS5 URUR[S55S5 URUR[S55S5 UR[R"UR[S5555 g!,(df   N�=f)Nr�r�r�r�r4gP?r�r�r�rb)2�+��ݓ��?r�r�ggDio��?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����?r�r�-Infr~r�r�)r�r�r�r�r�rIr�rlror�rIrr�rr)
rMr�r,ror�r�est_pdf�Z�px�Ys
          r�test_pdf�TestNormalDist.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�
�"�"�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�7I#�#
I1c	���URRnU"SS5n[SS5Vs/sHo2RU5PM nnUR	[[
[U55[15 UR	U[U55 UR	URS5S5 U"5nSHIupgURURU5USS9 URURU*5S	U-
SS9 MK U"SS
5nURURR5 URS5 SSS5 UR	UR[S55S
5 UR	UR[S55S	5 UR[R"UR[S5555 gs snf!,(df   N�=f)Nr�r�r
r�r))r~r)r�gqZ� �?)r-g��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�rbr	rr�r�r~r�r�)r�r�r�r�rIr r�rrr�rIror�r�rr)	rMr�r,r�cdfsr��z�cum_probr�s	         r�test_cdf�TestNormalDist.test_cdf�s����[�[�+�+�
��s�B���"'��3�-�0�-�Q���a��-��0�����S��t�_�-��w�7�����v�d�|�,�������s��T�*�
�L���K�A�
�"�"�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$�8G)�)
G7rc	�Z�URRnU"SS5nURURS5UR5 U"5nSSSS.nUR5HgupV[
USS	9HTupxUS
U*--n	URURU	5*USS9 S
U	-
n	URURU	5USS9 MV Mi URU"SS5RS5S5 Sn
[SU
5H7n	X�-n	URURURU	55U	5 M9 [SS5HnnSU*-n	URURURU	55U	5 S
U	-
n	URURURU	55U	5 Mp [S5H2nURURURU55USS9 M4 URURR5 URS5 SSS5 URURR5 URS5 SSS5 URURR5 URS
5 SSS5 URURR5 URS5 SSS5 U"SS5nURURS5S5 UR[R"UR[S5555 g!,(df   GN4=f!,(df   GN=f!,(df   N�=f!,(df   N�=f)Nr�r�r)
r~gR���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@)rr�r	r
)�startrr�rbr	rurg��>���?g���E@i�3r�r�r�r~r,g�������?rr�)r�r�rI�inv_cdfrr�rlrIr�r�ror�r�rrr)rMr��iqr��ppr'�rowr�rr'rrps            r�test_inv_cdf�TestNormalDist.test_inv_cdf�s����[�[�+�+�
���R�
 ��������D�)�2�7�7�3�

�L��7�7�7�	8������I�D�#�C�q�1����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'�'M9�&N�%N�'
M6�9
N�
N�
N*c
���URR5nS/4SS/4SSS/4S/SQ44H>up#URUS	9nUR[	S
[X45555 M@ g)Nr
rr~r�g�ǘ���ۿg�ǘ����?r�)g/�$���r~g/�$���?r�c3�P# �UHup[R"XSS9v� M g7f)rr�Nr�r�s   rr�0TestNormalDist.test_quantiles.<locals>.<genexpr>3s$��� ?�(=���!%���Q�6� B�(=�s�$&)r�r�r�r�r�rm)rMr�rr&r%s     r�test_quantiles�TestNormalDist.test_quantiles)s����K�K�"�"�$��
��G�
���J�
��&�!�"�
�&�'�	�K�A��[�[�1�[�%�F��O�O�C� ?�(+�H�(=� ?�?�
@�rc��URRnU"SS5U"SS5S4U"SS5U"SS5S44HFup#nURURU5USS9 URURU5USS9 MH SS	S
.SjnU"SS5U"SS54U"SS5U"SS54U"SS5U"SS54U"SS5U"S
S54U"SS5U"SS54U"SS5U"SS54U"SS5U"SS54U"SS5U"SS54U"SS5U"SS54U"SS5U"SS54U"SS5U"SS54U"SS5U"SS54U"SS5U"SS54U"SS5U"SS544HQup#URURU5U"X#5S	S9 URURU5U"X#5S	S9 MS U"5nUR	[
5 UR5 SSS5 UR	[
5 URXf5 SSS5 UR	[
5 URS5 SSS5 UR	URR5 URU"SS55 SSS5 UR	URR5 U"SS5RU5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   g=f)Nr~r�r	gɎ�@���?gM-[닄�?r�rbi r�)r�r�c���[RnURUR-S-nU[URUR5-nXV-
nSU-U-n[U5V	s/sH	o�X�--PM n
n	[
[URU
55n[
[URU
55n[U"U5U"U55n
U"[[X�55U
-$s sn	f)Nr�)
rr&rr#rCr�rBr�r�r�)r,r�r�r�r&�center�widthr�r�ro�x_arr�xp�ypr"s              r�overlap_numeric�4TestNormalDist.test_overlap.<locals>.overlap_numericBs����9�9�D��f�f�q�v�v�o��,�F���A�G�G�Q�W�W�-�-�E��N�E��u��u�$�B�+0��<�8�<�a�Q�T�\�<�E�8��c�!�%�%��'�(�B��c�!�%�%��'�(�B���R��$�r�(�+�E���C��(�)�E�1�1��	9s�)C*r�rcror�r�r�r�i����r��r�rHgj�t��?g�~j�t�h?gj�t��?ga2U0*�3?g��MbX�?r
r)r�r�rI�overlapror'r�)rMr��X1�X2�published_resultr�r,s       r�test_overlap�TestNormalDist.test_overlap6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�3J�ST�"�U��"�"�2�:�:�b�>�?�2�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<�0K4�L�
L�L'�L8�4
L�
L�
L$�'
L5�8
Mc�6�URRnU"SS5nURURS5S5 URURS5S5 URURS5S5 UR	[
5 UR5 SSS5 UR	[
5 URSS5 SSS5 UR	[
5 URS5 SSS5 UR	URR5 U"SS	5RS5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   Nw=f!,(df   g=f)
Nr�r��gffffff@r_gffffff�r~r
r)r�r�rI�zscoreror'r�)rMr�r,s   r�test_zscore�TestNormalDist.test_zscoreus���[�[�+�+�
��s�B���������#���,�������"��t�,�������#���,�
�
�
�y�
)�
�H�H�J�*�
�
�
�y�
)�
�H�H�Q��N�*�
�
�
�y�
)�
�H�H�T�N�*�
�
�
�t�{�{�:�:�
;��q�!��#�#�C�(�<�
;�
*�
)��
)�
)��
)�
)��
;�
;�s0�E�E(�6E9�5F
�
E%�(
E6�9
F�

Fc�T�URRSS5nURURS5 URURS5 URUR
S5 URURS5 URURS5 g)Nr�r���)r�r�rIrr�rlrCr�)rMr,s  r�test_properties�TestNormalDist.test_properties�s|���K�K�"�"�3��+���������%�������3�'��������%�������"�%�������S�)rc��URRnU"SS5nU"SS5nURX#-U"SS55 URX#-
U"SS55 g)Nr�r�rur��rlr)r�r�rI�rMr�r,r�s    r�'test_same_type_addition_and_subtraction�6TestNormalDist.test_same_type_addition_and_subtraction�s[���[�[�+�+�
��s�B����r�1��������
�3�� 3�4������
�2�r� 2�3rc��URRnU"SS5nSnURU7U"SS55 URU*U"SS55 URX#-U"SS55 URX2-U"SS55 URX#-
U"SS55 URX2-
U"SS55 URX#-U"SS	55 URX2-U"SS	55 URX#-U"SS
55 UR[5 X2- SSS5 g!,(df   g=f)Nr�r�r�r�r�r�i����rZr�r)r�r�rIror')rMr�r,r.s    r�test_translation_and_scaling�+TestNormalDist.test_translation_and_scaling�s"���[�[�+�+�
��s�B��������!��Z��R�0�1����!��Z��b�1�2������
�3�� 3�4������
�3�� 3�4������
�2�r� 2�3������
�3�� 3�4������
�4�� 5�6������
�4�� 5�6������
�2�s� 3�4�
�
�
�y�
)�
�E�*�
)�
)�s�(D6�6
Ec���URRnU"SS5nU7nURX#5 URURUR5 URUR
UR
5 U*nURX#5 URURUR*5 URUR
UR
5 g)Nr�r�)r�r��assertIsNotrIrrCr�s    r�test_unary_operations�$TestNormalDist.test_unary_operations�s����[�[�+�+�
��s�B���
�B����������������(�������!�'�'�*�
�B�������������!�&�&��)�������!�'�'�*rc��URRnU"5nU"SS5nU"5nU"SS5nU"SS5nU"SS5nURX#5 URX$5 URX55 URX65 URX75 "SS5nU"5n	URUR	U	5[
5 URX):HS5 URX�:HS5 "SSU5n
U
"S	S
S5nU"S	S
5nURX�5 "SS
5nU"S	S
5n
U"S	S
5nURX�5 g)Nrr�r�c��\rSrSrSrSrg)�'TestNormalDist.test_equality.<locals>.Ai�c��gr�r7)rMr_s  r�__eq__�.TestNormalDist.test_equality.<locals>.A.__eq__�s��rr7N)r9r:r;r<r�r=r7rrrr��s��
rrr�c�(^�\rSrSrU4SjrSrU=r$)�5TestNormalDist.test_equality.<locals>.SizedNormalDisti�c�0>�[TU]X5 X0lgr\)rb�__init__r)rMrr�rras    �rr��>TestNormalDist.test_equality.<locals>.SizedNormalDist.__init__�s����� ��+��rr�)r9r:r;r<r�r=rhris@r�SizedNormalDistr��s
���
�
rr�r�r��9c��\rSrSrSrSrg)�3TestNormalDist.test_equality.<locals>.LognormalDisti�c��XlX lgr\�rr�)rMrr�s   rr��<TestNormalDist.test_equality.<locals>.LognormalDist.__init__�s����"�
rr�N)r9r:r;r<r�r=r7rr�
LognormalDistr��s��
#rr�)r�r�rgrIr��NotImplemented)rMr��nd1�nd2�nd3�nd4�nd5�nd6rrr��sr��lndr�s               r�
test_equality�TestNormalDist.test_equality�sL���[�[�+�+�
��l����A����l����A�����A�����A������C�%�����"�����"����C�%����C�%�	�	�
�C��������A���7������2�&������2�&�	�j�	�
�C��R�(����b�!������ �
	#�	#��C��$��
��R�
 �����B�$rc���URRSS5n[R"U5nURX5 [R"U5nURX5 g)N��B@��@)r�r��copyrI�deepcopy)rMr�r�rs    r�	test_copy�TestNormalDist.test_copy�sO��
�[�[�
#�
#�D�%�
0���i�i��m������!��m�m�B�������!rc	�H�URRSS5n[[RS-5HTnURUS9 [R"[R"XS95nURX5 SSS5 MV g!,(df   Mh=f)Nr
rr
)�proto)�protocol)	r�r�r��pickle�HIGHEST_PROTOCOLrx�loads�dumpsrI)rMr�r�pickleds    r�test_pickle�TestNormalDist.test_pickle�st��
�[�[�
#�
#�D�%�
0���6�2�2�Q�6�7�E����E��*� �,�,�v�|�|�B�'G�H��� � ��-�+�*�8�*�*�s�:B�
B!	c��URRnU"SS5U"SS5U"SS5U"SS5U"SS51nUR[U5S5 g)Nr�r�r�g.@r�r\r�)r�r�rIri)rM�NDrs   r�test_hashability�TestNormalDist.test_hashability�sS��
�[�[�
#�
#��
��R�[�"�U�D�/�2�c�2�;��2�r�
�B�s�B�K�P������Q���#rc�r�URRSS5nUR[U5S5 g)Nr
rz NormalDist(mu=37.5, sigma=5.625))r�r�rIr�r�s  r�	test_repr�TestNormalDist.test_repr�s-��
�[�[�
#�
#�D�%�
0������b��#E�Frr7N)r9r:r;r<r�r�r�r�r�r�r�skip_if_pgo_taskr?r�r�r�r�r�r�r�r�rrrrrr=r7rrr�r�Qs���A�3�,3�**�,%9�N9�<
������u�%�?=�&��?=�B@�=(�~
)�*�4�� 
+�*%�X"�.�$�
Grr�c�$�\rSrSr\rSrSrSrg)�TestNormalDistPythoni�c�>�UR[RS'grG�r�rH�modulesr�s rr
�TestNormalDistPython.setUp����$(�K�K����L�!rc�2�[[RS'grG�r>rHr&r�s r�tearDown�TestNormalDistPython.tearDown����$.����L�!rr7N)	r9r:r;r<rKr�r
r+r=r7rrr#r#�s��
�F�0�/rr#rQc�$�\rSrSr\rSrSrSrg)�TestNormalDistCi�c�>�UR[RS'grGr%r�s rr
�TestNormalDistC.setUp
r(rc�2�[[RS'grGr*r�s rr+�TestNormalDistC.tearDown
r-rr7N)	r9r:r;r<rSr�r
r+r=r7rrr/r/�s��
�F�0�/rr/c���UR[R"55 [RS:Xa)UR[R"[
55 U$)N�short)�addTests�doctest�DocTestSuiterH�float_repr_styler>)�loader�tests�ignores   r�
load_testsr=
sA��	�N�N�7�'�'�)�*�
���w�&�
���w�+�+�J�7�8��Lr�__main__)r�gH�����z>)Wrr�r]�collections.abcrrXr7rrrr�rHrV�testr�test.supportrrrr�rr>r.rmrrr*r3r5�import_fresh_modulerKrSr�rCrYr|r�r�r�r�rXrkrvr�r�r�r�r�rrPr�r�r�rr
r6r?rgr}r�r�rrr$r/rjr�r�r�r�r�rrrArPrxr�r/r;rpr�r#rWr/r=r9�mainr7rr�<module>rDsx����
��������
�
�
���9�������1��A���)���3�>
� 2)�t$	�$	�V�1�1�,�;H�/�K�
��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�,
�(�+�+�
�=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�,-�\'�#�_�'�2_k�h�'�'�_k�D'�"�O�'�8nM��)�)�nM�bjA�h���jA�Zf+�H�%�%�f+�R3�h�/�/�3�>oN�8�#4�#4�oN�b%6�8�,�,�%6�N_G�_G�J
/�8�,�,�n�/�
���\�#9�:�/�h�'�'��/�;�/���z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit