Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_float.cpython-311.opt-2.pyc
�

�Ke�����ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
mZddlmZmZmZmZddlZ	ddlZn
#e$rdZYnwxYwe�d���d��Zed��Zed	��Zej�e��pejZ ej�!e d
��Z"Gd�de��Z#Gd
�de��Z$Gd�dej%��Z&ej'e(ed��d��Gd�dej%����Z)dZ*e+e,e*����Z-dZ.e+e,e.����Z/dZ0e+e,e0����Z1dZ2e+e,e2����Z3Gd�dej%��Z4Gd�dej%��Z5Gd�dej%��Z6e	j7Gd�d ej%����Z8Gd!�d"ej%��Z9ej:Z;ej<Z=Gd#�d$ej%��Z>dZ?d%Z@d&d'd(d)�ZAejBedud*��Gd+�d,ej%����ZCeDd-krejE��dSdS).�N)�support)�
import_helper)�VALID_UNDERSCORE_LITERALS�INVALID_UNDERSCORE_LITERALS)�isinf�isnan�copysign�ldexp�double�IEEE�inf�nanzformatfloat_testcases.txtc��eZdZdS)�
FloatSubclassN��__name__�
__module__�__qualname__���9/usr/local/apps/python3/lib/python3.11/test/test_float.pyrr��������Drrc��eZdZdS)�OtherFloatSubclassNrrrrrr"rrrc���eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	j
ddd	��d
���Zd�Zd�Z
d
�Zd�Zd�Zd�Zd�Zd�Zd�Ze	jd���Ze	jd���Zd�Zd�ZdS)�GeneralFloatCasesc��|�td��d��|�td��d��|�td��d��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd	��|�ttd
��|�ttd��|�ttd��|�ttd
��|�ttd��|�ttd��|�tti��|�tdti��|�ttd��|�ttd��|�ttd��|�td��d��|�td��d��td��td��|�ttd��dS)N���Q�	@i:g�s@�  3.14  �	  0x3.1  �  -0x3.p-1  �  +0x3.p-1  z++3.14z+-3.14z-+3.14z--3.14z.nanz+.inf�.z-.z
not 'dict'u�z-1.7d29z3D-14u  ٣.١٤  u
 3.14 s�.1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111a�.1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111uこんにちは)�assertEqual�float�assertRaises�
ValueError�	TypeError�assertRaisesRegex��selfs r�
test_floatzGeneralFloatCases.test_float'sV������t���d�+�+�+�����s���U�+�+�+�����z�*�*�D�1�1�1����*�e�[�9�9�9����*�e�^�<�<�<����*�e�^�<�<�<����*�e�X�6�6�6����*�e�X�6�6�6����*�e�X�6�6�6����*�e�X�6�6�6����*�e�V�4�4�4����*�e�W�5�5�5����*�e�S�1�1�1����*�e�T�2�2�2����)�U�B�/�/�/����y�,��r�B�B�B����*�e�X�6�6�6����*�e�Y�7�7�7����*�e�W�5�5�5�����8�9�9�4�@�@�@�����=�>�>��E�E�E�
�����
�n����	
���*�e�-M�N�N�N�N�Nrc�J�|�t��d��dS)N�)r$r%r*s r�test_noargszGeneralFloatCases.test_noargsFs"��������#�&�&�&�&�&rc
�\��tD]��t�fd�dD����st|�t���t	�����|�t���t��dd��������tD]C��dvr�t�fd�dD����s!|�tt����D|�ttd��|�ttd��|�ttd	��|�ttd
��|�ttd��|�ttd��dS)
Nc3� �K�|]}|�vV��	dS�Nr��.0�ch�lits  �r�	<genexpr>z5GeneralFloatCases.test_underscores.<locals>.<genexpr>K�'�����6�6�R�r�S�y�6�6�6�6�6�6r�jJxXoObB�_�)�0_7�09_99c3� �K�|]}|�vV��	dSr2rr3s  �rr7z5GeneralFloatCases.test_underscores.<locals>.<genexpr>Qr8r�_NaN�Na_N�IN_Fz-_INFz-INF_s0_.�9)	r�anyr$r%�eval�replacerr&r')r+r6s @r�test_underscoresz"GeneralFloatCases.test_underscoresIs����,�	J�	J�C��6�6�6�6�:�6�6�6�6�6�
J�� � ��s���T�#�Y�Y�7�7�7�� � ��s���U�3�;�;�s�B�3G�3G�-H�-H�I�I�I��.�	:�	:�C��&�&�&���6�6�6�6�:�6�6�6�6�6�
:��!�!�*�e�S�9�9�9��	
���*�e�V�4�4�4����*�e�V�4�4�4����*�e�V�4�4�4����*�e�W�5�5�5����*�e�W�5�5�5����*�e�[�9�9�9�9�9rc����Gd�dt���Gd�dt��}Gd�dt��}tt�fd�||tg}	dd	lm�|��fd
���n#t$rYnwxYw|D]�}|d��}|�t|����5|�	t|��d��|�td
��5t|d����ddd��n#1swxYwYddd��n#1swxYwY��dS)Nc��eZdZdS)�AGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomStrNrrrr�	CustomStrrHa��������rrIc��eZdZdS)�CGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomBytesNrrrr�CustomBytesrLbrJrrMc��eZdZdS)�GGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomByteArrayNrrrr�CustomByteArrayrOcrJrrPc�>���|�����Sr2)�decode)�brIs �r�<lambda>z@GeneralFloatCases.test_non_numeric_input_types.<locals>.<lambda>hs���i�i����
�
�+�+�rr)�arrayc����d|��S)N�Br)rSrUs �rrTz@GeneralFloatCases.test_non_numeric_input_types.<locals>.<lambda>rs���u�u�S�!�}�}�rs 3.14  rzcould not convertsAAAAAAAAAAAAAAAA)
�str�bytes�	bytearray�
memoryviewrU�append�ImportError�subTest�typer$r%r)r')r+rMrP�	factories�f�xrIrUs      @@r�test_non_numeric_input_typesz.GeneralFloatCases.test_non_numeric_input_types^s����	#�"�"�"�"��"�"�"�&�&�&�&�&�%�&�&�&�.�.�.�.�.�i�.�.�.�
��+�+�+�+����

