403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
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 :  /Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Python315/Lib/test/__pycache__/test_statistics.cpython-315.pyc
R
>lqj�c�d�Qs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]PH(s
]PH,s]PH0s]QH4Gs]QH<GsGs]QHGs]QHLGs]PHTsQQtss\\*Qx6HsQsQsQ	sQyQ
ksQQ2s\O:Q
Q,Q5s\O:Q
Q,Q5sQQ\O@2s!QQ\O@2s"QQ\O@2s#QQ\O@2s$QQ\O@2s%QQ\O@2s&QQ\O@2s'QQ \O@2s(Q!Q"\O@2s)Q#Q$\O@2s*Q%Q&\O@2s+Q'Q(\O@2s,Q)Q*\O@2s-Q+Q,\O@2s.Q-Q.\O@2s/Q/Q0\O@2s0Q1Q2\O@2s1Q3Q4\O@2s2Q5Q62s3Q7Q82s4Q9Q:\3\42s5Q;Q<\"2s6Q=Q>\"2s7Q?Q@\"2s8QAQB\32s9QCQD\"\9\42s:QEQF\"\9\42s;QGQH\"\92s<QIQJ\"\42s=QKQL\<\42s>QMQN\<\42s?QOQP\<2s@QQQR\"\9\42sAQSQT\O@2sBQUQV\O@2sCQWQX\32sDQYQZ\D\"\42sEQ[Q\\D\"\42sFQ]Q^\D\"2sGQ_Q`\O@2sHQaQb\D\"2sIQcQd\O@2sJQeQf\O@2sKQgQh\O@2sLQiQj\O@2sMQkQl\O@2sNQmQn\O@2sOQoQp2sPQqQr\O@\P2sQ\O�\Qs2QtQu\O@\P22sSQvsT\UQw6Xc\O�2P!P!)zz_Test suite for statistics module, including helper NumericTestCase and
approx_equal function.

)�support)�
import_helper�requires_IEEE_754)�Decimal��Fractiong��7y�ACg�):��@c�2�[O]U2!)z:Return -1.0 for negatives, including -0.0, otherwise +1.0.)�math�copysign��xs&�)C:\Python315\\Lib\test\test_statistics.py�signr
%s���=�=��A���c�J�[U2[U2IcP
![U[2%c5[OU29%c[OU2!UO2]*oUO2]*oV#6H9%cUQ7!)a�Return True if a and b are both the same kind of NAN.

>>> _nan_equal(Decimal('NAN'), Decimal('NAN'))
True
>>> _nan_equal(Decimal('sNAN'), Decimal('sNAN'))
True
>>> _nan_equal(Decimal('NAN'), Decimal('sNAN'))
False
>>> _nan_equal(Decimal(42), Decimal('NAN'))
False

>>> _nan_equal(float('NAN'), float('NAN'))
True
>>> _nan_equal(float('NAN'), 0.5)
False

>>> _nan_equal(float('NAN'), Decimal('NAN'))
False

NAN payloads are not compared.
)�n�N)�type�
isinstance�floatr�isnan�as_tuple)�a�b�aexp�bexps&&  r�
_nan_equalr)su��,�A�w�d�1�g����!�U����z�z�!�}�.�.����A��.��:�:�<��?�D��:�:�<��?�D��L�2�2�t�z�1�2rc��[[U2[U22o[V*
2oU%c	V2*L
[Q2oV41!)z�Return the absolute and relative errors between two numbers.

>>> _calc_errors(100, 75)
(25, 0.25)
>>> _calc_errors(100, 100)
(0, 0.0)

Returns the (absolute error, relative error) between the two arguments.
�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
��U]6fU]6c[Q2g[OU2%f[OU2%cP
!V6XcP	![OU2%f[OU2%cP
![	V*
2o[V#[[	U2[	U22*2oVE6*!)aBapprox_equal(x, y [, tol [, rel]]) => True|False

Return True if numbers x and y are approximately equal, to within some
margin of error, otherwise return False. Numbers which compare equal
will also compare approximately equal.

x is approximately equal to y if the difference between them is less than
an absolute error tol or a relative error rel, whichever is bigger.

If given, both tol and rel must be finite, non-negative numbers. If not
given, default values are tol=1e-12 and rel=1e-7.

>>> approx_equal(1.2589, 1.2587, tol=0.0003, rel=0)
True
>>> approx_equal(1.2589, 1.2587, tol=0.0001, rel=0)
False

Absolute error is defined as abs(x-y); if that is less than or equal to
tol, x and y are considered approximately equal.

Relative error is defined as abs((x-y)/x) or abs((x-y)/y), whichever is
smaller, provided x or y are not zero. If that figure is less than or
equal to rel, x and y are considered approximately equal.

Complex numbers are not directly supported. If you wish to compare to
complex numbers, extract their real and imaginary parts and compare them
individually.

NANs always compare unequal, even with themselves. Infinities compare
approximately equal if they have the same sign (both positive or both
negative). Infinities with different signs compare unequal; so do
comparisons of infinities with finite numbers.
z%error tolerances must be non-negative)�
ValueErrorrr�isinfrr)r�y�tol�rel�actual_error�
allowed_errors&&&&  r�approx_equalr.Xs���D�Q�w�#��'��@�A�A��z�z�!�}�}��
�
�1�
�
���v���z�z�!�}�}��
�
�1�
�
���q�u�:�L����S��V�S��V�!4�4�5�M��(�(rc��\sQs]�sQsQsP!)�
_DoNothingaE
When doing numeric work, especially with floats, exact equality is often
not what you want. Due to round-off error, it is often a bad idea to try
to compare floats with equality. Instead the usual procedure is to test
them with some (hopefully small!) allowance for error.

The ``approx_equal`` function allows you to specify either an absolute
error tolerance, or a relative error, or both.

Absolute error tolerances are simple, but you need to know the magnitude
of the quantities being compared:

>>> approx_equal(12.345, 12.346, tol=1e-3)
True
>>> approx_equal(12.345e6, 12.346e6, tol=1e-3)  # tol is too small.
False

Relative errors are more suitable when the values you are comparing can
vary in magnitude:

>>> approx_equal(12.345, 12.346, rel=1e-4)
True
>>> approx_equal(12.345e6, 12.346e6, rel=1e-4)
True

but a naive implementation of relative error testing can run into trouble
around zero.

If you supply both an absolute tolerance and a relative error, the
comparison succeeds if either individual test succeeds:

>>> approx_equal(12.345e6, 12.346e6, tol=1e-3, rel=1e-4)
True

�)�__name__�
__module__�__qualname__�__firstlineno__�__doc__�__static_attributes__r1rrr0r0�s
��"�F	rr0�
statistics�_statistics)�blocked)�freshc�``�\sQs]�snQ,sQs\O\Q2Q2s	Qs
UsP!)�TestModules�_normal_dist_inv_cdfc��UOFD-oUO[[U2OQ2J/	P!�r8)�
func_names�assertEqual�getattr�
py_statisticsr3��self�fnames& r�test_py_functions�TestModules.test_py_functions�s-���_�_�E����W�]�E�:�E�E�|�T�%r�requires _statisticsc��UOFD-oUO[[U2OQ2J/	P!)r9)rArBrC�c_statisticsr3rEs& r�test_c_functions�TestModules.test_c_functions�s-���_�_�E����W�\�5�9�D�D�m�T�%rr1)r2r3r4r5rArH�unittest�
skipUnlessrLrMr7�__classdictcell__��
__classdict__s@rr=r=�s7����(�)�J�U�����'=�>�U�?�Urr=c�X`�\sQs]�snQs]9ssQQksQsQQks	\
Q2sQsUs
P!)	�NumericTestCasez�Unit test class for numeric work.

