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

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_long.cpython-313.pyc
�

��i{���SSKrSSKJr SSKrSSKrSSKrSSKr\RRr	S\	-r
\
S-
rSrSr
SSS\
\
S-	SS/rS	r\"S\	-5Hr\R%\S-
5 \S-rM C\\Vs/sHo)PM sn\Vs/sHo*PM sn--
r\R&R(r\R&R,r\R&R0r\R&R4rS\-S\\-
S-
--
rS
rSr"SS
\R>5r \!S:Xa\RD"5 ggs snfs snf)�N)�support���F�lUU�*UU�*l�*UU�*UU
�c�P�[RRS-n[RRU-
nSU-n/SQnUS:XagUS:a
[	U*5*$UR5U-
nUS:aX*-OX-	[
USU-)-5-nXdUS--
nXVU:H-U:�a[S5eUS	-S:Xa$US	-S[RR-::deUSU--[RR::de[R"[U5U5$)
z1
Correctly-rounded integer-to-float conversion.

rr)r������rrr
rrr�r
�z%integer too large to convert to floatr)�sys�
float_info�mant_dig�max_exp�int_to_float�
bit_length�bool�
OverflowError�max�math�ldexp�float)�n�	PRECISION�	SHIFT_MAX�Q_MAX�ROUND_HALF_TO_EVEN_CORRECTION�shift�qs       �#C:\Python313\\Lib\test\test_long.pyrr's,�����'�'�!�+�I����&�&��2�I�
��N�E�$?�!�	�A�v��	
�Q���a�R� � � �
�L�L�N�Y�&�E��q�y��V��q�z�T�!��e��n�:L�5M�&M�A��q�1�u�	-�-�A�
�U�
��i�'��C�D�D�
�q�5�A�:�!�q�&�A����(?�(?�$@�@�@�@��q�%�x�<�3�>�>�-�-�-�-�-��:�:�e�A�h��&�&�c�,�X-S:n[U5[U5pU(d[S5eU[U-:�a[S5eUR	5UR	5-
nUS:�aUSU-U-:�dUS:aUSU*--U:�aUS-
n[U[5[-
nU[U*S5-U[US5-p[X5upVSU-U:�dSU-U:XaUS-S:XaUS-
n[R"XT5nU(aU*$U$)z-Correctly-rounded true division for integers.rzdivision by zeroz)int/int too large to represent as a floatrr)�abs�ZeroDivisionError�DBL_MIN_OVERFLOWrrr�DBL_MIN_EXP�DBL_MANT_DIG�divmodrr)�a�b�negative�d�expr �r�results        r!�truedivr1Us���s�Q�w�H��q�6�3�q�6�q�
�� 2�3�3���q� � ��G�H�H�	
��������'�A��A�v�!�q�!�t�a�x�-�1�q�5�Q��Q�B��Y�!�^�	�Q����a��
��
,�C���S�D�!���a�3�s�A�;�.�q��!�<�D�A�	��s�Q�w�!�A�#��(�q�1�u��z�	�Q���
�Z�Z��
�F��F�7�*�F�*r"c��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSr\R(S5rSrSrSrSrSrSrSrSrSASjr\R(S5rSr Sr!\RDS5r#\RD\RH"\%RLS-S S!S"9S#55r'S$r(\RD\RH"\%RLS%-S&S!S"9S'55r)S(r*S)r+S*r,S+r-S,r.S-r/\RDS.5r0\RDS/5r1\RDS05r2S1r3S2r4S3r5S4r6S5r7S6r8\RDS75r9S8r:S9r;S:r<S;r=S<r>S=r?S>r@S?rAg@)B�LongTest�sc�N�URUS5 U[-nU[-
S-nSnSn[[R"5[S--5S-nXS:a�US-	S-n[	XrU-
5nURSUs=:*=(a	 [:*Os 5 XW-nXG-nUS-(aUSU-S-
-n[[R"5[S--5nXS:aM�URX5s=:*=(a U:*Os 5 [R"5S:aU*nU$)Nrrr��?)�
assertGreater�SHIFT�int�random�min�
assertTrue)�self�ndigits�nbits_hi�nbits_lo�answer�nbitsr/�bitss        r!�getran�LongTest.getran{s�����7�A�&��U�?���e�#�a�'��������
�
��5�1�9�-�.��2������F�a�<�D��t��-�.�D��O�O�A��.�.��.�/��L�E��^�F��1�u��A��I��?�3���F�M�M�O�u�q�y�1�2�A���	
����5�5�X�5�6��=�=�?�S� ��W�F��
r"c��Sn[U5H(nU[-[R"S[5-nM* [R"5S:aU*nU$)Nrr6)�ranger8r:�randint�MASK)r>rA�is   r!�getran2�LongTest.getran2�sH�����w��A���o�����4�)@�@�F� ��=�=�?�S� ��W�F��
r"c��URnURXS9 [X5upEX-X-pvX-X!-p�U"X�S5 U"XFS5 U"XWS5 U"XU-U-S5 US:�a&URSUs=:*=(a U:Os S5 O$URX%s=:=(a S:*Os S5 SSS5 g!,(df   g=f)N��x�yzmultiplication does not commutez(divmod returns different quotient than /z#divmod returns different mod than %zx != q*y + r after divmodrzbad mod from divmod)�assertEqual�subTestr)r<)
r=rOrP�eqr r/�q2�r2�pab�pbas
          r!�check_division�LongTest.check_division�s���
�
�
��
�\�\�A�\�
#��!�<�D�A��T�1�3���s�A�C���s�:�;��q�@�A��q�;�<��q�A�#��'�6�7��1�u�����Q�
�
��
�,A�B�����
�
��
�,A�B�$�
#�
#�s�BB;�;
C	c��[[S[S-55[[[[S-55-nUR	[S-5 UHHnURU5nUH.nURU5=(d SnUR
X55 M0 MJ UR
SS5 UR
SS5 UR
SS	5 UR
S
S5 UR
SS
5 UR
SS5 UR
SS5 UR
SS5 UR
SS5 UR
SS5 UR
SS5 UR
SS5 g)Nr��l!Us/w��3alZW��3al+Q@{�d��B]Ol�Nl�O�Ol�Nl�t�e�o%g�q�Cgx<l�&�ghrsGlQ5��K�4+�o�-bklC�4+�o�-bkl��.#w�flD�&I-�Xl�Z��nSu9bl�c�v��
��<�Ilrd�FBu�'�pl�PhbIi|�$l1�m�{Wqi���8l�s~5^Fi�y�+l'H�
<{�Cl`<{�Cl�ED_5(�Nl�o�ybal=2zz6l�9�t�m)�listrG�	MAXDIGITS�KARATSUBA_CUTOFF�appendrDrX)r=�digits�lenxrO�lenyrPs      r!�
test_division�LongTest.test_division�sp���e�A�y��{�+�,�t�E�:J�6F��6K�5M�0N�N���
�
�&��*�+��D����D�!�A����K�K��%�*����#�#�A�)���	
���8�/�	1����@�)�	+����@�)�	+����A�3�	5�	
���@�2�	4����@�3�	5�	
���N�I�6����/��;����.�	�:����.��?����.��?����,�n�=r"c���[[SS55[[[[S-55-nUR[S-[S-/5 UVs/sHo"[-PM
 nnUHfnSU-S-
nUHUnXd:aM
URXFS9 SU-S-
nXW-nSXF--SU--
SU--
S-n	UR
X�5 SSS5 MW Mh gs snf!,(df   Mr=f)Nr��
�d)�abits�bbits)r]rGr_�extendr8rRrQ)
r=ra�digitrCrjr*rkr+rOrPs
          r!�test_karatsuba�LongTest.test_karatsuba�s	���e�A�q�k�"�T�%�0@�0@�2�0E�+G�&H�H���
�
�'�"�,�.>��.D�E�F�+1�2�6�%��
�6��2��E��e��q� �A����=���\�\��\�;��e��q�(�A���A���
�.��u�*�&��u�*�&���A��$�$�Q�*�<�;����	3�<�;�s�C�4C"�"
C1c��URnURUS9 U"US-S5 U"US-U5 U"US-U5 U"US-U5 U"US-S5 U"US-U)5 U"X))5 U"X-U5 U"X-U5 U"X-S5 U"X)-S5 U"X)-S5 U"X)-S5 U"U*SU)-5 U"U*US-
)5 SSS5 [S[-5HlnSU-nURXUS9 U"X-U-	U5 U"X-X-	5 U"X-X-5 U"X*-X-	U-5 U"X*-XS-
)-5 SSS5 Mn g!,(df   N�=f!,(df   M�=f)N�rOrr
rr)rOr�p2)rQrRrGr8)r=rOrSrrrs     r!�check_bitop_identities_1�!LongTest.check_bitop_identities_1�s���
�
�
��
�\�\�A�\�
��q�1�u�a�L��q�1�u�a�L��q�1�u�a�L��q�2�v�q�M��q�2�v�r�N��q�2�v��r�N��q�2�#�J��q�u�a�L��q�u�a�L��q�u�a�L��q�2�v�q�M��q�2�v�r�N��q�2�v�r�N���r�1��r�6�N���r�Q�q�S�6�N�� �q��w��A��a��B�����2��.��1�6�Q�;��"��1�7�A�F�#��1�6�1�6�"��1�s�7�A�F�a�K�(��1�s�7�A�q�&�	�M�*�/�.� �!�
��$/�.�s�B5E�AE-�
E*�-
E<	c��URnURXS9 U"X-X!-5 U"X-X!-5 U"X-X!-5 U"X-U-U5 U"X-U)U)-)5 U"X-U)U)-)5 U"X-X-X-)-5 U"X-X)-U)U--5 U"X-X-U)U)--5 SSS5 g!,(df   g=f)NrN�rQrR)r=rOrPrSs    r!�check_bitop_identities_2�!LongTest.check_bitop_identities_2s���
�
�
��
�\�\�A�\�
#��q�u�a�e���q�u�a�e���q�u�a�e���q�u�q�y�!���q�u���a�R��j�!��q�u���a�R��j�!��q�u�q�u�!�%��(�)��q�u�q�2�v�1�"�q�&�)�*��q�u�q�u�!��q�b��)�*�$�
#�
#�s�BB:�:
Cc�6�URnURXUS9 U"X-U-XU--5 U"X-U-XU--5 U"X-U-XU--5 U"XU--X-X--5 U"XU--X-X--5 SSS5 g!,(df   g=f)N)rOrP�zrv)r=rOrPrzrSs     r!�check_bitop_identities_3�!LongTest.check_bitop_identities_3s���
�
�
��
�\�\�A�a�\�
(�����{�A�Q��K�(�����{�A�Q��K�(�����{�A�Q��K�(��q��E�{�Q�U�q�u�-�.��q��E�{�Q�U�q�u�-�.�)�
(�
(�s�A$B
�

Bc
�^�[HnURU5 M [S[S-5nUHvnUR	U5nURU5 UHKnUR	U5nURX5 UR
XUR	X4-S-55 MM Mx g)Nrr)�specialrsrGr^rDrwr{)r=rOrarbrcrPs      r!�test_bitop_identities�LongTest.test_bitop_identitiess����A��)�)�!�,���q�)�A�+�&���D����D�!�A��)�)�!�,����K�K��%���-�-�a�3��-�-�a�D�K�K���q�@P�4Q�R��r"c��/nSnUS:aSU*pU(a0[X5upUR[U55 U(aM0UR5 U=(d S/nSSUSSSSS.U-SR	S	U55-$)
Nrr�-�0b�0o��0x)r�rh�c3�,# �UH
nSUv� M g7f)�0123456789abcdefN�)�.0rJs  r!�	<genexpr>�'LongTest.slow_format.<locals>.<genexpr>1s���=�f��)�!�,�f�s�)r)r`r9�reverse�join)r=rO�basera�signr/s      r!�slow_format�LongTest.slow_format%s��������q�5��!��!���!�?�D�A��M�M�#�a�&�!��a�	������A�3���5�D�z��D�b�d�3�D�9�:��w�w�=�f�=�=�>�	>r"c��S[4S[4S[4S[4S[44H�up#U"U5nURXRS9 URX5nURXE5 SSS5 URUS9 UR[US5U5 SSS5 M� g!,(df   NG=f!,(df   M�=f)Nrr�rhr�)rO�mapper)�gotr)
�bin�oct�str�repr�hexrR�__name__r�rQr9)r=rOr�r�r��expecteds      r!�check_format_1�LongTest.check_format_13s�����H�q�#�h��S�	�B��:��C�y�P�L�D���)�C�����/�/��:��+�+�A�4��� � ��/�;����#��&�� � ��S�!��a�0�'�&�Q�:�:��'�&�s�#B0�C�0
B>	�
C	c���[HnURU5 M [S5H?n[S[S-5H%nUR	U5nURU5 M' MA g)Nrhr)r~r�rGr^rD)r=rOrJrbs    r!�test_format�LongTest.test_format<sY���A�����"���r��A��a��1��-���K�K��%���#�#�A�&�.�r"c���SSSS-4/nUHNup#SHCnSH:nXT-U-nUnUS:XaU[LaU*nUR[U5U5 M< ME MP UR[[S5 UR[[S	5 UR[[S
5 UR[[S5 UR[[SS
5 UR[[SS5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[S S5S5 UR[[S!S5 UR[[S"S5 S#S$S%S&S'S(S)S*S+S,S-S,S-*/nUHn	UR[[S-U	5 M! UR[[S.5 g![a GM�f=f)/N)�100000000000000000000l F�x:^V�e10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000rhri)r��+r�)r�� �	z  		  r��123L�123l�0Lz-37L�0x32Lr��1L���+�000r�0o123�S�0x123i#�0b100rz	 0O123   z 0X123  z 0B100 �0z+0z-0�00�08z-012395is������i�l����������l����l����r�42uこんにちは)�
ValueErrorrQr9�assertRaises)
r=�LL�s�vr��prefix�ss�vv�
invalid_basesr�s
          r!�	test_long�LongTest.test_longDs���'���C��(�
���D�A�$��7�F����*�B��B��s�{�q�
�':��R����(�(��R��"�5�
8�%��	
���*�c�6�2����*�c�6�2����*�c�4�0����*�c�6�2����*�c�7�B�7����*�c�4��4�����T�2���+�	
����U�A���*�����W�a��"�-�����W�a��#�.�����W�a��!�,�����[�!�,�b�1�����Z��+�S�1�����Y��*�A�.�����S�!��a�(�����T�1��q�)�����T�1��q�)�����T�1��q�)����*�c�4��3����*�c�9�a�8��!�5�&�(�!�5�&�(��S�&�1�c�6�'��
�
"�D����j�#�t�T�:�"�
	
���*�c�+K�L��O&����s�K�
K.	�-K.	c�
�"SS5nUR[[U"55 "SS5nUR[5 UR[U"55S5 SSS5 g!,(df   g=f)Nc��\rSrSrSrSrg)�*LongTest.test_conversion.<locals>.JustLongic��g�N�*r��r=s r!�__long__�3LongTest.test_conversion.<locals>.JustLong.__long__����r"r�N)r��
__module__�__qualname__�__firstlineno__r��__static_attributes__r�r"r!�JustLongr�s��
r"r�c� �\rSrSrSrSrSrg)�+LongTest.test_conversion.<locals>.LongTrunci�c��gr�r�r�s r!r��4LongTest.test_conversion.<locals>.LongTrunc.__long__�r�r"c��g)N�r�r�s r!�	__trunc__�5LongTest.test_conversion.<locals>.LongTrunc.__trunc__�s��r"r�N)r�r�r�r�r�r�r�r�r"r!�	LongTruncr��s��
�
r"r�r�)r��	TypeErrorr9�assertWarns�DeprecationWarningrQ)r=r�r�s   r!�test_conversion�LongTest.test_conversion}s`��	�	�	
���)�S�(�*�5�	�	��
�
�0�
1����S���-�t�4�2�
1�
1�s�
!A4�4
Bc���[U5n[U5nSRXU5nUR	X#U5 g![a SnN?f=f![a SnNEf=f)N�overflowzAError in conversion of integer {} to float.  Got {}, expected {}.)rrr�formatrQ)r=r�actualr��msgs     r!�check_float_conversion�LongTest.check_float_conversion�so��	 ��1�X�F�	"�#�A��H�&�&,�f�Q��&A�	�����3�/���	 ��F�	 ��
�	"�!�H�	"�s �>�A�A
�A
�A�Ac
�<�/SQnUH;nUR[U5U5 UR[U*5U*5 M= SHMup#[S5H9nUR[[SU-SU--55SU-SU--5 M; MO SHMup#[S5H9nUR[[SU-SU--55SU-SU--5 M; MO [[5nS[
-nXV-S-nUR[U5[5 UR[US-5[5 UR[US-
5[5 UR
[[U5 UR[SU-
5[*5 UR
[[U*5 UR
[[US-
5 UR
[[U5 UR
[[US-5 UR
[[SU-S-
5 UR
[[SU-5 UR
[[Xf-5 [S	5HnnSU-S
-S-nSU-S-nUR[[U55U5 SU-S
-nSU-S-nUR[[U55U5 Mp US-
XUS-US-
XwS-US-
XfS-SU-S-
SU-Xf-/nURU5 [SS
5H0n[SS5HnURSUS--U-5 M M2 UH&n	URU	5 URU	*5 M( g)N)rrrl����l����l������l����l�����l)�rr)rr�r\r�rr�rgr)�r��r
r�rrr�))rrr�)rrr�r�r�)r�r�r�)r�r�)�	r�)rhr�)��)r�r�)�
r�)r[r�)rr�r�rrilr����r������5)rQrrGr9�DBL_MAX�DBL_MAX_EXPr�rrlr`r�)
r=�exact_valuesrOrP�p�int_dbl_max�	top_power�halfway�test_values�values
          r!�test_float_conversion�LongTest.test_float_conversion�sB��	"���A����U�1�X�q�)����U�A�2�Y���+��
M�D�A��2�Y��� � ��U�1�a�4��q��>�%:�!;�Q��T�5��7�^�L��M�3�D�A��2�Y��� � ��U�1�a�4��q��>�%:�!;�Q��T�5��7�^�L��3��'�l���{�N�	��*�Q�.������{�+�W�5�����{�1�}�-�w�7�����w�q�y�)�7�3����-���8�����q��y�)�G�8�4����-����9����-��	�!��<����-��	�:����-��	�!��<����-���)��A�
�>����-���)��<����-��	�0C�D��s��A��1��	�"�Q�&�A��1��	�"�A����S��q��]�A�.��1��	�"�A��1��u��A����S��q��]�A�.��
��M�;�A�
��A�I�w�!���a�K��a�K�
�i�K��M�1�Y�;�	�(;�	
��	���<�(��r�1��A��4��%���"�"�1�q��t�9�q�=�1�&��!�E��'�'��.��'�'���/�!r"c��SH'nUR[[U55U5 M) SnSS-nU*nX4U[S.nSHnUR	[
[Xe5 M  UR[U5[U5S5 g)N)g���r��?�@�X123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345ri0u)�huge�mhuge�shuger)$�float(huge)�float(mhuge)z
complex(huge)zcomplex(mhuge)zcomplex(huge, 1)zcomplex(mhuge, 1)zcomplex(1, huge)zcomplex(1, mhuge)z	1. + hugez	huge + 1.z
1. + mhugez
mhuge + 1.z	1. - hugez	huge - 1.z
1. - mhugez
mhuge - 1.z	1. * hugez	huge * 1.z
1. * mhugez
mhuge * 1.z
1. // hugez
huge // 1.z1. // mhugezmhuge // 1.z	1. / hugez	huge / 1.z
1. / mhugez
mhuge / 1.z
1. ** hugez
huge ** 1.z1. ** mhugezmhuge ** 1.zmath.sin(huge)zmath.sin(mhuge)zmath.sqrt(huge)zmath.sqrt(mhuge)z(float(shuge) should not equal int(shuge))rQrr9rr�r�eval�assertNotEqual)r=rOrrr�	namespace�tests       r!�test_float_overflow�LongTest.test_float_overflow�s���*�A����U�3�q�6�]�A�.�+����E�z�����!�E�4�P�	��D� 
���m�T�4�C�!�(	
���E�%�L�#�e�*�6�	8r"c���[R"[R5n[[	S55/SQ-HZnSU-n[R"U5nURXB5 X!-n[R"U5nURXe5 M\ SS-*SS4HMnUR[[RU5 UR[[RU5 MO g)Nrh)ri���'rrrr)	r�log10�er]rG�assertAlmostEqual�logr�r�)r=�LOG10Er.rrr�r!�bads        r!�	test_logs�LongTest.test_logss������D�F�F�#����b�	�?�%7�7�C��#�I�E��J�J�u�%�E��"�"�5�.��|�H��(�(�5�/�C��"�"�3�1�8��%�Z�=�"�a�'�C����j�$�(�(�C�8����j�$�*�*�c�:�(r"c�l^
�URn"U
4SjS5m
/SQnSHHnURUS-
US-
X3S-US-[US-
5[U5[US-5/5 MJ URSSS	[R[[R5/5 [S
5nURSSS	SS-US-
X3S-/5 URUVs/sHoD*PM sn5 UH�nT
"U5nUH�nT
"U5nXW:�XW:-
nUR
XFUS9 XF:�XF:-
n	U"X�5 U"XF:HUS:H5 U"XF:gUS:g5 U"XF:US:5 U"XF:*US:*5 U"XF:�US:�5 U"XF:�US:�5 SSS5 M� M� gs snf!,(df   M�=f)
Nc�F>�\rSrSrSrU4SjrSrSrSrSr	Sr
S	rg
)�)LongTest.test_mixed_compares.<locals>.Ratic�P�[U[5(aXlSUlg[U[5(a�[
R"[U55up#US:XdSUs=::aS:de eSnSnU(aU[
R"X$5n[U5nXd-	S:XdeXT-U-nX&-nSUs=::aS:de eX4-nU(aMUUS:�aXS-nSnOUnSU*-nUS:aU*nXplX�l[	U5[	U5-U:Xdeg[SU-5e)Nrrr6r
�rzcan't deal with %r)
�
isinstancer9rr-rr�frexpr$rr�)	r=r�fr�CHUNK�toprmrr-s	         r!�__init__�2LongTest.test_mixed_compares.<locals>.Rat.__init__s0���e�S�)�)�"�F��D�F���u�-�-��:�:�c�%�j�1�D�A���6�S�A�^��^�3�3�^�3�3��E��C�� �J�J�q�0�� #�A���$�~��2�2�2�"�|�u�4���
��"�a�~�#�~�-�~�-�~��
���!��A�v��H�������!��G���q�y��B���F��F� ��8�e�A�h�.�%�7�7�7�#�$8�5�$@�A�Ar"c�>�[UT5(dT"U5nURUR-URUR-p2X#:�X#:-
$)N)r+rr-)r=�otherrOrP�Rats    �r!�_cmp__�0LongTest.test_mixed_compares.<locals>.Rat._cmp__GsI���!�%��-�-���J�E��v�v����'����%�'�'�)9�1���!�%�(�(r"c�*�URU5S:H$�Nr�r5�r=r3s  r!�__eq__�0LongTest.test_mixed_compares.<locals>.Rat.__eq__L����{�{�5�)�Q�.�.r"c�*�URU5S:�$r8r9r:s  r!�__ge__�0LongTest.test_mixed_compares.<locals>.Rat.__ge__Nr=r"c�*�URU5S:�$r8r9r:s  r!�__gt__�0LongTest.test_mixed_compares.<locals>.Rat.__gt__P����{�{�5�)�A�-�-r"c�*�URU5S:*$r8r9r:s  r!�__le__�0LongTest.test_mixed_compares.<locals>.Rat.__le__Rr=r"c�*�URU5S:$r8r9r:s  r!�__lt__�0LongTest.test_mixed_compares.<locals>.Rat.__lt__TrDr")r-rN)r�r�r�r�r0r5r;r?rBrFrIr�)r4s�r!r4r(s(���&
B�P
)�

/�
/�
.�
/�
.r"r4)rg����MbP?g�G�z��?r
g�?g@��x�D�Zb���ti)g�BgCg@Cr
g333333�?rrrrKi N)rOrP�Rcmp)rQrlr9r�maxsizerrR)r=rS�cases�trO�RxrP�RyrL�xycmpr4s          @r!�test_mixed_compares�LongTest.test_mixed_comparess����
�
�
��7	.�7	.�r8��+�A��L�L�!�c�'�1�s�7�A�3�w��C���a��c�(�C��F�C��!��H�6�
7�+�	���a��A�s�{�{�E�#�+�+�,>�?�@�
��J��
���a��A�q�E�z�1�Q�3��Q�3�7�8�
���%�(�%�Q�b�%�(�)��A��Q��B�����V����B�G�,���\�\�A��\�6��U�q�u�-�E��t�O��q�v�t�q�y�)��q�v�t�q�y�)��q�u�d�Q�h�'��q�v�t�q�y�)��q�u�d�Q�h�'��q�v�t�q�y�)�7�6����)�7�6�s�"F�(A&F$�$
F3c
�b�UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS	5S
5 UR[SS	5S5 UR[SS
5S5 UR[SS
5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[S S5S
5 UR[S S5S
5 UR[[S!S"5S5S!5 UR[[S!S"5S5S#5 UR[[S!S"5*S5S$5 UR[[S!S"5*S5S%5 UR[[S&S'5 UR[S&S(5S)5 UR[S&S*5S+5 UR[SS,5S5 UR[S S,5S
5 UR[SS,5S-5 UR[SS,5S.5 UR[SS/5S-5 UR[SS/5S.5 UR[SS05S15 UR[SS05S.5 UR[SS25S35 UR[SS25S.5 UR[[S&S45 UR[S&S55S65 UR[SS75S85 UR[S S75S95 UR[SS75S:5 UR[SS75S;5 UR[SS<5S:5 UR[SS<5S;5 UR[SS=5S>5 UR[SS=5S;5 UR[SS?5S@5 UR[SS?5S;5 UR[[S&SA5 UR[SBSC5SD5 UR[[SSE5 UR[[SSF5 UR[[SSG5 UR[[SSH5 UR[SI[SSJ5 UR[SI[SSK5 UR[SI[SSL5 UR[SI[SSM5 UR[SN[SSO5 UR[SP[SSQ5 [
[SR5[SS5S-5Vs/sHn[U5PM sn[
[ST5[SU5S-5Vs/sHn[U5PM sn-H�nUSV;dMUR[[SWU5 UR[[SU5 UR[[SU5 UR[[SXSY-U5 UR[[SXSY-*U5 M� SZH:nS[H1nUR[X25[[U5U55 M3 M< gs snfs snf)\Ni�[r-�	123456789�,z123,456,789�_�123_456_789rr��1r
z-1z-3z  1z -1z+3z +1z 3r�z 1r\rO�3�Xi��4d2i.���z-4d2�8xz     4d2z    -4d2����ber��BEz-bez-BE���Iz,x�_x�	4996_02d2�_X�	4996_02D2�o�2322z-2322z-oz oz 2322z+oz+2322z,o�_o�
111_4540_1322r+�11z-11�10011010010z-10011010010z-bz bz 10011010010z+bz+10011010010z,b�90�_b�11_0000_0011_1001z1.3�_cz,cz+czCannot specify bothz_,z,_z_,dz,_dzCannot specify ',' with 's'z,szCannot specify '_' with 's'�_sr*rz�A�ZzbcdoxXeEfFgGn%rrrizeEfFgG%)rrr
ri���rbi.�i�)
rQr�r9r�r��assertRaisesRegexrG�ord�chrr)r=rO�format_specrs    r!�test__format__�LongTest.test__format__rs������	�3�/��=�����	�3�/��=�����	�3�/��?�����	�3�/��?�	
�����3���-������C��$�/������4��%�0������D�)�5�1������4��%�0������D�)�5�1������4��%�0������D�)�5�1������3���.������C��$�/�	
�����3���-������3���-������c�*�E�2������s�+�V�4������d�+�Z�8������t�,�j�9������c�*�E�2������s�+�V�4������C��$�/������C��$�/������D�"�
�s�3�T�:������D�"�
�s�3�T�:������T�2����4�e�<������T�2����4�e�<����*�f�j�$�?�����
�D�1�;�?�����
�D�1�;�?�	
�����3���-������C��$�/������c�*�F�3������s�+�W�5������d�+�V�4������t�,�g�6������d�+�W�5������t�,�g�6������d�+�W�5������t�,�g�6����*�f�j�$�?�����
�D�1�?�C�	
�����3���.������C��%�0������c�*�M�:������s�+�^�<������d�+�]�;������t�,�n�=������d�+�^�<������t�,�n�=������d�+�^�<������t�,�n�=����*�f�j�$�?������t�,�.A�B�	
���*�f�a��7����*�f�a��6����*�f�a��6����*�f�a��6�	
���z�+@�&�!�T�R����z�+@�&�!�T�R����z�+@�&�!�U�S����z�+@�&�!�U�S����z�+H�&�RS�UY�Z����z�+H�&�RS�UY�Z�.3�3�s�8�S��X�a�Z�-H�I�-H��S��V�-H�I�-2�3�s�8�S��X�a�Z�-H�I�-H��S��V�-H�I�J�K��"2�2��!�!�*�f�a��E��!�!�*�f�a��E��!�!�*�f�b�+�F��!�!�*�f�a��f�k�J��!�!�*�f��3��i��M�J�%�K�G��� � ���!;�!'��e��k�!B�D�H�%��J��Is�0b'�*b,c���UR[[[S55 UR[[[S55 UR[[[S55 g)N�infz-inf�nan)r�rr9rr�r�s r!�test_nan_inf�LongTest.test_nan_inf�sD�����-��e�E�l�;����-��e�F�m�<����*�c�5��<�8r"c��UR[5 SS-nSSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 g!,(df   N�=f)Nrrr\r
���r_�r�r%rQ�r=rXs  r!�test_mod_division�LongTest.test_mod_division�s���
�
�
�0�
1��A��A�2�	
����!�$�����1�%�����2�&�����B�'������#�����!�$�����!�$�����1�%�2�
1�s�B5�5
Cc��SS-nU*nURX-S5 URX"-S5 URX-S5 URX!-S5 URSU-S5 URSU-S5 URSU-S5 URSU-S5 URSU-US-	-U-S5 URSU-US-	-U-S5 URSU-US-	-U-S5 URSU-US-	-U-S5 URXS--S	5 URS
U-U-S
5 XS.nSHnUR[[XC5 M  S
H$n[XS5nURUSSU-5 M& SHnUR[[Xs5 M  g)Nri@�r
rri�gԄ@gԄ�r6i@B)rr)rrzhuge / 1zhuge / 2z	huge / -1z	huge / -2zmhuge / 100zmhuge / 200)z1 / hugez2 / hugez	-1 / hugez	-2 / hugez100 / mhugez200 / mhugezexpected underflow to 0 from %r)zhuge / 0z	mhuge / 0)rQr�rrr%)r=rrrr��	underflowr0�zeros        r!�test_true_division�LongTest.test_true_division�s����E�z����������c�*�������,������t�,������t�,�����T��3�'�����T��3�'�����U��C�(�����U��C�(����#��*���	�2�d�:�E�B����#��+��!��4��=�u�E����#��*���	�2�e�;�V�D����#��+��!��4��<�f�E�������+�S�1����'�D�.�D�0�'�:�!�2�	�7�H�
���m�T�8�G�7�
7�I��)�/�F����V�S�>��J�
L�7�.�D����/��t�G�.r"c��UR[5 SS-nSSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 g!,(df   N�=f)Nrrr
r\r�rr�r�s  r!�
test_floordiv�LongTest.test_floordivs���
�
�
�0�
1��Q��A�2�	
�����#�����"�%�����"�%�����1�%�����A�&�����2�&�����2�&�����!�$�����A�&�����2�&�����2�&�����!�$�!2�
1�s�C=�=
Dc
�l�U(a*[[U5[U55S[-:ag[[	X55n[X-5nURXESRXXE55 g![
a SnN?[a SnNLf=f![
a SnNP[a SnN]f=f)z�Verify that the result of a/b is correctly rounded, by
comparing it with a pure Python implementation of correctly
rounded division.  b should be nonzero.rNr��zerodivisionz7Incorrectly rounded division {}/{}: expected {}, got {})	rr$r(r�r1rr%rQr�)r=r*r+�
skip_smallr�r�s      r!�
check_truediv�LongTest.check_truedivs����#�c�!�f�c�!�f�-��<��?��	&��G�A�M�*�H�	!��q�u�+�C�	
����)/�/5�v�a�H�/J�	L���	"�!�H� �	&�%�H�	&��
�	��C� �	!� �C�	!�s/�A8�
B�8B�B�B�B3�%B3�2B3c���URSS5 URSS5 URSS5 URSS5 URSS5 URSS[--S5 URSS	S[[-
--5 URSSS
--S5 URSSS
S--5 S[[[[[-
4nUH�n[	US-
US-5HinURSS[US5--SS[U*S5--5 URSS[US5--SS[U*S5--5 Mk M� SSS
SSS
S
-SSSSSSS-*4HOn[	SS5H<nURU[-U-U5 URU[-U-U*5 M> MQ [	S5H8nURS[-S-S-SS--SU--S[-S-5 M: URSS5 URS S!5 [	S"5H9nURSUS--SU-5 URSU-SUS--5 M; SSS#S
S$S%SS&SS
S
-SSSSSSS-*4H5n[	SS5H"nURS[-U-U-U5 M$ M7 [	S'S(5HnURUSS)-5 M S*SS
-SS"-4H�n[	S"5H�n[R"SU5n[R"USU-S-5n	URX�5 URU*U	5 URX�*5 URU*U	*5 M� M� [	S+5H�n
[R"S"5n[R"SS"5n[R"SU-5n
[R"SSU-5nURX�5 URX�*5 URU
*U5 URU
*U*5 M� g),N�{ri8���r\r_ige~rrmiNFriíl90r
�Qri0&iCr�r
r���i��i����)�2���rh���i�
l�E,J_l�J�brrr�r�� i���i4ld(	r)	r�rr(r'rGrr&r:�	randrange)r=�basesr�r.�mrrJ�Mr*r+rX�a_bits�b_bitsrOrPs               r!�$test_correctly_rounded_true_division�-LongTest.test_correctly_rounded_true_division9sT��	
���3��"����4��#����1�a� ����1�b�!����1�a� ����;��K��7��?����5�&�1�|�k�/I�+J�"J�K����5��C��<��/����;��a��e��4��L�+��k�L�8�:���D��T�B�Y��r�	�2���"�"�5��C��Q�K��#7��q�#�s�d�A�,��9N�O��"�"�5��C��Q�K��#7��q�#�s�d�A�,��9N�O�3���Q��2�u�a��f��b�"�c�6�B��F�7�4�A��3��^���"�"�1�%5�#5��#9�1�=��"�"�1�%5�#5��#9�A�2�>�$�4��s��A�
����<��!� 3�U�:�1�c�6�A�A�q�D�H��l�?�5�0�
2�
�	
���1�d�#�	
���0�2G�H��t��A����r�A�a�C�y�"�a�%�0����r�1�u�b�1�Q�3�i�0��
�Q��1�a��R��U�A�s�F��b�"�c�6�B��F�7�4�A��3��^���"�"�1�l�?�1�#4�q�#8�!�<�$�4��s�B��A����q�!�T�'�*� ��"�c�'�2�t�8�,�A��4�[���$�$�Q��*���$�$�Q��!��A��.���"�"�1�(��"�"�A�2�q�)��"�"�1�b�)��"�"�A�2��r�*�
!�-��u��A��%�%�d�+�F��%�%�a��.�F�� � ��F��+�A�� � ��A�v�I�.�A����q�$����q�"�%�����r�1�%�����r�A�2�&�r"c��UR[5 SS- SSS5 UR[5 SSS-*- SSS5 UR[5 SS-	 SSS5 UR[5 SSS-*-	 SSS5 g!,(df   N�=f!,(df   Nj=f!,(df   NX=f!,(df   g=f)Nr�r_rr)r�r�r�s r!�test_negative_shift_count�"LongTest.test_negative_shift_count�s���
�
�
�z�
*��"�H�+�
�
�
�z�
*��A��I�,��+�
�
�
�z�
*��"�H�+�
�
�
�z�
*��A��I�,��+�
*�
+�
*��
*�
*��
*�
*��
*�
*�s.�B�
B'� B8�
C	�
B$�'
B5�8
C�	
Cc�T�URSS5 URSS5 UR[5 SS- SSS5 URSSS--S5 UR[5 SSS-*- SSS5 g!,(df   NN=f!,(df   g=f)Nrr
rr)rQr�r�r�s r!�test_lshift_of_zero�LongTest.test_lshift_of_zero�s��������#�����!�$�
�
�
�z�
*�
��G�+�����q�D�y�)�1�-�
�
�
�z�
*�
�1��9���+�
*�+�
*��+�
*�s�B�5
B�
B�
B'c��URS[R-S5 URS[RS--S5 g)Nrr�rQrrMr�s r!�test_huge_lshift_of_zero�!LongTest.test_huge_lshift_of_zero�s:��
	
����c�k�k�)�1�-�����s�{�{�Q��/��3r"rg�?F)�memuse�dry_runc�x�URS[RS--SS-[R-5 g)Nrrr�)r=�sizes  r!�test_huge_lshift�LongTest.test_huge_lshift�s/��	
����s�{�{�T�1�2�A��I����4L�Mr"c��SS-nURSU-	S5 URSU-	S5 URSU-	S5 URSU-	S5 URS	S
-U-	S5 URS	S
-*U-	S5 g)Nrrr�ri���r
ici����rr��rQ)r=�
huge_shifts  r!�test_huge_rshift�LongTest.test_huge_rshift�s����$�Y�
�����z�)�1�-����#�*�,�b�1������+�Q�/����%�J�.��3�����C��:�-�q�1����!�S�&��J�.��3r"��g�?c���SS-S-[R-nURU[RS--	SS-S-5 URU[RS--	S5 g)Nrr�r�i�rgrr)rrMrQ)r=r�rs   r!�test_huge_rshift_of_huge�!LongTest.test_huge_rshift_of_huge�s]���c��R��C�K�K�/������#�+�+��/�2�Q�#�X��N�C�����#�+�+��"4�5�q�9r"c��URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS5 URSS-S	-	SS
-5 URSS-*S	-	SS
-*5 URSS-S	-S	-	SS
-5 URSS-S	-*S	-	SS
-*S	-
5 g)Nr�i��i��i1i���i���rr�r�r�r�s r!�test_small_rshift�LongTest.test_small_rshift�s������"�%�����S�)�����"�%�����S�)�����C�(�����t�,�����C�(�����t�,�����C��1��a��f�-����!�S�&��A���3��w�/����!�S�&�1�*��*�A�s�F�3����1�c�6�A�:��!�+�a��f�W�q�[�9r"c���URSS5 URSS5 URSS5 URSS5 URSS-S-	SS-5 URSS-*S-	SS-*5 URS[[--
[-	[*5 UR[S-
[[--
[-	[*5 g)	Nrr
rr_r�r��wr)rQ�BASEr8r�s r!�test_medium_rshift�LongTest.test_medium_rshift�s�������!�$�����R�(�����A�&�����r�*�����C��1��a��f�-����!�S�&��A���3��w�/�	
���!�d�4�i�-�E�1�D�5�9����$��(�T�$�Y�.�5�8�4�%�@r"c��URSS5 URSS5 URSS5 URSS5 URSS-S-	SS-5 URSS-*S-	SS-*5 g)Nrr
rr�r��`r�r�s r!�test_big_rshift�LongTest.test_big_rshift�s~������1�%�����b�)�����Q�'������+�����C��2��q�"�u�-����!�S�&��B���B���/r"c��URSS5 URSS5 URSS5 URSS5 URSS-S-SS-5 URSS-*S-SS-*5 g)	N�Ti����ibi����rr�rr�r�r�s r!�test_small_lshift�LongTest.test_small_lshift�s~������"�%�����S�)�����4�(�����e�,�����C��1��a��f�-����!�S�&��A���3��w�/r"c��URSS5 URSS5 URSS5 URSS5 g)NiTi���i�i<��r�r�s r!�test_medium_lshift�LongTest.test_medium_lshift�sB������%�(�����V�,�����F�+�����w�/r"c��URSS5 URSS5 URSS5 URSS5 URSS-S-SS-5 URSS-*S-SS-*5 g)	Nl�l�����l�l�����rr�r��r�r�s r!�test_big_lshift�LongTest.test_big_lshift�s~������:�.�����k�2�����\�2�����
�6�����C��2��q�#�v�.����!�S�&��B���C���0r"c�t�SS-nU*S-nUS-nURX-S5 URX1-
S5 g)Nrrir)�assertIs)r=r*r+�cs    r!�#test_small_ints_in_huge_calculation�,LongTest.test_small_ints_in_huge_calculation�s?��
��H��
�B��F��
��E���
�
�a�e�Q���
�
�a�e�Q�r"c��UR[SSS5S5 URSS5 SupnURX-U-S5 UR[SSS5S5 URSS5 S	upnURX-U-S5 UR[SS
SS
-S-
5S5 URSS
-SS
-S-
-S5 SS
SS
-S-
p2nURX-U-S5 g)Nrhr\��r)rhr\r��r�r)rr�r�ri)r��pow)r=r*rr�s    r!�test_pow_uses_cached_small_ints�(LongTest.test_pow_uses_cached_small_intss����
�
�c�"�a��o�q�)��
�
�m�Q�'����a��
�
�a�f�q�j�!�$��
�
�c�!�R��-�q�1��
�
�-�q�1�$���a��
�
�a�f�q�j�!�$��
�
�c�!�S�!�S�&�1�*�-�q�1��
�
�a�3�h�!�s�(�Q�,�/��3��S�!�S�&�1�*�a���
�
�a�f�q�j�!�$r"c��SS-nURUS-U-S5 URUS-U-S5 URXS--S5 URXS--S5 [SU-S-U5up#URUS5 URUS5 [SU-S-U5up#URUS5 URUS5 [SU*-S-
U*5up#URUS5 URUS5 [SU-S-
U*5up#URUS5 URUS5 g)	Nrhrirrr�r\r
r_)r�r))r=�bigr r/s    r!�"test_divmod_uses_cached_small_ints�+LongTest.test_divmod_uses_cached_small_intss0���C�i���
�
�s�Q�w�#�o�q�)��
�
�s�Q�w�3�&��*��
�
�c�Q�h�'��+��
�
�c�R�i�(�"�-��a�#�g��k�3�'����
�
�a����
�
�a����b�3�h��n�c�*����
�
�a����
�
�a����a�C�4�j�1�n�s�d�+����
�
�a����
�
�a����a�#�g��k�C�4�(����
�
�a����
�
�a��r"c	�p�[SS5H�nURXS-5 URXS-5 URXS-
5 URXS-5 URXS-5 URXS-5 URXS-5 URX))5 URXS-5 URU[[U555 URXS-S-	[U55 M� SnURX-
S5 URSU-S5 g)Nr��rrr
rl)rGr�r9r�)r=rJs  r!�test_small_ints�LongTest.test_small_ints1s����r�3��A��M�M�!��U�#��M�M�!��U�#��M�M�!��U�#��M�M�!�!�V�$��M�M�!��V�$��M�M�!��U�#��M�M�!��U�#��M�M�!�b�S�!��M�M�!��T�"��M�M�!�S��Q��[�)��M�M�!��T�1�W�c�!�f�-� �
���
�
�a�e�Q���
�
�a�!�e�Q�r"c�2�Sn[SS5H�nUR5nURU[[	U5RS555 US:wa7UR
SUS-
-[U5s=:*=(a SU-:Os 5 OURUS5 US:wdM�URUS[R"[R"[U55[R"S5-U-5-5 M� URSR5S5 URSR5S5 URSR5S5 URSR5S5 URS	R5S5 S
H�nSU-nURUS-
R5U5 URSU-
R5U5 URUR5US-5 URU*R5US-5 URUS-R5US-5 URU*S-
R5US-5 M� g)Ng�����|�=i��i�z-0brrrr
r)rr\rr�r�r�r��!�?�@��)rGrrQ�lenr��lstripr<r$r�floorr!)r=�tinyrO�krJr*s      r!�test_bit_length�LongTest.test_bit_lengthCs�����v�u�%�A�����A����Q��C��F�M�M�%�$8� 9�:��A�v�����A�a�C��C��F� 9� 9�Q��T� 9�:�� � ��A�&��A�v�
� � ��A��
�
�����Q��(����!��4�t�;�)=�%=�>�&�$	
���!���)�1�-����!���)�1�-����"���*�A�.����!���)�1�-����"���*�A�.�<�A��1��A����a��c�-�-�/��3����a��c�-�-�/��3����a�^�^�-�q��s�3����q�b�_�_�.��!��4����a��c�-�-�/��1��5����q�b��d�.�.�0�!�A�#�6�=r"c���[SS5H;nURUR5[U5R	S55 M= SH�nSU-nURUR5S5 URUS-
R5U5 URUS-R5S5 URUS-
S	-R5US
-
5 M� g)Ni���rrZ)rhr�r�r��Ai�iZi��rrr�r
i�r�)rGrQ�	bit_countr��count)r=r*r.s   r!�test_bit_count�LongTest.test_bit_countes����u�d�#�A����Q�[�[�]�C��F�L�L��,=�>�$�>�C��3��A����Q�[�[�]�A�.����a�!�e�.�.�0�#�6����a�"�f�/�/�1�1�5����q�1�u��m�6�6�8�#��'�B�>r"c��0SS_SS_SS_SS_SS_SS_SS_S	S_S
S_SS_SS_SS_S
S_SS_SS_SS_SS_SSSS.En[SSS5H^nUR5HGup4[X2-S5nXB-nURXV5 UR	[U5[5 MI M` UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[SS5S5 UR[S S5S5 UR[S!S5S"5 UR[S#S5S"5 UR[S$S5S%5 UR[S&S5S%5 UR[S'S5S(5 UR[S)S*5S+5 UR[S,S*5S-5 UR[S.S5S/5 UR[S.S5S05 UR[S.S*5S15 UR[S.S25S35 UR[S.S45S55 UR[S.S65S75 UR[S.S85S95 UR[S.S:5S;5 UR[S.S<5S=5 UR[S.S>5S?5 UR[S.S@5S5 UR[S.SA5S5 UR[S.SB5S5 [SS"5HMn[SU-SC-S*5nSU-SD-nURXW5 UR	[U5[5 MO [S5Hgn[S"5HUn	[R"SESF5n
[X�5nURXZ5 UR	[U5[5 MW Mi SGSHSISJSS"-SS"-4HnUR[SKU5SK5 M! [S"5HUn	[R"SESF5n
[U
5nURXZ5 UR	[U5[5 MW SLnUHn
UR[[SU
5 M! g)MNrrrr\rrgr�rhr
r�r�r�r�r�r[rr�r�)r���i����ir
ij���ri8���ik���rti���i���i����1r��3ri��r�r��i,iԡr_i�i��i��l!l!l�~!l�!r�l�!r�l`!i����l!r�l'�!i����lz+i����lv|or�l,Gxi����i�i���iF�i��i���rr�r�r�r�i{�)�brianry)rG�items�roundrQr��typer9r:r�r�r�)r=�	test_dict�offsetr�r�r�r��expectrrJrO�huge_n�
bad_exponentsrs              r!�
test_round�LongTest.test_roundps��8�Q�q�8�!�A�8�q��8�A�a�8��1�8�a��8��r�8��R�8�!"�2�8�'(��8�-/��8�46�r�8�;=�b�8�BD�R�8�IK�B�8���8��r�8�&(�R�B�8�	��D�#�r�*�F�!���)����A�H�b�)���8��� � ��/��
�
�d�3�i��-�	*�+�	
����t�R��$�/�����t�R��$�/�����s�B���.�����s�B���+�����s�B���+�����r�2���*�����q�"��q�)�����q�"��q�)�����r�2���*�����r�2���*�����r�2���,�����s�B���-�����s�B���-�����s�B���-�����s�B���-�����v�r�*�F�3�����v�r�*�F�3�����{�B�/��=�����{�B�/��=�����{�B�/��=�����{�B�/��=�����{�B�/��=�����{�B�/��=�����{�B�/��=�����{�B�/��=�����{�B�/��=�����{�C�0�+�>�����{�C�0�!�4�����{�C�0�!�4�����{�D�1�1�5��r�3��A���A�����+�C���U�V�^�F����S�)��M�M�$�s�)�S�)�	 ��q��A��3�Z���$�$�V�U�3���A�k��� � ��(��
�
�d�3�i��-�	 ���u�g�u�a��f�b�#�g�E�F����U�7�F�3�W�=�F��s��A�� � ���/�A���(�C����S�$��M�M�$�s�)�S�)�	�+�
��A����i���1�5�r"c�D^�S>U4Sjjn0SS_SS_SS_S	S
_SS_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS _S!S"_S#S$_nU"US%S&S'9 0SS_SS_SS_S	S
_SS_S
S_SS_SS(_SS)_SS_SS_SS*_SS_SS+_SS,_S!S-_S#S._nU"US/S&S'9 SSSSSSSS0S1S2S3.
nU"US%SS'9 SSSSSS*SS+S1S4S3.
nU"US/SS'9 TR[SRSS%SS'9 TR[SRSS/SS'9 TR[S5RSS%S&S'9 TR[S5RSS/S&S'9 TR[S
RSS%S&S'9 TR[S
RSS/S&S'9 TR[SRS6S%SS'9 TR[SRS6S/SS'9 TRSRSS%5S75 TRSRSS%S&S'9S75 TRSRS8S%5S95 TRSRS8S%5S:5 TRSRS8S%S&S'9S;5 TR[SRSS%5 TR[SRSS%S&S'9 TR[SRSS/S&S'9 "S<S=[5nTRSRSU"S%55S5 TRSRSU"S/55S75 g)?NFc
�f>�SSjnUR5H�upETRUR[U5XS9U5 [U5S:Xa.US:Xa(U(d!TRUR5U5 TRU"U[U5XS9U5 M� g![a!n[SR
XAU55UeSnAff=f![a n[SR
U55UeSnAff=f![a!n[SR
XAU55UeSnAff=f)	Nc�^�US:Xa[U5nOUS:Xa[[U55n[U4SjW55$)N�littler�c3�:># �UHnTUS--	S-v� M g7f)r��Nr�)r�rJrs  �r!r��SLongTest.test_to_bytes.<locals>.check.<locals>.equivalent_python.<locals>.<genexpr>�s����>��1�a�1�Q�3�h�$�.��s�)rG�reversed�bytes)r�length�	byteorder�signed�orders`    r!�equivalent_python�@LongTest.test_to_bytes.<locals>.check.<locals>.equivalent_python�s;�����(�!�&�M�E��%�'�$�U�6�]�3�E��>��>�>�>r"�rz4failed to convert {} with byteorder={} and signed={}rr��+failed to convert {} with default argumentszmCode equivalent from docs is not equivalent for conversion of {0} with byteorder byteorder={1} and signed={2}�F)rrQ�to_bytesr��	Exception�AssertionErrorr���testsrrrrr��errr=s       �r!�check�%LongTest.test_to_bytes.<locals>.check�s?���
?�#(�+�+�-���C��$�$��
�
�c�(�m�Y�
�N� �"��x�=�A�%�)�u�*<�V�4��(�(�����(�C�
O��$�$�)� �#�h�-��K� ��)#0��
!�C�(�N�����8�:�?B�C��C��%�4�,�I�#�V�D�\�+�03�4��4��!�O�(�%�%+�V�D�V�%D�F�LO�O��O�sG�)B*�# C�!D�*
C�4C�C�
D�"C=�=D�
D0�D+�+D0r�r�r
�������r���������r�����������������r�����������s����������������r�Tr��������������r������)
rrr�r�rr:r<��r?��r�rr"rgsss�����c��\rSrSrSrg)�&LongTest.test_to_bytes.<locals>.SubStri?r�N�r�r�r�r�r�r�r"r!�SubStrrS?���r"rUr!)r�rr"rQr�)r=r(�tests1�tests2�tests3�tests4rUs`      r!�
test_to_bytes�LongTest.test_to_bytes�sG���%	O�P
�
�w�
�
�w�
�
��
�
�'�	
�

�'�
�
�+�

�
��
�
��
�
�+�
�
�+�
�
��
�
��
�
�;�
�
�O�
�
�?�
� 
�O�!
�"
�o�#
��&	�f�e�D�)�
�
�w�
�
�w�
�
��
�
�'�	
�

�'�
�
�+�

�
��
�
��
�
�+�
�
�+�
�
��
�
��
�
�;�
�
�K�
�
�?�
� 
�O�!
�"
�o�#
��&	�f�h�t�,����������"�
��	�f�e�E�*����������"�
��	�f�h�u�-����-�#����E�%��P����-�#����H�U��S����-�#����E�$��O����-�#����H�T��R����-�$���!�U�4��P����-�$���!�X�d��S����-�"����5���O����-�"����8�E��R����!���a��/��5����!���a��t��<�c�B����!���a��/�1H�I����!���a��/�1H�I����"���q�%���=�0�	2����-�!���q�%�@����-�"����5���N����-�"����8�D��Q�	�S�	����!���a����7��A����!���a���)9�:�C�@r"c�2
^�SMU4Sjjn0SS_SS_SS_SS_S	S_S
S_SS_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS _S!S"S#S$S%.EnU"US&S'S(9 0SS_SS_SS_SS_S	S_S
S_SS_S
S_SS_SS_SS_S)S_S*S_SS_SS_S	S_SS _S!S"S#S$S+.EnU"US,S'S(9 SSSSS-SSS S.S"S/S0.nU"US&SS(9 SSSSS-SSS S.S"S/S1.nU"US,SS(9 "S2S3[5nTR[URSS&55U5 TR	URSS&5S5 TR[URSS&SS(95U5 TR	URSS&SS(9S5 TR[URSS,55U5 TR	URSS,5S5 TR[URSS,SS(95U5 TR	URSS,SS(9S5 TR	[R/S4QS&S'S(9S#5 TR	[RS4S&S'S(9S#5 TR	[R[S55S&S'S(9S#5 TR	[R[S55S&S'S(9S#5 TR	[R[R"S6S55S&S'S(9S#5 TR	[R[S55S&S'S(9S#5 TR[[RS/S&5 TR[[RS/S75 TR[[RS/S85 TR[[RS9S&5 TR[[RS:S&5 TR[[RSS&5 TR[[RSS&S'5 TR[URS9S&5 TR[URS:S&5 TR[URSS&5 TR[[RSS&S'5 "S;S<[5nURSS&5nTR[U5U5 TR	US=5 "S>S?[5n	U	RSS&5nTR[U5U	5 TR	US5 TR	[US@SA5SB5 "SCSD5n
"SESF5n"SGSH5n"SISJ5n
TR	[RU
"55S5 TR[[RU"55 TR[[RU"55 TR[[RU
"55 "SKSL[5nTR	[RSU"S&55S5 TR	[RSU"S,55S5 g)NNFc	�4>�SSjnUR5HuupETR[RXAUS9U5 US:Xa-U(d&TR[RU5U5 TRU"XAUS9U5 Mw g![a!n[SR
XAU55UeSnAff=f![a n[SR
U55UeSnAff=f![a!n[SR
XAU55UeSnAff=f)Nc���US:Xa[U5nOUS:Xa[[U55n[S[W555nU(a(U(a!USS-(aUSS[	U5---nU$)Nrr�c3�4# �UHupX!S--v� M g7f)r�Nr�)r�rJr+s   r!r��ULongTest.test_from_bytes.<locals>.check.<locals>.equivalent_python.<locals>.<genexpr>Ls���G�-F�T�Q��q�S��-F�s�r
r�rr�)r]r�sum�	enumerater�)�
byte_arrayrr�little_orderedrs     r!r�BLongTest.test_from_bytes.<locals>.check.<locals>.equivalent_pythonFso����(�%)�*�%5�N��%�'�%)�(�:�*>�%?�N��G�Y�~�-F�G�G���n�.��2D�t�2K���a��N� 3�3�3�3�A��r"rz6failed to convert {} with byteorder={!r} and signed={}r�r zeCode equivalent from docs is not equivalent for conversion of {0} with byteorder={1!r} and signed={2}r!)rrQr9�
from_bytesr#r$r�r%s       �r!r(�'LongTest.test_from_bytes.<locals>.checkEs-���

�#(�+�+�-���C��$�$����t�v��F� �"���%�f�4��(�(��N�N�4�0�$�&�	C��$�$�)�$�&�I� ��-#0��
!�C�(�P�����8�:�?B�C��C��%�4�,�I�#�V�D�\�+�03�4��4��!�C�(�P�����8�:�@C�C��C�sG�$B�%B?�5C,�
B<�B7�7B<�?
C)�	C$�$C)�,
D�6D�Dr"rr*sr+rrGr,r
rMr.r-r/r�r1r0r2r�r4r3r6r5r8r7r9rr;r:r=r<r>r?rArC)rLr@rBrDr�TrrErF)rHrIrJrKrr�rOrP)r"r*r+r2r/r,r;r=rLrMrN)r"r*r+r2r/r,rGr1rHrMrQc��\rSrSrSrg)�'LongTest.test_from_bytes.<locals>.myinti�r�NrTr�r"r!�myintrj�rVr"rk)rrrrB�Bzbigzlittler��c��\rSrSrSrSrg)�(LongTest.test_from_bytes.<locals>.myint2i�c�2�[RXS-5$)Nr)r9�__new__)�clsrs  r!rq�0LongTest.test_from_bytes.<locals>.myint2.__new__�s���{�{�3��	�2�2r"r�N�r�r�r�r�rqr�r�r"r!�myint2ro�s��
3r"rurc��\rSrSrSrSrg)�(LongTest.test_from_bytes.<locals>.myint3i�c��SUlg)N�bar��foo)r=rs  r!r0�1LongTest.test_from_bytes.<locals>.myint3.__init__�s	�� ��r"rzN)r�r�r�r�r0r�r�r"r!�myint3rw�s��
!r"r}r{�noneryc��\rSrSrSrSrg)�,LongTest.test_from_bytes.<locals>.ValidBytesi�c��g)Nr+r�r�s r!�	__bytes__�6LongTest.test_from_bytes.<locals>.ValidBytes.__bytes__�s��r"r�N�r�r�r�r�r�r�r�r"r!�
ValidBytesr��s��
r"r�c��\rSrSrSrSrg)�.LongTest.test_from_bytes.<locals>.InvalidBytesi�c��g)N�abcr�r�s r!r��8LongTest.test_from_bytes.<locals>.InvalidBytes.__bytes__s��r"r�Nr�r�r"r!�InvalidBytesr��s��
r"r�c��\rSrSrSrg)�.LongTest.test_from_bytes.<locals>.MissingBytesir�NrTr�r"r!�MissingBytesr�s��Cr"r�c��\rSrSrSrSrg)�.LongTest.test_from_bytes.<locals>.RaisingBytesic��SS- g)Nrrr�r�s r!r��8LongTest.test_from_bytes.<locals>.RaisingBytes.__bytes__s	���A�r"r�Nr�r�r"r!�RaisingBytesr�s��
r"r�c��\rSrSrSrg)�(LongTest.test_from_bytes.<locals>.SubStri
r�NrTr�r"r!rUr�
rVr"rUr!)r9r�rrgrQ�	bytearray�array�
memoryviewr�r�r��getattrr%r�)r=r(rWrXrYrZrkrurJr}r�r�r�r�rUs`              r!�test_from_bytes�LongTest.test_from_bytesDs���+	C�\
���
��Q�
�
��
�
�Q�	
�

��
�
�R�

�
��
�
�T�
�
�T�
�
��
�
�S�
�
��
�
��
�
��
�
��
� 
��!
�"
��#
�$ �"�#�%�+
��.	�f�e�D�)�
���
��Q�
�
��
�
�Q�	
�

��
�
�R�

�
��
�
�T�
�
�T�
�
��
�
�S�
�
��
�
��
�
��
�
��
� 
��!
�"
��#
�$ �"�#�%�+
��.	�f�h�t�,�����������"�
��	�f�e�E�*�����������"�
��	�f�h�u�-�	�C�	�	
�
�
�d�5�+�+�G�U�;�<�e�D�����)�)�'�5�9�1�=��
�
���!�!�'�5��!�?�@�%�	I�����)�)�'�5��)�G��K��
�
�d�5�+�+�G�X�>�?��G�����)�)�'�8�<�a�@��
�
�d�5�+�+��X�e�,�-�.�/4�	6�����)�)�'�8�E�)�J�A�N�����N�N�;��d�N�;�V�	E�����N�N�;��d�N�;�V�	E��������o�&��d�(�<�=C�	E��������o�&��d�(�<�=C�	E��������K�K��_�-�u�T�(�C�DJ�	L���������'��t�(�=�>D�	F����*�c�n�n�s�e�U�C����*�c�n�n�q�c�9�E����*�c�n�n�q�c�<�H����)�S�^�^�R��?����)�S�^�^�V�U�C����)�S�^�^�Q��>����)�S�^�^�Q��t�D����)�U�%5�%5�r�5�A����)�U�%5�%5�v�u�E����)�U�%5�%5�q�%�@����)�S�^�^�Q��t�D�	3�S�	3�
���g�u�-���
�
�d�1�g�v�&�����A��	!�S�	!�
���g�u�-���
�
�d�1�g�v�&�����A�������E�6�2�E�:�	�	�	�	�	 ��	�	�	
������
��5�q�9����)�S�^�^�\�^�D����)�S�^�^�\�^�D����+�S�^�^�\�^�L�	�S�	��������V�E�]�;�Q�?����������1A�B�A�Fr"c��[SS5H7nURSSS9nUR[R	USS9U5 M9 g)Nr�r�rTr)rGr"r�r9rg)r=rJr+s   r!�test_from_bytes_small�LongTest.test_from_bytes_smallsA���r�3��A��
�
�1�T�
�*�A��M�M�#�.�.��4�.�8�!�<� r"c��URSR55 URSR55 URSR55 g)Nr
rr)r<�
is_integerr�s r!�test_is_integer�LongTest.test_is_integers;��������)�*�������(�)�������(�)r"c��"SS[5n[S5Vs/sH
o!"S5PM nn[[U5HnURUS5 M gs snf)Nc��\rSrSrSSjrSrg)�<LongTest.test_access_to_nonexistent_digit_0.<locals>.Integeri"c�>�[RX5nSUlU$)Nr{)r9rqr{)rrrr=s   r!rq�DLongTest.test_access_to_nonexistent_digit_0.<locals>.Integer.__new__#s���{�{�3�.�� ����r"rzN)rrtr�r"r!�Integerr�"s��
r"r�rr)r9rG�maprQ)r=r�rJ�integersrs     r!�"test_access_to_nonexistent_digit_0�+LongTest.test_access_to_nonexistent_digit_0sR��	�c�	�).�d��4��1�G�A�J���4��S�(�#�A����Q��"�$��5s�Ac��SHNnSHEnUR[X-5[5 UR[X-	5[5 MG MP g)N)TF)rr)rQrr9)r=rrs   r!�test_shift_bool�LongTest.test_shift_bool,sD��"�E���� � ��e�n�!5�s�;�� � ��e�n�!5�s�;� �#r"c
�R�"SS[5nSSSS[RS-SSU"S	5/nUHqnUR5upEUR	XE4[U5S45 UR	[U5[5 UR	[U5[5 Ms g)
Nc��\rSrSrSrg)�-LongTest.test_as_integer_ratio.<locals>.myinti4r�NrTr�r"r!rkr�4rVr"rkrhrr�rTFr�)r9rrM�as_integer_ratiorQr)r=rkr&r�	numerator�denominators      r!�test_as_integer_ratio�LongTest.test_as_integer_ratio3s���	�C�	��Q��Q����a���u�e�B�i�H���E�%*�%;�%;�%=�"�I����i�5��E�
�A��G����T�)�_�c�2����T�+�.��4�	r"c	���[SS5HJnSU-S-
nURXS9 URUS-SSU--SUS---
S-5 SSS5 ML g!,(df   M^=f)Nri�)�bitlenrr)rGrRrQ)r=r�rs   r!�test_square�LongTest.test_square=ss��
�A�s�m�F��f���!�A����V��1�� � ��A���1�v�:�&�1��!��+<�=��A�C�2�1�$�1�1�s�(A�
A+	c
��UR[R[RR
5 SSS[S-
S4S[-
S4[S4[*S4[[-S-
S4[[-S4/	nUHaup#URU5 URUR5[R[RU--5 SSS5 Mc "SS[5nURUR[RR
5 UH_up#URU5 URU"U5R5URURU--5 SSS5 Ma [RS5 g!,(df   GM3=f!,(df   M�=f)	N)rr)rr)r
rrrr\c��\rSrSrSrg)�'LongTest.test___sizeof__.<locals>.MyInticr�NrTr�r"r!�MyIntr�crVr"r�)rQr9�__itemsize__r�int_info�sizeof_digitr�rR�
__sizeof__�
__basicsize__�object)r=rrr>r�s     r!�test___sizeof__�LongTest.test___sizeof__Isq������)�)�3�<�<�+D�+D�E�
���
�!�V�Q�K�
�t�V�Q�K�
�1�I��U�A�J�
�$�Y��]�A��
�$�Y��N�
��*�N�E����e�$�� � ��$�$�&��%�%��(8�(8�7�(B�B��%�$�*�	�C�	�	
����+�+�S�\�\�-F�-F�G�)�N�E����e�$�� � ��%�L�+�+�-��'�'�%�*<�*<�w�*F�F��%�$�*�	���!��)%�$��%�$�s�AF%�AF8�%
F5	�8
G	c��UR[S5S5 UR[S5S5 UR[S5S5 UR[[RRS-
5[RRS-
5 UR[[RRS-
5[RRS-
5 UR[[RR5S5 UR[[RRS-5S5 UR[[RR*S-
5S5 UR[[RR*S-
5S5 UR[[RR*5S5 UR[[RR*S-5[RR*S-5 g)Nr
rrrhrr)rQ�hashr�	hash_info�modulusr�s r!�	test_hash�LongTest.test_hashrs�������b��2�&�����a��!�$�����b��2�&�����c�m�m�3�3�a�7�8�#�-�-�:O�:O�RS�:S�T�����c�m�m�3�3�a�7�8�#�-�-�:O�:O�RS�:S�T�����c�m�m�3�3�4�a�8�����c�m�m�3�3�a�7�8�!�<�����s�}�}�4�4�4�q�8�9�2�>�����s�}�}�4�4�4�q�8�9�2�>�����s�}�}�4�4�4�5�q�9�����s�}�}�4�4�4�q�8�9�C�M�M�<Q�<Q�;Q�TU�;U�Vr"r�N)T)Br�r�r�r�rDrKrXrdrnrsrwr{rr�r�r�r�r�r�r�requires_IEEE_754r	rr$rSryr~r�r�r�r�r�r�r��cpython_onlyr��
bigmemtestrrMr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr[r�r�r�r�r�r�r�r�r�r�r�r"r!r3r3ss7���0�
C�#>�N+�.+�6+�/�
S�>�1�'�6M�r5�"0�"
���C0��C0�J8�>;�$Z*�x_D�B9�
&� H�D%�&L�<
���Y'��Y'�v��
���4��4�
���������d�*�8�U�K�N�L��N�4�
���������c�)�$��F�:�G��:�
:� 
A�0�0�0�1�
��� �� �
���%��%� 
������0 �$ 7�D	C�H6�THA�TLG�\
���=��=�*�
#�<�5�
C�'�RWr"r3�__main__)#�unittestrrrr:rr�r��bits_per_digitr8r�rIr_r^r~rrrGrJr`rrrrr�min_expr'rr(r&rr1�TestCaser3r��mainrqs0r!�<module>r�sb����
�
���	���#�#���E�z���a�x����
�	�
�a��D�$�!�)�%7�9K�
L����	�q��w��A��N�N�2��6��	�q��B�
���� ��1�B�� ��#8��1�B��#8�8�8��

�.�.�
�
���n�n�$�$���n�n�$�$���~�~�&�&���k�>�A��l�(B�Q�(F�$G�G��*'�\+�<MW�x� � �MW�^0�z���M�M�O���K3!��#8s�>E�E

Youez - 2016 - github.com/yon3zu
LinuXploit