�	�	6�#�#�#�#�#�#�
���4�4�4�4�5�5�5�5���	�	�	��D�	����
�	*�	*�A���*�
�
�A����d�1�g�g�&�&�
*�
*�� � ��q���4�0�0�0��+�+�J�8K�L�L�*�*��!�!�K�.�.�)�)�)�*�*�*�*�*�*�*�*�*�*�*����*�*�*�*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*����
*�
*�
*�
*��	*�	*sH�A6�6
B�B�7?D2�6D�D2�D�D2�"D�#D2�2D6	�9D6	c�6�|�ttd��dd���d��|�ttd��dd���d��|�ttd��dd���d��|�ttd��dd���d��|�ttd��dd���d��dS)	Ns12.3��gffffff@s12.3s12.3 s12.3As12.34)r$r%r[r*s r�test_float_memoryviewz'GeneralFloatCases.test_float_memoryview{s�������z�'�2�2�1�Q�3�7�8�8�#�>�>�>�����z�+�6�6�q��s�;�<�<�c�B�B�B�����z�(�3�3�A�a�C�8�9�9�3�?�?�?�����z�(�3�3�A�a�C�8�9�9�3�?�?�?�����z�(�3�3�A�a�C�8�9�9�3�?�?�?�?�?rc�0���fd�}|d��|d��|d��|d��|d��|d��|d��|d	��|d
��|d��|d��|d
��|d��dS)Nc������td|�d����5}t|��ddd��n#1swxYwY��t	|j��d|����dS)Nzfloat(�))�msgz#could not convert string to float: )r&r'r%r$rX�	exception)�s�cmr+s  �r�checkz3GeneralFloatCases.test_error_message.<locals>.check�s�����"�"�:�:�!�!�!�3E�"�F�F�
�"��a����
�
�
�
�
�
�
�
�
�
�
����
�
�
�
����S���.�.�.�;<�1�>�
@�
@�
@�
@�
@s�>�A�A�½u123½z  123 456  s  123 456  r;� z	 
u٣١٤!z123z123 245z123245s123s123�r)r+ros` r�test_error_messagez$GeneralFloatCases.test_error_message�s����	@�	@�	@�	@�	@�	��f�
�
�
�
��i����
��m����
��n����
��b�	�	�	�
��c�
�
�
�
��g����	��#�$�$�$�
��i����
��m����
��l����
��j����
��j�����r�
LC_NUMERIC�fr_FR�de_DEc��ddl}|���ddks|�d��|�t	d��d��|�t	d��d��|�t	d��d	��|�t	d
��d��|�t	d��d
��|�t	d��d��|�t	d��d��|�t	d��d��|�t	d��d��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��|�t	d��d��|�t	d��d��dS) Nr�
decimal_point�,zdecimal_point is not ","rrz+3.14  z-3.14  g��Q�	�z.14  g�Q���?z3.  �@z3.e3  gp�@z3.2e3  g�@z2.5e-1  ��?z5e-1��?z  3,14  z	  +3,14  z	  -3,14  r r!r"z
  25.e-1  �@z
  .25e-1  g�������?)�locale�
localeconv�skipTestr$r%r&r'�assertAlmostEqual)r+r}s  r�test_float_with_commaz'GeneralFloatCases.test_float_with_comma�s��
	�
�
�
�� � �"�"�?�3�s�:�:��M�M�4�5�5�5�����z�*�*�D�1�1�1�����y�)�)�4�0�0�0�����y�)�)�5�1�1�1�����w����-�-�-�����v����,�,�,�����x���&�1�1�1�����y�)�)�6�2�2�2�����z�*�*�D�1�1�1�����v����,�,�,����*�e�Z�8�8�8����*�e�[�9�9�9����*�e�[�9�9�9����*�e�[�9�9�9����*�e�^�<�<�<����*�e�^�<�<�<�����|�,�,�c�2�2�2����u�\�2�2�D�9�9�9�9�9rc	���Gd�dt��}Gd�dt��}Gd�dt��}Gd�dt��}Gd	�d
t��}|�t|����d��|�t|����d��|�t
��5|�t|d����d��ddd��n#1swxYwY|�tt|d
����|�t|d����d��Gd�d��}|�ttj	|����Gd�d��}|�t
��5|�t|����d��ddd��n#1swxYwY|�t
��5|�
tt|������t��ddd��n#1swxYwY|�t
��5|�t|����d��ddd��n#1swxYwY|�t
��5|�
tt|������t��ddd��n#1swxYwYGd�d��}|�t|d
����d��|�tt|ddz����Gd�d��}	|�tt|	����dS)Nc��eZdZd�ZdS)�4GeneralFloatCases.test_floatconversion.<locals>.Foo1c��dS�N�E@rr*s r�	__float__z>GeneralFloatCases.test_floatconversion.<locals>.Foo1.__float__�����srN�rrrr�rrr�Foo1r���#������
�
�
�
�
rr�c��eZdZd�ZdS)�4GeneralFloatCases.test_floatconversion.<locals>.Foo2c��dSr�rr*s rr�z>GeneralFloatCases.test_floatconversion.<locals>.Foo2.__float__�r�rNr�rrr�Foo2r��r�rr�c��eZdZdd�Zd�ZdS)�4GeneralFloatCases.test_floatconversion.<locals>.Foo3r.c�>�t�|d|z��S)N��r%�__new__��cls�values  rr�z<GeneralFloatCases.test_floatconversion.<locals>.Foo3.__new__�s���}�}�S�!�E�'�2�2�2rc��|Sr2rr*s rr�z>GeneralFloatCases.test_floatconversion.<locals>.Foo3.__float__�s���rN)r.)rrrr�r�rrr�Foo3r��s7������
3�
3�
3�
3�
�
�
�
�
rr�c��eZdZd�ZdS)�4GeneralFloatCases.test_floatconversion.<locals>.Foo4c��dS�N�*rr*s rr�z>GeneralFloatCases.test_floatconversion.<locals>.Foo4.__float__�����rrNr�rrr�Foo4r���#������
�
�
�
�
rr�c��eZdZd�ZdS)�6GeneralFloatCases.test_floatconversion.<locals>.FooStrc�@�tt|����dzS�Nre)r%rXr*s rr�z@GeneralFloatCases.test_floatconversion.<locals>.FooStr.__float__�s���S��Y�Y�'�'�!�+�+rNr�rrr�FooStrr��s#������
,�
,�
,�
,�
,rr�r��r��8g"@c��eZdZd�ZdS)�4GeneralFloatCases.test_floatconversion.<locals>.Foo5c��dS)Nr;rr*s rr�z>GeneralFloatCases.test_floatconversion.<locals>.Foo5.__float__�r�rNr�rrr�Foo5r��r�rr�c��eZdZd�ZdS)�1GeneralFloatCases.test_floatconversion.<locals>.Fc� �td��Sr�)rr*s rr�z;GeneralFloatCases.test_floatconversion.<locals>.F.__float__�s��)�#�.�.�.rNr�rrr�Fr��s#������
/�
/�
/�
/�
/rr�c��eZdZd�Zd�ZdS)�7GeneralFloatCases.test_floatconversion.<locals>.MyIndexc��||_dSr2�r��r+r�s  r�__init__z@GeneralFloatCases.test_floatconversion.<locals>.MyIndex.__init__�s
��"��
�
�
rc��|jSr2r�r*s r�	__index__zAGeneralFloatCases.test_floatconversion.<locals>.MyIndex.__index__�s
���z�!rN)rrrr�r�rrr�MyIndexr��s2������
#�
#�
#�
"�
"�
"�
"�
"rr�r�i�c��eZdZd�ZdS)�5GeneralFloatCases.test_floatconversion.<locals>.MyIntc��dSr�rr*s r�__int__z=GeneralFloatCases.test_floatconversion.<locals>.MyInt.__int__�r�rN)rrrr�rrr�MyIntr��r�rr�)�objectr%rXr$�assertWarns�DeprecationWarningr&r(�time�sleep�assertIsr_r�
OverflowError)
r+r�r�r�r�r�r�r�r�r�s
          r�test_floatconversionz&GeneralFloatCases.test_floatconversion�sw��	�	�	�	�	�6�	�	�	�	�	�	�	�	�5�	�	�	�	�	�	�	�	�5�	�	�	�	�	�	�	�	�5�	�	�	�	,�	,�	,�	,�	,�S�	,�	,�	,�	
����t�t�v�v����,�,�,�����t�t�v�v����,�,�,�
�
�
�0�
1�
1�	3�	3����U�4�4��8�8�_�_�c�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3����)�U�D�D��H�H�5�5�5�����v�v�c�{�{�+�+�R�0�0�0�	�	�	�	�	�	�	�	�	
���)�T�Z�����8�8�8�	/�	/�	/�	/�	/�	/�	/�	/��
�
�0�
1�
1�	.�	.����U�1�1�3�3�Z�Z��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�
�
�0�
1�
1�	3�	3��M�M�$�u�Q�Q�S�S�z�z�*�*�E�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�
�
�0�
1�
1�	6�	6����]�1�1�3�3�/�/��5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�
�
�
�0�
1�
1�	C�	C��M�M�$�}�Q�Q�S�S�1�1�2�2�M�B�B�B�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C����	C�	C�	C�	C�	"�	"�	"�	"�	"�	"�	"�	"�	
����w�w�r�{�{�+�+�T�2�2�2����-�����4��0@�0@�A�A�A�	�	�	�	�	�	�	�	�	
���)�U�E�E�G�G�4�4�4�4�4sZ�-D	�	D
�D
�,H�H�H�)>I3�3I7�:I7�,K�K�K�5>L?�?M�Mc��|�td��5td���ddd��dS#1swxYwYdS)Nzkeyword argumentz3.14�rb)r)r(r%r*s r�test_keyword_argsz#GeneralFloatCases.test_keyword_args�s���
�
#�
#�I�/A�
B�
B�	�	��F�O�O�O�O�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s
�:�>�>c�N�Gd�dt��}|d��}|�t|��|��|�t|��d��|�t
��5|d���ddd��n#1swxYwYGd�dt��}|dd�	��}|�t|��|��|�t|��d��|�|jd��Gd
�dt��}|dd�	��}|�t|��|��|�t|��d��|�|jd��dS)Nc��eZdZdS)�=GeneralFloatCases.test_keywords_in_subclass.<locals>.subclassNrrrr�subclassr���������Drr�r|rr�c��eZdZdd�ZdS)�GGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_initNc��||_dSr2��newarg)r+�argr�s   rr�zPGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_init.__init__	s
��$����rr2�rrrr�rrr�subclass_with_initr�s(������
%�
%�
%�
%�
%�
%rr��r�c� ��eZdZd�fd�	Z�xZS)�FGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_newNc�Z��t���||��}||_|Sr2)�superr�r�)r�r�r�r+�	__class__s    �rr�zNGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_new.__new__s&����w�w���s�C�0�0��$����rr2)rrrr��
__classcell__)r�s@r�subclass_with_newr�s=�������
�
�
�
�
�
�
�
�
�
rr�)r%r�r_r$r&r(r�)r+r��ur�r�s     r�test_keywords_in_subclassz+GeneralFloatCases.test_keywords_in_subclass�s
��	�	�	�	�	�u�	�	�	��H�S�M�M���
�
�d�1�g�g�x�(�(�(�����q���3�'�'�'�
�
�
�y�
)�
)�	�	��H�q�M�M�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	%�	%�	%�	%�	%��	%�	%�	%�
��s�1�-�-�-���
�
�d�1�g�g�1�2�2�2�����q���3�'�'�'������1�%�%�%�	�	�	�	�	��	�	�	�

��c�!�,�,�,���
�
�d�1�g�g�0�1�1�1�����q���3�'�'�'������1�%�%�%�%�%s�?
B�B�Bc�r�|�d�����|�d�����|�td�������|�td�������dS)Ng�������?��?rr
)�assertFalse�
is_integer�
assertTruer%r*s r�test_is_integerz!GeneralFloatCases.test_is_integers������#�)�)�+�+�,�,�,�������)�)�*�*�*�����u���0�0�2�2�3�3�3�����u���0�0�2�2�3�3�3�3�3rc��dD]-\}}|�|���|���.td��D]}}tj��}|dtjdd��zz}|���\}}|�t|���|��|���~tj}|�|dd��|td��������|�|d	d
��|td��������|�|dd
��|td��������|�|d
d��|td��������|�|dd��|td��������|�|dd��|td��������|�	ttd��j��|�	ttd��j��|�	ttd��j��dS)N))g�?)��)g�)i����r�)r.)rre)g'@)�r��'�
i�����drrer.�r�r|r{l�L�33�l@g������@l�����L�33�g�������i���gh��r
�-infr)r$�as_integer_ratio�range�random�randintr%�__truediv__�	fractions�Fractionr&r�r')r+ra�ratio�i�n�d�Rs       r�test_floatasratioz#GeneralFloatCases.test_floatasratio s����	:�	:�H�A�u�
���Q�/�/�1�1�5�9�9�9�9��u���	9�	9�A��
���A�
��v�~�d�C�0�0�0�0�A��%�%�'�'�D�A�q����U�1�X�X�1�1�!�4�4�a�8�8�8�8���������1�a�����E�#�J�J�7�7�9�9�:�	<�	<�	<������1�a�����E�#�J�J�7�7�9�9�:�	<�	<�	<������1�a�����E�#�J�J�7�7�9�9�:�	<�	<�	<������+�-=�>�>���E�#�J�J�7�7�9�9�:�	<�	<�	<������,�.>�?�?���E�$�K�K�8�8�:�:�;�	=�	=�	=������5�!�����E�'�N�N�;�;�=�=�>�	@�	@�	@�	
���-��u���)F�G�G�G����-��v���)G�H�H�H����*�e�E�l�l�&C�D�D�D�D�Drc	��ttddtf}|D]�}|�||g��|�||f��|�||h��|�||di��|�|g�|��dd|z��|�||����|D�]}|�|g|gkd|�d|�d���|�|f|fkd|�d	|�d
���|�|h|hkd|�d|�d
���|�|di|dikd|�d|�d���|g|f|h|dif\}}}}|�||kd|z��|�||kd|z��|�||kd|z��|�||kd|z����dS)Nr.r�rez[].count('%r') != 1�[z] != [�]�(z,) != (z,)�{z} != {�}z
 : None} != {z : None}z[%r] not equal to itselfz(%r,) not equal to itselfz{%r} not equal to itselfz{%r : None} not equal to itself)�INF�NAN�assertInr$�countr�)r+�floatsra�l�trmr�s       r�test_float_containmentz(GeneralFloatCases.test_float_containmentAs7����t�S�#�s�+���	%�	%�A��M�M�!�a�S�!�!�!��M�M�!�a�T�"�"�"��M�M�!�a�S�!�!�!��M�M�!�a��Y�'�'�'����a�S�Y�Y�q�\�\�1�.C�a�.G�H�H�H��M�M�!�V�$�$�$�$��
	K�
	K�A��O�O�Q�C�A�3�J�J�!�!�!�Q�Q�Q�(?�@�@�@��O�O�Q�D�Q�D�L�L�a�a�a����*C�D�D�D��O�O�Q�C�A�3�J�J�!�!�!�Q�Q�Q�(?�@�@�@��O�O�Q��J�1�d�)�3�3�DE�A�A�q�q�q�6J�
K�
K�
K���q�d�Q�C�!�T��2�J�A�q�!�Q��O�O�A��F�$>��$B�C�C�C��O�O�A��F�$?�!�$C�D�D�D��O�O�A��F�$>��$B�C�C�C��O�O�A��F�$E��$I�J�J�J�J�
	K�
	Krc�r�|�|td|��f|td|��f��dS)Nr�)r$r	)r+�arSs   r�assertEqualAndEqualSignz)GeneralFloatCases.assertEqualAndEqualSignZs>��	
���!�X�c�1�-�-�.��H�S�!�4D�4D�0E�F�F�F�F�Frc���|�td�����t��|�td�����d��|�td�����d��|�td�����d��|�td�����d��|�td�����d��|�td	�����d
��|�td�����d��|�td�����d��|�ttd
��j��|�ttd��j��|�ttd��j��dS)Nr{rr�re��?���������������Nݯ�b��Nݯ��rr
r�)�assertIsInstancer%�	__floor__�intr$r&r'r�r*s r�test_float_floorz"GeneralFloatCases.test_float_floor`s������e�C�j�j�2�2�4�4�c�:�:�:�����s���-�-�/�/��3�3�3�����s���-�-�/�/��3�3�3�����s���-�-�/�/��3�3�3�����t���.�.�0�0�"�5�5�5�����t���.�.�0�0�"�5�5�5�����t���.�.�0�0�"�5�5�5�����x���2�2�4�4�h�?�?�?�����y�)�)�3�3�5�5�y�A�A�A����*�e�E�l�l�&<�=�=�=����-��u���)?�@�@�@����-��v���)@�A�A�A�A�Arc���|�td�����t��|�td�����d��|�td�����d��|�td�����d��|�td�����d��|�td�����d	��|�td
�����d	��|�td�����d��|�td�����d��|�ttd
��j��|�ttd��j��|�ttd��j��dS)Nr{rer�rr�rrrrrrrrr
r�)rr%�__ceil__rr$r&r'r�r*s r�test_float_ceilz!GeneralFloatCases.test_float_ceilns������e�C�j�j�1�1�3�3�S�9�9�9�����s���,�,�.�.��2�2�2�����s���,�,�.�.��2�2�2�����s���,�,�.�.��2�2�2�����t���-�-�/�/��3�3�3�����t���-�-�/�/��4�4�4�����t���-�-�/�/��4�4�4�����x���1�1�3�3�X�>�>�>�����y�)�)�2�2�4�4�i�@�@�@����*�e�E�l�l�&;�<�<�<����-��u���)>�?�?�?����-��v���)?�@�@�@�@�@rc��tj}|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��dS)Nrr�r.�0��.�+����0��.�++)�operator�modr)r+r%s  r�test_float_modz GeneralFloatCases.test_float_mod|s����l���$�$�S�S��s�^�^�S�9�9�9��$�$�S�S��#�%6�%6��<�<�<��$�$�S�S��s�^�^�S�9�9�9��$�$�S�S��c�]�]�C�8�8�8��$�$�S�S���%5�%5�v�>�>�>��$�$�S�S��c�]�]�C�8�8�8��$�$�S�S��t�_�_�d�;�;�;��$�$�S�S��$�%7�%7��A�A�A��$�$�S�S��t�_�_�d�;�;�;��$�$�S�S��d�^�^�T�:�:�:��$�$�S�S���%6�%6��=�=�=��$�$�S�S��d�^�^�T�:�:�:�:�:rc	�p'�ttjfD�]�}|�t|tt
������|�t|dt
������|�t|dt
������|�t|dt
������|�t|dt
������|�t|dt
������|�t|dt
������|�t|dt
������|�t|tt
������|�t|t
t
������|�t|t
t������|�t|t
d������|�t|t
d������|�t|t
d������|�t|t
d������|�t|t
d������|�t|t
d������|�t|t
t������|�t|dd��|�t|dd��|�t|dd��|�t|dd��|�t|dd��|�t|dd��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dt��d��|�|dt��d��|�|dt��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dt��d��|�|dt
��d��|�|td��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|td��d��|�|t
d��d��|�|td��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|td��d��|�|t
d��d��|�	t|dd����t��|�	t|dd����t��|�	t|dd����t��|�	t|dd����t��|�	t|dd����t��|�	t|dd����t��|�|dt��t��|�|dt��t��|�|dt��t��|�|dt��t��|�|tt��d��|�|dt��d��|�|dt��d��|�|tt��d��|�|dt��d��|�|dt��d��|�|dt��d��|�|dt��d��|�|tt��t��|�|dt��t��|�|dt��t��|�|tt��t��|�|td��d��|�|td��d��|�|td��d��|�|td��t��|�|td��t��|�|td��t��|�|td��t��|�|td��t��|�|td��t��|�|td��d��|�|td��d��|�|td��d��|�|dd��d	��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d
��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d	��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d
��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd
��d��|�	t|dd����t��|�|dd��d��|�|dd
��d��|�|dd��d��|�|dd��d��|�|dd��d��|�	t|dd����t��|�|dd��d��|�|dd��d��|�|dd��d��|�|dd��d�����dS)Ng�rrr"r.r{�@r�rzg@�}Ô%�I���}Ô%�I�Tg@��gB��gD��g@�@gB�@gD�@)�powr$r�rrrr&�ZeroDivisionErrorrr$r_�complex)r+�pow_ops  r�test_float_powz GeneralFloatCases.test_float_pow�s���
�8�<�'�u	C�u	C�F��O�O�E�&�&�#��s�"3�"3�4�4�5�5�5��O�O�E�&�&��s�"3�"3�4�4�5�5�5��O�O�E�&�&��s�"3�"3�4�4�5�5�5��O�O�E�&�&��s�"3�"3�4�4�5�5�5��O�O�E�&�&��s�"3�"3�4�4�5�5�5��O�O�E�&�&��c�"2�"2�3�3�4�4�4��O�O�E�&�&��c�"2�"2�3�3�4�4�4��O�O�E�&�&��c�"2�"2�3�3�4�4�4��O�O�E�&�&��c�"2�"2�3�3�4�4�4��O�O�E�&�&��c�"2�"2�3�3�4�4�4�
�O�O�E�&�&��s�d�"3�"3�4�4�5�5�5��O�O�E�&�&��d�"3�"3�4�4�5�5�5��O�O�E�&�&��d�"3�"3�4�4�5�5�5��O�O�E�&�&��d�"3�"3�4�4�5�5�5��O�O�E�&�&��c�"2�"2�3�3�4�4�4��O�O�E�&�&��c�"2�"2�3�3�4�4�4��O�O�E�&�&��c�"2�"2�3�3�4�4�4��O�O�E�&�&��c�"2�"2�3�3�4�4�4�
���/���t�D�D�D����/���d�C�C�C�
���/���t�D�D�D����/���t�D�D�D����/���d�C�C�C����/���d�C�C�C�
�(�(����c�):�):�D�A�A�A��(�(����S�)9�)9�3�?�?�?�
�(�(����c�):�):�C�@�@�@��(�(����c�):�):�C�@�@�@��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?�
�(�(����s�d�);�);�S�A�A�A��(�(����c�):�):�C�@�@�@�
�(�(����c�T�):�):�C�@�@�@��(�(����T�):�):�C�@�@�@��(�(����T�):�):�C�@�@�@��(�(����T�):�):�C�@�@�@��(�(����T�):�):�C�@�@�@��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?�
�(�(�����c�):�):�C�@�@�@��(�(����c�):�):�C�@�@�@��(�(����c�):�):�C�@�@�@��(�(����c�):�):�C�@�@�@��(�(����c�):�):�C�@�@�@��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?��(�(�����d�);�);�S�A�A�A��(�(����d�);�);�S�A�A�A��(�(����d�);�);�S�A�A�A��(�(����d�);�);�S�A�A�A��(�(����d�);�);�S�A�A�A��(�(����T�):�):�C�@�@�@��(�(����T�):�):�C�@�@�@��(�(����T�):�):�C�@�@�@��(�(����T�):�):�C�@�@�@��(�(����T�):�):�C�@�@�@��(�(����T�):�):�C�@�@�@�
���T�&�&��t�"4�"4�5�5�w�?�?�?����T�&�&��s�"3�"3�4�4�g�>�>�>����T�&�&��t�"4�"4�5�5�w�?�?�?����T�&�&��s�"3�"3�4�4�g�>�>�>����T�&�&��t�"4�"4�5�5�w�?�?�?����T�&�&��s�"3�"3�4�4�g�>�>�>�
�(�(����s�d�);�);�S�A�A�A��(�(����s�d�);�);�S�A�A�A��(�(����c�T�):�):�C�@�@�@��(�(����c�T�):�):�C�@�@�@�
�(�(�����s�d�);�);�S�A�A�A��(�(����s�d�);�);�S�A�A�A��(�(����c�T�):�):�C�@�@�@��(�(����c�T�):�):�C�@�@�@�
�(�(����c�):�):�C�@�@�@��(�(����c�):�):�C�@�@�@��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?�
�(�(�����c�):�):�C�@�@�@��(�(����c�):�):�C�@�@�@��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?�
�(�(�����d�);�);�T�B�B�B�
�(�(�����d�);�);�S�A�A�A��(�(�����d�);�);�S�A�A�A�
�(�(�����c�):�):�S�D�A�A�A�
�(�(�����c�):�):�C�@�@�@��(�(�����c�):�):�C�@�@�@�
�(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?�
�(�(����T�):�):�C�@�@�@��(�(����T�):�):�C�@�@�@��(�(����T�):�):�C�@�@�@�
�(�(����d�);�);�T�B�B�B��(�(����d�);�);�T�B�B�B��(�(����d�);�);�S�A�A�A��(�(����c�):�):�C�@�@�@��(�(����c�):�):�D�A�A�A��(�(����c�):�):�C�@�@�@��(�(����d�);�);�S�A�A�A��(�(����d�);�);�T�B�B�B��(�(����d�);�);�S�A�A�A��(�(����c�):�):�C�@�@�@��(�(����c�):�):�D�A�A�A��(�(����c�):�):�C�@�@�@��(�(����T�):�):�D�A�A�A��(�(����T�):�):�C�@�@�@��(�(����T�):�):�C�@�@�@��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?��(�(����S�)9�)9�3�?�?�?�
�(�(����V�)<�)<�c�B�B�B��(�(����U�);�);�S�A�A�A��(�(����f�)=�)=�s�C�C�C��(�(����e�)<�)<�c�B�B�B�
�(�(����g�)>�)>��D�D�D����T�&�&��w�"7�"7�8�8�'�B�B�B��(�(����g�)>�)>��E�E�E��(�(����W�)=�)=�s�C�C�C��(�(����W�)=�)=�s�C�C�C��(�(����W�)=�)=�s�C�C�C��(�(����f�)=�)=�s�C�C�C����T�&�&��v�"6�"6�7�7��A�A�A��(�(����f�)=�)=�t�D�D�D��(�(����V�)<�)<�c�B�B�B��(�(����V�)<�)<�c�B�B�B��(�(����V�)<�)<�c�B�B�B�B�ku	C�u	Crc�t�tdd��D]?}|�tt|����t|�����@|�tttjj����tttjj������|�ttd����tjj	��|�ttd����tjj	��dS)Ni���r
r�)
r�r$�hashr%�sys�
float_info�maxr�	hash_infor
�r+rbs  r�	test_hashzGeneralFloatCases.test_hashYs����s�B���	6�	6�A����T�%��(�(�^�^�T�!�W�W�5�5�5�5�����e�C�N�$6�7�7�8�8��c�#�.�"4�5�5�6�6�	8�	8�	8�����e�E�l�l�+�+�S�]�->�?�?�?�����e�F�m�m�,�,�s�}�/@�.@�A�A�A�A�Arc�h�td��}|�t|��t�|����Gd�d��}Gd�dt|��}|d��}|�t|��t�|����dS)Nrc��eZdZd�ZdS)�*GeneralFloatCases.test_hash_nan.<locals>.Hc��dSr�rr*s r�__hash__z3GeneralFloatCases.test_hash_nan.<locals>.H.__hash__er�rN)rrrr=rrr�Hr;dr�rr>c��eZdZdS)�*GeneralFloatCases.test_hash_nan.<locals>.FNrrrrr�r@gr�rr�)r%r$r2r�r=)r+r�r>r�s    r�
test_hash_nanzGeneralFloatCases.test_hash_nanas����e��������e���f�o�o�e�&<�&<�=�=�=�	�	�	�	�	�	�	�	�	�	�	�	�	��q�	�	�	���%��������e���f�o�o�e�&<�&<�=�=�=�=�=rN)rrrr,r/rErcrgrrr�run_with_localer�r�r�r�r�r�rrrr�requires_IEEE_754r&r/r8rArrrrr%s�������O�O�O�>'�'�'�:�:�:�**�*�*�:@�@�@����6�W��\�7�G�<�<�:�:�=�<�:�4A5�A5�A5�F���&�&�&�64�4�4�E�E�E�BK�K�K�2G�G�G�B�B�B�A�A�A�
��;�;���;�&
��yC�yC���yC�PB�B�B�	>�	>�	>�	>�	>rr�
__getformat__zrequires __getformat__c��eZdZd�ZdS)�FormatFunctionsTestCasec�^�|�t�d��gd���|�t�d��gd���|�ttjd��|�t
tjd��dS)Nr)�unknownzIEEE, big-endianzIEEE, little-endianr%�chickenre)rr%rDr&r'r(r*s r�test_getformatz&FormatFunctionsTestCase.test_getformatos����
�
�e�)�)�(�3�3�L�L�L�	N�	N�	N��
�
�e�)�)�'�2�2�L�L�L�	N�	N�	N����*�e�&9�9�E�E�E����)�U�%8�!�<�<�<�<�<rN)rrrrJrrrrFrFms#������=�=�=�=�=rrFs�s�s�s�c��eZdZejd���Zejd���Zejeje	dud��d�����Z
dS)�IEEEFormatTestCasec��dtfdtfdtfdtffD]\}}t	j||���dS)Nz>dz<d)�
BE_DOUBLE_INF�
BE_DOUBLE_NAN�
LE_DOUBLE_INF�
LE_DOUBLE_NAN�struct�unpack�r+�fmt�datas   r�test_double_specials_do_unpackz1IEEEFormatTestCase.test_double_specials_do_unpack�sX����/���/���/���/�1�	%�	%�I�C��
�M�#�t�$�$�$�$�		%�	%rc��dtfdtfdtfdtffD]\}}t	j||���dS)Nz>f�<f)�BE_FLOAT_INF�BE_FLOAT_NAN�LE_FLOAT_INF�LE_FLOAT_NANrRrSrTs   r�test_float_specials_do_unpackz0IEEEFormatTestCase.test_float_specials_do_unpack�sX����.���.���.���.�0�	%�	%�I�C��
�M�#�t�$�$�$�$�		%�	%rN�needs _testcapic��tj}|�tjdd��tjd|����|�tjdd��tjd|����dS)NrYgn���Ggn����)�	_testcapi�FLT_MAXr$rR�pack)r+rbs  r�test_serialized_float_roundingz1IEEEFormatTestCase.test_serialized_float_rounding�sp���#�������T�=�9�9�6�;�t�W�;U�;U�V�V�V������T�>�:�:�F�K��w�h�<W�<W�X�X�X�X�Xr)rrrrrCrWr^�unittest�skipIfrardrrrrLrL�s���������%�%���%�
��%�%���%�
���X�_�Y�$�&�(9�:�:�Y�Y�;�:���Y�Y�YrrLc�@�eZdZd�Zejd���Zd�Zd�ZdS)�FormatTestCasec��|�tdd��d��|�tdd��d��|�tdd��d��|�tdd��d��d	}|�t|d��t|����|�t|d
��t|����|�t|d��t|����|�t|d��t|����|�td
d��d��|�tdd��d��|�td
d��d��|�tdd��d��|�td
d��d��|�tdd��d��|�tdd��d��|�ttdd��dD]�}|�ttd|��|�ttd
|��|�ttd|��|�ttd|��|�ttd|��|�ttd|��|�ttd|����|�tt
d��d��|�tt
d��d ��|�ttd��d!��|�ttd��d"��dS)#Nr.raz0.000000r;�0.0g{�G�z�?�0.01�gg%I�$I�,@�-�>�2r�z1.000000rz	-1.000000z fz	 1.000000z+fz	+1.000000�%z-100.000000%ryrm�sbcdoxXr*r)r#r!rr�rr
r)r$�formatrXr&r'rr)r+rb�format_specs   r�test_formatzFormatTestCase.test_format�sm��	
�����S�)�)�:�6�6�6�	
�����R���%�0�0�0������b�)�)�6�2�2�2������c�*�*�F�3�3�3�
�������2����A���/�/�/������3����Q���0�0�0������3����Q���0�0�0������3����Q���0�0�0������S�)�)�:�6�6�6������c�*�*�K�8�8�8������d�+�+�[�9�9�9������d�+�+�[�9�9�9������d�+�+�[�9�9�9������d�+�+�[�9�9�9�	
�����c�*�*�N�;�;�;�	
���*�f�c�3�7�7�7�%�	H�	H�K����j�&�#�{�C�C�C����j�&�#�{�C�C�C����j�&�$��D�D�D����j�&�%��E�E�E����j�&�&�+�F�F�F����j�&�&�+�F�F�F����j�&�'�;�G�G�G�G�	
�����S�)�)�5�1�1�1������S�)�)�5�1�1�1������S�)�)�5�1�1�1������S�)�)�5�1�1�1�1�1rc��ttd���5}|D]�}|�d��r�|���}|s�/t	t
j|�d����\}}|���\}}|�|t|��z|��|�|t|��zd|z����	ddd��dS#1swxYwYdS)N�utf-8��encodingz--z->rm)	�open�format_testfile�
startswith�strip�maprX�splitr$r%)r+�testfile�line�lhs�rhsrUr�s       r�test_format_testfilez#FormatTestCase.test_format_testfile�s6��
�/�G�
4�
4�
4�	?�� �

?�

?���?�?�4�(�(����z�z�|�|������s�y�$�*�*�T�*:�*:�;�;���S��9�9�;�;���S�� � ��u�S�z�z�!1�3�7�7�7�� � ���c�
�
�{�!2�C�#�I�>�>�>�>�

?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?s�C
C/�/C3�6C3c���|�tdd��d��|�tdd��d��|�tdd��d��dS)N�w��/�^@z.4z123.5g
ףp=J�@z	1.235e+03g������@z	1.235e+04�r$rrr*s r�test_issue5864zFormatTestCase.test_issue5864�sh��������.�.��8�8�8�������.�.��<�<�<�������.�.��<�<�<�<�<rc��|�tdd��d��|�tdd��d��|�tdd��d��|�tdd	��d
��|�tdd��d��|�tdd
��d��|�tdd��d
��|�tdd��d��|�tdd��d��|�tdd��d��|�tdd��d��|�tdd	��d��|�tdd��d��|�tdd��d��|�tdd
��d��|�tdd��d��dS)Ng�^@�00z123.0g�(\���^@�00fz
123.340000�00ez1.233400e+02�00gz123.34z00.10fz123.3400000000z00.10ez1.2334000000e+02z00.10g�01fg�^�z-123.0g�(\���^�z-123.340000z
-1.233400e+02z-123.34z-123.3400000000z-1.2334000000e+02r�r*s r�test_issue35560zFormatTestCase.test_issue35560�s
�������t�,�,�g�6�6�6�������.�.��=�=�=�������.�.��?�?�?�������.�.��9�9�9�������1�1�3C�D�D�D�������1�1�3E�F�F�F�������1�1�8�<�<�<�������.�.��=�=�=�������-�-�x�8�8�8�������/�/��?�?�?�������/�/��A�A�A�������/�/��;�;�;�������2�2�4E�F�F�F�������2�2�4E�F�F�F�������2�2�4G�H�H�H�������2�2�I�>�>�>�>�>rN)	rrrrtrrCr�r�r�rrrrhrh�sa������12�12�12�f
��?�?���?�=�=�=�
?�?�?�?�?rrhc�f�eZdZd�Zejeedd��dkd��d���ZdS)�ReprTestCasec
���ttj�tj�t
��dd��d���5}|D]m}|���}|r|�d��r�.t|��}|�	|tt|�������n	ddd��dS#1swxYwYdS)Nrzfloating_points.txtrvrw�#)ry�os�path�joinr~�__file__r|r{rCr$�repr)r+�floats_filer��vs    r�	test_reprzReprTestCase.test_repr�s��
�"�'�,�,�r�w�}�}�X�6�6�q�9�'�)�)�3:�<�<�<�	3�?J�#�
3�
3���z�z�|�|����t���s�3�3�����J�J��� � ��D��a���M�M�2�2�2�2�
3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s�A1C�C�C�float_repr_styler;�short�.applies only when using short float repr stylec	�
�gd�}|D]�}d|z}|�|tt|������|�|tt|������|�tt|����tt|������|�tt|����tt|��������dS)N)rj�1.0rkz0.02z0.03z0.04z0.05z
1.23456789z10.0z100.0z1000000000000000.0z9999999999999990.0z1e+16z1e+17z0.001z0.001001z0.00010000000000001z0.0001z9.999999999999e-05z1e-05z8.72293771110361e+25z7.47005307342313e+26z2.86438000439698e+28z8.89142905246179e+28z3.08578087079232e+35rm)r$r�r%rX)r+�test_stringsrm�negss    r�test_short_reprzReprTestCase.test_short_reprs��� � � ��D�	B�	B�A��q�5�D����Q��U�1�X�X���/�/�/����T�4��d���#4�#4�5�5�5����T�%��(�(�^�^�S��q���]�]�;�;�;����T�%��+�+�.�.��E�$�K�K�0@�0@�A�A�A�A�
	B�	BrN)	rrrr�re�
skipUnless�getattrr3r�rrrr�r��sr������3�3�3��X�����&8�"�=�=��H�I�K�K�0B�0B�K�K�0B�0B�0Brr�c���eZdZd�Zd�Zd�Zd�Zd�Zej	e
edd��dkd	��d
���Zej	e
edd��dkd	��d���Z
d�Zd
�ZdS)�
RoundTestCasec��|�ttt��|�ttt��|�ttt
��|�tttd��|�tttd��|�ttt
d��|�ttdd��dS)Nr.r�zceci n'est pas un integerr"y�?)r&r��roundrr'rr(r*s r�test_inf_nanzRoundTestCase.test_inf_nan>s������-���4�4�4����-����5�5�5����*�e�S�1�1�1����)�U�C��5�5�5����)�U�S�D�#�6�6�6����)�U�C�1L�M�M�M����)�U�D�"�5�5�5�5�5rc�6�|�ttd��t��|�ttd��t��|�t	jttd������dS)Nr)r$r�rr��mathrrr*s r�test_inf_nan_ndigitsz"RoundTestCase.test_inf_nan_ndigitsGsl������s�A����,�,�,������t�Q���#��.�.�.�����
�5��a�=�=�1�1�2�2�2�2�2rc��ddddddddzfD]�}|�td	|��d	��|�td
|��d
��|�td|��d��|�td|��d����|�td
d��d
��|�tdd��d��|�tdd��d��|�td
d��d
��|�tdd��d��dS)NiDiEi�i���llr�r�r��w��/�^��u�<�7~��g��P.5�_i,i3go���!	�i4i5gS��i;g�i�r$r��r+r�s  r�test_large_nzRoundTestCase.test_large_nLsK���s�C��%���3��?�	7�	7�A����U�7�A�.�.��8�8�8����U�8�Q�/�/��:�:�:����U�5�!�_�_�e�4�4�4����U�6�1�-�-�v�6�6�6�6�����u�c�*�*�E�2�2�2�����u�c�*�*�E�2�2�2�����w��,�,�g�6�6�6�����u�c�*�*�E�2�2�2�����x��-�-�v�6�6�6�6�6rc�F�ddddddddzfD]�}|�td	|��d
��|�td|��d��|�td
|��d
��|�td|��d
����dS)N����i���ip���i�i�l����r�r�r�r.r�r"r�r�r�r�s  r�test_small_nzRoundTestCase.test_small_nXs�����d�G�V�X��3��w�G�	4�	4�A����U�7�A�.�.��4�4�4����U�8�Q�/�/��6�6�6����U�5�!�_�_�c�2�2�2����U�6�1�-�-�s�3�3�3�3�		4�	4rc��|�ttdd��|�ttdd��dS)Ng3t�<{�r�gv;w0�B�)r&r�r�r*s r�
test_overflowzRoundTestCase.test_overflow_s<�����-����>�>�>����-���$�?�?�?�?�?rr�r;r�r�c���|�tdd��d��|�tdd��d��|�tdd��d��|�tdd��d	��|�td
d��d	��|�tdd��d��|�td
d��d��|�tdd��d��|�tdd��d��|�tdd��d��dS)NgCreg�������Br�g9@rg4@g�A@gD@g�F@g�K@gN@g@P@g�R@gT@g@U@g�W@gY@r�r*s r�test_previous_round_bugsz&RoundTestCase.test_previous_round_bugscsL��	
����0�!�4�4�+�	-�	-�	-�����/��3�3�)�	+�	+�	+�	
����t�R���$�/�/�/�����t�R���$�/�/�/�����t�R���$�/�/�/�����t�R���$�/�/�/�����t�R���$�/�/�/�����t�R���$�/�/�/�����t�R���$�/�/�/�����t�R���%�0�0�0�0�0rc	��td��D�]}|dz}|�tt|d����t	|d����|�tt|d����t	|d����|�tt|d����t	|d����|�tt|d	����t	|d
������tddd
��D�]}|dz}|�tt|d����t	|d����|�tt|d����t	|d����|�tt|d����t	|d����|�tt|d	����t	|d
������td��D�]}tj��}|�tt|d����t	|d����|�tt|d����t	|d����|�tt|d����t	|d����|�tt|d	����t	|d
������dS)Ni�g@�@z.0frz.1frez.2fr�z.3fr�r�i�r�)r�r$r%rrr�r�)r+r�rbs   r�test_matches_float_formatz'RoundTestCase.test_matches_float_formatus����s���	C�	C�A��%��A����U�6�!�U�#3�#3�4�4�e�A�q�k�k�B�B�B����U�6�!�U�#3�#3�4�4�e�A�q�k�k�B�B�B����U�6�!�U�#3�#3�4�4�e�A�q�k�k�B�B�B����U�6�!�U�#3�#3�4�4�e�A�q�k�k�B�B�B�B��q�$��#�#�	C�	C�A��%��A����U�6�!�U�#3�#3�4�4�e�A�q�k�k�B�B�B����U�6�!�U�#3�#3�4�4�e�A�q�k�k�B�B�B����U�6�!�U�#3�#3�4�4�e�A�q�k�k�B�B�B����U�6�!�U�#3�#3�4�4�e�A�q�k�k�B�B�B�B��s���	C�	C�A��
���A����U�6�!�U�#3�#3�4�4�e�A�q�k�k�B�B�B����U�6�!�U�#3�#3�4�4�e�A�q�k�k�B�B�B����U�6�!�U�#3�#3�4�4�e�A�q�k�k�B�B�B����U�6�!�U�#3�#3�4�4�e�A�q�k�k�B�B�B�B�	C�	Crc����fd�}dD]�}d|dd�z}d|dd�z}||td��||td��||td��||td��||td	��||td��||td
��||td
��||td��||td��||td��||td����dS)
Nc�����||z||��|dd�}��t||��||��dSr�r�)rUr��expectedr+s   �r�testz0RoundTestCase.test_format_specials.<locals>.test�sT������S�5�[�(�C�8�8�8��a�b�b�'�C����V�E�3�/�/��3�?�?�?�?�?r)z%ez%fz%gz%.0ez%.6fz%.20gz%#ez%#fz%#gz%#.20ez%#.15fz%#.3gz%+rez% r
r�r�+inf�+nanz infz nan)rr)r+r�rU�pfmt�sfmts`    r�test_format_specialsz"RoundTestCase.test_format_specials�sb���	@�	@�	@�	@�	@�F�	%�	%�C��#�a�b�b�'�>�D��#�a�b�b�'�>�D��D��c�5�!�!�!��D��s�d�F�#�#�#��D��c�5�!�!�!��D��s�d�E�"�"�"�
�D��s�F�#�#�#��D���t�V�$�$�$��D��s�F�#�#�#��D���t�V�$�$�$�
�D��s�F�#�#�#��D���t�V�$�$�$��D��s�F�#�#�#��D���t�V�$�$�$�$�'	%�	%rc��td��tdd��tdd���fD]3}|�|d��|�|t���4td��tdd��tdd���fD]3}|�|d��|�|t���4dS)Ng�G�z��?)�ndigitsreg{�G�z�?r�)r�r$rrr7s  r�test_None_ndigitszRoundTestCase.test_None_ndigits�s����t���e�D�$�/�/��t�T�1J�1J�1J�J�	*�	*�A����Q��"�"�"��!�!�!�S�)�)�)�)��t���e�D�$�/�/��t�T�1J�1J�1J�J�	*�	*�A����Q��"�"�"��!�!�!�S�)�)�)�)�	*�	*rN)rrrr�r�r�r�r�rer�r�r3r�r�r�r�rrrr�r�;s������6�6�6�3�3�3�

7�
7�
7�4�4�4�@�@�@��X�����&8�"�=�=��H�I�K�K�1�1�K�K�1� �X�����&8�"�=�=��H�I�K�K�C�C�K�K�C�.%�%�%�<*�*�*�*�*rr�c�~�eZdZd�Zd�Zd�Zd�Zd�Zej	e
edd��dkd	��d
���ZdS)�
InfNanTestc��|�ttd������|�ttd������|�ttd������|�ttd������|�ttd������|�ttd������|�t	td����d��|�t	td����d��|�t	td����d��|�t	td����d��|�t	td����d��|�t	td����d��|�t	td����d��|�t	td����d��|�t	td	����d��|�t	td
����d��|�t	td����d��|�t	td����d��|�ttd����d��|�ttd����d��|�ttd����d��|�ttd����d��|�ttd����d��|�ttd����d��|�ttd
��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��dS)Nr
r�r��infinityz	+infinity�	-infinityr�+Infz-iNF�Infinityz	+iNfInItYz	-INFINITY�infoz+infoz-info�inz+inz-in�infinitz+Infinz-INFI�	infinitysz++Infz-+infz
+-infinityz
--Infinity)r�rr%r$r�rXr&r'r*s r�test_inf_from_strzInfNanTest.test_inf_from_str�s�������e�E�l�l�+�+�,�,�,�����e�F�m�m�,�,�-�-�-�����e�F�m�m�,�,�-�-�-�����e�J�/�/�0�0�1�1�1�����e�K�0�0�1�1�2�2�2�����e�K�0�0�1�1�2�2�2�����e�E�l�l�+�+�U�3�3�3�����e�F�m�m�,�,�e�4�4�4�����e�F�m�m�,�,�f�5�5�5�����e�J�/�/�0�0�%�8�8�8�����e�K�0�0�1�1�5�9�9�9�����e�K�0�0�1�1�6�:�:�:�����e�E�l�l�+�+�U�3�3�3�����e�F�m�m�,�,�e�4�4�4�����e�F�m�m�,�,�f�5�5�5�����e�J�/�/�0�0�%�8�8�8�����e�K�0�0�1�1�5�9�9�9�����e�K�0�0�1�1�6�:�:�:�����U�5�\�\�*�*�E�2�2�2�����U�6�]�]�+�+�U�3�3�3�����U�6�]�]�+�+�V�4�4�4�����U�:�.�.�/�/��7�7�7�����U�;�/�/�0�0�%�8�8�8�����U�;�/�/�0�0�&�9�9�9����*�e�V�4�4�4����*�e�W�5�5�5����*�e�W�5�5�5����*�e�T�2�2�2����*�e�U�3�3�3����*�e�U�3�3�3����*�e�Y�7�7�7����*�e�X�6�6�6����*�e�W�5�5�5����*�e�[�9�9�9����*�e�W�5�5�5����*�e�W�5�5�5����*�e�\�:�:�:����*�e�\�:�:�:�:�:rc��|�td��d��|�td��d��|�td��d��|�td��d��dS)Ng�r
g�r��r$r�rXr*s r�test_inf_as_strzInfNanTest.test_inf_as_str�s�������m�,�,�e�4�4�4�����n�-�-�v�6�6�6�����]�+�+�U�3�3�3�����^�,�,�f�5�5�5�5�5rc��|�ttd������|�ttd������|�ttd������|�t	td����d��|�t	td����d��|�t	td����d��|�t	td����d��|�t	td����d��|�t	td����d��|�ttd����d��|�ttd����d��|�ttd����d��|�ttd��|�ttd��|�ttd	��|�ttd
��|�ttd��|�ttd��|�ttd
��|�ttd��|�ttd��|�ttd��dS)Nrr��-nanrz+NAn�-NaN�nanaz+nanaz-nana�naz+naz-naz++nanz-+NAN�+-NaNz--nAn)r�rr%r$r�rXr&r'r*s r�test_nan_from_strzInfNanTest.test_nan_from_str�s�������e�E�l�l�+�+�,�,�,�����e�F�m�m�,�,�-�-�-�����e�F�m�m�,�,�-�-�-�����e�E�l�l�+�+�U�3�3�3�����e�F�m�m�,�,�e�4�4�4�����e�F�m�m�,�,�e�4�4�4�����e�E�l�l�+�+�U�3�3�3�����e�F�m�m�,�,�e�4�4�4�����e�F�m�m�,�,�e�4�4�4�����U�5�\�\�*�*�E�2�2�2�����U�6�]�]�+�+�U�3�3�3�����U�6�]�]�+�+�U�3�3�3����*�e�V�4�4�4����*�e�W�5�5�5����*�e�W�5�5�5����*�e�T�2�2�2����*�e�U�3�3�3����*�e�U�3�3�3����*�e�W�5�5�5����*�e�W�5�5�5����*�e�W�5�5�5����*�e�W�5�5�5�5�5rc��|�td��d��|�td��d��|�td��d��|�td��d��dS)Ng��rg��g��g��r�r*s r�test_nan_as_strzInfNanTest.test_nan_as_str	s�������/�0�0�%�8�8�8�����0�1�1�5�9�9�9�����.�/�/��7�7�7�����/�0�0�%�8�8�8�8�8rc���|�tdtd����d��|�tdtd����d��dS)Nr�r
r�r�r$r	r%r*s r�test_inf_signszInfNanTest.test_inf_signssT������#�u�U�|�|�4�4�c�:�:�:�����#�u�V�}�}�5�5�t�<�<�<�<�<rr�r;r�r�c���|�tdtd����d��|�tdtd����d��dS)Nr�rr�rr�r*s r�test_nan_signszInfNanTest.test_nan_signssV��
	
����#�u�U�|�|�4�4�c�:�:�:�����#�u�V�}�}�5�5�t�<�<�<�<�<rN)
rrrr�r�r�r�r�rer�r�r3r�rrrr�r��s�������+;�+;�+;�Z6�6�6�6�6�6�:9�9�9�=�=�=��X�����&8�"�=�=��H�I�K�K�=�=�K�K�=�=�=rr�c��eZdZed��Zed��Zed��Zed��Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�ZdS)
�HexFloatTestCasez0x.fffffffffffff8p+1024z	0x1p-1022z0x0.0000000000001p-1022z0x0.0000000000001p0c��t|��st|��r#t|��t|��krdSn0||kr*|dks"td|��td|��krdS|�|�d|����dS)Nr.r�z not identical to )rr	�fail)r+rb�ys   r�	identicalzHexFloatTestCase.identical%s�����8�8�	�u�Q�x�x�	��Q�x�x�5��8�8�#�#���$�
�!�V�V��c���X�c�1�%5�%5��#�q�9I�9I�%I�%I��F��	�	�a�a�a���3�4�4�4�4�4rc	�v�|�|jtdd����|�|jtdd����|�|jtdd����|�|jdtdd��tdd��z
z��dS)Nr�i���i���i���r(i�i�)r��MINr
�TINY�EPS�MAXr*s r�	test_endszHexFloatTestCase.test_ends/s������t�x��s�E�!2�!2�3�3�3����t�y�%��U�"3�"3�4�4�4����t�x��s�C���1�1�1����t�x��U�3��%5�%5��c�3���%G�!H�I�I�I�I�Irc��gd�}|D]>}	t|��}|�d|�d|�d����/#t$rY�;wxYwdS)N)3�infiz-Infinitz++infz-+Infz--nanr��snan�NaNs�nna�an�nf�nfinity�inity�iinity�0xnanr;rqzx1.0p0z0xX1.0p0z	+ 0x1.0p0z	- 0x1.0p0z0 x1.0p0z0x 1.0p0z	0x1 2.0p0z	+0x1 .0p0z0x1. 0p0z
-0x1.0 1p0z	-0x1.0 p0z
+0x1.0p +0z	0x1.0p -0z0x1.0p 0z
+0x1.0p+ 0z
-0x1.0p- 0z
++0x1.0p-0z	--0x1.0p0z
+-0x1.0p+0z	-+0x1.0p0z	0x1.0p++0z
+0x1.0p+-0z
-0x1.0p-+0z	0x1.0p--0z0x1.0.p0z0x.p0z0x1,p0�0x1pau0x1p0u0x1p0u0x1p0u	0x1.0p0z
0x1p0 
 0x2p0z0x1p0 0x1p0zExpected float.fromhex(z) to raise ValueError; got z instead)�fromHexr�r')r+�invalid_inputsrb�results    r�test_invalid_inputsz$HexFloatTestCase.test_invalid_inputs5s���4�4�4��j �	:�	:�A�
:� ������	�	�	�./�a�a����9�:�:�:�:���
�
�
���
����	:�	:s�6�
A�Ac���dtfdtfdtfdddg}gd�}|D]:\}}|D]2}|D]-}t||z|z��}|�||���.�3�;dS)Nr
z	-Infinityr)r�r�)z-0x.2g��)z-0.0r")r;rq�	�
z
 	���
)rrr�r�)r+�value_pairs�
whitespace�inpr��lead�trail�gots        r�test_whitespacez HexFloatTestCase.test_whitespaceus���
�C�L�
�3�$��
�C�L����
��	�	�	�
�)�	2�	2�M�C��"�
2�
2��'�2�2�E�!�$��*�u�"4�5�5�C��N�N�3��1�1�1�1�2�
2�	2�	2rc�K�|j}|j}|j}|j}|�td��t��|�td��t��|�td��t��|�td��t��|�td��t��|�td��t��|�td��t��|�td��t��|�td	��t��|�td
��t��|�td��t��|�td��t��|�td
��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td ��d��|�td!��d��|�td"��d��|�td#��d��|�td$��d��|�td%��d��|�td&��d��|�td'��d��|�td(��d��|�td)��d��|�td*��d+��|�td,��d+��|�td-��d+��|�td.��d+��|�td/��d0��|�td1��d0��|�td2��d0��|�td3��d0��|�td4��d0��|�td5��d0��|�td6��d0��|�td7��d0��td8��}|�td9��|��|�td:��|��|�td;��|��|�td<��|��|�td=��|��|�td>��|��|�td?��|��|�td@��|��|�tdA��|��|�tdB��|��|�td8��|��|�tdC��|��|�tdD��|��|�tdE��|��|�tdF��|��|�tdG��|��|�tdH��|��|�tdI��|��|�tdJ��|��|�tdK��|��|�tdL��|��|�tdM��|��|�tdN��|��|�tdO��|��|�tdP��|��|�tdQ��|��|�tdR��|��|�tdS��|��|�tdT��|��|�tdU��|��|�tdV��|��|�tdW��|��|�tt
dX��|�tt
dY��|�tt
dZ��|�tt
d[��|�tt
d\��|�tt
d]��|�tt
d^��|�tt
d_��|�tt
d`��|�tt
da��|�tt
db��|�tt
dc��|�tt
dd��|�tt
de��|�tt
df��|�tt
dg��|�tt
dh��|�tt
di��|�tt
dj��|�tdk��|��|�tdl��|��|�tdm��|��|�tdn��do��|�tdp��do��|�tdq��dr��|�tds��do��|�tdt��dr��|�tdu��do��|�tdv��do��|�tdw��dr��|�tdx��dr��|�tdy��do��|�tdz��dr��|�td{��dr��|�td|��dr��|�td}��do��|�td~��dr��|�td��do��|�td���do��|�td���dr��|�td���dr��|�td���do��|�td���dr��|�td���dr��|�td���|��|�td���|��|�td���|��|�td���do��|�td���do��|�td���|��|�td���|��|�td���|��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���dr��|�td���dr��|�td���|��|�td���|��|�td���|��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���d�|z��|�td���|d�|zz
��|�td���|d�|zz
��|�td���|d�|zz
��|�td���|d�|zz
��|�td���|d�|zz
��|�td���|d�|zz
��|�td���|d�|zz
��|�td���|d�|zz
��|�td���|d�|zz
��|�td���|d�|zz
��|�td���||z
��|�td���||z
��|�td���||z
��|�td���||z
��|�td���||z
��|�td���||z
��|�td���||z
��|�td���|��|�td���|��|�td¦�|��|�tdæ�|��|�tdĦ�|��|�tdŦ�|��|�tdƦ�|��|�tdǦ�|��|�tdȦ�|��|�tdɦ�||z��|�tdʦ�||z��|�td˦�||z��|�td̦�||z��|�tdͦ�||z��|�tdΦ�||z��|�tdϦ�||z��|�tdЦ�|d�|zz��|�tdѦ�d|z
��|�tdҦ�d|z
��|�tdӦ�d|z
��|�tdԦ�d|z
��|�tdզ�d|z
��|�td֦�d|d�zz
��|�tdצ�d|d�zz
��|�tdئ�d|d�zz
��|�td٦�d|d�zz
��|�tdڦ�d|d�zz
��|�tdۦ�d|d�zz
��|�tdܦ�d|d�zz
��|�tdݦ�d��|�tdަ�d��|�tdߦ�d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d��|�td��d�|z��|�td��d|z��|�td��d|z��|�td��d|z��|�td��d|z��|�td��d|z��|�td��d|z��|�td��d|z��|�td��d|z��|�td���d|z��|�td���d|z��|�td���d|z��|�td���d|z��|�td���d|z��|�td���d|z��|�td���d|z��|�td���d|z��|�td���dd�|zz��|�td���dd�|zz��|�td���dd�|zz��|�t�d��dd�|zz��|�t�d��dd�|zz��|�t�d��dd�|zz��|�t�d��dd�|zz��|�t�d��dd�|zz��|�t�d��dd�|zz��|�t�d��dd�|zz��|�t�d��do��|�t�d��do��|�t�d	��|��|�t�d
��do��|�t�d��do��|�t�d��|��|�t�d
��do��|�t�d��|��|�t�d��do��|�t�d��do��|�t�d��dr��|�t�d��do��dS(Nr
r�z-INF�iNfr�z	+INFINITYr�z	-iNFiNitYrz+NaNr�z-nAN�1r�z+1z1.r�z1.0p0�01z01.�0x1z0x1.z0x1.0z+0x1.0�0x1p0�0X1p0�0X1P0�0x1P0z0x1.p0z0x1.0p0z0x.1p4z0x.1p04z0x.1p004z0x1p+0z0x1P-0z+0x1p0�0x01p0�0x1p00z 0x1p0 z
 0x1p0z0x1p0 	�0xap0g$@�0xAp0�0xaP0�0xAP0�0xbep0g�g@�0xBep0�0xbEp0z0XBE0P-4�0xBEp0z0xB.Ep4z0x.BEp8z	0x.0BEp12z0x1.921fb54442d18p1z0x.006487ed5110b46p11z0x.00c90fdaa22168cp10z0x.01921fb54442d18p9z0x.03243f6a8885a3p8z0x.06487ed5110b46p7z0x.0c90fdaa22168cp6z0x.1921fb54442d18p5z0x.3243f6a8885a3p4z0x.6487ed5110b46p3z0x.c90fdaa22168cp2z0x3.243f6a8885a3p0z0x6.487ed5110b46p-1z0xc.90fdaa22168cp-2z0x19.21fb54442d18p-3z0x32.43f6a8885a3p-4z0x64.87ed5110b46p-5z0xc9.0fdaa22168cp-6z0x192.1fb54442d18p-7z0x324.3f6a8885a3p-8z0x648.7ed5110b46p-9z0xc90.fdaa22168cp-10z0x1921.fb54442d18p-11z0x1921fb54442d1.8p-47z0x3243f6a8885a3p-48z0x6487ed5110b46p-49z0xc90fdaa22168cp-50z0x1921fb54442d18p-51z0x3243f6a8885a30p-52z0x6487ed5110b460p-53z0xc90fdaa22168c0p-54z0x1921fb54442d180p-55z	-0x1p1024z	0x1p+1025z	+0X1p1030z
-0x1p+1100�0X1p123456789123456789z+0X.8p+1025z+0x0.8p1025z-0x0.4p1026z	0X2p+1023z	0x2.p1023z-0x2.0p+1023z
+0X4p+1022z0x1.ffffffffffffffp+1023z-0X1.fffffffffffff9p1023z0X1.fffffffffffff8p1023z+0x3.fffffffffffffp1022z0x3fffffffffffffp+970�0x10000000000000000p960z-0Xffffffffffffffffp960z+0x1.fffffffffffffp+1023z-0X1.fffffffffffff7p1023z$0X1.fffffffffffff7fffffffffffffp1023�0x0p0r.�0x0p1000z	-0x0p1023r"�0X0p1024z	-0x0p1025�0X0p2000�0x0p123456789123456789z-0X0p-0z
-0X0p-1000z	0x0p-1023z
-0X0p-1024z
-0x0p-1025z
-0x0p-1072z	0X0p-1073z
-0x0p-1074z	0x0p-1075z	0X0p-1076z
-0X0p-2000z-0x0p-123456789123456789z	0X1p-1075z
-0X1p-1075z-0x1p-123456789123456789z0x1.00000000000000001p-1075z-0x1.1p-1075z0x1.fffffffffffffffffp-1075z	0x1p-1076z	0X2p-1076z	0X3p-1076z	0x4p-1076z	0X5p-1076z	0X6p-1076r�z	0x7p-1076z	0X8p-1076z	0X9p-1076z	0xap-1076z	0Xbp-1076r�z	0xcp-1076z	0Xdp-1076z	0Xep-1076rfz	0xfp-1076z
0x10p-1076z
-0x1p-1076z
-0X2p-1076z
-0x3p-1076z
-0X4p-1076z
-0x5p-1076z
-0x6p-1076rz
-0X7p-1076z
-0X8p-1076z
-0X9p-1076z
-0Xap-1076z
-0xbp-1076���z
-0xcp-1076z
-0Xdp-1076z
-0xep-1076���z
-0Xfp-1076z-0X10p-1076z0x0.ffffffffffffd6p-1022z0x0.ffffffffffffd8p-1022z0x0.ffffffffffffdap-1022z0x0.ffffffffffffdcp-1022z0x0.ffffffffffffdep-1022z0x0.ffffffffffffe0p-1022z0x0.ffffffffffffe2p-1022z0x0.ffffffffffffe4p-1022z0x0.ffffffffffffe6p-1022z0x0.ffffffffffffe8p-1022z0x0.ffffffffffffeap-1022z0x0.ffffffffffffecp-1022z0x0.ffffffffffffeep-1022z0x0.fffffffffffff0p-1022z0x0.fffffffffffff2p-1022z0x0.fffffffffffff4p-1022z0x0.fffffffffffff6p-1022z0x0.fffffffffffff8p-1022z0x0.fffffffffffffap-1022z0x0.fffffffffffffcp-1022z0x0.fffffffffffffep-1022z0x1.00000000000000p-1022z0x1.00000000000002p-1022z0x1.00000000000004p-1022z0x1.00000000000006p-1022z0x1.00000000000008p-1022z0x1.0000000000000ap-1022z0x1.0000000000000cp-1022z0x1.0000000000000ep-1022z0x1.00000000000010p-1022z0x1.00000000000012p-1022z0x1.00000000000014p-1022z0x1.00000000000016p-1022z0x1.00000000000018p-1022z0x0.fffffffffffff0p0z0x0.fffffffffffff1p0z0X0.fffffffffffff2p0z0x0.fffffffffffff3p0z0X0.fffffffffffff4p0z0X0.fffffffffffff5p0z0X0.fffffffffffff6p0z0x0.fffffffffffff7p0z0x0.fffffffffffff8p0z0X0.fffffffffffff9p0z0X0.fffffffffffffap0z0x0.fffffffffffffbp0z0X0.fffffffffffffcp0z0x0.fffffffffffffdp0z0X0.fffffffffffffep0z0x0.ffffffffffffffp0z0X1.00000000000000p0z0X1.00000000000001p0z0x1.00000000000002p0z0X1.00000000000003p0z0x1.00000000000004p0z0X1.00000000000005p0z0X1.00000000000006p0z0X1.00000000000007p0z(0x1.00000000000007ffffffffffffffffffffp0z0x1.00000000000008p0z&0x1.00000000000008000000000000000001p0rez0X1.00000000000009p0z0x1.0000000000000ap0z0x1.0000000000000bp0z0X1.0000000000000cp0z0x1.0000000000000dp0z0x1.0000000000000ep0z0X1.0000000000000fp0z0x1.00000000000010p0z0X1.00000000000011p0z0x1.00000000000012p0z0X1.00000000000013p0z0X1.00000000000014p0z0x1.00000000000015p0z0x1.00000000000016p0z0X1.00000000000017p0z(0x1.00000000000017ffffffffffffffffffffp0z0x1.00000000000018p0z&0X1.00000000000018000000000000000001p0z0x1.00000000000019p0z0X1.0000000000001ap0z0X1.0000000000001bp0z0x1.0000000000001cp0z0x1.0000000000001dp0z0x1.0000000000001ep0z0X1.0000000000001fp0z0x1.00000000000020p0z
0x.8p-1074z0x.80p-1074z0x.81p-1074z	0x8p-1078z0x8.0p-1078z0x8.1p-1078z
0x80p-1082z
0x81p-1082z.8p-1074z8p-1078z	-.8p-1074z+8p-1078)
r�r�r�r�r�r�rrr&r�)r+r�r�r�r��pis      r�
test_from_hexzHexFloatTestCase.test_from_hex�s���h���h���y���h��	
���w�u�~�~�s�+�+�+����w�v����,�,�,����w�v�����-�-�-����w�u�~�~�s�+�+�+����w�z�*�*�C�0�0�0����w�{�+�+�S�1�1�1����w�{�+�+�c�T�2�2�2����w�{�+�+�c�T�2�2�2�	
���w�u�~�~�s�+�+�+����w�v����,�,�,����w�v����,�,�,����w�v����,�,�,�	
���w�s�|�|�S�)�)�)����w�t�}�}�c�*�*�*����w�t�}�}�c�*�*�*����w�u�~�~�s�+�+�+����w�w�'�'��-�-�-����w�t�}�}�c�*�*�*����w�u�~�~�s�+�+�+����w�u�~�~�s�+�+�+����w�v����,�,�,����w�w�'�'��-�-�-����w�x�(�(�#�.�.�.����w�w�'�'��-�-�-����w�w�'�'��-�-�-����w�w�'�'��-�-�-����w�w�'�'��-�-�-����w�x�(�(�#�.�.�.����w�y�)�)�3�/�/�/����w�x�(�(�#�.�.�.����w�y�)�)�3�/�/�/����w�z�*�*�C�0�0�0����w�x�(�(�#�.�.�.����w�x�(�(�#�.�.�.����w�x�(�(�#�.�.�.����w�x�(�(�#�.�.�.����w�x�(�(�#�.�.�.����w�y�)�)�3�/�/�/����w�z�*�*�C�0�0�0����w�z�*�*�C�0�0�0����w�w�'�'��.�.�.����w�w�'�'��.�.�.����w�w�'�'��.�.�.����w�w�'�'��.�.�.����w�x�(�(�%�0�0�0����w�x�(�(�%�0�0�0����w�x�(�(�%�0�0�0����w�z�*�*�E�2�2�2����w�x�(�(�%�0�0�0����w�y�)�)�5�1�1�1����w�y�)�)�5�1�1�1����w�{�+�+�U�3�3�3��*�
+�
+�����w�6�7�7��<�<�<����w�6�7�7��<�<�<����w�5�6�6��;�;�;����w�4�5�5�r�:�:�:����w�4�5�5�r�:�:�:����w�4�5�5�r�:�:�:����w�4�5�5�r�:�:�:����w�3�4�4�b�9�9�9����w�3�4�4�b�9�9�9����w�3�4�4�b�9�9�9����w�4�5�5�r�:�:�:����w�3�4�4�b�9�9�9����w�4�5�5�r�:�:�:����w�4�5�5�r�:�:�:����w�5�6�6��;�;�;����w�4�5�5�r�:�:�:����w�4�5�5�r�:�:�:����w�4�5�5�r�:�:�:����w�5�6�6��;�;�;����w�4�5�5�r�:�:�:����w�4�5�5�r�:�:�:����w�5�6�6��;�;�;����w�6�7�7��<�<�<����w�6�7�7��<�<�<����w�4�5�5�r�:�:�:����w�4�5�5�r�:�:�:����w�4�5�5�r�:�:�:����w�5�6�6��;�;�;����w�5�6�6��;�;�;����w�5�6�6��;�;�;����w�5�6�6��;�;�;����w�6�7�7��<�<�<�	
���-��+�>�>�>����-��+�>�>�>����-��+�>�>�>����-��,�?�?�?����-��2J�K�K�K����-��-�@�@�@����-��-�@�@�@����-��-�@�@�@����-��+�>�>�>����-��+�>�>�>����-��.�A�A�A����-��,�?�?�?����-��2L�M�M�M����-��2L�M�M�M����-��2K�L�L�L����-��2K�L�L�L����-��2I�J�J�J����-��2K�L�L�L����-��2K�L�L�L�	
���w�9�:�:�C�@�@�@����w�9�:�:�S�D�A�A�A����w�E�F�F��L�L�L�	
���w�w�'�'��-�-�-����w�z�*�*�C�0�0�0����w�{�+�+�T�2�2�2����w�z�*�*�C�0�0�0����w�{�+�+�T�2�2�2����w�z�*�*�C�0�0�0����w�7�8�8�#�>�>�>����w�y�)�)�4�0�0�0����w�|�,�,�d�3�3�3����w�{�+�+�S�1�1�1����w�|�,�,�d�3�3�3����w�|�,�,�d�3�3�3����w�|�,�,�d�3�3�3����w�{�+�+�S�1�1�1����w�|�,�,�d�3�3�3����w�{�+�+�S�1�1�1����w�{�+�+�S�1�1�1����w�|�,�,�d�3�3�3����w�9�:�:�D�A�A�A�	
���w�{�+�+�S�1�1�1����w�|�,�,�d�3�3�3����w�9�:�:�D�A�A�A����w�<�=�=�t�D�D�D����w�~�.�.���6�6�6����w�<�=�=�t�D�D�D�	
���w�{�+�+�S�1�1�1����w�{�+�+�S�1�1�1����w�{�+�+�T�2�2�2����w�{�+�+�T�2�2�2����w�{�+�+�T�2�2�2����w�{�+�+�Q�t�V�4�4�4����w�{�+�+�Q�t�V�4�4�4����w�{�+�+�Q�t�V�4�4�4����w�{�+�+�Q�t�V�4�4�4����w�{�+�+�Q�t�V�4�4�4����w�{�+�+�Q�t�V�4�4�4����w�{�+�+�Q�t�V�4�4�4����w�{�+�+�Q�t�V�4�4�4����w�{�+�+�Q�t�V�4�4�4����w�{�+�+�Q�t�V�4�4�4����w�|�,�,�a��f�5�5�5����w�|�,�,�d�3�3�3����w�|�,�,�d�3�3�3����w�|�,�,�t�e�4�4�4����w�|�,�,�t�e�4�4�4����w�|�,�,�t�e�4�4�4����w�|�,�,�b��g�6�6�6����w�|�,�,�b��g�6�6�6����w�|�,�,�b��g�6�6�6����w�|�,�,�b��g�6�6�6����w�|�,�,�b��g�6�6�6����w�|�,�,�b��g�6�6�6����w�|�,�,�b��g�6�6�6����w�|�,�,�b��g�6�6�6����w�|�,�,�b��g�6�6�6����w�|�,�,�b��g�6�6�6����w�}�-�-�r�$�w�7�7�7�	
���w�9�:�:�C��$��J�G�G�G����w�9�:�:�C��$��J�G�G�G����w�9�:�:�C��$��J�G�G�G����w�9�:�:�C��$��J�G�G�G����w�9�:�:�C��$��J�G�G�G����w�9�:�:�C��$��J�G�G�G����w�9�:�:�C��$��J�G�G�G����w�9�:�:�C��$��J�G�G�G����w�9�:�:�C��$��J�G�G�G����w�9�:�:�C��$��J�G�G�G����w�9�:�:�C��H�E�E�E����w�9�:�:�C��H�E�E�E����w�9�:�:�C��H�E�E�E����w�9�:�:�C��H�E�E�E����w�9�:�:�C��H�E�E�E����w�9�:�:�C��H�E�E�E����w�9�:�:�C��H�E�E�E����w�9�:�:�C�@�@�@����w�9�:�:�C�@�@�@����w�9�:�:�C�@�@�@����w�9�:�:�C�@�@�@����w�9�:�:�C�@�@�@����w�9�:�:�C�@�@�@����w�9�:�:�C�@�@�@����w�9�:�:�C�@�@�@����w�9�:�:�C�@�@�@����w�9�:�:�C��H�E�E�E����w�9�:�:�C��H�E�E�E����w�9�:�:�C��H�E�E�E����w�9�:�:�C��H�E�E�E����w�9�:�:�C��H�E�E�E����w�9�:�:�C��H�E�E�E����w�9�:�:�C��H�E�E�E����w�9�:�:�C��$��J�G�G�G�	
���w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��E�	�B�B�B����w�5�6�6��C��E�	�B�B�B����w�5�6�6��C��E�	�B�B�B����w�5�6�6��C��E�	�B�B�B����w�5�6�6��C��E�	�B�B�B����w�5�6�6��C��E�	�B�B�B����w�5�6�6��C��E�	�B�B�B����w�5�6�6��<�<�<����w�5�6�6��<�<�<����w�5�6�6��<�<�<����w�5�6�6��<�<�<����w�5�6�6��<�<�<����w�5�6�6��<�<�<����w�5�6�6��<�<�<����w�5�6�6��<�<�<����w�5�6�6��<�<�<����w�5�6�6��<�<�<����w�5�6�6��<�<�<����w�5�6�6��<�<�<����w�I�J�J��	�	�	����w�5�6�6��<�<�<����w�G�H�H���u�	�	�	����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�5�6�6��C��@�@�@����w�I�J�J��3�w�	 �	 �	 ����w�5�6�6��A�c�E�	�B�B�B����w�G�H�H��1�S�5�y�	"�	"�	"����w�5�6�6��A�c�E�	�B�B�B����w�5�6�6��A�c�E�	�B�B�B����w�5�6�6��A�c�E�	�B�B�B����w�5�6�6��A�c�E�	�B�B�B����w�5�6�6��A�c�E�	�B�B�B����w�5�6�6��A�c�E�	�B�B�B����w�5�6�6��A�c�E�	�B�B�B����w�5�6�6��A�c�E�	�B�B�B�	
���w�|�,�,�c�2�2�2����w�}�-�-�s�3�3�3����w�}�-�-�t�4�4�4����w�{�+�+�S�1�1�1����w�}�-�-�s�3�3�3����w�}�-�-�t�4�4�4����w�|�,�,�c�2�2�2����w�|�,�,�d�3�3�3����w�z�*�*�C�0�0�0����w�y�)�)�3�/�/�/����w�{�+�+�T�2�2�2����w�z�*�*�C�0�0�0�0�0rc	�(�d�}tt|j|j|j|jz
|jdfD]B}|�|||����|�|||�����Cddl}td��D]�}|jdd��}|j��}|j	ddg��}	|t||��z}|�|tt|�������y#t$rY��wxYwdS)	Nc�:�tt|����Sr2)r��toHexr�s r�	roundtripz2HexFloatTestCase.test_roundtrip.<locals>.roundtrip�s���5��8�8�$�$�$rr.rr�iP���i�r�r)rrr�r�r�r�r�r��	randrange�choicer
r�r/r�)r+r0rbr�r��e�mrms        r�test_roundtripzHexFloatTestCase.test_roundtrip�s>��	%�	%�	%��s�D�H�d�h�����0B�D�I�s�S�	.�	.�A��N�N�1�i�i��l�l�+�+�+��N�N�A�2�y�y�!��}�}�-�-�-�-�	�
�
�
��u���		5�		5�A� �� ���-�-�A���
���A���
�s�D�k�*�*�A�
5��e�A�q�k�k�M�����q�'�%��(�(�"3�"3�4�4�4�4��!�
�
�
���
����
		5�		5s�>D�
D�Dc��Gd�dt��}|�d�����}|�t	|��|��|�|d��Gd�dt��}|�d�����}|�t	|��|��|�|d��|�t
|dd��d	��dS)
Nc��eZdZd�ZdS)�)HexFloatTestCase.test_subclass.<locals>.Fc�>�t�||dz��Sr�r�r�s  rr�z1HexFloatTestCase.test_subclass.<locals>.F.__new__�s���}�}�S�%�!�)�4�4�4rN)rrrr�rrrr�r8�s#������
5�
5�
5�
5�
5rr�rr|c��eZdZd�ZdS)�*HexFloatTestCase.test_subclass.<locals>.F2c��d|_dS)N�bar)�foor�s  rr�z3HexFloatTestCase.test_subclass.<locals>.F2.__init__�s
�� ����rNr�rrr�F2r;�s#������
!�
!�
!�
!�
!rr?r>�noner=)r%�fromhex�hexr�r_r$r�)r+r�rar?s    r�
test_subclasszHexFloatTestCase.test_subclass�s��	5�	5�	5�	5�	5��	5�	5�	5�
�I�I�s�i�i�k�k�"�"���
�
�d�1�g�g�q�!�!�!�����C� � � �	!�	!�	!�	!�	!��	!�	!�	!�
�J�J��y�y�{�{�#�#���
�
�d�1�g�g�r�"�"�"�����C� � � ������E�6�2�2�E�:�:�:�:�:rN)rrrr�r�r�r�r�r�r�rrr,r5rCrrrr�r�s�������
�'�+�
,�
,�C�
�'�+�
�
�C��7�,�-�-�D�
�'�'�
(�
(�C�5�5�5�J�J�J�=:�=:�=:�@2�2�2�4i1�i1�i1�V	5�5�5�*;�;�;�;�;rr�reg@?gp>g�<�r�rfr�r_c� �eZdZd�Zd�Zd�ZdS)�	PackTestsc�:�|�tjddt��d��|�tjddt��d��|�tjddt��d��|�tjddt��d��|�tjddt��d	��|�tjddt��d
��dS)Nr�r�>rf�?�r��?��>��?��?)r$ra�
float_pack�
BIG_ENDIAN�
LITTLE_ENDIANr*s r�	test_packzPackTests.test_pack�s������-�a��j�A�A�!�	#�	#�	#�����-�a��j�A�A�)�	+�	+�	+�����-�a��j�A�A�9�	;�	;�	;�����-�a��m�D�D�!�	#�	#�	#�����-�a��m�D�D�)�	+�	+�	+�����-�a��m�D�D�9�	;�	;�	;�	;�	;rc�.�|�tjdt��d��|�tjdt��d��|�tjdt��d��|�tjdt��d��|�tjdt��d��|�tjdt��d��dS)NrHrrIrJrKrLrM)r$ra�float_unpackrOrPr*s r�test_unpackzPackTests.test_unpack�s������/��*�E�E��	�	�	�����/�0@�*�M�M��	�	�	�����/�0P�R\�]�]��	�	�	�����/��-�H�H��	�	�	�����/�0@�-�P�P��	�	�	�����/�0P�R_�`�`��	�	�	�	�	rc��d}dd|dtjg}tr!|�tt
f��|D�]}dD�]}|dkr||kr�t|}ttfD]�}|�	|||���5tj|||��}tj||��}t|��r&|�t|��||f��nJ|dkr.|�tj|||�	��||f��n|�||��ddd��n#1swxYwY�ݐ�
��dS)
Ng0Fr�rg�$I�$I�?rDr�)r��size�endianr�)�rel_tol)r�r+�
HAVE_IEEE_754�extendrr�EPSILONrOrPr^rarNrSrr��iscloser$)	r+�large�valuesr�rVrXrWrV�value2s	         rr5zPackTests.test_roundtrip
s������s�E�5�$�'�2���	&��M�M�3��*�%�%�%��	<�	<�E�"�
<�
<���1�9�9��%����!�$�-��)�=�9�
<�
<�F����E��V��L�L�	<�	<�(�3�D�%��H�H��!*�!7��f�!E�!E�� ��<�<�<� �O�O�E�&�M�M�E�6�?�K�K�K�K�!�A�X�X� �O�O�D�L���PW�,X�,X�,X�-2�F�O�=�=�=�=�!�,�,�V�U�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<��
<�
<�	<�	<s�B+D?	�?E
�E
N)rrrrQrTr5rrrrFrF�sA������;�;�;����<�<�<�<�<rrF�__main__)Fr�r$r�r�r3rRr�rer�r�test.supportr�test.test_grammarrrr�rrr	r
rar]r%rDr{rYrrr��dirnamer��curdir�test_dirr�rzrr�TestCaserr��hasattrrFrNrY�reversedrPrOrQrZr\r[r]rLrhr�rCr�r�rAr�rBr/r�rOrPr[rfrFr�mainrrr�<module>rjs�����������	�	�	�	�
�
�
�
�
�
�
�
�
�
�
�
���������������&�&�&�&�&�&�<�<�<�<�<�<�<�<�.�.�.�.�.�.�.�.�.�.�.�.�����������������I�I�I������#�#�H�-�-�8�8��@�@�
��e�E�l�l���e�E�l�l���7�?�?�8�$�$�1��	���'�,�,�x�)D�E�E��	�	�	�	�	�E�	�	�	�	�	�	�	�	��	�	�	�E	>�E	>�E	>�E	>�E	>��)�E	>�E	>�E	>�P���W�W�U�O�4�4�6N�O�O�=�=�=�=�=�h�/�=�=�P�O�=�4�
���h�h�}�-�-�.�.�
�3�
���h�h�}�-�-�.�.�
�"���u�X�X�l�+�+�,�,��"���u�X�X�l�+�+�,�,��Y�Y�Y�Y�Y��*�Y�Y�Y�2Z?�Z?�Z?�Z?�Z?�X�&�Z?�Z?�Z?�x=B�=B�=B�=B�=B�8�$�=B�=B�=B�~	��v*�v*�v*�v*�v*�H�%�v*�v*���v*�vc=�c=�c=�c=�c=��"�c=�c=�c=�L�-��
�	��@;�@;�@;�@;�@;�x�(�@;�@;�@;�J�
��
�����������d�"�$5�6�6�2<�2<�2<�2<�2<��!�2<�2<�7�6�2<�j�z����H�M�O�O�O�O�O��s�A�A�A