This subclasses TestCase. In addition to the standard method
``TestCase.assertAlmostEqual``,  ``assertApproxEqual`` is provided.
c�6�Ue
UOoUe
UOo[U[OO
2%c8[U[OO
2%cUOoLUOoUVV4U2P!)a�Test passes if ``first`` and ``second`` are approximately equal.

This test passes if ``first`` and ``second`` are equal to
within ``tol``, an absolute error, or ``rel``, a relative error.

If either ``tol`` or ``rel`` are None or not given, they default to
test attributes of the same name (by default, 0).

The objects may be either numbers, or sequences of numbers. Sequences
are tested element-by-element.

>>> class MyTest(NumericTestCase):
...     def test_number(self):
...         x = 1.0/6
...         y = sum([x]*6)
...         self.assertApproxEqual(y, 1.0, tol=1e-15)
...     def test_sequence(self):
...         a = [1.001, 1.001e-10, 1.001e10]
...         b = [1.0, 1e-10, 1e10]
...         self.assertApproxEqual(a, b, rel=1e-3)
...
>>> import unittest
>>> from io import StringIO  # Suppress test runner output.
>>> suite = unittest.TestLoader().loadTestsFromTestCase(MyTest)
>>> unittest.TextTestRunner(stream=StringIO()).run(suite)
<unittest.runner.TextTestResult run=2 errors=0 failures=0>

)r*r+r�collections�abc�Sequence�_check_approx_seq�_check_approx_num)rF�first�secondr*r+�msg�checks&&&&&& r�assertApproxEqual�!NumericTestCase.assertApproxEqual�sp��>�;��(�(�C��;��(�(�C��5�+�/�/�":�":�;�;��6�;�?�?�#;�#;�<�<��*�*�E��*�*�E�
�e�S�s�+rc
� �[U2[U26wc@Q[U2[U21*oUOVV2oUOU2g[[	V22FDvovq�UOV�V4VW2J	P!)z0sequences differ in length: %d items != %d items)�len�_formatMessage�failureException�	enumerate�zipr[)
rFr\r]r*r+r^�standardMsg�ir�es
&&&&&&    rrZ�!NumericTestCase._check_approx_seqs~���u�:��V��$�B��u�:�s�6�{�+�,�
��%�%�c�7�C��'�'��,�,�!�#�e�"4�5�H�A�u���"�"�1��3�:�6rc��[VV42%cP!UOVV4U2oUOVW2oUOU2g�N)r.�_make_std_err_msgrdre)rFr\r]r*r+r^�idxrhs&&&&&&& rr[�!NumericTestCase._check_approx_numsG����s�0�0���,�,�U�C�c�J���!�!�#�3���#�#�C�(�(rc�t�V6wfPgQoUdQU*oVe*o[V2vqxVPVV7U1*!)zk  %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*r+ro�template�headerr#r$s	&&&&&    rrn�!NumericTestCase._make_std_err_msgsP������
'�	��?�D�s�J�F��(�H�'��6����&�s�W�E�E�Err1)NNNrm)r2r3r4r5r6r*r+r`rZr[�staticmethodrnr7rQrRs@rrUrU�s;������M�C�#�*,�X	;�)��F��FrrUc�,`�\sQsQsnQsQsQsUsP!)�TestSign�/z5Test that the helper function sign() works correctly.c�t�UO[Q2]2UO[Q2P2P!)���)rBr
�rFs&r�
testZeroes�TestSign.testZeroes1s*������c��B�'�����d��R�(rr1)r2r3r4r5r6r}r7rQrRs@rrwrw/s����?�)�)rrwc�:`�\sQsQsnQsQsQsQsQsUs	P!)�ApproxEqualSymmetryTest�9c���QQQ[Q2[]]62,oQQQ[Q2[]]62,o[U2[U26XfPg[V2FDvq4UO	V42J	P!)i�	gfffff�B@z2.54i�	g������B@z2.59gfffff�(�gR����(�)rrrcrg�do_relative_symmetry)rF�args1�args2rrs&    r�test_relative_symmetry�.ApproxEqualSymmetryTest.test_relative_symmetry<so���t�V�W�V�_�h�r�2�6F�G���t�V�W�V�_�h�r�2�6F�G���5�z�S��Z�'�'�'���%�D�A��%�%�a�+�&rc	�&�[V2[V2q!V6fPgV!*
o[V1*2[V2*2qTVE*]*oUO[	V]UQ52UO[	V!]UQ52P!)��r*r+)�minrr�
assertTruer.)rFrr�delta�rel_err1�rel_err2r+s&&&    rr��,ApproxEqualSymmetryTest.do_relative_symmetryLsm���1�y�#�a�)�1��u��u���� ���\�3�u�w�<�(��"�A�%��	
����Q�q�c�:�;�����Q�q�c�:�;rc�|�,QNo]oSFCD,o[[[[1FCDoUU2]d*oVR*o[	U[VV2*2oUO
VVV'Q5UO
VVU]*]U*Q5UO
VVU]*
U]*Q5UO
VVV']*Q5UO
VVU]*
UQ5UO
VVU]*
]U*Q5UO
VU]]Q5UO
VV]]Q5CJ	CJ/	P!)�r�)i�������ki�m)�intrrrrr�do_symmetry_test)rF�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
��Qo[VV42o[V!V42oUOVgUOVV4122P!)z+approx_equal comparisons don't match for %r)r.rB�format)rFrrr*r+rr�flag1�flag2s&&&&&   rr��(ApproxEqualSymmetryTest.do_symmetry_testps=��@���Q�3�,���Q�3�,������x����c�7G�'H�Irr1)
r2r3r4r5r�r�r�r�r7rQrRs@rr�r�9s ����,� 
<�:�0J�Jrr�c�X`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
UsP!)�ApproxEqualExactTest�wc��[VV#Q5oUOUQU*2[U'U'V#Q5oUOUQU'*2P!)r�zequality failure for x=%r)r.r�)rFrr*r+�results&&&& r�do_exactly_equal_test�*ApproxEqualExactTest.do_exactly_equal_test}sJ���a��5������ ;�a� ?�@��q�b�1�"�#�7������ ;�q�b� @�Arc�B�QFDoUOU]]2J	P!)�*)r�iMi~:��iiU�
i��r��rFrs& r�test_exactly_equal_ints�,ApproxEqualExactTest.test_exactly_equal_ints�s��=�A��&�&�q�!�Q�/�>rc�B�QFDoUOU]]2J	P!)��z�G��?)r�g/�$���?g�����e�@g7@gpf@g!�rh��Q@gB`��"KB@r��rFrs& r�test_exactly_equal_floats�.ApproxEqualExactTest.test_exactly_equal_floats�s��E�A��&�&�q�!�Q�/�Frc	��[oU]]2U]2U]]2U]	]2U]#]$2U]]21FDoUOU]]2J	P!��)rr��rF�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�~�[o[UQO22FDoUOU]]2J	P!)z8.2 31.274 912.04 16.745 1.2047)r�map�splitr�)rF�D�ds&  r�test_exactly_equal_decimals�0ApproxEqualExactTest.test_exactly_equal_decimals�s5�����Q�9�?�?�A�B�A��&�&�q�!�Q�/�Crc��QFDOoUOUQ]2UOU]
*Q]2[UQ2oUOUQ]2JQ	P!)��{�G�z�?i�)r��i\i����)r�r)rFrr�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��UO[Q2[Q2]2UO[Q2'[Q2]2P!)z3.571�0.01z81.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��QQQ[]]21FDoUOU]Q2J	UO[Q2][Q22P!)i� g33333SY@r�z11.68r�g�z�G��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��QQQ[]]21FDoUOUQQ2J	[oUOUQ2UQ2UQ22P!)i9�gˡE��0@皙�����?r�z7.2z0.1r�g\��(h��r�)rFrr�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�Arr1)r2r3r4r5r�r�r�r�r�r�r�r�r�r7rQrRs@rr�r�ws<����B�0�
0�
0�0�	3�L�
I�B�Brr�c�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�ApproxEqualUnequalTest�c	�|�V'1FD1o[V"]*]]Q5oUOUQU*2J3	P!)r�r�zinequality failure for x=%r)r.�assertFalse)rFrrr�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�>�QFDoUOU2J	P!)�)r�i�����iXC�r�r�s& r�test_exactly_unequal_ints�0ApproxEqualUnequalTest.test_exactly_unequal_ints�s��/�A��(�(��+�0rc�>�QFDoUOU2J	P!)��Q�#@)r�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��[oU]]2U]]	2U]]2U]eQ21FDoUOU2J	P!)r�iς)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�v�[[QO22FDoUOU2J	P!)z!3.1415 298.12 3.47 18.996 0.00245)r�rr�r��rFr�s& r�test_exactly_unequal_decimals�4ApproxEqualUnequalTest.test_exactly_unequal_decimals�s,���W�A�G�G�I�J�A��(�(��+�Krr1)r2r3r4r5r�r�r�r�r�r7rQrRs@rr�r��s$����H�
,�
,�
,�,�,rr�c�`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsUsP!)�ApproxEqualInexactTest��c���QoV*V*
1FD^oUOV2oUO[V]U*]Q5U2UO[VU]*]Q5U2J`	P!�zTest failure for x={!r}, y={!r}r��r�r�r.r��rFrr�rrr)r^s&&&   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�d�QFD'oUOU]
2UOU]2J)	P!)i�))i��iI���i����r��r��	�%�i�&i6�j�r�r�s& r�test_approx_equal_absolute_ints�6ApproxEqualInexactTest.test_approx_equal_absolute_ints�s-��J�A��)�)�!�R�0��)�)�!�Q�/�Krc��QFD9oUOUQ2UOUQ2UOUQ2J;	P!)g�t��q@��?r��-C��6?)	g�t��q�gfffffFX�g333333�g333333���?��?�333333@g�Q���@g�����ҭ@r�r�s& r�!test_approx_equal_absolute_floats�8ApproxEqualInexactTest.test_approx_equal_absolute_floats�s=��L�A��)�)�!�S�1��)�)�!�T�2��)�)�!�V�4�Mrc��[]]2o,QNoQU2FD/oUOV12UOU[U22J1	P!)r�c3�F�SF �Do[U]2w�	J	P!3h)�r)�.0rs& r�	<genexpr>�NApproxEqualInexactTest.test_approx_equal_absolute_fractions.<locals>.<genexpr>�s��:���:�a�(�1�b�/�/�:�s�!)i������r����r�r�r��r��"�G)rr�r)rFr��
numeratorsr�s&   r�$test_approx_equal_absolute_fractions�;ApproxEqualInexactTest.test_approx_equal_absolute_fractions�sC����B���@�
�6�:�6�A��)�)�!�3��)�)�!�U�5�\�:�7rc��[Q2o[[QO22FD'oUOV!2UOU'U2J)	P!)r�z1.0 3.5 36.08 61.79 7912.3648)rr�r�r�)rFr�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	�D�UO[QQQ]Q52P!)g�h㈵��>rr�g�h㈵��)r�r.r|s&r�test_cross_zero�&ApproxEqualInexactTest.test_cross_zero�s������T�5�d��B�Crc��QoU]U**U]U*
*1FD^oUOV2oUO[V]]U*Q5U2UO[V]U]*Q5U2J`	P!r�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	�4�UO[]@]/]QQ52UO[]@]/]QQ52UO[QQ]QQ52UO[QQ]QQ52UO[QQ]QQ52P!)	�@g
ףp=
�?r�g�G�z��?����?��)r�r.r�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�d�QFD'oUOUQ2UOUQ2J)	P!)g{�G�Jf@�{�G�z�?r)g{�G�Jf�皙������r�rg\��(|B@g��ʡE>�@g��x��@)rr�s& r�!test_approx_equal_relative_floats�8ApproxEqualInexactTest.test_approx_equal_relative_floatss-��E�A��)�)�!�T�2��)�)�!�V�4�Frc���[o[]]2oU]]T2U]]2U]1]22U]\]U21FD<oU[U21FD'oUOV42UOU'U2J)	J>	P!)�)rrr)rFr�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���[[QO22FD:oUOU[Q22UOU'[Q22J<	P!)z$0.02 1.0 5.7 13.67 94.138 91027.9321�0.001�0.05)r�rr�rr�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	�N�U%c
UOLUOoU[VU]Q52U%c
UOLUOoU[V]UQ52U%f	U%c
UOLUOoU[VV4Q52P!)r�r�)r�r�r.)rFrrr*r+�tol_flag�rel_flagr_s&&&&&&& 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�`�UOQQQQP	P	2UOQQQQP	P	2P!)�R����@�+���@���Mbp?���W�8?���Mb`?g-C��6*?g?5^�I��g%��C���r;r|s&r�test_approx_equal_both1�.ApproxEqualInexactTest.test_approx_equal_both1:s2�����5�%����d�C����6�6�5�&�$��Erc�4�UOQQQQP	P
2P!)r>r?r@gV�F�?8?rCr|s&r�test_approx_equal_both2�.ApproxEqualInexactTest.test_approx_equal_both2?s�����5�%����e�Drc�4�UOQQQQP
P	2P!)r>r?���MbP?rArCr|s&r�test_approx_equal_both3�.ApproxEqualInexactTest.test_approx_equal_both3Cs�����5�%����t�Drc�`�UOQQQQP
P
2UOQQQQP
P
2P!)g=
ףp=@�@r�rJg�Q��[�@g�(\��[�@r+giUMu�>rCr|s&r�test_approx_equal_both4�.ApproxEqualInexactTest.test_approx_equal_both4Gs2�����4��t�U�E�5�A����6�6�4��u�e�Drr1)r2r3r4r5r�rrrrrrr(r-r1r6r;rDrGrKrOr7rQrRs@rr�r��sc����J�0�5�;�5�D�J�C�5�5�?�4�F�
E�E�E�Err�c�:`�\sQsQsnQsQsQsQsQsUs	P!)�ApproxEqualSpecialsTest�Mc
��[[1FD�oUQ2oUO[V"22UO[V"]]22UO[V"]Q22UO[U'U'22UO	[V"'22UO	[UQ22J�	P!)rr���)rrr�r.r�)rFr�rs&  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
��[[1FD7oUQ2oV!Q2Q1FDoUO[V#22J	J9	P!)�nanrrU)rrr�r.)rFr�rY�others&   r�test_nan� ApproxEqualSpecialsTest.test_nanZsB���W�%�E���,�C��u�U�|�T�2��� � ��c�!9�:�3�&rc	�r�[OQP2oUO[UQQQQ52P!)rzr�r�)rr	r�r.�rF�nzeros& r�test_float_zeroes�)ApproxEqualSpecialsTest.test_float_zeroes`s)���
�
�c�2�&������U�C�S�c�B�Crc	�l�[Q2oUO[U[]2QQQ52P!)z-0.0r�r�)rr�r.r^s& r�test_decimal_zeroes�+ApproxEqualSpecialsTest.test_decimal_zeroesds&����������U�G�A�J�C�S�I�Jrr1)
r2r3r4r5rVr[r`rcr7rQrRs@rrRrRMs!����6�;�D�K�KrrRc�.`�\sQsQsnQsQsQsUsP!)�TestApproxEqualErrors�ic�D�UO[[]d]dPQ2P!)�dr���assertRaisesr'r.r|s&r�test_bad_tol�"TestApproxEqualErrors.test_bad_tolls�����*�l�C��b�#�Frc�D�UO[[]d]d]Q2P!)rir,rjr|s&r�test_bad_rel�"TestApproxEqualErrors.test_bad_relps�����*�l�C��a��Frr1)r2r3r4r5rlror7rQrRs@rrfrfis����G�G�Grrfc�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�TestNumericTestCase�zc��[OUoUOUoSFDoUOVB2J	P!rm)rUrn�generate_substrings�assertIn)rFr��
actual_msgr!�	substrings&&   r�do_test�TestNumericTestCase.do_test�s8��$�6�6��=�
��+�+�T�2��!�I��M�M�)�0�"rc�P�UO[[O2P!rm)�assertIsSubclassrUrO�TestCaser|s&r� test_numerictestcase_is_testcase�4TestNumericTestCase.test_numerictestcase_is_testcase�s�����o�x�/@�/@�Arc�.�QoUOU2P!)�@)r��@r��?N�ry�rFr�s& r�test_error_msg_numeric�*TestNumericTestCase.test_error_msg_numeric�s��*�����T�rc�.�QoUOU2P!)�@)r�g� @g�?r�r�r�s& r�test_error_msg_sequence�+TestNumericTestCase.test_error_msg_sequence�s��)�����T�rc��[V2vqgQU*QU*QU*QU*,oUdUOQU*2U!)z5Return substrings we expect to see in error messages.ztol=%rzrel=%rzabsolute error = %rzrelative error = %rzdiffer at index %d)r%�append)	rFr\r]r*r+ror#r$�
substringss	&&&&&&   rru�'TestNumericTestCase.generate_substrings�sU��'��6����3���3��%��/�%��/�	�
��?����2�S�8�9��rr1)r2r3r4r5ryr~r�r�rur7rQrRs@rrrrrzs$����1�B��
�
�rrrc�:`�\sQsQsn\sQQ,sQsQsQs	Us
P!)�GlobalsTest�r6�__all__c�h�UOFDoUOUOU2J!	P!rm)�expected_metadata�
assertHasAttr�module)rF�metas& r�	test_meta�GlobalsTest.test_meta�s&���*�*�D����t�{�{�D�1�+rc��UOoUOFD.oUOUQQU*2UOV2J0	P!)�_zprivate name "%s" in __all__)r�r��assertNotStartsWithr�)rFr��names&  r�test_check_all�GlobalsTest.test_check_all�sD�������N�N�D��$�$�T�3�;�d�B�
D�
���v�,�#rr1)r2r3r4r5r8r�r�r�r�r7rQrRs@rr�r��s$����
�F�"�I�.��2�
-�-rr�c�(`�\sQsQsnQsQsUsP!)�StatisticsErrorTest�c�|�UO[Q2UO[O[2P!)�StatisticsError)r�r8r|r�r'r|s&r�test_has_exception�&StatisticsErrorTest.test_has_exception�s)�����:�'8�9����j�8�8�*�Err1)r2r3r4r5r�r7rQrRs@rr�r��s����F�Frr�c�L`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sUsP!)
�ExactRatioTest��c�l�QFD+oUO[OU2U]12J-	P!)�)������r�r��cl F�x:^V)rBr8�_exact_ratio)rFris& r�test_int�ExactRatioTest.test_int�s+��,�A����Z�4�4�Q�7�!�Q��@�-rc��QoSFD7o[U]%2oUO[OU2U]%12J9	P!)r�)���r���&)rrBr8r�)rFrrr�s&   r�
test_fraction�ExactRatioTest.test_fraction�s;��$�
��A���B��A����Z�4�4�Q�7�!�R��A�rc�~�UO[OQ2Q2UO[OQ2Q2[]d2Tt,tFDo[O
Q]d2MJ	ooSFD3o[OU2vqEUOV4U*2J5	P!ttoh)r%��?�r��)r�r����)rBr8r��range�random�uniform)rFr��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�"B:c���[o[OoUOUUQ22Q2UOUUQ22Q2UOUUQ22Q2P!)z0.125z12.345z-1.98r�)i�	��)i�����2)rr8r�rB)rFr�r�s&  r�test_decimal�ExactRatioTest.test_decimal�s]����!�.�.������a��j�1�6�:�����a��k�2�K�@�����a��j�1�9�=rc
��[Q2oQQ[2oQQ[2oV'1FD�o[U[U1FD�oUU2o[OU2oUO	VvP12UO	[U]*2U2UO
[OU]*22J�	J�	P!)�INFc��\sQsQsQsP!)�(ExactRatioTest.test_inf.<locals>.MyFloat��r1�r2r3r4r5r7r1rr�MyFloatr�����rr�c��\sQsQsQsP!)�*ExactRatioTest.test_inf.<locals>.MyDecimal��r1r�r1rr�	MyDecimalr��r�rr�)	rrr8r�rBrr�rr()rFr�r�r�rr�r�ratios&       rrV�ExactRatioTest.test_inf�s����E�l��	�e�	�	��	���;�C���'�9�=���#�J��"�/�/��2��� � ��D�	�2�� � ��e�A�h���7�����
�
�5��8� 4�5�>�rc�j�[Q2oQQ[2oVU21FD�o[OU2oUO[O
U]*22UO
U]*P2UO[U]*2[U22J�	P!)�NANc��\sQsQsQsP!)�.ExactRatioTest.test_float_nan.<locals>.MyFloat��r1r�r1rrr�r��r�rr�)	rr8r�r�rr�assertIsrBr)rFr�r�rYr�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�z�[Q2o[Q2oQQ[2oVU2V#U21FDo[OU2oUO[	U]*U22UOU]*P2UO
[U]*2[U22J�	P!)r��sNANc��\sQsQsQsP!)�2ExactRatioTest.test_decimal_nan.<locals>.MyDecimal�r1r�r1rrr�r��r�rr�)rr8r�r�rr�rBr)rFr�r�r�rYr�s&     r�test_decimal_nan�ExactRatioTest.test_decimal_nan�s����e�n���v���	��	���3���y���?�C��+�+�C�0�E��O�O�J�u�Q�x��5�6��M�M�%��(�D�)����T�%��(�^�T�#�Y�7�	@rr1)
r2r3r4r5r�r�r�r�rVr�r�r7rQrRs@rr�r��s/����A�B�)�>�6�8�	8�	8rr�c�F`�\sQsQsnQsQsQsQsQsQs	Qs
UsP!)	�DecimalToRatioTest�c���[Q2oUO[OU2UP12UO[OU'2U'P12P!)r�)rrBr8r�)rFrs& r�
test_infinity� DecimalToRatioTest.test_infinitysM���e�n������0�0��5��T�{�C�����0�0�#��6�#��t��Erc���[Q2[Q21FDGo[OU2vq#UO[	V!22UOUP2JI	P!)r�r�)rr8r�r�rr�)rFrYr�r�s&   rr[�DecimalToRatioTest.test_nansL���E�N�G�F�O�4�C�!�.�.�s�3�H�C�
�O�O�J�s�0�1��M�M�#�t�$�
5rc�L�[Q2[Q2,oSFD�oU]6�fPg[OU2vq4UOU]2UO	U]2[OU'2vq4UOU]2UO	U]2J�	P!)z	9.8765e12z
9.8765e-12)rr8r��assertGreaterEqual�
assertGreater�assertLessEqual)rF�numbersr�r�r�s&    r�	test_sign�DecimalToRatioTest.test_signs����;�'���)>�?���A��q�5�L�5�!�.�.�q�1�H�C��#�#�C��+����s�A�&�!�.�.��r�2�H�C�� � ��a�(����s�A�&�rc�j�[O[Q22oUOUQ2P!)z0.1234)rg��r8r�rrB�rF�ts& r�test_negative_exponent�)DecimalToRatioTest.test_negative_exponent$s'���#�#�G�H�$5�6������K�(rc�j�[O[Q22oUOUQ2P!)z1.234e7)i K�r�r�r�s& r�test_positive_exponent�)DecimalToRatioTest.test_positive_exponent)s'���#�#�G�I�$6�7������M�*rc���[O[Q22oUOUQ2[O[Q22oUOUQ2P!)�1e2z1.47e5)rir�)i8>r�r�r�s& r�test_regression_20536�(DecimalToRatioTest.test_regression_20536.sM��
�#�#�G�E�N�3������H�%��#�#�G�H�$5�6������K�(rr1)r2r3r4r5r�r[r�r�rrr7rQrRs@rr�r�s)����F�%�'�)�
+�
)�)rr�c�4`�\sQsQsnQsQsQsQsUsP!)�IsFiniteTest�7c��][]]2Q[Q21FD(oUO[OU22J*	P!)r�r��5.5)rrr�r8�	_isfiniter�s& r�test_finite�IsFiniteTest.test_finite:s6���X�a��^�S�'�%�.�9�A��O�O�J�0�0��3�4�:rc��[Q2[Q21FD(oUO[OU22J*	P!�r�rrr�r8rr�s& rr��IsFiniteTest.test_infinity?s2����,����/�A����Z�1�1�!�4�5�0rc��[Q2[Q2[Q21FD(oUO[OU22J*	P!�rYr�r�rr�s& rr[�IsFiniteTest.test_nanDs9����,�������@�A����Z�1�1�!�4�5�Arr1)	r2r3r4r5rr�r[r7rQrRs@rrr7s����5�
6�
6�6rrc�d`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sUsP!)�
CoerceTest�Jc��[[[[1FDdoUO	[
OU[2U2QQU2oUO	[
OU[2U2Jf	P!)c��\sQsQsQsP!)�%CoerceTest.test_bool.<locals>.MyClass�er1r�r1rr�MyClassre���drr)r�rrrr�r8�_coerce�bool)rF�Trs&  r�	test_bool�CoerceTest.test_bool_sU���u�h��0�A��M�M�*�,�,�Q��5�q�9�"�!�"��M�M�*�,�,�W�d�;�W�E�1rc��UO[OV2U2UO[OV!2U2P!)z Assert that type A coerces to B.)r�r8r�rF�A�Bs&&&r�assertCoerceTo�CoerceTest.assertCoerceTohs4���
�
�j�(�(��.��2��
�
�j�(�(��.��2rc��UOV2QQU2oUOV22QQU2oUOV2UOV42P!)z6Checks that type A coerces to B, including subclasses.c��\sQsQsQsP!)�/CoerceTest.check_coerce_to.<locals>.SubclassOfA�rr1r�r1rr�SubclassOfAr+rrrr-c��\sQsQsQsP!)�/CoerceTest.check_coerce_to.<locals>.SubclassOfB�ur1r�r1rr�SubclassOfBr/urrr1)r')rFr%r&r-r1s&&&  r�check_coerce_to�CoerceTest.check_coerce_tomsL��	
���A�!�"�!�"����K�+�"�!�"����A�+����K�5rc��UO[[OV12UO[[OV!12P!)z=Assert that coercing A to B, or vice versa, raises TypeError.)rk�	TypeErrorr8rr$s&&&r�assertCoerceRaises�CoerceTest.assertCoerceRaisesys6�����)�Z�%7�%7�!��@����)�Z�%7�%7�!��@rc�N�U[IfPgUO[OV2U2QQU2oQQU2oQQU2oV#U1FDoUO	V2J	UO	V$2UOV#2UOV42P!)z>Check that type T coerces correctly with subclasses of itself.c��\sQsQsQsP!)�*CoerceTest.check_type_coercions.<locals>.U�r1r�r1rr�Ur:����Drr<c��\sQsQsQsP!)�*CoerceTest.check_type_coercions.<locals>.V�r1r�r1rr�Vr?�r=rrAc��\sQsQsQsP!)�*CoerceTest.check_type_coercions.<locals>.W�r1r�r1rr�WrC�r=rrE)rr�r8rr'r6)rFr r<rArE�typs&&    r�check_type_coercions�CoerceTest.check_type_coercions~s�����}��}��
�
�j�(�(��.��2�����������!�9�C�����'�����A�!�����%�����%rc��UO[2[[[1FDoUO[U2J	P!rm)rGr�rrrr2)rFrFs& rr��CoerceTest.test_int�s1���!�!�#�&��8�W�-�C�� � ��c�*�.rc�f�UO[2UO[[2P!rm)rGrr2rr|s&rr��CoerceTest.test_fraction�s ���!�!�(�+����X�u�-rc�2�UO[2P!rm)rGrr|s&rr��CoerceTest.test_decimal�s���!�!�'�*rc�2�UO[2P!rm)rGrr|s&rr��CoerceTest.test_float�s���!�!�%�(rc��[[[P2[[1FD2o[
[[[1FDoUOV!2J	J4	P!rm)
�str�listr�tuple�dictr�rrrr6)rF�bad_type�	good_types&  r�test_non_numeric_types�!CoerceTest.test_non_numeric_types�s<���d�D��J��t�<�H�!�5�(�G�<�	��'�'�	�<�=�=rc��[[1FD:oQQU2oUOU[2UOU[2J<	P!)c��\sQsQsQsP!)�6CoerceTest.test_incompatible_types.<locals>.MySubclass�r1r�r1rr�
MySubclassr\�s��rr^)rrr6r)rFr r^s&  r�test_incompatible_types�"CoerceTest.test_incompatible_types�s9����"�A�%�Q�%��#�#�A�w�/��#�#�J��8�#rr1)r2r3r4r5r!r'r2r6rGr�r�r�r�rXr_r7rQrRs@rrrJsC����*F�3�

6�A�
&� +�.�
+�)�=�
9�9rrc�R`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sUs
P!)�ConvertTest�c�r�UOV2UO[U2[U22P!)z5Check that x equals y, and has the same type as well.)rBr�r�rFrr)s&&&r�check_exact_equal�ConvertTest.check_exact_equal�s&��������
�
�d�1�g�t�A�w�'rc��[O[]G2[2oUO	U]G2QQ[2o[O[]2U2oUO	V]22P!)rc��\sQsQsQsP!)�#ConvertTest.test_int.<locals>.MyInt�r1r�r1rr�MyIntrj�s��$rrl)r8�_convertrr�rf)rFrrls&  rr��ConvertTest.test_int�sZ��������c�2�����q�"�%��C��������e�4�����q�%��)�,rc��[O[]_]c2[2oUOU[]_]c22QQ[2o[O[]G]
2U2oUOV]G]
22P!)�_c�4``�\sQsQsnU1QksQsUsU9s!)�-ConvertTest.test_fraction.<locals>.MyFraction��c�B:�UO[RU_	U22!rm��	__class__�super�__truediv__�rFrZrvs&&�rrx�9ConvertTest.test_fraction.<locals>.MyFraction.__truediv__������~�~�e�g�&9�%�&@�A�Arr1�r2r3r4r5rxr7rQ�
__classcell__�rvrSs@@r�
MyFractionrr������
B�
Brr)r8rmrrf)rFrrs&  rr��ConvertTest.test_fraction�sr�������R� 0�(�;�����q�(�2�r�"2�3�	B��	B�
�����R� 0�*�=�����q�*�R��"4�5rc��[O[P]2[2oUO	UQ2QQ[2o[O[]	]2U2oUO	VQ22P!)r�c�4``�\sQsQsnU1QksQsUsU9s!)�'ConvertTest.test_float.<locals>.MyFloat��c�B:�UO[RU_	U22!rmrurys&&�rrx�3ConvertTest.test_float.<locals>.MyFloat.__truediv__�r{rr1r|r~s@@rr�r��r�rr�r�g�)r8rmrrrf)rFrr�s&  rr��ConvertTest.test_float�sf�������Q���7�����q�$�'�	B�e�	B�
�����A���8�����q�'�%�.�1rc��[O[]](2[2oUO	U[Q22QQ[2o[O[Q]2U2oUO	VQ22P!)r�z0.025c�4``�\sQsQsnU1QksQsUsU9s!)�+ConvertTest.test_decimal.<locals>.MyDecimal��c�B:�UO[RU_	U22!rmrurys&&�rrx�7ConvertTest.test_decimal.<locals>.MyDecimal.__truediv__�r{rr1r|r~s@@rr�r��r�rr�z-0.9375r)r8rmrrrf)rFrr�s&  rr��ConvertTest.test_decimal�sm�������B���9�����q�'�'�"2�3�	B��	B�
�����b� 1�9�=�����q�)�I�"6�7rc
��[Q2[Q21FD@oV'1FD4o[OU[	U22oUOV22J6	JB	P!r)rrr8rmrrf)rFr�rrs&   rrV�ConvertTest.test_inf�sK���%�L�'�%�.�1�C��T�{���'�'��T�#�Y�7���&�&�q�.�#�2rc���[Q2[Q2[Q21FD=o[OU[	U22oUO[
V!22J?	P!r)rrr8rmrr�r)rFrYrs&  rr[�ConvertTest.test_nan�sG���%�L�'�%�.�'�&�/�B�C��#�#�C��c��3�A��O�O�J�q�.�/�Crc��UO[29^tt^2[OP[2PPP2P!)%fhP!9hrm)rkr5r8rmrr|s&r�test_invalid_input_type�#ConvertTest.test_invalid_input_type�s2��
�
�
�y�
)�
)�����e�,�*�
)�
)�
)�s�A�A	�A	r1)r2r3r4r5rfr�r�r�r�rVr[r�r7rQrRs@rrbrb�s2����(�
-�6�2�8�/�0�
-�-rrbc�8`�\sQsQsnQsQsQsQsQsUs	P!)�FailNegTest��z Test _fail_neg private function.c��]Q[]2[]2,o[[OU22oUOV2P!�r��@)rrrSr8�	_fail_negrB)rF�values�news&  r�test_pass_through�FailNegTest.test_pass_through�s;���S�(�1�+�w�q�z�2���:�'�'��/�0������%rc���]Q[]2[]21FDBoU',o[OU2oUO	[O
[U2JD	P!r�)rrr8r�rkr��next)rFr�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�8�Q[OQQ2*o[[OP,U22UOQ2UOWU2P![OcoSO]*oPo=KAPo=hh9h)zbadness #%d�'i��z(expected exception, but it didn't happen)	r��randintr�r8r��failr�r�rB)rFr^rj�errmsgs&   r�test_error_msg�FailNegTest.test_error_msg�sx���f�n�n�U�E�:�:��	B���%�%�r�d�C�0�1�
�I�I�@�A������%��	�)�)�	��V�V�A�Y�F��	�s�!A'�'B�;B�<B�Br1)
r2r3r4r5r6r�r�r�r7rQrRs@rr�r��s����*�&�D�	&�	&rr�c�^`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsUsP!)
�UnivariateCommonMixini
c�H�UO[UO2P!rm�rkr5�funcr|s&r�test_no_args�"UnivariateCommonMixin.test_no_args
s�����)�T�Y�Y�/rc��,Q[,21FD.oUO[OUOU2J0	P!)Nr1)�iterrkr8r�r�)rF�emptys& r�test_empty_data�%UnivariateCommonMixin.test_empty_datas3���"�d�2�h�'�E����j�8�8�$�)�)�U�K�(rc��[[]
22oU[U26Xc[OU2J(U!)z"Return int data for various tests.)rSr��sortedr��shuffle�rFr�s& r�prepare_data�"UnivariateCommonMixin.prepare_datas,���E�"�I����f�T�l�"��N�N�4� ��rc���UO2o[U2]6wfPgU[U26wfPgUQ*oVIfPgUOU2oUO	VQ2P!)r�:NNNzdata has been modified)r�rcr�r��assertListEqual)rFr��savedr�s&   r�test_no_inplace_modifications�3UnivariateCommonMixin.test_no_inplace_modificationsse��� � �"���4�y�A�~��~��v�d�|�#�#�#��Q���� � � ��I�I�d�O�����T�*B�Crc��,QN]d*oUOU2o[OU2UOU2oUOV#2P!)r�)r�r�r0r0r0r�r��)r�r�r�rB)rFr�r!r s&   r�test_order_doesnt_matter�.UnivariateCommonMixin.test_order_doesnt_matter'sB��(��+���9�9�T�?�����t�����4�������*rc��QQ[2oQQ[2oQoUO2oUOU2o[[[VU1FD+oUOUU22oUOVu2J-	P!)c��\sQsQsQsP!)�BUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyListi6r1r�r1rr�MyListr�6r�rr�c��\sQsQsQsP!)�CUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyTuplei8r1r�r1rr�MyTupler�8r�rr�c��QU2!)c3�0�SF �Dpw�	J		P!3hrmr1)r
�objs& rr�XUnivariateCommonMixin.test_type_of_data_collection.<locals>.generator.<locals>.<genexpr>;s��4���4�C�C�4�s�r1�r�s&r�	generator�EUnivariateCommonMixin.test_type_of_data_collection.<locals>.generator:s
��(�4�(�(r)rSrTr�r�r�rB)rFr�r�r�r�r!�kindr�s&       r�test_type_of_data_collection�2UnivariateCommonMixin.test_type_of_data_collection4sp��	�T�	�	�e�	�	)�� � �"���9�9�T�?���5�$���C�D��Y�Y�t�D�z�*�F����V�.�Drc��[]]2]2oUO[U22oUOUOU2U2P!�r�)r�r�rSrB�rFr�r!s&  r�test_range_data�%UnivariateCommonMixin.test_range_dataBs:���R��Q����9�9�T�$�Z�(��������4��(�3rc��UOP2UO]2UOQ2UO[22P!)NgE@)�check_for_type_error�objectr|s&r�test_bad_arg_types�(UnivariateCommonMixin.test_bad_arg_typesHs>��	
�!�!�$�'��!�!�"�%��!�!�$�'��!�!�&�(�+rc�P�UO[UO,UN3P!rmr�r�s&*rr��*UnivariateCommonMixin.check_for_type_errorWs�����)�T�Y�Y�6��6rc	�6�QQ[2oUO2oUOU2o[U[[1FDKoSTt,tFD
pTU2MJ	oo[U2UOU22oUO
Vs2JM	P!ttoh)c�D``�\sQsQsnU1QksU1Qks\sQsUsU9s	!)�@UnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloati^c�B:�[U2[RU_	U22!rm�rrwrxrys&&�rrx�LUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__truediv___�����D�z�%�'�"5�e�"<�=�=rc�B:�[U2[RU_	U22!rm�rrw�__add__rys&&�rr��HUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__add__a�����D�z�%�'�/�%�"8�9�9rr1)
r2r3r4r5rxr��__radd__r7rQr}r~s@@rr�r�^s����
>�
:��H�Hrr�)rr�r�rrrrB)rFr��rawr!r�rr�r�s&       r�test_type_of_data_element�/UnivariateCommonMixin.test_type_of_data_elementZs}��	�e�	����!���9�9�S�>���G�W�h�7�D�%(�)�S��D��G�S�D�)��(�^�D�I�I�d�O�4�F����V�.�8��)s�Br1)r2r3r4r5r�r�r�r�r�r�r�r�r�r�r7rQrRs@rr�r�
s>����0�L�
�D�+�/�4�
,�7�/�/rr�c�2`�\sQsQsnQsQsQsQsUsP!)�UnivariateTypeMixinimaUMixin class for type-conserving functions.

This mixin class holds test(s) for functions which conserve the type of
individual data points. E.g. the mean of a list of Fractions should itself
be a Fraction.

Not all tests to do with types need go in this class. Only those that
rely on the function returning the same type as its input data.
c�F�QQ[2o[[[U1!)z4Return the types which are expected to be conserved.c�``�\sQsQsnU1QksU1QksU1QksU1QksU1QksU1Qks	\	s
U1Qks\sQ	s
UsU9s!)
�HUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloatiyc�B:�[U2[RU_	U22!rmr�rys&&�rrx�TUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__truediv__zr�rc�B:�[U2[RU_	U22!rm)rrw�__rtruediv__rys&&�rr��UUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rtruediv__|s����D�z�%�'�"6�u�"=�>�>rc�B:�[U2[RU_	U22!rm)rrw�__sub__rys&&�rr�PUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__sub__~r�rc�B:�[U2[RU_	U22!rm)rrw�__rsub__rys&&�rr�QUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rsub__�s����D�z�%�'�"2�5�"9�:�:rc�B:�[U2[RU_	U22!rm)rrw�__pow__rys&&�rr�PUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__pow__�r�rc�B:�[U2[RU_	U22!rmr�rys&&�rr��PUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__add__�r�rc�B:�[U2[RU_	U22!rm)rrw�__mul__rys&&�rr
�PUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__mul__�r�rr1)r2r3r4r5rxr�rrrr�r�r
�__rmul__r7rQr}r~s@@rr�r�ys4����
>�
?�
:�
;�
:�
:��H�
:��H�Hrr�)rrr)rFr�s& r�#prepare_types_for_conservation_test�7UnivariateTypeMixin.prepare_types_for_conservation_testws��	�e�	�"�w��'�2�2rc	���UO2oUO2FDFoSTt,tFD
p2U2MJ	ooUOU2oUO[	U2U2JH	P!ttohrm)r�rr�r�r)rFr�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/r1)	r2r3r4r5r6rrr7rQrRs@rr�r�ms�����3�*.�.rr�c�(`�\sQsQsnQsQsUsP!)�
TestSumCommoni�c��QoVmP!)c�`�[OUvqo[OV!2!rm)r8�_sumr)r�r �valuers*   r�simplified_sum�+TestSumCommon.setUp.<locals>.simplified_sum�s%��$�/�/�4�0�K�A�a��%�%�e�/�/r�r�)rFrs& r�setUp�TestSumCommon.setUp�s��	0�#�	rr)r2r3r4r5rr7rQrRs@rrr�s����
#�#rrc�^`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsUsP!)
�TestSumi�c�2�[OUmP!rm)r8rr�r|s&rr�
TestSum.setUp��
���O�O��	rc	��,Q[,21FD4oUOUOU2[[	]2]12J6	P!)r�r1)r�rBr�r�rr�s& rr��TestSum.test_empty_data�s:����T�"�X�&�D����T�Y�Y�t�_�s�H�Q�K��.C�D�'rc�n�UOUO,QN2[[]<2]12P!)r�)r�r�r0���i����r�r�r�)rBr�r�rr|s&r�	test_ints�TestSum.test_ints�s*��������#?�@��x��|�Q�/�	1rc�z�UOUOQ,]*2[[Q2]12P!)r��@)rBr�rrr|s&r�test_floats�TestSum.test_floats�s/��������D�6�"�9�-���#���3�	5rc��UOUO[]Q2,Q*2[[]]2Q12P!)r�rU��)rBr�rr|s&r�test_fractions�TestSum.test_fractions�s:��������H�Q��$5�#6�s�#:�;�"�H�Q��N�C�8�	:rc
���[oUQ2UQ2UQ2UQ2UQ2UQ2UQ2UQ2,oUOUOU2[[Q2]12P!)	r4z5.246z1.702z-0.025z3.974z2.328z4.617z2.843z20.686)rrBr��rFr�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��[Q2Tt,tFDo[OQQ2MJ	ooUO[	UOU2]*2[OU2QQ5P!ttoh)rUg��ؗ�Ҭ<�r+r�)r�r�r�r`rr�r�fsum)rFr�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�"A;c��UO[UO,QNQ2UO[UO,QN2P!)r��999�r�r�r0)r�r�r0r=r�r|s&r�test_strings_fail�TestSum.test_strings_fail�s1�����)�T�Y�Y�	�5�A����)�T�Y�Y�0@�Arc��UO[UO,QNQ2UO[UO,QN2P!)r��999r>)r�r�r0rBr�r|s&r�test_bytes_fail�TestSum.test_bytes_fail�s1�����)�T�Y�Y�	�6�B����)�T�Y�Y�0A�Brc	��UO[UO]Q[]2,2UO[UO]Q,[]22P!r�)rkr5r�rr|s&r�test_mixed_sum�TestSum.test_mixed_sum�sE��	
���)�T�Y�Y��C����0D�E����)�T�Y�Y��C��'�!�*�Err)r2r3r4r5rr�r)r-r1r5r:r?rCrFr7rQrRs@rr!r!�sB����
$�E�
1�5�:�:�V�B�
C�
F�Frr!c�(`�\sQsQsnQsQsUsP!)�SumTortureTesti�c���UO[O,QNQ*2[[	Q2Q12UO[O,QNQ*2[[	Q2Q12[O,Q	NQ*2vqoUOU[2UOUQ2UO
[U2QQQ5P!)
r�r�g��@i@�g���^�,gV瞯�<r8)r��}Ô%�I�Tr��}Ô%�I��)rKr�r�rL)�0��.�++r�rMr)rBr8rrrr�r`)rFr r��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���>rr1)r2r3r4r5rOr7rQrRs@rrIrI�s����	?�	?rrIc�X`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
UsP!)�SumSpecialValuesi�c��[[1FDkoUQ2o[O]U],2]*oUO	[U2U2UO
[OU22Jm	P!)rY)	rrr8rr�rr�rr)rFr�rYr�s&   rr[�SumSpecialValues.test_nan�sZ���W�%�E���,�C��_�_�a��a�[�1�!�4�F��M�M�$�v�,��.��O�O�D�J�J�v�.�/�	&rc���UO[OU22UO[	U2[	U22UOU]6�U]6�2V6XfPgP!)z8Check x is an infinity of the same type and sign as inf.)r�rr(r�rrB)rFrrs&&&r�check_infinity�SumSpecialValues.check_infinity�sM������
�
�1�
�&��
�
�d�1�g�t�C�y�)�����Q���a��(��x��xrc���[O]]U],2]*oUOV!2[O]]U]U],2]*oUOV!2P!r�)r8rrV�rFrr�s&& r�do_test_inf�SumSpecialValues.do_test_inf�sY�����!�Q��Q��0��3�����F�(����!�Q��Q��Q�!7�8��;�����F�(rc�`�[Q2oQFDoUOV!*2J	P!�r�r�r)rrZ�rFrr
s&  r�test_float_inf�SumSpecialValues.test_float_infs%���E�l���D����T�X�&�rc�`�[Q2oQFDoUOV!*2J	P!r])rrZr_s&  r�test_decimal_inf�!SumSpecialValues.test_decimal_infs%���e�n���D����T�X�&�rc��[Q2o[O]]U]U'],2]*oUO[O
U22P!r)rr8rr�rrrYs&  r�test_float_mismatched_infs�+SumSpecialValues.test_float_mismatched_infs
sB���E�l�����!�Q��Q���a�!8�9�!�<������
�
�6�*�+rc	�B�[Q2o]]U]U'],o[O[O29^tt^2UO	[
O[OU2]*22PPP2P!)%fhP!9hr)	r�decimal�localcontext�ExtendedContextr�rrr8r�rFrr�s&  r�3test_decimal_extendedcontext_mismatched_infs_to_nan�DSumSpecialValues.test_decimal_extendedcontext_mismatched_infs_to_nansh���e�n���1�c�1�s�d�A�&��
�
!�
!�'�"9�"9�
:�
:��O�O�D�J�J�z���t�'<�Q�'?�@�A�;�
:�
:�
:�s�AB
�
B	�B	c� �[Q2o]]U]U'],o[O[O29^tt^2UO	[O
[OU2PPP2P!)%fhP!9hr)rrirj�BasicContextrk�InvalidOperationr8rrls&  r�0test_decimal_basiccontext_mismatched_infs_to_nan�ASumSpecialValues.test_decimal_basiccontext_mismatched_infs_to_nansa���e�n���1�c�1�s�d�A�&��
�
!�
!�'�"6�"6�
7�
7����g�6�6�
����N�8�
7�
7�
7�s�0A<�<B
	�B
	c��[Q2o]U],oUO[O[O
U2P!)r�)rrkrirqr8r)rFr�r�s&  r�test_decimal_snan_raises�)SumSpecialValues.test_decimal_snan_raises!s2���v����4��|�����'�2�2�J�O�O�T�Jrr1)r2r3r4r5r[rVrZr`rcrfrmrrrur7rQrRs@rrRrR�s;����0��)�'�
'�
,�B�O�K�KrrRc�4`�\sQsQsnQsQsQsQsUsP!)�AverageMixini*c��]QQ[]]2[Q21FD%oUOUOU,2U2J'	P!�r�g@E@g�X_yCz0.28�rrrBr�r�s& r�test_single_value�AverageMixin.test_single_value-s=���d�F�H�R��$4�g�f�o�F�A����T�Y�Y��s�^�Q�/�Grc�8�Q]Q[]=]C2[Q21!)�@���7y�!Cz4.9712�rrr|s&r�'prepare_values_for_repeated_single_test�4AverageMixin.prepare_values_for_repeated_single_test2s���R���"�b�!1�7�8�3D�E�Erc��UO2FD[oQFDQoUOVQ59^tt^2U,U*oUOUOU2U2PPP2JS	J]	P!)%fhJl9h)r�)rrN�r�r��
r�)r��subTestrBr��rFrrNr�s&   r�test_repeated_single_value�'AverageMixin.test_repeated_single_value5sf���=�=�?�A�'���\�\�A�\�3�3��3�u�9�D��$�$�T�Y�Y�t�_�a�8�4�3�(�@�3�3�3�s�,A4
�4B�=Br1)	r2r3r4r5r|r�r�r7rQrRs@rrxrx*s����0�
F�9�9rrxc�p`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsUsP!)�TestMeani>c�2�[OUmP!rm)r8�meanr�r|s&rr�TestMean.setUp?r$rc�N�UOUO,QN2]2P!)rK)rKr�r0rL�rBr�r|s&r�test_torture_pep�TestMean.test_torture_pepBs��������#8�9�1�=rc�~�,QNo[OU2UOUOU2Q2P!)r�g@@)r�r�r�r0r0r0r�r�r�r�r�r�r�r�r�r��r�r�rBr�r�s& rr)�TestMean.test_intsFs+��?�����t��������4��&�1rc�~�,QNo[OU2UOUOU2Q2P!)�@1@g6@)r�g�3@�4@g�5@g�5@g@7@g 9@g�;@r�r�s& rr-�TestMean.test_floatsLs+��E�����t��������4��)�4rc���[oUQ2UQ2UQ2UQ2UQ2,o[OU2UOUO	U2UQ22P!)z1.634z2.517z3.912z4.072z5.813z3.5896)rr�r�rBr�r4s&  rr5�TestMean.test_decimalsRsS�����'�
�A�g�J��'�
�A�g�J��'�
�K�����t��������4��!�H�+�6rc
��[oU]]2U]]2U]]2U]]2U]]2U]]2U]]2,o[OU2UOUO	U2UQQ22P!)r�i�i��rr�r�rBr��rFr�r�s&  rr1�TestMean.test_fractionsYso�����!�Q���1�a��!�A�q�'�1�Q��7�A�a��G�Q�q�!�W�a��1�g�N�����t��������4��!�D�$�-�8rc	�
�,QNo[[1FDloQFDboUQ2U*oV,*oUOU2oUO[O
U22UO
Vd2Jd	Jn	P!)r�r�r�r0r�r�r�r^)rrr�r�rr(rB)rFr�r�r
rr�r�s&      rrV�TestMean.test_inf`sg�����G�$�D����5�k�$�&���U�{�����4�������
�
�6� 2�3�� � ��-� �%rc
��]]][Q2]]][Q2,oUOU2oUO[OU22P!)r�rz-inf)rr�r�rr�rFr�r�s&  r�test_mismatched_infs�TestMean.test_mismatched_infsksB���1�a��u��q�!�Q��f�
�>�����4�������
�
�6�*�+rc���,QNo[[1FDJoUQ2oV,*oUOU2oUO[O
U22JL	P!)r�rYr�)rrr�r�rr)rFr�r�rr�r�s&     rr[�TestMean.test_nanqsJ�����G�$�D��u�+�C���;�D��Y�Y�t�_�F��O�O�D�J�J�v�.�/�	%rc���Qo,QNoUOU2U*oV16wfPgSOSTt,tFDpDU*MJ
	to2oUOVS2P!ttoh)ge��A�	�333333@�@g������@g������@g333333@�������@g @g333333 @g������"@�r�rB�rF�cr�r!rr�s&     r�
test_big_data�TestMean.test_big_datazs\����<���9�9�T�?�Q�&���}��}�����.��A�a�C�C��.�/������*��/s�A#c���[Q2Tt,tFDo[OQ]2MJ	ooUOU2oUOU]*2oUO	VC2P!ttoh�rUr��r�r�r�r�r`�rFr�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�l�[Q2oUO[OU,2U2P!)�1e4)rrBr8r�r�s& r�test_regression_20561�TestMean.test_regression_20561�s(��
�E�N��������!��-�q�1rc�,�UO[OQQ,2Q2QoQoQFD_oUO[OU,U*2U2UO[OU,U*2U2Ja	P!)g�������g�g)r�r0r�r�)rBr8r�)rF�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)r2r3r4r5rr�r)r-r5r1rVr�r[r�r�r�r�r7rQrRs@rr�r�>sK����$�>�2�5�7�9�	.�,�0�+�1�2�>�>rr�c�``�\sQsQsnQsU1QksQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsUsU9s!)�TestHarmonicMeani�c�2�[OUmP!rm)r8�
harmonic_meanr�r|s&rr�TestHarmonicMean.setUp�s���,�,��	rc�H:�[RU_2oUO]2U!)r�)rwr��remove)rFr�rvs& �rr��TestHarmonicMean.prepare_data�s!�����%�'���
�
�a���
rc�8�Q]Q[]=]C2[Q21!)rr�z4.125r�r|s&rr��8TestHarmonicMean.prepare_values_for_repeated_single_test�s���R���"�b�!1�7�7�3C�D�Drc�R�,QNoUOUOU2]2P!)r�)r�r�r�r��rFr�s& r�	test_zero�TestHarmonicMean.test_zero�s ����������6�*�A�.rc	���[OoP,,QN1FDBoUOUQ59^tt^2UOVOU2PPP2JD	P!)%fhJY9h)r�)r�)r�r�r0)r8r�r�rkr�)rF�excr�s&  r�test_negative_error�$TestHarmonicMean.test_negative_error�sU���(�(���t�Z�(�F����V��,�,��!�!�#�y�y�&�9�-�,�)�,�,�,�s�A"	�"A3
�+A3
c�4�Q,,QN,QN,QN1FD]oUOUQ59^tt^2UO[29^tt^2UOU2PPP2PPP2J_	P!)%fhK9h)%fhJ�9h)z3.14r�)�1�2�3)r�r�r0�4r�)�ffffff@r�r�z5.6)r�rkr5r�r�s& r�test_invalid_type_error�(TestHarmonicMean.test_invalid_type_error�so���H���"�	
�D����4��(�(��&�&�y�1�1��I�I�d�O�2�)�(�

�2�1��)�(�(�s/�B	�A3
�B	�3B�<B�>B	�B
�B
c�~�,QNo[OU2UOUOU2Q2P!)r�)r�r�r�r�r�r�g333333@r�r�s& rr)�TestHarmonicMean.test_ints�s+��#�����t��������4��%�0rc���,QNo[OU2UOUOU2Q2UOUO,QN2Q2P!)r�r�r)r%r�r�rr)r�rrrr�r�s& r�test_floats_exact�"TestHarmonicMean.test_floats_exact�sE��(�����t��������4��#�.�������#8�9�3�?rc�t�[]]e2FD%oUOUOU,2U2J'	P!r��r�rBr�r�s& r�test_singleton_lists�%TestHarmonicMean.test_singleton_lists�s,���q�#��A����T�Y�Y��s�^�Q�/�rc
��[oUOUOU]2U]2U]<2U]<2,2U]22UQ2UQ2UQ2UQ2,o[OU2UOUOU2UQ22UQ2UQ2UQ2UQ2,o[OU2UOUOU2UQ2Q	*2P!)
�r5z0.10z0.20z1.68z0.32z5.94z2.75i�iC)rrBr�r�r�r4s&  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
��[oU]]2U]]2U]]2U]]2U]]2U]]2U]]2,o[OU2UOUO	U2UQQ22P!)r�i�i|r�r�s&  rr1�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�f�Q[Q2Q,oUOUOU2Q2P!)r�rr)rrBr�r�s& rrV�TestHarmonicMean.test_inf�s+���u�U�|�S�)��������6�*�C�0rc��Q[Q2Q,oUO[OUO	U222P!)r�rYr)rr�rrr�r�s& rr[�TestHarmonicMean.test_nan�s0���u�U�|�S�)������
�
�4�9�9�V�#4�5�6rc��]oo,QNoUOU2U*oSOSTt,tFDpDU*MJ
	to2oUOVS2P!ttoh)�or�r�r�s&     r�test_multiply_data_points�*TestHarmonicMean.test_multiply_data_points�sR����<���9�9�T�?�1�$������.��A�a�C�C��.�/������*��/s�Ac���[Q2Tt,tFDo[O]]2MJ	ooUOU2oUOU]*2oUO	VC2P!ttoh)rUr�r�s&    rr��"TestHarmonicMean.test_doubled_data�sW��.3�D�k�:�k�����q�!�$�k��:��9�9�T�?�����4��6�"�����v�0��;r�c
�<�UOUO](]<,]],2Q2UOUO](]<,]],Q5Q2UOUO[](]<,2[]],22Q2UOUO[]
]2[]]2[]]2,,QN2UO[]
]2,]*[]]2,]**[]]2,]
**22UOUO]
,],2]
2UO	[
29^tt^2UO,QN,QN2PPP2UO	[O29^tt^2UO,QN]],2PPP2UO	[O29^tt^2UO]
,],2PPP2UO	[O29^tt^2UO]
],]],2PPP2P!)%fhK�9h)%fhK�9h)%fhK~9h)%fhP!9h)�(gL@)�weights)r�r�r�r>)r�r1r0)rBr�r�rrkr5r8r�r|s&r�test_with_weights�"TestHarmonicMean.test_with_weightss���������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��'�;�
:�
*�
)��
:�
:��
:�
:��
:�
:�
:�sH� I�&I$�,I7�0J
�I!	�I!	�$I4	�-I4	�7J	�J	�
J	�J	r)r2r3r4r5rr�r�r�r�r�r)r�r�r�r1rVr[r�r�r�r7rQr}r~s@@rr�r��s\����-��E�/�
:�
$�1�@�0�
	:�:�1�
7�
+�1�(�(rr�c�^``�\sQsQsnQsU1QksQsQsQsQs	Qs
Q	sQ
sUs
U9s!)�
TestMedianic�2�[OUmP!rm�r8�medianr�r|s&rr�TestMedian.setUp����%�%��	rc�v:�[RU_2o[U2]*]6wcUO]2U!)�+Overload method from UnivariateCommonMixin.)rwr�rcr�)rFr�rvs& �rr��TestMedian.prepare_datas0����w�#�%���t�9�Q�;�!���K�K��N��rc��,QNo[U2]*]6XfPgUOUOU2Q2P!)r�r�r�r�r0r�r�r��rcrBr�r�s& r�test_even_ints�TestMedian.test_even_ints#s5��!���4�y��{�a����������4��#�.rc��,QNo[U2]*]6XfPgUOUOU2]2P!)r�)r�r�r0r�r�r�r�rr�s& r�
test_odd_ints�TestMedian.test_odd_ints)s5��$���4�y��{�a����������4��!�,rc��[oU]]2U]]2U]]2U]]2U]]2,o[U2]*]6XfPg[OU2UO	UOU2U]]22P!r��rrcr�r�rBr�r�s&  r�test_odd_fractions�TestMedian.test_odd_fractions/su�����!�Q���1�a��!�A�q�'�1�Q��7�A�a��G�<���4�y��{�a�������t��������4��!�A�q�'�2rc	�&�[oU]]2U]]2U]]2U]]2U]]2U]]2,o[U2]*]6XfPg[OU2UO	UOU2U]]22P!r�rr�s&  r�test_even_fractions�TestMedian.test_even_fractions7�}�����!�Q���1�a��!�A�q�'�1�Q��7�A�a��G�Q�q�!�W�E���4�y��{�a�������t��������4��!�A�q�'�2rc�
�[oUQ2UQ2UQ2UQ2UQ2,o[U2]*]6XfPg[OU2UO	UOU2UQ22P!)�2.5�3.1�4.2�5.7�5.8�rrcr�r�rBr�r4s&  r�test_odd_decimals�TestMedian.test_odd_decimals?si�����%��!�E�(�A�e�H�a��h��%��A���4�y��{�a�������t��������4��!�E�(�3rc��[oUQ2UQ2UQ2UQ2UQ2UQ2,o[U2]*]6XfPg[OU2UO	UOU2UQ22P!)z1.2rrrrrz3.65rr4s&  r�test_even_decimals�TestMedian.test_even_decimalsGso�����%��!�E�(�A�e�H�a��h��%��!�E�(�K���4�y��{�a�������t��������4��!�F�)�4rr)r2r3r4r5rr�r	rrrrr r7rQr}r~s@@rr�r�s2����&��/�-�3�3�4�5�5rr�c�.`�\sQsQsnQsQsQsUsP!)�TestMedianDataTypeiPc�2�[OUmP!rmr�r|s&rr�TestMedianDataType.setUpRrrc��[[]22o[U2]*]6XfPgU[U26Xc[O
U2J(U!)r�)rSr�rcr�r�r�r�s& rr��TestMedianDataType.prepare_dataUsB���E�"�I����4�y��{�a�����f�T�l�"��N�N�4� ��rr)r2r3r4r5rr�r7rQrRs@rr#r#Ps����&��rr#c�:`�\sQsQsnQsQsQsQsQsUs	P!)�
TestMedianLowi]c�2�[OUmP!rm)r8�
median_lowr�r|s&rr�TestMedianLow.setUp^s���)�)��	rc��,QNo[U2]*]6XfPgUOUOU2]2P!�r�rrr�s& rr	�TestMedianLow.test_even_intsa�5��!���4�y��{�a����������4��!�,rc	�&�[oU]]2U]]2U]]2U]]2U]]2U]]2,o[U2]*]6XfPg[OU2UO	UOU2U]]22P!r�rr�s&  rr�!TestMedianLow.test_even_fractionsgrrc��[oUQ2UQ2UQ2UQ2UQ2UQ2,o[U2]*]6XfPg[OU2UO	UOU2UQ22P!�z1.1z2.2z3.3z4.4r
z6.6rr4s&  rr � TestMedianLow.test_even_decimalso�o�����%��!�E�(�A�e�H�a��h��%��!�E�(�K���4�y��{�a�������t��������4��!�E�(�3rr�
r2r3r4r5rr	rr r7rQrRs@rr)r)]s����*�-�3�4�4rr)c�:`�\sQsQsnQsQsQsQsQsUs	P!)�TestMedianHighixc�2�[OUmP!rm)r8�median_highr�r|s&rr�TestMedianHigh.setUpys���*�*��	rc��,QNo[U2]*]6XfPgUOUOU2]2P!r.rr�s& rr	�TestMedianHigh.test_even_ints|r0rc	�&�[oU]]2U]]2U]]2U]]2U]]2U]]2,o[U2]*]6XfPg[OU2UO	UOU2U]]22P!r�rr�s&  rr�"TestMedianHigh.test_even_fractions�rrc��[oUQ2UQ2UQ2UQ2UQ2UQ2,o[U2]*]6XfPg[OU2UO	UOU2UQ22P!r4rr4s&  rr �!TestMedianHigh.test_even_decimals�r6rrr7rRs@rr9r9xs����+�-�3�4�4rr9c�d`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sUsP!)�TestMedianGroupedi�c�2�[OUmP!rm)r8�median_groupedr�r|s&rr�TestMedianGrouped.setUp�s���-�-��	rc��,QNo[U2]*]6XfPgUOUOU2]2,QNo[U2]*]6XfPgUOUOU2Q2,QNo[U2]*]6XfPgUOUOU]2Q2,Q	No[U2]*]6XfPgUOUOU]2QQQ5P!)
r�g�+@g`3@g������4@�:�0�yE>�r*)r��
�rLrLr�r�)r�rKrLrLrLrLr�)r�r�r�r�r�r�r�r��rM�)r��rOrOrOr�r�r��rPrP�rQ��)rcrBr�r`r�s& r�test_odd_number_repeated�*TestMedianGrouped.test_odd_number_repeated�s���+���4�y��{�a����������4��"�-�+���4�y��{�a����������4��&�1�:���4�y��{�a����������4��+�V�4�K���4�y��{�a�������t�y�y��q�1�;�D��Irc��,QNo[U2]*]6XfPgUOUOU]2QQQ5,QNo[U2]*]6XfPgUOUOU2QQQ5,Q	No[U2]*]6XfPgUOUOU2Q2,Q
No[U2]*]6XfPgUOUOU2Q2P!)r�g�����*3@rIrJg["8���@r��@)
r�r�r�r�r�r�r�rMrMrN)r�r0r�r�r�r�)r�r0r0r�r�r�r�r�r�r�r�r�)
r0r�r�r�r�r�r�r�r�r�)rcr`r�rBr�s& r�test_even_number_repeated�+TestMedianGrouped.test_even_number_repeated�s���6���4�y��{�a�������t�y�y��q�1�;�D��I�!���4�y��{�a�������t�y�y���
���E�3���4�y��{�a����������4��#�.�-���4�y��{�a����������4��$�/rc
���Q]DQ[]]e2[Q21FDAoQFD7oU,U*oUOUOU2[	U22J9	JC	P!)�333333@g��ޗCz32.9714r��rrrBr�rr�s&   rr��,TestMedianGrouped.test_repeated_single_value�sW���r�6�8�B��#4�g�i�6H�I�A�'���s�5�y��� � ����4��%��(�;�(�Jrc��]QQ[]]2[Q21FD.oUOUOU,2[	U22J0	P!rzr\r�s& rr|�#TestMedianGrouped.test_single_value�sC���d�F�H�R��$4�g�f�o�F�A����T�Y�Y��s�^�U�1�X�6�Grc��[oU]]2U]	]2U]
]2U]
]2U]]2,o[U2]*]6XfPg[OU2UO	UOU2Q2P!)r��@rr�s&  rr�$TestMedianGrouped.test_odd_fractions�so�����!�Q���1�a��!�B��(�A�b�!�H�a��A�h�?���4�y��{�a�������t��������4��#�.rc	��[oU]]2U]	]2U]
]2U]
]2U]]2U]]2,o[U2]*]6XfPg[OU2UO	UOU2Q2P!)r��
@rr�s&  rr�%TestMedianGrouped.test_even_fractions�sw�����!�Q���1�a��!�B��(�A�b�!�H�a��A�h��"�a��I���4�y��{�a�������t��������4��$�/rc��[oUQ2UQ2UQ2UQ2UQ2,o[U2]*]6XfPg[OU2UO	UOU2Q2P!)r
�6.5�7.5�8.5g@rr4s&  rr�#TestMedianGrouped.test_odd_decimals�se�����%��!�E�(�A�e�H�a��h��%��A���4�y��{�a�������t��������4��$�/rc��[oUQ2UQ2UQ2UQ2UQ2UQ2,o[U2]*]6XfPg[OU2UO	UOU2Q2UQ2UQ2UQ2UQ2UQ2UQ2,o[U2]*]6XfPg[OU2UO	UOU2Q2P!)r
rgrhri�@�@rr4s&  rr �$TestMedianGrouped.test_even_decimals�s������%��!�E�(�A�e�H�a��h��%��!�E�(�K���4�y��{�a�������t��������4��#�.��%��!�E�(�A�e�H�a��h��%��!�E�(�K���4�y��{�a�������t��������4��#�.rc���,QNoUOUOUQ2Q2,QNoUOUOUQ2QQQ5,Q	NoUOUOU]2Q2P!)
�@r�g@g["8���@rIrJg�p@)
rpr�r�rNrNrarardrr�)rpr�r�rNrNrNrarardrr�)��rq���rsrsrs�rt�,�@�T)rBr�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�8�,QNoUO[UOU2,QNoUO[UOU2,QNoPoUO[UOV2,QNoQoUO[UOV2P!)�r)r{r{r{)rrrr>r�)rFr��intervals&  r�test_data_type_error�&TestMedianGrouped.test_data_type_error�sx�������)�T�Y�Y��5������)�T�Y�Y��5��������)�T�Y�Y��?��������)�T�Y�Y��?rr)r2r3r4r5rrTrXr�r|rrrr rxr}r7rQrRs@rrDrD�sD����.�J�$0�$<�7�/�0�0�/�5�@�@rrDc�X`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
UsP!)�TestModeic�2�[OUmP!rm)r8�moder�r|s&rr�TestMode.setUp
r$rc��,QN!)r)r�r�r�r�r0r�r�r�r�r�r�r1r|s&rr��TestMode.prepare_datas
��1�0rc�d�[]]2]2oUOUOU2]2P!r�r�r�s& rr��TestMode.test_range_datas(���R��Q���������4��"�-rc��QoUOUOU2Q2QO2oUOUOU2Q2P!)�abcbdbrzfe fi fo fum fi fi�fi)rBr�r�r�s& r�test_nominal_data�TestMode.test_nominal_datasE����������4��#�.�#�)�)�+��������4��$�/rc���[[]
22o[]
2FDCoV,*o[OU2UO	UOU2U2JE	P!�r��rSr�r�r�rBr�)rFr�rir�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��,QNoUO]2UO]2t96Xc	]6XfPgPgUOUOU2]2P!)r�)r�r�r�r�r�r�r0r�r�r�r�r�r�r�r�r�r�)rNrBr�r�s& r�test_bimodal_data�TestMode.test_bimodal_data)sH��B���z�z�!�}��
�
�1�
�2��2�2�2�2�2�������4��!�,rc�r�[[]
22oUOUOU2]2P!r�)rSr�rBr�r�s& r�test_unique_data�TestMode.test_unique_data0s'���E�"�I���������4��!�,rc�J�UO[UOP2P!rmr�r|s&r�test_none_data�TestMode.test_none_data6s��
	
���)�T�Y�Y��5rc�z�[O]]Q5oUOUOU2Q2P!)r�)rrr)rW�CounterrBr�)rFr�s& r�test_counter_data�TestMode.test_counter_data=s0��

���!�q�)��	
������1��s�+rr)r2r3r4r5rr�r�r�r�r�r�r�r�r7rQrRs@rr�r�s7����$�1�
.�
0�.�-�-�6�,�,rr�c�(`�\sQsQsnQsQsUsP!)�
TestMultiModeiHc��[OoUOUQ2Q,2UOUQ2,QN2UOUP2,2P!)�aabbbbbbbbccr�aabbbbccddddeeffffgg)rr�r�)r8�	multimoderB)rFr�s& r�test_basics�TestMultiMode.test_basicsJsN���(�(�	�����>�2�S�E�:�����#9�:�O�L�����2���+rr1)r2r3r4r5r�r7rQrRs@rr�r�Hs����,�,rr�c�:`�\sQsQsnQsQsQsQsQsUs	P!)�	TestFMeaniQc
��[Oo[o[o,QNQQ1UQ2UQ2UQ2,QQ1U]]2U]]2U]]2,QQ1,Q
NQQ	1Q]U]]2,QQ
1Q[	,QN2QQ11FD@vqEoUU2oUO[
U2[U2UOVuU2JB	P!)r�@�floats�3.5�4.0�5.25�decimals�	fractions�333333�?�booleans�mixed types�iterator�rr��@)TFTTF)r�r�rT)	r8�fmeanrrr�r�rrrB)rFr�r�r�r��
expected_meanr��actual_means&       rr��TestFMean.test_basicsSs���� � ������
�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�b�[Oo[OoUOU29^tt^2U,2PPP2UOU29^tt^2U[	,22PPP2UO[
29^tt^2UP2PPP2UO[
29^tt^2U,QN2PPP2UO[
29^tt^2U2PPP2UO[
29^tt^2U,QN]F2PPP2P!)%fhCK9h)%fhK�9h)%fhK�9h)%fhK�9h)%fhK�9h)%fhP!9h)N�r�Nr��r�r��<)r8r�r�rkr�r5�rFr�r�s&  r�test_error_cases�TestFMean.test_error_casesds��� � ��$�4�4��
�
�
��
/�
/��"�I�0�
�
�
��
/�
/��$�r�(�O�0�
�
�
�y�
)�
)��$�K�*�
�
�
�y�
)�
)��.�!�*�
�
�
�y�
)�
)��G�*�
�
�
�y�
)�
)��,��#�*�
)�0�
/�
/��
/�
/��
)�
)��
)�
)��
)�
)��
)�
)�
)�sk�	D=�%E�	E$�
E7�:F
�'F�=E	�E	�E!	�E!	�$E4	�-E4	�7F	�F	�
F	�F	�F.	�&F.	c���[Oo[Q2o[Q2oUO[O
U]
U,22Q2UO[O
UV#,22Q2UO[OU]
U,22Q2UO[29^tt^2UV3',2PPP2P!)%fhP!9h)�Nan�InfrY�nan and infinity�infinity)	r8r�rr�rrr(rkr')rFr��NaNr�s&   r�test_special_values�TestFMean.test_special_valuests���� � ���E�l���E�l������
�
�5�"�c��#3�4�e�<�����
�
�5�#��#4�5�7I�J�����
�
�5�"�c��#3�4�j�A�
�
�
�z�
*�
*��3��+��+�
*�
*�
*�s�C#�#C4	�,C4	c	��[Oo[OoUOU,QNQ,]*2U,QN22UOU,QN,QN2U,QN22UOU[	,QN2[	,QN22U,QN22UOU29^tt^2U,QN]],2PPP2UOU29^tt^2U[	,QN2[	]],22PPP2UOU29^tt^2U]
],P],2PPP2UOU29^tt^2U[	]
],2[	P],22PPP2P!)%fhK�9h)%fhK�9h)%fhKy9h)%fhP!9h)r�r�)r�r�r�r�)r�r�r�)r�r�r)r�r�r�r��r�r�rN)r8r�r�rBr�rkr�s&  r�test_weights�TestFMean.test_weightssa��� � ��$�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�
/��
/�
/��
/�
/��
/�
/�
/�sH�F�1 F�2F1�! G�F	�F	�F.	�'F.	�1G	�:G	�G	�
G	r1)
r2r3r4r5r�r�r�r�r7rQrRs@rr�r�Qs����?�"$� 	�1�1rr�c�J`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sUsP!)
�VarianceStdevMixini���-���q=c��]QQ[]]"2[Q21FD%oUOUOU,2]2J'	P!)�g������3@g���%�Bz8.392r{r�s& rr|�$VarianceStdevMixin.test_single_value�s>���d�F�H�R��$4�g�g�6F�G�A����T�Y�Y��s�^�Q�/�Hrc	��Q]1Q[]]2[Q21FD8oQFD.oU,U*oUOUOU2]2J0	J:	P!)r�g@�6��<Cz62.4802)r�r0r�r�r{r�s&   rr��-VarianceStdevMixin.test_repeated_single_value�sP���r�6�8�A�q�>�7�9�3E�F�A�&���s�5�y��� � ����4��!�4�'�Grc��Q,Q*oUOU2oUOUQQQ5UOU]2P!)g.�F7ݚ�?r�rzg��ؗ�Ҍ<rJ)r�r`r�r�s&  r�test_domain_error_regression�/VarianceStdevMixin.test_domain_error_regression�sE��"�"�5�(�����4������v�s���6������*rc��,QNoUOU2oQoSTt,tFDpDU*MJ
	ooUOUOU2U2P!ttoh)�{�G�z�?gj�@)
r�gR���Q�?g
ףp=
�?gR���Q@g�p=
ף@g��Q�	@rWg�Q���@g�G�z�@g��Q�@)r�r`�rFr�r!�shiftrr�s&     r�test_shift_data�"VarianceStdevMixin.test_shift_data�sQ��K���9�9�S�>����#&�'�3�a�E�	�	�3��'����t�y�y����9��(s�Ac�(�,QNo[9PIcQU2D%cJP
L	P	LQU22%fPgUOU2oQoSTt,tFDpDU*MJ
	ooUOUOU2U2P!ttoh)r�c3�H�SF �Dp[U26Hw�	J	P!3hrm)r�)r
rs& rr�;VarianceStdevMixin.test_shift_data_exact.<locals>.<genexpr>�s��c���c��c�!�f�9�c�s�")
r�r0r0r�r�r�r�r�r�r�iʚ;)�allr�rBr�s&     r�test_shift_data_exact�(VarianceStdevMixin.test_shift_data_exact�su��/���s�*�c�*�s�s�s�*�c�*�*�*�*�*��9�9�S�>����#&�'�3�a�E�	�	�3��'�������4��(�3��(s�Bc���[Q2Tt,tFDo[OQ]2MJ	ooUOU2oUO	UO[U22U2P!ttohr�)r�r�r�r�rBr��rFr�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/r1)
r2r3r4r5r+r|r�r�r�r�r�r7rQrRs@rr�r��s/�����C�0�
5�+�:�4�
:�
:rr�c�F`�\sQsQsnQsQsQsQsQsQs	Qs
UsP!)	�
TestPVariancei�c�2�[OUmP!rm)r8�	pvariancer�r|s&rr�TestPVariance.setUp�s���(�(��	rc��[[Q22o[OU2QoUO	UOU2U2P!)r�gP�_Ar�r�s&  r�test_exact_uniform� TestPVariance.test_exact_uniform�s9���E�%�L�!�����t��$��������4��(�3rc�V�,QNoQoUOUOU2U2P!)r�g�6@�r�r�rKr�r��rFr��exacts&  rr)�TestPVariance.test_ints�s$������������4��%�0rc���[oU]]2U]]2U]]2U]]2,oU]]2oUOU2oUOVC2UOU[2P!r��rr�rB�assertIsInstance�rFr�r�r�r�s&    rr1�TestPVariance.test_fractions��c�����!�Q���1�a��!�A�q�'�1�Q��7�3���!�Q������4�������'����f�h�/rc���[oUQ2UQ2UQ2UQ2,oUQ2oUOU2oUOVC2UOU[2P!)z12.1z12.2z12.5z12.9z0.096875�rr�rBr��rFr�r�r�r�s&    rr5�TestPVariance.test_decimals�sY�����&�	�1�V�9�a��i��6��;���*�
�����4�������'����f�g�.rc��,QNoQoUOU2oUOV22UOU[2P!)r�)r�r�r�g�q�q�?�r�rBr�r�rFr�r�r�s&   r�test_accuracy_bug_20499�%TestPVariance.test_accuracy_bug_20499��7���������4�������'����f�e�,rr)r2r3r4r5rr�r)r1r5rr7rQrRs@rr�r��s(����)�4�1�0�/�-�-rr�c�L`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sUsP!)
�TestVarianceic�2�[OUmP!rm)r8�variancer�r|s&rr�TestVariance.setUps���'�'��	rc��]#QQ[]]2[Q21FD/oUO[OUO
U,2J1	P!)�#g33333�8@g�(G�!=Cz4.2084�rrrkr8r�r�r�s& rr|�TestVariance.test_single_value	sB���d�F�H�R��$4�g�h�6G�H�A����j�8�8�$�)�)�a�S�I�Irc�V�,QNo]oUOUOU2U2P!)r�r�r�r�s&  rr)�TestVariance.test_intss$������������4��%�0rc���[oU]]2U]]2U]]2U]]2,oU]]2oUOU2oUOVC2UOU[2P!r�r�r�s&    rr1�TestVariance.test_fractionsr�rc��[oU]2U]2U]2U]	2,o]UQ2*U]2*oUOU2oUOVC2UOU[2P!)r�z9.5r�r�s&    rr5�TestVariance.test_decimalsse�����!��a��d�A�a�D�!�A�$�'���!�E�(�
�1�Q�4������4�������'����f�g�.rc��QoUOUOU2Q2UOUOUQQ5Q2P!)rr�r��xbar�rr�r�r�s& r�test_center_not_at_mean�$TestVariance.test_center_not_at_mean&s<����������4��#�.�������4�c��2�C�8rc��,QNoQoUOU2oUOV22UOU[2P!)r�)r�r�r�gUUUUUU�?rrs&   rr�$TestVariance.test_accuracy_bug_20499+rrr)
r2r3r4r5rr|r)r1r5rrr7rQrRs@rrrs.����(�J�
1�0�/�9�
-�-rrc�:`�\sQsQsnQsQsQsQsQsUs	P!)�
TestPStdevi2c�2�[OUmP!rm)r8�pstdevr�r|s&rr�TestPStdev.setUp4rrc��[Q2Tt,tFDo[OQ]2MJ	oo[O[
OU22oUOUOU2U2P!ttoh)rUi��)	r�r�r�r�sqrtr8r�rBr�r�s&   r�test_compare_to_variance�#TestPStdev.test_compare_to_variance7s[��16�t��=��A����s�B�'���=��9�9�Z�1�1�$�7�8��������4��(�3��>��"A?c��QoUOUOU2Q2UOUOUQQ5Q2P!)r0r�r)�murl)r0r�r�r�r�r�s& rr�"TestPStdev.test_center_not_at_mean=s<����������4��#�.�������4�C��0�#�6rc�r�UO[29^tt^2UOQ[O,2PPP2UO[29^tt^2UOQ[O
,2PPP2P!)%fhKY9h)%fhP!9h)r)rkr'r�rrrYr|s&r�test_gh_140938�TestPStdev.test_gh_140938Csl��
�
�
�z�
*�
*��I�I�s�D�H�H�o�&�+�
�
�
�z�
*�
*��I�I�s�D�H�H�o�&�+�
*�+�
*��
*�
*�
*�s#�"B�&"B%�B"	�B"	�%B6	�.B6	r)
r2r3r4r5rr$rr+r7rQrRs@rrr2s����&�4�7�'�'rrc�h`�\sQsQsnQs\\OQ2Q22sQs	Qs
UsP!)�TestSqrtHelpersiKc��[O[]d2[]Q22FD�vq[OV2oUOU[2V3*U*U6XcJGUOU]*]2SOV#]*
]**St969%cV#]*]**6Lt2J�	P!)rirU)	�	itertools�productr�r8�_integer_sqrt_of_frac_rtor�r�rBr�)rFr�mr�s&   r�test_integer_sqrt_of_frac_rto�-TestSqrtHelpers.test_integer_sqrt_of_frac_rtoMs����%�%�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
�B�QQko[Oo[Q2FD�oU]
U]22*2oU]
U]22*2]*oUOVEQ59^tt^2[	VE2o[
OVE2oUOUVg22PPP2J�	UO[
O]]2Q2UO[29^tt^2[
OP]2PPP2UO[29^tt^2[
O]P2PPP2UO[29^tt^2[
O]]2PPP2UO[
OQP2[
O]]22P!)%fhCJ�9h)%fhK�9h)%fhK�9h)%fhK�9h)c�>�U]6�cPgQ[Q[Q[-!)r�r�root�return)rrr)r�s"r�__annotate__�WTestSqrtHelpers.test_float_sqrt_of_frac.<locals>.is_root_correctly_rounded.__annotate__]s!��	?�	?��	?��	?�4�	?rc��U%fUQ6H![OU[O2o[OU[O'2oX1t96c	U6fPgPg[U2oU[U2*]*oU[U2*]*oU]*St96*9%c
U]*6*!t!)rz)r�	nextafterrr)rr9�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_rounded]s�����s�{�"��.�.��t�x�x�8�D� �N�N�4�$�(�(��;�F��'�4�'�'�'�'�'�#+�4�.�I�%.��$��%?�1�$D�K�'0�8�F�3C�'C�q�&H�M�!�A�%��>�>�k�Q�.>�>�>�>�>ri`�)�	numerator�denonimatorrzr�)r��	randranger�r�rr8�_float_sqrt_of_fracr�rBrkr'�ZeroDivisionError)rFrDrHrirFrGrr9s&       r�test_float_sqrt_of_frac�'TestSqrtHelpers.test_float_sqrt_of_fracYs{��	?�$�$�$�	��v��A�&�r�Y�r�]�':�;�I�(��y��}�)<�=��A�K����	��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��*�*�1�a�0�2�	
����7�7��B�?��A_�A_�`a�cd�Ae�f�#L�K�K��+�
*��
*�
*��2�
1�sH�29G	�;G(�8G;�5H�G%
�G%
�(G8	�1G8	�;H	�H	�H	�H	c
�"�[Q2QQ1[Q2QQ1[Q2QQ11FCD:vqo[O[O29^tt^2UO	[
OV#2U2PPP2[O[O29^tt^2oU9O]*tm[U2[U2*o[OUm	UO2oPPP2[O[O29^tt^2W3oPPP2UO	UW2CJ=	UO	[
O]]2Q2UO[O29^tt^2[
OP]2PPP2UO[O29^tt^2[
O]P2PPP2UO[29^tt^2[
O]]2PPP2UO	[
OQP2[
O]]22P!)%fhCK9h)%fhCK�9h)%fhCK�9h)%fhCK9h)%fhK�9h)%fhK�9h)	z0.4481904599041192673635338663l:j�t9�)4]�!�l�7�3M�e'z0.7924949131383786609961759598lQ_Ar�,NE��*�z0.8500554152289934068192208727lkr�"-D��9}ZGrzr�)rrirj�DefaultContextrBr8�_decimal_sqrt_of_frac�prec�
ROUND_05UP�roundingr#rkrqrJ)rFr9rF�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�
8��,�,�R��3�9�
�
�
�w�7�7�
8�
8��,�,�Q��3�9��
�
�0�
1�
1��,�,�Q��2�2�	
����9�9�"�b�A�:�Cc�Cc�de�gh�Ci�j�3>�=�=��>�=�=��
>�=�=��9�
8�
8��
8�
8��2�
1�sm�'J	�:AJ/	�K	�9K�K+�=K>�J,
�$J,
�/K
�8K
�K
�K
�K(	� K(	�+K;	�4K;	�>L	�L	r1)r2r3r4r5r4rr�requires_resourcerKrXr7rQrRs@rr.r.KsA����
A�����u�%�*g�&��*g�X#k�#krr.c�:`�\sQsQsnQsQsQsQsQsUs	P!)�	TestStdevi�c�2�[OUmP!rm)r8�stdevr�r|s&rr�TestStdev.setUp�s���$�$��	rc��]QQQ[]]2[Q21FD/oUO[OUO
U,2J1	P!)�QgH�z�wi@gf7?+�Bz35.719r
r�s& rr|�TestStdev.test_single_value�sA���f�f�h�q�"�o�w�x�7H�I�A����j�8�8�$�)�)�a�S�I�Jrc��[Q2Tt,tFDo[OQ]	2MJ	oo[O[
OU22oUOUOU2U2P!ttoh)rUr�)	r�r�r�rr#r8r	�assertAlmostEqualr�r�s&   rr$�"TestStdev.test_compare_to_variance�s[��/4�T�{�;�{�!����r�1�%�{��;��9�9�Z�0�0��6�7�����t�y�y����9��<r&c�R�QoUOUOUQQ5Q2P!)rr�rrr�r�s& rr�!TestStdev.test_center_not_at_mean�s$����������4�c��2�C�8rr)
r2r3r4r5rr|r$rr7rQrRs@rr\r\�s����%�J�
:�9�9rr\c�F`�\sQsQsnQsQsQsQsQsQs	Qs
UsP!)	�TestGeometricMeani�c��[OoUOU,QN2Q2UOUQQ,2Q2UOUQ,2Q2[OQ2[]]d2[]Q2[]Q2[Q	Q]2[QQ	Q2,QN[Q2Tt,tFDo[OQ
2MJ	to[Q2Tt,tFDo[OQQ
2MJ	to[Q2Tt,tFDo[OQQQ2MJ	to1	FD~o[O[[U22[]2[U2**oUU2oUO[OU[!U222J�	P!ttohttohttoh)�6�B@r�g"@g@g�1@l���;rUr�r0�I@��r�rai�i�)rkrQ�$r�)r�rrKr��xr�)r8�geometric_meanrdr��seedr��expovariate�lognormvariate�
triangularr�prodr�rrcr��iscloser)rFrqri�rng�
gm_decimal�gm_floats&     rr��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�=!G�,"G
�#Gc	�z�[Oo[o[oQo,QNQ1UQ2UQ2UQ2,Q1U]]2U]]2U]]2,Q1Q]U]]2,Q1Q[	,QN2Q	11FD@vqVUU2oUO[
U2[U2UOVt]Q
5JB	P!)
g�d�@rr�r�r�r�r�r�r�r���placesr�)r�rT)	r8rqrrr�r�rrrd)rFrqr�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���[OoQoUQU*QU*QU*,2oUO[OUQU*22UO[OU22QoUQU*QU*QU*,2oUO[OUQU*22UOUQ2P!)r�gK@g8@rlrzgp~gp)r8rqr�rrwr�r(�assertNotEqual)rFrq�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��[Oo[OoUOU29^tt^2U,2PPP2UOU29^tt^2U,QN2PPP2UOU29^tt^2U,QN2PPP2UOU29^tt^2UQ[O
'Q,2PPP2UOU29^tt^2U[
,22PPP2UO[29^tt^2UP2PPP2UO[29^tt^2U,QN2PPP2UO[29^tt^2U2PPP2UO[29^tt^2U,QN]F2PPP2P!)%fhCK�9h)%fhCK~9h)%fhCKf9h)%fhCK>9h)%fhCK9h)%fhCK9h)%fhK�9h)%fhK�9h)%fhP!9h)Nrr�)r��r�)rzr�r�r�r�)r8rqr�rkrrr�r5)rFrqr�s&  rr��"TestGeometricMean.test_error_cases�s���#�2�2��$�4�4��
�
�
��
/�
/��2��0�
�
�
��
/�
/��,�-�0�
�
�
��
/�
/��,�-�0�
�
�
��
/�
/��C�$�(�(��D�1�2�0�
�
�
��
/�
/��4��8�$�0�
�
�
�y�
)�
)��4� �*�
�
�
�y�
)�
)��>�*�*�
�
�
�y�
)�
)���*�
�
�
�y�
)�
)��<��,�*�
)�!0�
/�
/��
/�
/�
/��
/�
/�
/��
/�
/�
/��
/�
/�
/��
)�
)�
)��
)�
)��
)�
)��
)�
)�
)�s��	G�%G%�G9�=H
�9H!�0	H5�I	�I�;I/�G"	�G"	�%G6	�.G6	�9H
	�H
	�
H	�H	�!H2	�*H2	�5I	�>I	�	I	�I	�I,	�%I,	�/J	�8J	c��[Oo[Q2o[Q2oUO[O
U]
U,22Q2UO[O
UV#,22Q2UO[OU]
U,22Q2UO[29^tt^2UV3',2PPP2UOU,QN2Q2UOU,QN2Q2UO[O
U]U,222UO[O
U]U,222P!)%fhK�9h)r�r�rYr�r�rz)r0rzr�)r0r{r�)
r8rqrr�rrr(rkr'rB)rFrqr�r�s&   rr��%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�E1�1F	�:F	c
��[OoQo,QN,QN,QN,QN,QN,oSFDAoUOUQ59^tt^2UU2oUOVR]Q5PPP2JC	P!)%fhJX9h)g�Y�};t@)�vr})r�r0r�r�)r�r0r�rm)r�r0r,rm)r�rar,rm)r�rar,rm)r8rqr�rd)rFrqr�r�r�r�s&     r�test_mixed_int_and_float�*TestGeometricMean.test_mixed_int_and_float!	st��#�2�2��(�
����� �
���A������"�"�,�Q�/���&�&�{�!�&�L�#�"��"�"�"�s�A/	�/B
�8B
r1)r2r3r4r5r�rr�r�r�r�r7rQrRs@rriri�s,����G�,I�$
+�-�,>�"M�Mrric�`�\sQsQsn\O
Q2Q2sQs\O
Q2Q2sQs	Us
P!)�TestKDEi2	r6c�Z�[Oo[Oo,QNo,QNoQQkoSFDOoUOUQ59^tt^2UUQUQ5oUUQ]2oUO	UQ	]Q
5PPP2JQ	,QNo	Qo
QoSFD_oUOUQ59^tt^2UV�UP	Q
5oUV�U2oUUQUQ2oUO	UU2U]Q
5PPP2Ja	UOU29^tt^2U,Q	Q5PPP2UO[29^tt^2UQQ,Q2PPP2UO[29^tt^2U[U2Q2PPP2UOU29^tt^2UUQQ5PPP2UOU29^tt^2UUQQ5PPP2UO[29^tt^2UUQQ5PPP2UOU29^tt^2UUQ	QQ5PPP2UO[29^tt^2UUQ	QP	2PPP2Qo
QoUVJU2oUOUOQ2UOVgO2UO[U
2UO2U],Q	Q2oUOUQ2Q2UOUQ	2Q2]],o	UU	QQ2oUOU]d2Q2U	O]d2UOU]d2Q2P!)%fhCJC9h)%fhCJ�9h)%fhCK9h)%fhCKb9h)%fhCK>9h)%fhCK&9h)%fhCK9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)�normal�gaussr�ru�cosinec�``�UR*
U*nUU1Qk[U22o[[V22R*!)z6Numeric approximation of a definite function integral.c3�^:�SF �DoRUQ*R**w�	J	P!3h)r�rr1)r
ri�dx�lows& ��rr�6TestKDE.test_kde.<locals>.integrate.<locals>.<genexpr>D	s ��|���|�!���C��2�~�-�-�|���%-)r��sumr�)r�r��high�steps�	midpointsr�s&f&& @r�	integrate�#TestKDE.test_kde.<locals>.integrateA	s4�����*��%�B�D�u�U�|�D�I��s�4�+�,�r�1�1r��kernelr��hr�rr}r�g%@��
cumulativei���r�rX�defrzrR�bogus�pdfr,�
r�r��logistic�sigmoid�rectangularr�ru�	parabolic�epanechnikov�quartic�biweight�	triweightr������������������皙����ٿ�ffffff�?�ffffff@�������@)r�r�)r0r�r�r���r)r8�kder�r�rdrkr5r�rBr2rvr6�reprr�r�)
rFr�r��kernels�sampler�r��f_hat�arear�r�r�cdfs
&            r�test_kde�TestKDE.test_kde4	sJ���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�
/�
/��
)�
)�
)��
)�
)�
)��
/�
/�
/��
/�
/�
/��
)�
)�
)��
/�
/�
/��
)�
)�
)�s��*M#	�-:M8	�N
�<N!�-N5�!O	�
O�=O1�)P�P�#M5
�,M5
�8N

�N

�
N	�N	�!N2	�*N2	�5O	�>O	�	O	�O	�O.	�&O.	�1P	�:P	�P	�P	�P*	�"P*	c
�>�[Oo[Q]e2Tt,tFDp"]d*MJ
	oo[Q2Tt,tFDp"Q*Q*MJ	ooUO2FD�vqVUQ*oUQ*oUO	UQ59^tt^2SFD#o	UOUUU	22U	]Q5J%	SFD#o
UOUUU
22U
]Q5J%	PPP2J�	P!ttohttoh)%fhJ�9h)rirUr��invcdfr�r}r����Mb@?)r8�
_kernel_specsr��itemsr�rd)rF�kernel_specsri�xarr�parrr��specr�r�r�ps&          r�test_kde_kernel_specs�TestKDE.test_kde_kernel_specs�	s���"�/�/�� %�T�3�/�0�/�!�#���/��0�*/��+�6�+�Q�$��� � �+��6�(�.�.�0�L�F��u�+�C��(�^�F����V��,�,��A��*�*�6�#�a�&�>�1�Q�*�G���A��*�*�3�v�a�y�>�1�R�*�H��-�,�1��1��6�-�,�,�s�D�D�AD	�D
�D
c�````�[Oo[Oo,QNo,QNoSFDQoUOUQ59^tt^2UUQUQ5n[	]
2Tt,tFD
oR2MJ	ooPPP2JS	UOU29^tt^2U,QQ5PPP2UO[29^tt^2UQQ	,Q2PPP2UO[29^tt^2U[U2Q2PPP2UOU29^tt^2UUQQ5PPP2UOU29^tt^2UUQ
Q5PPP2UO[29^tt^2UUQQ5PPP2UOU29^tt^2UUQQQ5PPP2QoQoUVHU2nUOROQ
2UOURO2UO[U2RO2,QNo	[	Q]�2T
t,tFDp�]
*MJ
	oo
QoQoQnUU1Qko
UU1QkoSFD�oUOUQ59^tt^2UV�UQQ5n[[	U2Tt,tFD
oR2MJ	to2n[OV�UP	Q5nSFD7o
UO[ O"U
U
2UU
2QQ52J9	PPP2J�	]],o	UU	]Q2nSO%['[	Q2Tt,tFD
oR2MJ	to2]
2U	O)]d2UO+['U1Qk[	Q222]
2P!ttoh)%fhCJ�9h)%fhCK.9h)%fhCK9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCK�9htto
httoh)%fhCJ9httoh)r�rur�r�rr�rr�rXr�rzrRr��randi@Bg�?r�c�:�[ORU2o[ORUR*2oV!*
[R2*!rm)�bisect�bisect_leftrc)rri�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�>:�RUR*2RU2*
!rmr1)r�F_hatr�s&��r�
p_expected�+TestKDE.test_kde_random.<locals>.p_expected�	s�����R��=�5��8�+�+r�rrr�r���abs_tolr�c3�>:�SF �D
oR2w�	J	P!3hrmr1)r
rir�s& �rr�*TestKDE.test_kde_random.<locals>.<genexpr>�	s��{���{�!�t�v�v�{�s�r�r�r�)r�r�r�r�r�r�rg������,@g333333.@g������.@g������/@g1@r�liA� �)r8�
kde_randomr�r�r�rkr5r�rBr2rvr6r�r�r�r�rrw�
assertLessrr�r�)rFr�r�r�r�r�ri�
selectionsr�r�rr�rr�r�r�r�r�r�s&              @@@@r�test_kde_random�TestKDE.test_kde_random�	sf����*�*�
�$�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��N:	�&N5�8N:	�O�O#�O7�4P� P�P3�<Q�Q�Q%	�1Q �AQ%	�Q:�5N:	�:O
�O
�O 	�O 	�#O4	�,O4	�7P	�P	�P	�P	�P0	�(P0	�3Q	�<Q	�Q	�Q	� Q%	�%Q7
�.Q7
r1)r2r3r4r5rrZr�r�r�r7rQrRs@rr�r�2	sN�������u�%�M,�&�M,�^I�"
���u�%�KA�&�KArr�c�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�
TestQuantilesi�	c
�4`�[Oo,QNo[OU2],1]Q,1]QQ,1],QN1],Q
N1],QN1],QN1]
,QN1],QN1],QN11
FCD�vq4UO	VAV#Q52UO	[UV#Q52U]*
2[[[1FDVnU[RU2UQ5oUOU1QkU22UO	U[[RU222JX	[U2]6�cUO	UVCQ5U2[U2o]U]**U]**
o]UP**UQ**
oV'U,*o	UO	UV#Q5UV�QQ5V212Qo
[[V�22oU[V�2UQ5oSO[9PIc%Q	[V�22D%cJP
L	P	LQ	[V�2222CJ�	[]]<2FDUo
[O []d2U
Q
5oUU2vq�oUO	U[O"U22JW	P!)rp�@o@�i@�t@�rc3�^:�SF �Do[[U2R6H2w�	J	P!3hrm�r�r�r
r�datatypes& �rr�4TestQuantiles.test_specific_cases.<locals>.<genexpr>�	�!��&���&�Q��D��G�x�$7� 8� 8�&�r��	inclusive�r�methodc�$�QU*Q*
!�rg3333�J�@r1r
s&rr��,TestQuantiles.test_specific_cases.<locals>.f
����Q�w��)�)rc3�^�SF �Dvq[OV2w�	J 	P!3hrm�rrw�r
rjrs&  rrr�
���}���}�t�q����Q� 2� 2�}���&-��k)rpr��rv�^)�d@r���t@)�a@��k@�@r@��u@)�^@r�r�r���u@)�Y@rg�j@r�g�r@r	gXv@)	gV@r
gg@rr�rg`t@r
g�v@)�T@rrr�� l@r�g�q@r�r	rg�v@)gR@gZ@r
ge@r�r�n@g�p@rr�g�t@r
g@v@gw@r�)r8�	quantilesr�r�rBrcrrrr�r�rSr�r�rgr��choicesr)rFrr�rr!r��sdata�lo�hi�padded_datar��exp�actr�q1�q2�q3r�s&                @r�test_specific_cases�!TestQuantiles.test_specific_cases�	sF����(�(�	�(�����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�C�M�s�3�}�M�C�C�C�M�s�3�}�M�M�N�S
�V�q�"��A��>�>�%��*��2�D�"�4��J�B�B����R��!2�!2�4�!8�9�rc
�$`�[Oo,QNo[OU2],1]Q,1]QQ,1],QN1],QN1],QN1],QN1]
,QN1],QN1],QN11
FCD5vq4UO	VAV#QQ52UO	[UV#QQ52U]*
2[[[1FDWnU[RU2UQQ5oUOU1QkU22UO	U[[RU222JY	Qo[[Vd22oU[Vb2UQQ5oSO[9PIc%Q[Vx22D%cJP
L	P	LQ[Vx2222CJ8	UO	U]]d,]
QQ5,QN2UO	U[]]e2]
QQ5,QN2[Q	2T	t,tFDo	[OQ
2MJ	oo	UU] QQ5o
UO![#U22UO![%U22UU] Q5oUO	VJ2[]]<2FDWo[O&[]d2UQ5oUUQQ
5vq�oUO	U
[O(U22JY	UO	U]
,]Q5,QN2UO	U]
,]QQ5,QN2P!tto	h)ri��r@r��y@r�r�c3�^:�SF �Do[[U2R6H2w�	J	P!3hrmr�r�s& �rr�>TestQuantiles.test_specific_cases_inclusive.<locals>.<genexpr>6
r�r�c�$�QU*Q*
!r�r1r
s&rr��6TestQuantiles.test_specific_cases_inclusive.<locals>.f9
r�rc3�^�SF �Dvq[OV2w�	J 	P!3hrmrrs&  rrr%=
rr�r�r�r�r��	exclusive)rir��� )��e@r"�@@)rr��v@���@)��b@r�r"r#���@)g0a@�rr"gpw@r/gP�@)	g@`@rg�g@rr"r0g�{@r1g@�@)g@_@r2r.r�r�r"rr#r/r3g�@)rg�a@rg�f@r�rg�q@r�r0r#g~@r1g�@g��@)	�$@r�g>@gD@rmgN@g�Q@rg�V@�r5r5r5)r8rr�r�rBrcrrrr�r�rSr�rgr�rHr�r�rrr)rFrr�rr!r�r�rrrir rrrrr�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�C�M�s�3�}�M�C�C�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�+!L
c	���[Oo[]]
2FDCoQ,U*oUOUU2,QN2UOUUQQ5,QN2JE	P!)r�r5r�r*r6)r8rr�rB)rFrrr�s&   r�test_equal_inputs�TestQuantiles.test_equal_inputsW
sW���(�(�	��q�"��A��6�A�:�D����Y�t�_�.@�A����Y�t�K�@�.�
0�rc�4�[OoQo[U2Tt,tFDo[OQ2MJ	oo[[
U22U6wc(UO[OQ22J@UO2QFD\oV%*oSOUVEQ5Tt,tFDo[OVG2MJ	to[[VbU222J^	QFD�oV%*V%*]*.oUVEQ5Tt,tFDo[OVG2MJ	o	o[V�Q*2T
Tt.tFD
vq�Vz*
jJ	oo
oUOV�6*2J�	P!ttohttohttohttoo
h)r�皙�����?r�:r�NN)
r�r�r�r�r�r�rir�r0rUrnr�r�)
rK��;�m���;�isi�i)&)r8rr�r�rsrc�setr��sortrBr�rSrgr�)rFr�totalrir�r�
group_size�q�group_sizes�posr��sizess&           r�test_equal_sized_groups�%TestQuantiles.test_equal_sized_groups_
sE���(�(�	���16�u��>��A��"�"�3�'���>��#�d�)�n��%��K�K��*�*�3�/�0��	�	��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�B��'8�9�'8�t�q�Q�U�U�'8�E�9��O�O�E�0�1�	E��?��G��I��9s�!F�6!F
�!F�F
c�
�[Oo[OoUO[29^tt^2U2PPP2UO[29^tt^2U,QN]
]Q5PPP2UO[29^tt^2U,QN]2PPP2UOU29^tt^2U,QN]Q5PPP2UOU29^tt^2U,QNPQ5PPP2UO[29^tt^2U,QNQQ5PPP2UO[
29^tt^2U,QNQQ5PPP2UOU29^tt^2U,]Q5PPP2UO[29^tt^2U,QN]Q5PPP2P!)%fhCK�9h)%fhCKv9h)%fhCKY9h)%fhCK?9h)%fhCK%9h)%fhCK9h)%fhK�9h)%fhK�9h)%fhP!9h)Nr�r�Xr*r�)r�NrN)r8rr�rkr5r')rFrr�s&  rr��TestQuantiles.test_error_casesv
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��*�*�
)�!*�
)�
)��
)�
)�
)��
)�
)�
)��
/�
/�
/��
/�
/�
/��
)�
)�
)��
*�
*��
/�
/��
)�
)�
)�s��G�,G'�G;�
H�:
H#�,
H7�
I�I�<
I1�G$	�G$	�'G8	�0G8	�;H	�H	�H 	�H 	�#H4	�,H4	�7I	�I	�I	�I	�I.	�'I.	�1J	�:J	r1)r2r3r4r5rr7r:rLr�r7rQrRs@rr�r��	s&����4:�l9W�v0�2�.+�+rr�c�.`�\sQsQsnQsQsQsUsP!)�TestBivariateStatisticsi�
c	�V�,QN]],1]],,QN11FD�vqUO[O29^tt^2[OV2PPP2UO[O29^tt^2[OV2PPP2UO[O29^tt^2[O
V2PPP2J�	P!)%fhK�9h)%fhKo9h)%fhCJ9h)r�r>�rkr8r��
covariance�correlation�linear_regressionres&  r�test_unequal_size_error�/TestBivariateStatistics.test_unequal_size_error�
s���
��A�����V�Y��
�D�A��"�"�:�#=�#=�>�>��%�%�a�+�?��"�"�:�#=�#=�>�>��&�&�q�,�?��"�"�:�#=�#=�>�>��,�,�Q�2�?�>�
�?�>��>�>��>�>�>�s5�C0	�D	�D	�0D
�9D
�D
�D
�D(
�D(
c	�v�,,1,]],1]],,1],],1],]],1]],],11FD�vqUO[O29^tt^2[OV2PPP2UO[O29^tt^2[OV2PPP2UO[O29^tt^2[O
V2PPP2J�	P!)%fhK�9h)%fhKo9h)%fhCJ9hr�rTres&  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�?�>�
�?�>��>�>��>�>�>�s6�D	�D	�D&	�D
�	D
�D#
�D#
�&D8
�/D8
r1)r2r3r4r5rXr[r7rQrRs@rrRrR�
s����
3�3�3rrRc�`�\sQsQsnQsQsQs\\O\
Q2\OQ222s
QsQsUsP!)	�TestCorrelationAndCovariancei�
c�
�,QN,QN]1,QN,QNP1,QN,QNP1,QN,QN]1,QN,QNQ11FDRvqoUO[OV2U2UO[OV2U2JT	P!)r�rr>�rr�r�)r0r�r�)r�r�r�)r�r0r��rdr8rVrU)rFrr)r�s&   r�test_results�)TestCorrelationAndCovariance.test_results�
s|��
�	�1�%�
��b�)�
�	�2�&�
�	�1�%�
�	�3�'�
�L�A�&�
�"�"�:�#9�#9�!�#?��H��"�"�:�#8�#8��#>��G�
rc�P�,QNo,QNoUO[OV2Q2UO[OV2]2,QNoUO[OV2]2UO[OV2Q2P!)r�rr�r>)r�rNr�)r�r=g333333�?rares&  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
��[]d2FD�o[O2o[O2o[OV#*2o[
OV#2oUOV#VEQ59^tt^2UOVE2PPP2J�	QQQqcoUO[
OV#2U2UO[OV#*2U2[OO[OO*oUO[
OVw2U2[OOoUO[
OV�2U2QQ
QQQQ[O [O '[O"[O"',
o	[$O&U	]Q5FCD/vq#[OV#*2o[
OV#2oUOV#VEQ59^tt^2[+U[,2%c%UQ	6XcUOUQ	2PPP2J�UO/U[02[O2U2%c1UO5[O2U22PPP2J�UOVT2UO[7U2[7U22PPP2CJ2	P!)%fhCJ59h[(cQ	oCK8h9h[(cQ	oCK5h9h)%fhCJ�9h)
ri)rr)r!r �?�4�ܶ�?�Қz�v�?�SdP���?rzrr�)�repeatr'r{r�r�)r�r�rsrr#r8�	_sqrtprodr�rdrBr��sys�
float_infor��epsilonrrYrr0r1r'rrRr�rrr�r
)
rFrirr)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�I��&�&�x�8�J�I��*�+=�?Q�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�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�I�I�sr�L1	�M�M�M.	�'M.	�.M.	�1M.	�=&M.	�-5M.	�1M
�:M
�	M�M�M�	M+�$M+�*M+�.N
�7N
z8accuracy not guaranteed on machines with double roundingc��QQQq2oUO[OV2U2UO[O
V*2U2QQko]o]o[
Q2FD}o[O2o[O2o[OV2o[O
V*2o	UV2o
VXU
6H*
oViU
6H*
oJ	UOVV2P!)rhrirjc�>�U]6�cPgQ[Q[Q[-!)r�rr)r:)r)r�s"rr;�rTestCorrelationAndCovariance.test_sqrtprod_helper_function_improved_accuracy.<locals>.reference_value.__annotate__�
s!��	-�	-�u�	-��	-�5�	-rc� �[OU2o[OU2o[O29^tt^2o]�Um[	V*O22ttPPP2!)%fhP!9h)r�)rirrjrPrr#)rr)rTs&& r�reference_value�eTestCorrelationAndCovariance.test_sqrtprod_helper_function_improved_accuracy.<locals>.reference_value�
sU������"�A�����"�A��%�%�'�'�3�����a�e�\�\�^�,�(�'�'�'�s�&A<�<B
	�B
	r�)
rBr8rlr�rr#r�r�rsr�)rFrr)rprz�new_agreements�old_agreementsrir��old�refs&          r�/test_sqrtprod_helper_function_improved_accuracy�LTestCorrelationAndCovariance.test_sqrtprod_helper_function_improved_accuracy�
s���*�+=�?Q�f������-�-�a�3�V�<����D�I�I�a�e�,�f�5�	-������v��A��"�"�$�A��"�"�$�A��&�&�q�,�C��)�)�A�E�"�C�!�!�'�C��c�z�*�N��c�z�*�N��	
���>�:rc��,QNo,QNoUO[OVQQ5Q2UO[29^tt^2[OVQQ5PPP2P!)%fhP!9h)�8�rankedr*gl�\�e�?�
bad_method)
r��K�-r�=r"�:�P�Lr�)
�B�Fr�r��Ar�r?�M�C�?)rdr8rVrkr')rF�reading�mathematicss&  r�test_correlation_spearman�6TestCorrelationAndCovariance.test_correlation_spearman
sa��;��>�����z�5�5�g�S[�\�1�	3��
�
�z�
*�
*��"�"�7��M�+�
*�
*�
*�s�A2�2B	�;B	r1)r2r3r4r5rbrertrrO�skipIf�HAVE_DOUBLE_ROUNDINGr�cpython_onlyr�r�r7rQrRs@rr^r^�
s^����	H�A�)?�V�
�_�_�)�O�Q����;��Q��;�6N�Nrr^c�:`�\sQsQsnQsQsQsQsQsUs	P!)�TestLinearRegressionic���,QNo,QNoUO[O29^tt^2[OV2PPP2P!)%fhP!9h)r�)r�r�r�r>)rkr8r�rWres&  r�test_constant_input_error�.TestLinearRegression.test_constant_input_errors@������
�
�
�z�9�9�
:�
:��(�(��.�;�
:�
:�
:�s�A�A#	�A#	c
��,QN,QN]]1,QN,QN]]1,QN,QN]d]1,QN,QN]
]1,QN,QN]P1,QN,QN]]1,QN,QN]Q11FD@vqq4[OV2vqVUOVc2UOVT2JB	P!)	r�r�r>)r�r�r�)ririri)r�rLr�r`)�rPr�)r�g������@r[)r8rWrd)rFrr)�true_intercept�
true_slope�slope�	intercepts&      rrb�!TestLinearRegression.test_results%s���
�	�1�a�(�
�	�1�a�(�
���a�0�
��b�!�,�
��a��,�
��b�!�,�
���C�0�1
�,�A�.� *�;�;�A�A��E��"�"�9�=��"�"�5�5�1
rc��,QNo,QNo[OVP	Q5vq4UOUQ2UOUQ2P!)r���proportionalrz)r�r�rNr�)���b�g�N�4@)r8rWrdrB�rFrr)r�r�s&    r�test_proportional�&TestLinearRegression.test_proportional3sA���� ��%�7�7��4�P������u�j�1�����C�(rc���[]]2[]]2,o[]]2[]]2,o[OV2vq4UO[	U[
22UO[	U[
22[OVP	Q5vq4UO[	U[
22UO[	U[
22P!)r�r�)rr8rWr�rrr�s&    r�test_float_output�&TestLinearRegression.test_float_output:s���
�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�5rr1)
r2r3r4r5r�rbr�r�r7rQrRs@rr�r�s����/�6�)�6�6rr�c��`�\sQsQsnQsQsQsQsQsQs	\
O\
OQ2Q	22s
Q
sQsQsQ
sQsQsQsQsQsQsQsQsQsUsP!)�TestNormalDistiDc��UOOQ]2oUO[29^tt^2[	U2PPP2UO[
UO2Q2P!)%fhK79h)ru)�_mu�_sigma)r��
NormalDistrkr5�varsrBrT�	__slots__�rF�nds& r�
test_slots�TestNormalDist.test_slotsMsX��
�[�[�
#�
#�C��
,��
�
�
�y�
)�
)���H�*�����r�|�|�,�.?�@�*�
)�s�A6�6B	�?B	c��UOOQ]2oUOUOQ2UOUO]2UOUO
Q2UOO2oUOUO]2UOUO]2UOUO
]2UO
UOO29^tt^2UOOQQ2PPP2QQUOO2oU]�]2oUO[U2U2P!)%fhKU9h)r0c��\sQsQsQsP!)�GTestNormalDist.test_instantiation_and_attributes.<locals>.NewNormalDistidr1r�r1rr�
NewNormalDistr�dr�rr��!i����)	r�r�rBr�r^r	rkr�r)rFr�r��nnds&   r�!test_instantiation_and_attributes�0TestNormalDist.test_instantiation_and_attributesSs��
�[�[�
#�
#�C��
,��������#�&�������2�&�������e�,��[�[�
#�
#�
%��������!�$�������1�%�������d�+��
�
�t�{�{�:�:�
;�
;��K�K�"�"�3��,�<�	�D�K�K�2�2�	��C��#������c��M�2�<�
;�s�
E7�7F	�F	c�(�UOOo,QNoUOUOU2U]c]	22UOUO[	U22U]c]	22UOUO[U22U]c]	22UO
UOO29^tt^2UO,2PPP2UO
UOO29^tt^2UO]
,2PPP2QQU2oUOU2oUO[U2U2P!)%fhK�9h)%fhK\9h)�`c��\sQsQsQsP!)�BTestNormalDist.test_alternative_constructor.<locals>.NewNormalDistiyr1r�r1rrr�r�yr�rr�)r�r��Z�\�n)	r�r�rB�from_samplesrTr�rkr�r)rFr�r�r�r�s&    r�test_alternative_constructor�+TestNormalDist.test_alternative_constructoris"���[�[�+�+�
�%������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.�F�.E>	�7E>	�F	�
F	c��UOOoQQq2UV#2oQoUOU2oUO[	U2U2UO[[
[U22[.2UOOU2oSOV#]**
St96*9%cV#]**6*Lt2]doUOUQQ5oUOUQQ5o	UOUQQ5o
UOUQQ5oUOV�2UOV�2UOV�2P!)r�rarUzhappiness and joyr�ztrouble and despair)r�r��samplesrBrcrDr�rrr�r�r�)rFr�r(�sigmarOrr�r�data1�data2�data3�data4s&           r�test_sample_generation�%TestNormalDist.test_sample_generation~s���[�[�+�+�
��C�E��r�!�����y�y��|������T��A�&�����S��t�_�-��w�7��{�{����%������1�W���<�<��1�W��<�=�
���	�	�!�"5�	�6���	�	�!�"7�	�8���	�	�!�"5�	�6���	�	�!�"7�	�8������&�����&����E�)rc	��UOOoU]d]2oUOUO]c2UO]d22UOUO]e2UO]d22[	]22FDAoUOUO]dU*
2UO]dU*22JC	Q7o[	]Z]o2FDZoUO
VT*2UO
U2*
U*oUOUOU2U]Q5J\	U2o[,QMQMQMQMQMQMQMQMQMQ	MQ
MQMQMQ
MQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQ MQ!MQ"MQ#MQ$MQ%MQ&MQ'MQ(MQ)MQ*MQ+MQ,MQ-MQ.MQ/MQ0MQ1M2FDZvqXUOUOUQ2*2U]Q5UOUOU'Q2*2U]Q5J\	U]d]2o	UOUOO29^tt^2U	O]Z2PPP2UOUO[Q322Q42UOUO[Q522Q42UO[OUO[Q62222P!)%fhK�9h)8rir}g+��ݓ��?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�-Infrzr�r�gP?)r�r�r�r�r�rdr�rfrkr�rBrr�rr)
rFr�rOrir�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��� 
�� 
�� 
�"� 
�$*� 
�,2� 
�� 
�� 
�"� 
�$*� 
�,2� 
�
� 
�� 
�#� 
�%+� 
�-3� 
�
�	 
��	 
�#�	 
�%+�	 
�-3�	 
�

� 
�
� 
�
#� 
�
%+� 
�
-3� 
�
�
 
��
 
�#�
 
�%+�
 
�-3�
 
�
� 
�� 
�#� 
�%+� 
�-3� 
�
� 
�� 
�#� 
�%+� 
�-3� 
�
� 
�� 
�#� 
�%+� 
�-3� 
�
� 
�� 
�#� 
�%+� 
�-3� 
��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�
K7�7L	�L	c	�"�UOOoU]d]2o[]]�2Tt,tFDp2OU2MJ	ooUO	[[
[U22[.2UO	U[U22UO	UO]d2Q2U2oQFDSvqgUOUOU2U]Q5UOUOU'2QU*
]Q5JU	U]d]2oUOUOO29^tt^2UO]Z2PPP2UO	UO[Q22Q2UO	UO[Q22Q2UO[OUO[Q2222P!ttoh)%fhK�9h)	rirrzr}rr�r�r�))rzr)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�r�r�r�rBrDr�rrr�rdrkr�r�rr)	rFr�rOr�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�G9�G>�>H	�H	r6c
��UOOoU]d]2oUOUOQ2UO2U2oQQQQQQ-oUO2FD}vqV[
U]Q5FDfvqxUQU'**o	UOUOU	2'U]Q5QU	*
o	UOUOU	2U]Q5Jh	J	UOU](Q	2OQ
2Q2Qo
[]U
2FD;o	V�*o	UOUOUOU	22U	2J=	[]]32FDvoQU'*o	UOUOUOU	22U	2QU	*
o	UOUOUOU	22U	2Jx	[]�2FD5oUOUOUOU22U]Q5J7	UOUOO29^tt^2UOQ2PPP2UOUOO29^tt^2UOQ2PPP2UOUOO29^tt^2UOQ2PPP2UOUOO29^tt^2UOQ
2PPP2U]d]2oUOUOQ2]d2UO[OUO[Q2222P!)%fhCKO9h)%fhCK9h)%fhK�9h)%fhK�9h)rirr,rzr�r)�startr5r}rg��>���?g���E@r�g�������?r�)
rzgR���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@ir,)r�r�rB�inv_cdfr�r�rfrdr�r�rkr�r�rrr)rFr��iqr��ppr"�rowrrr�rrjs&           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�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�\�#:�;�<�<�
;�
;��
;�
;�
;��
;�
;��
;�
;�sH�N4�#O�*O�1O/�4O	�=O	�O	�O	�O,	�%O,	�/O?	�8O?	c�B�UOO2o],1]Q,1]QQ,1],QN11FDkvq#UOUQ5oSO[9PIc%Q[V422D%cJP
L	P	LQ[V42222Jm	P!)r�rzg�ǘ����?r�c3�b�SF �D vq[OVQQ5w�	J"	P!3h)rr�rrs&  rr�0TestNormalDist.test_quantiles.<locals>.<genexpr>&s&��(=���(=���!%���Q�6� B� B�(=�s�(/g�ǘ���ۿ)g/�$���rzg/�$���?)r�r�rr�r�rg)rFr�rr!r s&    r�test_quantiles�TestNormalDist.test_quantiless����K�K�"�"�$��
��G�
���J�
��&�!�"�
�&�'�	�K�A��[�[�1�[�%�F��O�O�C�C� ?�(+�H�(=� ?�C�C�C� ?�(+�H�(=� ?�?�
@�rc��UOOoUQQ2UQQ2Q1UQQ2UQQ2Q11FDLvq#oUOUOU2U]Q5UOUOU2U]Q5JN	QQQ]-Q	koUQQ2UQQ21UQQ2UQQ21UQQ2UQQ21U]F]2U]AQ
21U]d]2U]n]21UQ]2U]n]21UQ]2UQ]21U]d]2U]d]21U]d]2U]n]21U]d]2U]�]21U]d]2U]�]#21UQQ2UQQ
21UQQ2UQQ21UQQ2UQQ211FDWvq#UOUOU2UV#2]Q5UOUOU2UV#2]Q5JY	U2oUO	[
29^tt^2UO2PPP2UO	[
29^tt^2UOVf2PPP2UO	[
29^tt^2UOP2PPP2UO	UOO29^tt^2UOU]]22PPP2UO	UOO29^tt^2U]]2OU2PPP2P!)%fhCK9h)%fhK�9h)%fhK�9h)%fhK�9h)%fhP!9h)rzr�rgɎ�@���?gM-[닄�?r}r�i r�c�(�[OoUOUO*Q*oU[UOUO2*oVV*
oQU*U*o[U2T	t,tFDp�V�**MJ	o
o	[
[UOU
22o[
[UOU
22o[UU2UU22o
U[[V�22U
*!tto	h)z0Numerical integration cross-check for overlap() r�)
rr9r�rr^r�rSr�r�r�)rOr�r�r�r9�center�widthr�r�ri�x_arr�xp�yprFs&&$$          r�overlap_numeric�4TestNormalDist.test_overlap.<locals>.overlap_numeric5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�DrrBgj�t��?g�~j�t�h?gj�t��?ga2U0*�3?g��MbX�?r�i����)r�r�rd�overlaprkr5r�)rFr��X1�X2�published_resultr�rOs&      r�test_overlap�TestNormalDist.test_overlap)s2���[�[�+�+�
��C��%�z�#�s�';�W�E��C��%�z�#�s�';�W�E�)�$�B�$�
�"�"�2�:�:�b�>�3C�A�"�N��"�"�2�:�:�b�>�3C�A�"�N�)�	2�5�	2�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�'�<�
;�*�
)�
)��
)�
)��
)�
)��
;�
;��
;�
;�
;�sZ�L-�>M�5M�<M'�
M:�-L>	�6L>	�M	�
M	�M$	�M$	�'M7	�0M7	�:N	�N	c��UOOoU]d]2oUOUO]�2Q2UOUO]:2Q2UOUO]d2Q2UO	[
29^tt^2UO2PPP2UO	[
29^tt^2UO]]2PPP2UO	[
29^tt^2UOP2PPP2UO	UOO29^tt^2U]]2O]d2PPP2P!)%fhK�9h)%fhK�9h)%fhK�9h)%fhP!9h)rigffffff@rzgffffff�)r�r�rB�zscorerkr5r�)rFr�rOs&  r�test_zscore�TestNormalDist.test_zscorehs!���[�[�+�+�
��s�B���������#���,�������"��t�,�������#���,�
�
�
�y�
)�
)�
�H�H�J�*�
�
�
�y�
)�
)�
�H�H�Q��N�*�
�
�
�y�
)�
)�
�H�H�T�N�*�
�
�
�t�{�{�:�:�
;�
;��q�!��#�#�C�(�<�
;�
*�
)��
)�
)��
)�
)��
;�
;�
;�sH�!E9�F�F�F2�9F		�F		�F	�F	�F/	�(F/	�2G	�;G	c�X�UOO]d]2oUOUO]d2UOUO]d2UOUO
]d2UOUO]2UOUO]�2P!�ri)r�r�rBr�rr�r^r	)rFrOs& r�test_properties�TestNormalDist.test_propertiesws|���K�K�"�"�3��+���������%�������3�'��������%�������"�%�������S�)rc���UOOoU]d]2oU](]2oUOV#*U]�]
22UOV#*
U]<]
22P!r)r�r�rB�rFr�rOr�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���UOOoU]d]2o]
oUOU3U]d]22UOU'UQ]22UOV#*U]n]22UOV2*U]n]22UOV#*
U]Z]22UOV2*
UQ]22UOV#*UQ]�22UOV2*UQ]�22UOV#*U]
Q22UO[29^tt^2V2*PPP2P!)%fhP!9h)rirUrr�i����)r�r�rBrkr5)rFr�rOr)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�
	E � E1	�)E1	c���UOOoU]d]2oU3oUOV#2UOUOUO2UOUO
UO
2U'oUOV#2UOUOUO'2UOUO
UO
2P!r)r�r��assertIsNotrBr�r^rs&   r�test_unary_operations�$TestNormalDist.test_unary_operations�s����[�[�+�+�
��s�B���
�B����������������(�������!�'�'�*�
�B�������������!�&�&��)�������!�'�'�*rc��UOOoU2oU]]2oU2oU]]2oU]]2oU]]2oUOV#2UOV$2UOV52UOV62UOV72QQ2oU2o	UOUO	U	2[
2UOV)6H]
2UOV�6H]
2QQU2o
U
]d]]92oU]d]2oUOV�2QQ2oU]d]2o
U]d]2oUOV�2P!)r�c�(`�\sQsQsnQsQsUsP!)�'TestNormalDist.test_equality.<locals>.Ai�c��]
!r�r1)rFrZs&&r�__eq__�.TestNormalDist.test_equality.<locals>.A.__eq__�s��rr1)r2r3r4r5rr7rQrRs@rr%r�s����
�
rr%c�4``�\sQsQsnU1QksQsUsU9s!)�5TestNormalDist.test_equality.<locals>.SizedNormalDisti�c�4:�[RU_V2V0mP!rm)rw�__init__r)rFr(r�rrvs&&&&�rr�>TestNormalDist.test_equality.<locals>.SizedNormalDist.__init__�s����� ��+��rr�)r2r3r4r5rr7rQr}r~s@@r�SizedNormalDistr�s����
�
rr!c�(`�\sQsQsnQsQsUsP!)�3TestNormalDist.test_equality.<locals>.LognormalDisti�c� �VmV mP!rm�r(r�)rFr(r�s&&&rr�<TestNormalDist.test_equality.<locals>.LognormalDist.__init__�s����"�
rr%)r2r3r4r5rr7rQrRs@r�
LognormalDistr#�s����
#�
#rr')r�r�r�rBr�NotImplemented)rFr��nd1�nd2�nd3�nd4�nd5�nd6r%rr!�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���UOOQQ2o[OU2oUOV2[OU2oUOV2P!)��B@��@)r�r��copyrB�deepcopy)rFr�r)r*s&   r�	test_copy�TestNormalDist.test_copy�sO��
�[�[�
#�
#�D�%�
0���i�i��m������!��m�m�B�������!rc�v�UOOQQ2o[[O]*2FDboUOUQ59^tt^2[O[OVQ52oUOV2PPP2Jd	P!)%fhJy9h)r4r5)�proto)�protocol)	r�r�r��pickle�HIGHEST_PROTOCOLr��loads�dumpsrB)rFr�r;�pickleds&   r�test_pickle�TestNormalDist.test_pickle�sz��
�[�[�
#�
#�D�%�
0���6�2�2�Q�6�7�E����E��*�*� �,�,�v�|�|�B�'G�H��� � ��-�+�*�8�*�*�*�s�=B'	�'B8
�0B8
c��UOOoU]d]2UQQ2U]d]
2U]_]2U]d]2.oUO[U2]2P!)rirg.@)r�r�rBrc)rF�NDr/s&  r�test_hashability�TestNormalDist.test_hashability�sS��
�[�[�
#�
#��
��R�[�"�U�D�/�2�c�2�;��2�r�
�B�s�B�K�P������Q���#rc�v�UOOQQ2oUO[U2Q2P!)r4r5z NormalDist(mu=37.5, sigma=5.625))r�r�rBr�r�s& r�	test_repr�TestNormalDist.test_repr�s-��
�[�[�
#�
#�D�%�
0������b��#E�Frr1)r2r3r4r5r�r�r�r�r�r�r�skip_if_pgo_taskrZr�r�rrr	r
rrr1r8rBrFrIr7rQrRs@rr�r�Ds�����A�3�,3�**�,%9�N9�<
������u�%�?=�&��?=�B@�=(�~
)�*�4�� 
+�*%�X"�.�$�
G�Grr�c�2`�\sQsQsn\sQsQsQsUs	P!)�TestNormalDistPythoni�c�B�UO[OQ$P!r@�r�rm�modulesr|s&rr�TestNormalDistPython.setUp����$(�K�K����L�!rc�6�[[OQ$P!r@�r8rmrPr|s&r�tearDown�TestNormalDistPython.tearDown����$.����L�!rr1)
r2r3r4r5rDr�rrUr7rQrRs@rrMrM�s����
�F�0�/�/rrMrJc�2`�\sQsQsn\sQsQsQsUs	P!)�TestNormalDistCi�c�B�UO[OQ$P!r@rOr|s&rr�TestNormalDistC.setUp�rRrc�6�[[OQ$P!r@rTr|s&rrU�TestNormalDistC.tearDown�rWrr1)
r2r3r4r5rLr�rrUr7rQrRs@rrYrY�s����
�F�0�/�/rrYc���UO[O22[OQ6Xc*UO[O[
22U!)z&Used for doctest/unittest integration.�short)�addTests�doctest�DocTestSuiterm�float_repr_styler8)�loader�tests�ignores&&&r�
load_testsrg�sA��	�N�N�7�'�'�)�*�
���w�&�
���w�+�+�J�7�8��Lr�__main__g��7y�AC)r�gH�����z>)Wrr�rW�collections.abcr6rirar0rr=r�rmrO�testr�test.supportrrrr�rr8r)r�r
rr%r.r0�import_fresh_modulerDrLr}r=rUrwr�r�r�r�rRrfrrr�r�r�r�rrrbr�r�r�rr!rIrRrxr�r�r�r#r)r9rDr�r�r�r�r�rrr.r\rir�r�rRr^r�r�rMrPrYrgr2�mainr1rr�<module>rnsz����
��������
�
�
���9�����V���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�"%�(�+�+�%�Z-�(�#�#�-�(F�(�+�+�F�=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?:�.�?:�B)-�&��9L�)-�X,-�%��8K�,-�\'�#�_�'�2_k�h�'�'�_k�D9�"�O�9�(nM��)�)�nM�boA�h���oA�df+�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