Sindbad~EG File Manager

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

�

'Μg����ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
mZddlmZmZmZmZddlZ	ddlZed�Zed�Zej2j5e�xsej8Zej2j=ed�ZGd	�d
e�Z Gd�de�Z!Gd
�dejD�Z#ejHe%ed�d�Gd�dejD��Z&dZ'e(e)e'��Z*dZ+e(e)e+��Z,dZ-e(e)e-��Z.dZ/e(e)e/��Z0Gd�dejD�Z1Gd�dejD�Z2Gd�dejD�Z3e	jhGd�dejDe��Z5Gd�d ejD�Z6ejnZ8ejrZ:Gd!�d"eejD�Z;e<d#k(rejz�yy#e$rdZY���wxYw)$�N)�support)�FloatsAreIdenticalMixin)�VALID_UNDERSCORE_LITERALS�INVALID_UNDERSCORE_LITERALS)�isinf�isnan�copysign�ldexp�inf�nanzformatfloat_testcases.txtc��eZdZy)�
FloatSubclassN��__name__�
__module__�__qualname__���,/usr/local/lib/python3.12/test/test_float.pyrr���rrc��eZdZy)�OtherFloatSubclassNrrrrrr!rrrc���eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	jddd	�d
��Zd�Zd�Z
d
�Zd�Zd�Zd�Zd�Zd�Zd�Ze	j*d��Ze	j*d��Zd�Zd�Zy)�GeneralFloatCasesc���|jtd�d�|jtd�d�|jtd�d�|jttd�|jttd�|jttd�|jttd�|jttd	�|jttd
�|jttd�|jttd�|jttd
�|jttd�|jttd�|jtti�|jtdti�|jttd�|jttd�|jttd�|jtd�d�|jtd�d�td�td�|jttd�y)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&s�������t��d�+�����s��U�+�����z�*�D�1����*�e�[�9����*�e�^�<����*�e�^�<����*�e�X�6����*�e�X�6����*�e�X�6����*�e�X�6����*�e�V�4����*�e�W�5����*�e�S�1����*�e�T�2����)�U�B�/����y�,��r�B����*�e�X�6����*�e�Y�7����*�e�W�5�����8�9�4�@�����=�>��E�
���
�n��	
���*�e�-M�Nrc�8�|jt�d�y)N�)r"r#r(s r�test_noargszGeneralFloatCases.test_noargsEs�������#�&rc
���tD]o�t�fd�dD��r�|jt��t	���|jt��t�jdd����qtD]7��dvr�t�fd�dD��r�|jtt���9|jttd�|jttd�|jttd	�|jttd
�|jttd�|jttd�y)
Nc3�&�K�|]}|�v���
y�w�Nr��.0�ch�lits  �r�	<genexpr>z5GeneralFloatCases.test_underscores.<locals>.<genexpr>J������6�:�R�r�S�y�:����jJxXoObB�_�)�0_7�09_99c3�&�K�|]}|�v���
y�wr0rr1s  �rr5z5GeneralFloatCases.test_underscores.<locals>.<genexpr>Pr6r7�_NaN�Na_N�IN_Fz-_INFz-INF_s0_.�9)	r�anyr"r#�eval�replacerr$r%)r)r4s @r�test_underscoresz"GeneralFloatCases.test_underscoresHs����,�C��6�:�6�6�� � ��s��T�#�Y�7�� � ��s��U�3�;�;�s�B�3G�-H�I�-�/�C��&�&���6�:�6�6��!�!�*�e�S�9�	/�	
���*�e�V�4����*�e�V�4����*�e�V�4����*�e�W�5����*�e�W�5����*�e�[�9rc����Gd�dt��Gd�dt�}Gd�dt�}tt�fd�||tg}	dd	lm�|j�fd
��|D]x}|d�}|jt|��5|jt|�d�|jtd
�5t|d��ddd�ddd��zy#t$rY��wxYw#1swY�#xYw#1swY��xYw)Nc��eZdZy)�AGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomStrNrrrr�	CustomStrrG`��rrHc��eZdZy)�CGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomBytesNrrrr�CustomBytesrKarIrrLc��eZdZy)�GGeneralFloatCases.test_non_numeric_input_types.<locals>.CustomByteArrayNrrrr�CustomByteArrayrNbrIrrOc�0���|j��Sr0)�decode)�brHs �r�<lambda>z@GeneralFloatCases.test_non_numeric_input_types.<locals>.<lambda>gs���i����
�+rr)�arrayc����d|�S)N�Br)rRrTs �rrSz@GeneralFloatCases.test_non_numeric_input_types.<locals>.<lambda>qs���u�S�!�}rs 3.14  rzcould not convertsAAAAAAAAAAAAAAAA)
�str�bytes�	bytearray�
memoryviewrT�append�ImportError�subTest�typer"r#r'r%)r)rLrO�	factories�f�xrHrTs      @@r�test_non_numeric_input_typesz.GeneralFloatCases.test_non_numeric_input_types]s����	#��"�&�%�&�.�i�.�
��+����

�	�	6�#�
���4�5��A��*�
�A����d�1�g�&�� � ��q��4�0��+�+�J�8K�L��!�K�.�)�M�'�&����	��	��M�L��'�&�s6�C �	2C;�;C/�
C;� 	C,�+C,�/C8�4C;�;D	c��|jttd�dd�d�|jttd�dd�d�|jttd�dd�d�|jttd�dd�d�|jttd�dd�d�y)	Ns12.3��gffffff@s12.3s12.3 s12.3As12.34)r"r#rZr(s r�test_float_memoryviewz'GeneralFloatCases.test_float_memoryviewzs�������z�'�2�1�Q�7�8�#�>�����z�+�6�q��;�<�c�B�����z�(�3�A�a�8�9�3�?�����z�(�3�A�a�8�9�3�?�����z�(�3�A�a�8�9�3�?rc�����fd�}|d�|d�|d�|d�|d�|d�|d�|d	�|d
�|d�|d�|d
�|d�y)Nc�����jtd|�d���5}t|�ddd��jt	j
�d|���y#1swY�2xYw)Nzfloat(�))�msgz#could not convert string to float: )r$r%r#r"rW�	exception)�s�cmr)s  �r�checkz3GeneralFloatCases.test_error_message.<locals>.check�sR����"�"�:�!�3E�"�F�"��a��G����S����.�;<�>�
@�G�F�s�A�A#�½u123½z  123 456  s  123 456  r:� z	 
u٣١٤!z123z123 245z123245s123s123�r)r)rns` r�test_error_messagez$GeneralFloatCases.test_error_message�sr���	@�	�f�
�
�i��
�m��
�n��
�b�	�
�c�
�
�g��	�#�$�
�i��
�m��
�l��
�j��
�j�r�
LC_NUMERIC�fr_FR�de_DEc���ddl}|j�ddk(s|jd�|jt	d�d�|jt	d�d�|jt	d�d	�|jt	d
�d�|jt	d�d
�|jt	d�d�|jt	d�d�|jt	d�d�|jt	d�d�|jttd�|jttd�|jttd�|jttd�|jttd�|jttd�|jt	d�d�|jt	d�d�y) 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  rrr 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�sy��
	�� � �"�?�3�s�:��M�M�4�5�����z�*�D�1�����y�)�4�0�����y�)�5�1�����w���-�����v���,�����x��&�1�����y�)�6�2�����z�*�D�1�����v���,����*�e�Z�8����*�e�[�9����*�e�[�9����*�e�[�9����*�e�^�<����*�e�^�<�����|�,�c�2����u�\�2�D�9rc	�,�Gd�dt�}Gd�dt�}Gd�dt�}Gd�dt�}Gd	�d
t�}|jt|��d�|jt|��d�|j	t
�5|jt|d��d�ddd�|j
tt|d
��|jt|d��d�Gd�d�}|j
ttj|��Gd�d�}|j	t
�5|jt|��d�ddd�|j	t
�5|jtt|���t�ddd�|j	t
�5|jt|��d�ddd�|j	t
�5|jtt|���t�ddd�Gd�d�}|jt|d
��d�|j
tt|ddz��Gd�d�}	|j
tt|	��y#1swY��xYw#1swY��exYw#1swY��'xYw#1swY��xYw#1swY��xYw)Nc��eZdZd�Zy)�4GeneralFloatCases.test_floatconversion.<locals>.Foo1c��y�N�E@rr(s r�	__float__z>GeneralFloatCases.test_floatconversion.<locals>.Foo1.__float__����rN�rrrr�rrr�Foo1r�����
rr�c��eZdZd�Zy)�4GeneralFloatCases.test_floatconversion.<locals>.Foo2c��yr�rr(s rr�z>GeneralFloatCases.test_floatconversion.<locals>.Foo2.__float__�r�rNr�rrr�Foo2r��r�rr�c��eZdZdd�Zd�Zy)�4GeneralFloatCases.test_floatconversion.<locals>.Foo3c�4�tj|d|z�S)N��r#�__new__��cls�values  rr�z<GeneralFloatCases.test_floatconversion.<locals>.Foo3.__new__�s���}�}�S�!�E�'�2�2rc��|Sr0rr(s rr�z>GeneralFloatCases.test_floatconversion.<locals>.Foo3.__float__�s���rN)r,)rrrr�r�rrr�Foo3r��s��
3�
rr�c��eZdZd�Zy)�4GeneralFloatCases.test_floatconversion.<locals>.Foo4c��y�N�*rr(s rr�z>GeneralFloatCases.test_floatconversion.<locals>.Foo4.__float__����rNr�rrr�Foo4r�����
rr�c��eZdZd�Zy)�6GeneralFloatCases.test_floatconversion.<locals>.FooStrc�0�tt|��dzS�Nrd)r#rWr(s rr�z@GeneralFloatCases.test_floatconversion.<locals>.FooStr.__float__�s���S��Y�'�!�+�+rNr�rrr�FooStrr��s��
,rr�r��r��8g"@c��eZdZd�Zy)�4GeneralFloatCases.test_floatconversion.<locals>.Foo5c��y)Nr:rr(s rr�z>GeneralFloatCases.test_floatconversion.<locals>.Foo5.__float__�r�rNr�rrr�Foo5r��r�rr�c��eZdZd�Zy)�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�Zy)�7GeneralFloatCases.test_floatconversion.<locals>.MyIndexc��||_yr0�r��r)r�s  r�__init__z@GeneralFloatCases.test_floatconversion.<locals>.MyIndex.__init__�s	��"��
rc��|jSr0r�r(s r�	__index__zAGeneralFloatCases.test_floatconversion.<locals>.MyIndex.__index__�s���z�z�!rN)rrrr�r�rrr�MyIndexr��s��
#�
"rr�r�i�c��eZdZd�Zy)�5GeneralFloatCases.test_floatconversion.<locals>.MyIntc��yr�rr(s r�__int__z=GeneralFloatCases.test_floatconversion.<locals>.MyInt.__int__�r�rN)rrrr�rrr�MyIntr��r�rr�)�objectr#rWr"�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�s/��	�6�	�	�5�	�	�5�	�	�5�	�	,�S�	,�	
����t�v���,�����t�v���,�
�
�
�0�
1����U�4��8�_�c�2�2����)�U�D��H�5�����v�c�{�+�R�0�	�	�	
���)�T�Z�Z���8�	/�	/��
�
�0�
1����U�1�3�Z��-�2�
�
�
�0�
1��M�M�$�u�Q�S�z�*�E�2�2�
�
�
�0�
1����]�1�3�/��5�2�
�
�
�0�
1��M�M�$�}�Q�S�1�2�M�B�2�	"�	"�	
����w�r�{�+�T�2����-����4��0@�A�	�	�	
���)�U�E�G�4�I2�
1��2�
1��
1�
1��
1�
1��
1�
1�s<�!"K� !K$�.K1�)!K>�'.L
�K!�$K.�1K;�>L�
Lc�r�|jtd�5td��ddd�y#1swYyxYw)Nzkeyword argumentz3.14�ra)r'r&r#r(s r�test_keyword_argsz#GeneralFloatCases.test_keyword_args�s'��
�
#�
#�I�/A�
B��F�O�C�
B�
B�s�
-�6c��Gd�dt�}|d�}|jt|�|�|jt|�d�|j	t
�5|d��ddd�Gd�dt�}|dd�	�}|jt|�|�|jt|�d�|j|jd�Gd
�dt�}|dd�	�}|jt|�|�|jt|�d�|j|jd�y#1swY��xYw)Nc��eZdZy)�=GeneralFloatCases.test_keywords_in_subclass.<locals>.subclassNrrrr�subclassr�����rr�r{rr�c��eZdZdd�Zy)�GGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_initNc��||_yr0��newarg)r)�argr�s   rr�zPGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_init.__init__s	��$��rr0�rrrr�rrr�subclass_with_initr�s��
%rr��r�c� ��eZdZd�fd�	Z�xZS)�FGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_newc�6��t�|�||�}||_|Sr0)�superr�r�)r�r�r�r)�	__class__s    �rr�zNGeneralFloatCases.test_keywords_in_subclass.<locals>.subclass_with_new.__new__s����w��s�C�0��$����rr0)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�	��S�M���
�
�d�1�g�x�(�����q��3�'�
�
�
�y�
)��q�M�*�	%��	%�
�s�1�-���
�
�d�1�g�1�2�����q��3�'�������1�%�	��	�

�c�!�,���
�
�d�1�g�0�1�����q��3�'�������1�%�'*�
)�s�#
E�Ec� �|jdj��|jdj��|jtd�j��|jtd�j��y)Ng�������?��?rr)�assertFalse�
is_integer�
assertTruer#r(s r�test_is_integerz!GeneralFloatCases.test_is_integersb�����#�)�)�+�,�������)�*�����u��0�0�2�3�����u��0�0�2�3rc���dD]%\}}|j|j�|��'td�D]o}tj�}|dtjdd�zz}|j�\}}|jt|�j
|�|��qtj}|j|dd�|td�j���|j|d	d
�|td�j���|j|dd
�|td�j���|j|d
d�|td�j���|j|dd�|td�j���|j|dd�|td�j���|jttd�j�|jttd�j�|jttd�j�y)N))g�?)��)g�)i����r�)r,)rrd)g'@)�r��'�
i�����drrdr,�r�r{rzl�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)r`�ratio�i�n�d�Rs       r�test_floatasratioz#GeneralFloatCases.test_floatasratios����H�A�u�
���Q�/�/�1�5�9�
��u��A��
�
��A�
��v�~�~�d�C�0�0�0�A��%�%�'�D�A�q����U�1�X�1�1�!�4�a�8�	�
��������1�a���E�#�J�7�7�9�:�	<�����1�a���E�#�J�7�7�9�:�	<�����1�a���E�#�J�7�7�9�:�	<�����+�-=�>��E�#�J�7�7�9�:�	<�����,�.>�?��E�$�K�8�8�:�;�	=�����5�!���E�'�N�;�;�=�>�	@�	
���-��u��)F�)F�G����-��v��)G�)G�H����*�e�E�l�&C�&C�Drc	�&�ttddtf}|D]�}|j||g�|j||f�|j||h�|j||di�|j|gj	|�dd|z�|j||���|D]�}|j|g|gk(d|�d|�d��|j|f|fk(d|�d	|�d
��|j|h|hk(d|�d|�d
��|j|di|dik(d|�d|�d��|g|f|h|dif\}}}}|j||k(d|z�|j||k(d|z�|j||k(d|z�|j||k(d|z���y)Nr,r�rdz[].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)�floatsr`�l�trlr�s       r�test_float_containmentz(GeneralFloatCases.test_float_containment@s�����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��M�M�!�V�$�
��A��O�O�Q�C�A�3�J�!�Q�(?�@��O�O�Q�D�Q�D�L�a��*C�D��O�O�Q�C�A�3�J�!�Q�(?�@��O�O�Q��J�1�d�)�3�DE�q�6J�
K���q�d�Q�C�!�T��2�J�A�q�!�Q��O�O�A��F�$>��$B�C��O�O�A��F�$?�!�$C�D��O�O�A��F�$>��$B�C��O�O�A��F�$E��$I�J�rc�X�|j|td|�f|td|�f�y)Nr�)r"r	)r)�arRs   r�assertEqualAndEqualSignz)GeneralFloatCases.assertEqualAndEqualSignYs,��	
���!�X�c�1�-�.��H�S�!�4D�0E�Frc���|jtd�j�t�|j	td�j�d�|j	td�j�d�|j	td�j�d�|j	td�j�d�|j	td�j�d�|j	td	�j�d
�|j	td�j�d�|j	td�j�d�|jttd
�j�|jttd�j�|jttd�j�y)Nrzrr�rd��?���������������Nݯ�b��Nݯ��rrr�)�assertIsInstancer#�	__floor__�intr"r$r%r�r(s r�test_float_floorz"GeneralFloatCases.test_float_floor_sV�����e�C�j�2�2�4�c�:�����s��-�-�/��3�����s��-�-�/��3�����s��-�-�/��3�����t��.�.�0�"�5�����t��.�.�0�"�5�����t��.�.�0�"�5�����x��2�2�4�h�?�����y�)�3�3�5�y�A����*�e�E�l�&<�&<�=����-��u��)?�)?�@����-��v��)@�)@�Arc���|jtd�j�t�|j	td�j�d�|j	td�j�d�|j	td�j�d�|j	td�j�d�|j	td�j�d	�|j	td
�j�d	�|j	td�j�d�|j	td�j�d�|jttd
�j�|jttd�j�|jttd�j�y)Nrzrdr�rr�rrrrrrrrrr�)rr#�__ceil__rr"r$r%r�r(s r�test_float_ceilz!GeneralFloatCases.test_float_ceilmsV�����e�C�j�1�1�3�S�9�����s��,�,�.��2�����s��,�,�.��2�����s��,�,�.��2�����t��-�-�/��3�����t��-�-�/��4�����t��-�-�/��4�����x��1�1�3�X�>�����y�)�2�2�4�i�@����*�e�E�l�&;�&;�<����-��u��)>�)>�?����-��v��)?�)?�@rc�|�tj}|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�y)Nrr�r,�0��.�+����0��.�++)�operator�modr)r)r$s  r�test_float_modz GeneralFloatCases.test_float_mod{s���l�l���$�$�S��s�^�S�9��$�$�S��#�%6��<��$�$�S��s�^�S�9��$�$�S��c�]�C�8��$�$�S���%5�v�>��$�$�S��c�]�C�8��$�$�S��t�_�d�;��$�$�S��$�%7��A��$�$�S��t�_�d�;��$�$�S��d�^�T�:��$�$�S���%6��=��$�$�S��d�^�T�:rc	���ttjfD�]I}|jt|tt
���|jt|dt
���|jt|dt
���|jt|dt
���|jt|dt
���|jt|dt
���|jt|dt
���|jt|dt
���|jt|tt
���|jt|t
t
���|jt|t
t���|jt|t
d���|jt|t
d���|jt|t
d���|jt|t
d���|jt|t
d���|jt|t
d���|jt|t
t���|j
t|dd�|j
t|dd�|j
t|dd�|j
t|dd�|j
t|dd�|j
t|dd�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dt�d�|j|dt�d�|j|dt�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dt�d�|j|dt
�d�|j|td�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|td�d�|j|t
d�d�|j|td�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|td�d�|j|t
d�d�|jt|dd��t�|jt|dd��t�|jt|dd��t�|jt|dd��t�|jt|dd��t�|jt|dd��t�|j|dt�t�|j|dt�t�|j|dt�t�|j|dt�t�|j|tt�d�|j|dt�d�|j|dt�d�|j|tt�d�|j|dt�d�|j|dt�d�|j|dt�d�|j|dt�d�|j|tt�t�|j|dt�t�|j|dt�t�|j|tt�t�|j|td�d�|j|td�d�|j|td�d�|j|td�t�|j|td�t�|j|td�t�|j|td�t�|j|td�t�|j|td�t�|j|td�d�|j|td�d�|j|td�d�|j|dd�d	�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d
�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d	�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d
�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd
�d�|jt|dd��t�|j|dd�d�|j|dd
�d�|j|dd�d�|j|dd�d�|j|dd�d�|jt|dd��t�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d���Ly)Ng�rrr!r,rz�@r�ryg@�}Ô%�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�<�<�'�F��O�O�E�&�#��s�"3�4�5��O�O�E�&��s�"3�4�5��O�O�E�&��s�"3�4�5��O�O�E�&��s�"3�4�5��O�O�E�&��s�"3�4�5��O�O�E�&��c�"2�3�4��O�O�E�&��c�"2�3�4��O�O�E�&��c�"2�3�4��O�O�E�&��c�"2�3�4��O�O�E�&��c�"2�3�4�
�O�O�E�&��s�d�"3�4�5��O�O�E�&��d�"3�4�5��O�O�E�&��d�"3�4�5��O�O�E�&��d�"3�4�5��O�O�E�&��c�"2�3�4��O�O�E�&��c�"2�3�4��O�O�E�&��c�"2�3�4��O�O�E�&��c�"2�3�4�
���/���t�D����/���d�C�
���/���t�D����/���t�D����/���d�C����/���d�C�
�(�(���c�):�D�A��(�(���S�)9�3�?�
�(�(���c�):�C�@��(�(���c�):�C�@��(�(���S�)9�3�?��(�(���S�)9�3�?�
�(�(���s�d�);�S�A��(�(���c�):�C�@�
�(�(���c�T�):�C�@��(�(���T�):�C�@��(�(���T�):�C�@��(�(���T�):�C�@��(�(���T�):�C�@��(�(���S�)9�3�?��(�(���S�)9�3�?��(�(���S�)9�3�?��(�(���S�)9�3�?��(�(���S�)9�3�?��(�(���S�)9�3�?�
�(�(����c�):�C�@��(�(���c�):�C�@��(�(���c�):�C�@��(�(���c�):�C�@��(�(���c�):�C�@��(�(���S�)9�3�?��(�(���S�)9�3�?��(�(���S�)9�3�?��(�(���S�)9�3�?��(�(���S�)9�3�?��(�(���S�)9�3�?��(�(����d�);�S�A��(�(���d�);�S�A��(�(���d�);�S�A��(�(���d�);�S�A��(�(���d�);�S�A��(�(���T�):�C�@��(�(���T�):�C�@��(�(���T�):�C�@��(�(���T�):�C�@��(�(���T�):�C�@��(�(���T�):�C�@�
���T�&��t�"4�5�w�?����T�&��s�"3�4�g�>����T�&��t�"4�5�w�?����T�&��s�"3�4�g�>����T�&��t�"4�5�w�?����T�&��s�"3�4�g�>�
�(�(���s�d�);�S�A��(�(���s�d�);�S�A��(�(���c�T�):�C�@��(�(���c�T�):�C�@�
�(�(����s�d�);�S�A��(�(���s�d�);�S�A��(�(���c�T�):�C�@��(�(���c�T�):�C�@�
�(�(���c�):�C�@��(�(���c�):�C�@��(�(���S�)9�3�?��(�(���S�)9�3�?�
�(�(����c�):�C�@��(�(���c�):�C�@��(�(���S�)9�3�?��(�(���S�)9�3�?�
�(�(����d�);�T�B�
�(�(����d�);�S�A��(�(����d�);�S�A�
�(�(����c�):�S�D�A�
�(�(����c�):�C�@��(�(����c�):�C�@�
�(�(���S�)9�3�?��(�(���S�)9�3�?��(�(���S�)9�3�?�
�(�(���T�):�C�@��(�(���T�):�C�@��(�(���T�):�C�@�
�(�(���d�);�T�B��(�(���d�);�T�B��(�(���d�);�S�A��(�(���c�):�C�@��(�(���c�):�D�A��(�(���c�):�C�@��(�(���d�);�S�A��(�(���d�);�T�B��(�(���d�);�S�A��(�(���c�):�C�@��(�(���c�):�D�A��(�(���c�):�C�@��(�(���T�):�D�A��(�(���T�):�C�@��(�(���T�):�C�@��(�(���S�)9�3�?��(�(���S�)9�3�?��(�(���S�)9�3�?�
�(�(���V�)<�c�B��(�(���U�);�S�A��(�(���f�)=�s�C��(�(���e�)<�c�B�
�(�(���g�)>��D����T�&��w�"7�8�'�B��(�(���g�)>��E��(�(���W�)=�s�C��(�(���W�)=�s�C��(�(���W�)=�s�C��(�(���f�)=�s�C����T�&��v�"6�7��A��(�(���f�)=�t�D��(�(���V�)<�c�B��(�(���V�)<�c�B��(�(���V�)<�c�B�k(rc�>�tdd�D]/}|jtt|��t|���1|jtttj
j��tttj
j���|jttd��tjj�|jttd��tjj�y)Ni���rr�)
r�r"�hashr#�sys�
float_info�maxr�	hash_infor�r)ras  r�	test_hashzGeneralFloatCases.test_hashXs����s�B��A����T�%��(�^�T�!�W�5� �����e�C�N�N�$6�$6�7�8��c�#�.�.�"4�"4�5�6�	8�����e�E�l�+�S�]�]�->�->�?�����e�F�m�,�s�}�}�/@�/@�.@�Arc��td�}|jt|�tj	|��Gd�d�}Gd�dt|�}|d�}|jt|�tj	|��y)Nrc��eZdZd�Zy)�*GeneralFloatCases.test_hash_nan.<locals>.Hc��yr�rr(s r�__hash__z3GeneralFloatCases.test_hash_nan.<locals>.H.__hash__dr�rN)rrrr<rrr�Hr:cr�rr=c��eZdZy)�*GeneralFloatCases.test_hash_nan.<locals>.FNrrrrr�r?fr�rr�)r#r"r1r�r<)r)r�r=r�s    r�
test_hash_nanzGeneralFloatCases.test_hash_nan`sf���e�������e��f�o�o�e�&<�=�	�	�	��q�	��%�������e��f�o�o�e�&<�=rN)rrrr*r-rDrbrfrqr�run_with_localer�r�r�r�r�r�rrrr�requires_IEEE_754r%r.r7r@rrrrr$s���O�>'�:�**�:@��6�W���\�7�G�<�:�=�:�4A5�F�&�64�E�BK�2G�B�A�
���;��;�&
���yC��yC�PB�	>rr�
__getformat__zrequires __getformat__c��eZdZd�Zy)�FormatFunctionsTestCasec�4�|jtjd�gd��|jtjd�gd��|jttjd�|jt
tjd�y)N�double)�unknownzIEEE, big-endianzIEEE, little-endianr#�chickenrd)rr#rCr$r%r&r(s r�test_getformatz&FormatFunctionsTestCase.test_getformatnsl���
�
�e�)�)�(�3�L�	N��
�
�e�)�)�'�2�L�	N����*�e�&9�&9�9�E����)�U�%8�%8�!�<rN)rrrrJrrrrErEls��=rrEs�s�s�s�c��eZdZejd��Zejd��Zejeje	dud�d���Z
y)�IEEEFormatTestCasec�|�dtfdtfdtfdtffD]\}}t	j
||��y)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�sB����/���/���/���/�1�I�C��
�M�M�#�t�$�	1rc�|�dtfdtfdtfdtffD]\}}t	j
||��y)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�sB����.���.���.���.�0�I�C��
�M�M�#�t�$�	0rNzneeds _testcapic��tj}|jtjdd�tjd|��|jtjdd�tjd|��y)NrYgn���Ggn����)�	_testcapi�FLT_MAXr"rR�pack)r)ras  r�test_serialized_float_roundingz1IEEEFormatTestCase.test_serialized_float_rounding�s]���#�#��������T�=�9�6�;�;�t�W�;U�V�������T�>�:�F�K�K��w�h�<W�Xr)rrrrrBrWr^�unittest�skipIfr`rcrrrrLrL�sk�����%��%�
���%��%�
����X�_�_�Y�$�&�(9�:�Y�;��YrrLc�B�eZdZd�Zej
d��Zd�Zd�Zy)�FormatTestCasec�f�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�d	}|jt|d�t|��|jt|d
�t|��|jt|d�t|��|jt|d�t|��|jtd
d�d�|jtdd�d�|jtd
d�d�|jtdd�d�|jtd
d�d�|jtdd�d�|jtdd�d�|jttdd�dD]�}|jttd|�|jttd
|�|jttd|�|jttd|�|jttd|�|jttd|�|jttd|���|jtt
d�d�|jtt
d�d �|jttd�d!�|jttd�d"�y)#Nr,r`z0.000000r:�0.0g{�G�z�?�0.01�gg%I�$I�,@�-�>�2r�z1.000000rz	-1.000000z fz	 1.000000z+fz	+1.000000�%z-100.000000%rxrl�sbcdoxXr)r(r"r rr�rrr)r"�formatrWr$r%rr)r)ra�format_specs   r�test_formatzFormatTestCase.test_format�s��	
�����S�)�:�6�	
�����R��%�0������b�)�6�2������c�*�F�3�
�������2���A��/������3���Q��0������3���Q��0������3���Q��0������S�)�:�6������c�*�K�8������d�+�[�9������d�+�[�9������d�+�[�9������d�+�[�9�	
�����c�*�N�;�	
���*�f�c�3�7�%�K����j�&�#�{�C����j�&�#�{�C����j�&�$��D����j�&�%��E����j�&�&�+�F����j�&�&�+�F����j�&�'�;�G�%�	
�����S�)�5�1������S�)�5�1������S�)�5�1������S�)�5�1rc�(�ttd��5}|D]�}|jd�r�|j�}|s�(t	t
j|j
d��\}}|j
�\}}t|�}|j||z|�|j||zd|z�|dk7s��|dd}|jt||�|�|jt||�d|z���	ddd�y#1swYyxYw)N�utf-8��encodingz--z->rlz%rrd)
�open�format_testfile�
startswith�strip�maprW�splitr#r"rq)	r)�testfile�line�lhs�rhsrUr�r`�fmt2s	         r�test_format_testfilez#FormatTestCase.test_format_testfile�s���
�/�G�
4�� ���?�?�4�(���z�z�|�����s�y�y�$�*�*�T�*:�;���S��9�9�;���S��#�J��� � ��q��#�.�� � ���r��3��9�5��$�;��q�r�7�D��$�$�V�A�t�_�c�:��$�$�V�Q�B��%5�s�S�y�A�!�5�
4�
4�s�B(D�;AD�Dc��|jtdd�d�|jtdd�d�|jtdd�d�y)N�w��/�^@z.4z123.5g
ףp=J�@z	1.235e+03g������@z	1.235e+04�r"rqr(s r�test_issue5864zFormatTestCase.test_issue5864�sG��������.��8�������.��<�������.��<rc��|jtdd�d�|jtdd�d�|jtdd�d�|jtdd	�d
�|jtdd�d�|jtdd
�d�|jtdd�d
�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd	�d�|jtdd�d�|jtdd�d�|jtdd
�d�|jtdd�d�y)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�sw�������t�,�g�6�������.��=�������.��?�������.��9�������1�3C�D�������1�3E�F�������1�8�<�������.��=�������-�x�8�������/��?�������/��A�������/��;�������2�4E�F�������2�4E�F�������2�4G�H�������2�I�>rN)	rrrrsrrBr�r�r�rrrrgrg�s.��12�f
���B��B�&=�
?rrgc�Z�eZdZd�Zej
eedd�dk(d�d��Zy)�ReprTestCasec
��ttjjtjj	t
�dd�d��5}|D]U}|j
�}|r|jd�r�'t|�}|j|tt|����W	ddd�y#1swYyxYw)Nrzfloating_points.txtrurv�#)rx�os�path�joinr}�__file__r{rzrBr"�repr)r)�floats_filer�vs    r�	test_reprzReprTestCase.test_reprs���
�"�'�'�,�,�r�w�w�}�}�X�6�q�9�'�)�3:�<�?J�#���z�z�|���t���s�3����J��� � ��D��a��M�2�$�<�<�<�s
�AB5�5B>�float_repr_styler:�short�.applies only when using short float repr stylec	��gd�}|D]�}d|z}|j|tt|���|j|tt|���|jtt|��tt|���|jtt|��tt|�����y)N)ri�1.0rjz0.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+35rl)r"r�r#rW)r)�test_stringsrl�negss    r�test_short_reprzReprTestCase.test_short_reprs��� ��D�A��q�5�D����Q��U�1�X��/����T�4��d��#4�5����T�%��(�^�S��q��]�;����T�%��+�.��E�$�K�0@�A�
rN)	rrrr�rd�
skipUnless�getattrr2r�rrrr�r�s@��3��X�����&8�"�=��H�I�K�0B�K�0Brr�c���eZdZd�Zd�Zd�Zd�Zd�Zeje
edd�dk(d	�d
��Zeje
edd�dk(d	�d��Z
d�Zd
�Zy)�
RoundTestCasec��|jttt�|jttt�|jttt
�|jtttd�|jtttd�|jttt
d�|jttdd�y)Nr,r�zceci n'est pas un integerr!y�?)r$r��roundrr%rr&r(s r�test_inf_nanzRoundTestCase.test_inf_nanBs������-���4����-����5����*�e�S�1����)�U�C��5����)�U�S�D�#�6����)�U�C�1L�M����)�U�D�"�5rc��|jttd�t�|jttd�t�|jt	j
ttd���y)Nr)r"r�rr��mathrrr(s r�test_inf_nan_ndigitsz"RoundTestCase.test_inf_nan_ndigitsKsM������s�A���,������t�Q��#��.�����
�
�5��a�=�1�2rc��ddddddddzfD]r}|jtd	|�d	�|jtd
|�d
�|jtd|�d�|jtd|�d��t|jtd
d�d
�|jtdd�d�|jtdd�d�|jtd
d�d
�|jtdd�d�y)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_nPs����s�C��%���3��?�A����U�7�A�.��8����U�8�Q�/��:����U�5�!�_�e�4����U�6�1�-�v�6�	@�
	
����u�c�*�E�2�����u�c�*�E�2�����w��,�g�6�����u�c�*�E�2�����x��-�v�6rc��ddddddddzfD]r}|jtd	|�d
�|jtd|�d�|jtd
|�d
�|jtd|�d
��ty)N����i���ip���i�i�l����r�r�r�r,r�r!r�r�)�assertFloatsAreIdenticalr�r�s  r�test_small_nzRoundTestCase.test_small_n\s}����d�G�V�X��3��w�G�A��)�)�%���*;�S�A��)�)�%��!�*<�d�C��)�)�%��q�/�3�?��)�)�%���*:�C�@�	Hrc�t�|jttdd�|jttdd�y)Ng3t�<{�r�gv;w0�B�)r$r�r�r(s r�
test_overflowzRoundTestCase.test_overflowcs*�����-����>����-���$�?rr�r:r�r�c�4�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d	�|jtd
d�d	�|jtdd�d�|jtd
d�d�|jtdd�d�|jtdd�d�|jtdd�d�y)NgCrdg�������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_bugsgs���	
����0�!�4�+�	-�����/��3�)�	+�	
����t�R��$�/�����t�R��$�/�����t�R��$�/�����t�R��$�/�����t�R��$�/�����t�R��$�/�����t�R��$�/�����t�R��%�0rc	��td�D]�}|dz}|jtt|d��t	|d��|jtt|d��t	|d��|jtt|d��t	|d��|jtt|d	��t	|d
����tddd
�D]�}|dz}|jtt|d��t	|d��|jtt|d��t	|d��|jtt|d��t	|d��|jtt|d	��t	|d
����td�D]�}tj
�}|jtt|d��t	|d��|jtt|d��t	|d��|jtt|d��t	|d��|jtt|d	��t	|d
����y)Ni�g@�@z.0frz.1frdz.2fr�z.3fr�r�i�r�)r�r"r#rqr�r�)r)r�ras   r�test_matches_float_formatz'RoundTestCase.test_matches_float_formatys����s��A��%��A����U�6�!�U�#3�4�e�A�q�k�B����U�6�!�U�#3�4�e�A�q�k�B����U�6�!�U�#3�4�e�A�q�k�B����U�6�!�U�#3�4�e�A�q�k�B���q�$��#�A��%��A����U�6�!�U�#3�4�e�A�q�k�B����U�6�!�U�#3�4�e�A�q�k�B����U�6�!�U�#3�4�e�A�q�k�B����U�6�!�U�#3�4�e�A�q�k�B�$��s��A��
�
��A����U�6�!�U�#3�4�e�A�q�k�B����U�6�!�U�#3�4�e�A�q�k�B����U�6�!�U�#3�4�e�A�q�k�B����U�6�!�U�#3�4�e�A�q�k�B�rc����fd�}dD]�}d|ddz}d|ddz}||td�||td�||td�||td�||td	�||td�||td
�||td
�||td�||td�||td�||td���y)
Nc�v���j||z||�|dd}�jt||�||�yr�r�)rUr��expectedr)s   �r�testz0RoundTestCase.test_format_specials.<locals>.test�s=������S�5�[�(�C�8��a�b�'�C����V�E�3�/��3�?r)z%ez%fz%gz%.0ez%.6fz%.20gz%#ez%#fz%#gz%#.20ez%#.15fz%#.3gz%+rdz% rr�r�+inf�+nanz infz nan)rr)r)r�rU�pfmt�sfmts`    r�test_format_specialsz"RoundTestCase.test_format_specials�s����	@�F�C��#�a�b�'�>�D��#�a�b�'�>�D���c�5�!���s�d�F�#���c�5�!���s�d�E�"�
��s�F�#����t�V�$���s�F�#����t�V�$�
��s�F�#����t�V�$���s�F�#����t�V�$�'Frc�D�td�tdd�tdd��fD]*}|j|d�|j|t��,td�tdd�tdd��fD]*}|j|d�|j|t��,y)Ng�G�z��?)�ndigitsrdg{�G�z�?r�)r�r"rrr6s  r�test_None_ndigitszRoundTestCase.test_None_ndigits�s����t��e�D�$�/��t�T�1J�J�A����Q��"��!�!�!�S�)�K��t��e�D�$�/��t�T�1J�J�A����Q��"��!�!�!�S�)�KrN)rrrr�r�r�r�r�rdr�r�r2r�r�r�r�rrrr�r�?s���6�3�

7�A�@��X�����&8�"�=��H�I�K�1�K�1� �X�����&8�"�=��H�I�K�C�K�C�.%�<*rr�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�
InfNanTestc�	�|jttd���|jttd���|jttd���|jttd���|jttd���|jttd���|jt	td��d�|jt	td��d�|jt	td��d�|jt	td��d�|jt	td��d�|jt	td��d�|jt	td��d�|jt	td��d�|jt	td	��d�|jt	td
��d�|jt	td��d�|jt	td��d�|jttd��d�|jttd��d�|jttd��d�|jttd��d�|jttd��d�|jttd��d�|j
ttd
�|j
ttd�|j
ttd�|j
ttd�|j
ttd�|j
ttd�|j
ttd�|j
ttd�|j
ttd�|j
ttd�|j
ttd�|j
ttd�|j
ttd�|j
ttd�y)Nrr�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�rWr$r%r(s r�test_inf_from_strzInfNanTest.test_inf_from_str�sJ������e�E�l�+�,�����e�F�m�,�-�����e�F�m�,�-�����e�J�/�0�1�����e�K�0�1�2�����e�K�0�1�2�����e�E�l�+�U�3�����e�F�m�,�e�4�����e�F�m�,�f�5�����e�J�/�0�%�8�����e�K�0�1�5�9�����e�K�0�1�6�:�����e�E�l�+�U�3�����e�F�m�,�e�4�����e�F�m�,�f�5�����e�J�/�0�%�8�����e�K�0�1�5�9�����e�K�0�1�6�:�����U�5�\�*�E�2�����U�6�]�+�U�3�����U�6�]�+�V�4�����U�:�.�/��7�����U�;�/�0�%�8�����U�;�/�0�&�9����*�e�V�4����*�e�W�5����*�e�W�5����*�e�T�2����*�e�U�3����*�e�U�3����*�e�Y�7����*�e�X�6����*�e�W�5����*�e�[�9����*�e�W�5����*�e�W�5����*�e�\�:����*�e�\�:rc���|jtd�d�|jtd�d�|jtd�d�|jtd�d�y)Ng�rg�r��r"r�rWr(s r�test_inf_as_strzInfNanTest.test_inf_as_str�sV������m�,�e�4�����n�-�v�6�����]�+�U�3�����^�,�f�5rc�z�|jttd���|jttd���|jttd���|jt	td��d�|jt	td��d�|jt	td��d�|jt	td��d�|jt	td��d�|jt	td��d�|jttd��d�|jttd��d�|jttd��d�|j
ttd�|j
ttd�|j
ttd	�|j
ttd
�|j
ttd�|j
ttd�|j
ttd
�|j
ttd�|j
ttd�|j
ttd�y)Nrr��-nanrz+NAn�-NaN�nanaz+nanaz-nana�naz+naz-naz++nanz-+NAN�+-NaNz--nAn)r�rr#r"r�rWr$r%r(s r�test_nan_from_strzInfNanTest.test_nan_from_str�s�������e�E�l�+�,�����e�F�m�,�-�����e�F�m�,�-�����e�E�l�+�U�3�����e�F�m�,�e�4�����e�F�m�,�e�4�����e�E�l�+�U�3�����e�F�m�,�e�4�����e�F�m�,�e�4�����U�5�\�*�E�2�����U�6�]�+�U�3�����U�6�]�+�U�3����*�e�V�4����*�e�W�5����*�e�W�5����*�e�T�2����*�e�U�3����*�e�U�3����*�e�W�5����*�e�W�5����*�e�W�5����*�e�W�5rc���|jtd�d�|jtd�d�|jtd�d�|jtd�d�y)Ng��rg��g��g��r�r(s r�test_nan_as_strzInfNanTest.test_nan_as_str
sZ������/�0�%�8�����0�1�5�9�����.�/��7�����/�0�%�8rc��|jtdtd��d�|jtdtd��d�y)Nr�rr�r�r"r	r#r(s r�test_inf_signszInfNanTest.test_inf_signss8������#�u�U�|�4�c�:�����#�u�V�}�5�t�<rc��|jtdtd��d�|jtdtd��d�y)Nr�rr�rr�r(s r�test_nan_signszInfNanTest.test_nan_signss8������#�u�U�|�4�c�:�����#�u�V�}�5�t�<rN)	rrrr�r�r�r�r�r�rrrr�r��s!��+;�Z6�6�:9�=�=rr�c�v�eZdZed�Zed�Zed�Zed�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zy)
�HexFloatTestCasez0x.fffffffffffff8p+1024z	0x1p-1022z0x0.0000000000001p-1022z0x0.0000000000001p0c�(�|j||�yr0)r�)r)ra�ys   r�	identicalzHexFloatTestCase.identical&s���%�%�a��+rc	�T�|j|jtdd��|j|jtdd��|j|jtdd��|j|j
dtdd�tdd�z
z�y)Nr�i���i���i���r'i�i�)r��MINr
�TINY�EPS�MAXr(s r�	test_endszHexFloatTestCase.test_ends)su�����t�x�x��s�E�!2�3����t�y�y�%��U�"3�4����t�x�x��s�C��1����t�x�x��U�3��%5��c�3��%G�!H�Irc��gd�}|D]&}	t|�}|jd|�d|�d���(y#t$rY�5wxYw)N)3�infiz-Infinitz++infz-+Infz--nanr��snan�NaNs�nna�an�nf�nfinity�inity�iinity�0xnanr:rpzx1.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)�fromHex�failr%)r)�invalid_inputsra�results    r�test_invalid_inputsz$HexFloatTestCase.test_invalid_inputs/sP��4��j �A�
:� �����	�	�./��9�:�
 ���
��
�s�1�	=�=c��dtfdtfdtfdddg}gd�}|D]6\}}|D],}|D]%}t||z|z�}|j||��'�.�8y)Nrz	-Infinityr)r�r�)z-0x.2g��)z-0.0r!)r:rp�	�
z
 	���
)rrr�r�)r)�value_pairs�
whitespace�inpr��lead�trail�gots        r�test_whitespacez HexFloatTestCase.test_whitespaceosv��
�C�L�
�3�$��
�C�L����
��	�
�)�M�C��"��'�E�!�$��*�u�"4�5�C��N�N�3��1�(�#�)rc�;�|j}|j}|j}|j}|j	td�t�|j	td�t�|j	td�t�|j	td�t�|j	td�t�|j	td�t�|j	td�t�|j	td�t�|j	td	�t�|j	td
�t�|j	td�t�|j	td�t�|j	td
�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td �d�|j	td!�d�|j	td"�d�|j	td#�d�|j	td$�d�|j	td%�d�|j	td&�d�|j	td'�d�|j	td(�d�|j	td)�d�|j	td*�d+�|j	td,�d+�|j	td-�d+�|j	td.�d+�|j	td/�d0�|j	td1�d0�|j	td2�d0�|j	td3�d0�|j	td4�d0�|j	td5�d0�|j	td6�d0�|j	td7�d0�td8�}|j	td9�|�|j	td:�|�|j	td;�|�|j	td<�|�|j	td=�|�|j	td>�|�|j	td?�|�|j	td@�|�|j	tdA�|�|j	tdB�|�|j	td8�|�|j	tdC�|�|j	tdD�|�|j	tdE�|�|j	tdF�|�|j	tdG�|�|j	tdH�|�|j	tdI�|�|j	tdJ�|�|j	tdK�|�|j	tdL�|�|j	tdM�|�|j	tdN�|�|j	tdO�|�|j	tdP�|�|j	tdQ�|�|j	tdR�|�|j	tdS�|�|j	tdT�|�|j	tdU�|�|j	tdV�|�|j	tdW�|�|jtt
dX�|jtt
dY�|jtt
dZ�|jtt
d[�|jtt
d\�|jtt
d]�|jtt
d^�|jtt
d_�|jtt
d`�|jtt
da�|jtt
db�|jtt
dc�|jtt
dd�|jtt
de�|jtt
df�|jtt
dg�|jtt
dh�|jtt
di�|jtt
dj�|j	tdk�|�|j	tdl�|�|j	tdm�|�|j	tdn�do�|j	tdp�do�|j	tdq�dr�|j	tds�do�|j	tdt�dr�|j	tdu�do�|j	tdv�do�|j	tdw�dr�|j	tdx�dr�|j	tdy�do�|j	tdz�dr�|j	td{�dr�|j	td|�dr�|j	td}�do�|j	td~�dr�|j	td�do�|j	td��do�|j	td��dr�|j	td��dr�|j	td��do�|j	td��dr�|j	td��dr�|j	td��|�|j	td��|�|j	td��|�|j	td��do�|j	td��do�|j	td��|�|j	td��|�|j	td��|�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��dr�|j	td��dr�|j	td��|�|j	td��|�|j	td��|�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��d�|z�|j	td��|d�|zz
�|j	td��|d�|zz
�|j	td��|d�|zz
�|j	td��|d�|zz
�|j	td��|d�|zz
�|j	td��|d�|zz
�|j	td��|d�|zz
�|j	td��|d�|zz
�|j	td��|d�|zz
�|j	td��|d�|zz
�|j	td��||z
�|j	td��||z
�|j	td��||z
�|j	td��||z
�|j	td��||z
�|j	td��||z
�|j	td��||z
�|j	td��|�|j	td��|�|j	td«|�|j	tdë|�|j	tdī|�|j	tdū|�|j	tdƫ|�|j	tdǫ|�|j	tdȫ|�|j	tdɫ||z�|j	tdʫ||z�|j	td˫||z�|j	td̫||z�|j	tdͫ||z�|j	tdΫ||z�|j	tdϫ||z�|j	tdЫ|d�|zz�|j	tdѫd|z
�|j	tdҫd|z
�|j	tdӫd|z
�|j	tdԫd|z
�|j	tdիd|z
�|j	td֫d|d�zz
�|j	td׫d|d�zz
�|j	tdثd|d�zz
�|j	td٫d|d�zz
�|j	tdګd|d�zz
�|j	td۫d|d�zz
�|j	tdܫd|d�zz
�|j	tdݫd�|j	tdޫd�|j	td߫d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|j	td�d�|z�|j	td�d|z�|j	td�d|z�|j	td�d|z�|j	td�d|z�|j	td�d|z�|j	td�d|z�|j	td�d|z�|j	td�d|z�|j	td��d|z�|j	td��d|z�|j	td��d|z�|j	td��d|z�|j	td��d|z�|j	td��d|z�|j	td��d|z�|j	td��d|z�|j	td��dd�|zz�|j	td��dd�|zz�|j	td��dd�|zz�|j	t�d�dd�|zz�|j	t�d�dd�|zz�|j	t�d�dd�|zz�|j	t�d�dd�|zz�|j	t�d�dd�|zz�|j	t�d�dd�|zz�|j	t�d�dd�|zz�|j	t�d�do�|j	t�d�do�|j	t�d	�|�|j	t�d
�do�|j	t�d�do�|j	t�d�|�|j	t�d
�do�|j	t�d�|�|j	t�d�do�|j	t�d�do�|j	t�d�dr�|j	t�d�do�y(Nrr�z-INF�iNfr�z	+INFINITYr�z	-iNFiNitYrz+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-1076rez	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.00000000000008000000000000000001p0rdz0X1.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���h�h���y�y���h�h��	
���w�u�~�s�+����w�v���,����w�v����-����w�u�~�s�+����w�z�*�C�0����w�{�+�S�1����w�{�+�c�T�2����w�{�+�c�T�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����w�x�(�#�.����w�x�(�#�.����w�x�(�#�.����w�x�(�#�.����w�x�(�#�.����w�y�)�3�/����w�z�*�C�0����w�z�*�C�0����w�w�'��.����w�w�'��.����w�w�'��.����w�w�'��.����w�x�(�%�0����w�x�(�%�0����w�x�(�%�0����w�z�*�E�2����w�x�(�%�0����w�y�)�5�1����w�y�)�5�1����w�{�+�U�3��*�
+�����w�6�7��<����w�6�7��<����w�5�6��;����w�4�5�r�:����w�4�5�r�:����w�4�5�r�:����w�4�5�r�:����w�3�4�b�9����w�3�4�b�9����w�3�4�b�9����w�4�5�r�:����w�3�4�b�9����w�4�5�r�:����w�4�5�r�:����w�5�6��;����w�4�5�r�:����w�4�5�r�:����w�4�5�r�:����w�5�6��;����w�4�5�r�:����w�4�5�r�:����w�5�6��;����w�6�7��<����w�6�7��<����w�4�5�r�:����w�4�5�r�:����w�4�5�r�:����w�5�6��;����w�5�6��;����w�5�6��;����w�5�6��;����w�6�7��<�	
���-��+�>����-��+�>����-��+�>����-��,�?����-��2J�K����-��-�@����-��-�@����-��-�@����-��+�>����-��+�>����-��.�A����-��,�?����-��2L�M����-��2L�M����-��2K�L����-��2K�L����-��2I�J����-��2K�L����-��2K�L�	
���w�9�:�C�@����w�9�:�S�D�A����w�E�F��L�	
���w�w�'��-����w�z�*�C�0����w�{�+�T�2����w�z�*�C�0����w�{�+�T�2����w�z�*�C�0����w�7�8�#�>����w�y�)�4�0����w�|�,�d�3����w�{�+�S�1����w�|�,�d�3����w�|�,�d�3����w�|�,�d�3����w�{�+�S�1����w�|�,�d�3����w�{�+�S�1����w�{�+�S�1����w�|�,�d�3����w�9�:�D�A�	
���w�{�+�S�1����w�|�,�d�3����w�9�:�D�A����w�<�=�t�D����w�~�.���6����w�<�=�t�D�	
���w�{�+�S�1����w�{�+�S�1����w�{�+�T�2����w�{�+�T�2����w�{�+�T�2����w�{�+�Q�t�V�4����w�{�+�Q�t�V�4����w�{�+�Q�t�V�4����w�{�+�Q�t�V�4����w�{�+�Q�t�V�4����w�{�+�Q�t�V�4����w�{�+�Q�t�V�4����w�{�+�Q�t�V�4����w�{�+�Q�t�V�4����w�{�+�Q�t�V�4����w�|�,�a��f�5����w�|�,�d�3����w�|�,�d�3����w�|�,�t�e�4����w�|�,�t�e�4����w�|�,�t�e�4����w�|�,�b��g�6����w�|�,�b��g�6����w�|�,�b��g�6����w�|�,�b��g�6����w�|�,�b��g�6����w�|�,�b��g�6����w�|�,�b��g�6����w�|�,�b��g�6����w�|�,�b��g�6����w�|�,�b��g�6����w�}�-�r�$�w�7�	
���w�9�:�C��$��J�G����w�9�:�C��$��J�G����w�9�:�C��$��J�G����w�9�:�C��$��J�G����w�9�:�C��$��J�G����w�9�:�C��$��J�G����w�9�:�C��$��J�G����w�9�:�C��$��J�G����w�9�:�C��$��J�G����w�9�:�C��$��J�G����w�9�:�C��H�E����w�9�:�C��H�E����w�9�:�C��H�E����w�9�:�C��H�E����w�9�:�C��H�E����w�9�:�C��H�E����w�9�:�C��H�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����w�9�:�C��H�E����w�9�:�C��H�E����w�9�:�C��H�E����w�9�:�C��H�E����w�9�:�C��H�E����w�9�:�C��H�E����w�9�:�C��$��J�G�	
���w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��E�	�B����w�5�6��C��E�	�B����w�5�6��C��E�	�B����w�5�6��C��E�	�B����w�5�6��C��E�	�B����w�5�6��C��E�	�B����w�5�6��C��E�	�B����w�5�6��<����w�5�6��<����w�5�6��<����w�5�6��<����w�5�6��<����w�5�6��<����w�5�6��<����w�5�6��<����w�5�6��<����w�5�6��<����w�5�6��<����w�5�6��<����w�I�J��	����w�5�6��<����w�G�H���u�	����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�5�6��C��@����w�I�J��3�w�	 ����w�5�6��A�c�E�	�B����w�G�H��1�S�5�y�	"����w�5�6��A�c�E�	�B����w�5�6��A�c�E�	�B����w�5�6��A�c�E�	�B����w�5�6��A�c�E�	�B����w�5�6��A�c�E�	�B����w�5�6��A�c�E�	�B����w�5�6��A�c�E�	�B����w�5�6��A�c�E�	�B�	
���w�|�,�c�2����w�}�-�s�3����w�}�-�t�4����w�{�+�S�1����w�}�-�s�3����w�}�-�t�4����w�|�,�c�2����w�|�,�d�3����w�z�*�C�0����w�y�)�3�/����w�{�+�T�2����w�z�*�C�0rc	�"�d�}tt|j|j|j|jz
|jdfD]4}|j|||��|j|||���6ddl}td�D]n}|jdd�}|j�}|jddg�}	|t||�z}|j|tt|����py#t$rY�}wxYw)	Nc�*�tt|��Sr0)r��toHexr�s r�	roundtripz2HexFloatTestCase.test_roundtrip.<locals>.roundtrip�s���5��8�$�$rr,rr�iP���i�r�r)rrr�r�r�r�r�r��	randrange�choicer
r�r0r�)r)r1rar�r��e�mrls        r�test_roundtripzHexFloatTestCase.test_roundtrip�s���	%��s�D�H�H�d�h�h�������0B�D�I�I�s�S�A��N�N�1�i��l�+��N�N�A�2�y�!��}�-�T�
	��u��A� �� � ���-�A���
�
��A���
�
�s�D�k�*�A�
5��e�A�q�k�M�����q�'�%��(�"3�4���!�
��
�s�D�	D�
Dc��Gd�dt�}|jdj��}|jt	|�|�|j|d�Gd�dt�}|jdj��}|jt	|�|�|j|d�|jt
|dd�d	�y)
Nc��eZdZd�Zy)�)HexFloatTestCase.test_subclass.<locals>.Fc�4�tj||dz�Sr�r�r�s  rr�z1HexFloatTestCase.test_subclass.<locals>.F.__new__�s���}�}�S�%�!�)�4�4rN)rrrr�rrrr�r9�s��
5rr�rr{c��eZdZd�Zy)�*HexFloatTestCase.test_subclass.<locals>.F2c��d|_y)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�r`r@s    r�
test_subclasszHexFloatTestCase.test_subclass�s���	5��	5�
�I�I�s�i�i�k�"���
�
�d�1�g�q�!�����C� �	!��	!�
�J�J��y�y�{�#���
�
�d�1�g�r�"�����C� ������E�6�2�E�:rN)rrrr�r�r�r�r�r�r�rrr-r6rDrrrr�r� sT��
�+�
,�C�
�+�
�C��,�-�D�
�'�
(�C�,�J�=:�@2�4i1�V	5�*;rr��__main__)>r�r#r�r�r2rRr�rdr�r�test.support.testcaser�test.test_grammarrrr�rrr	r
r`r\r#rrr��dirnamer��curdir�test_dirr�ryrr�TestCaserr��hasattrrErNrX�reversedrPrOrQrZr\r[r]rLrgr�rBr�r�rBr�rCr0r�r�mainrrr�<module>rOs����	�
�
�
����9�<�.�.�����E�l���E�l���7�7�?�?�8�$�1��	�	���'�'�,�,�x�)D�E��	�E�	�	��	�E	>��)�)�E	>�P����W�U�O�4�6N�O�=�h�/�/�=�P�=�4�
��h�}�-�.�
�3�
��h�}�-�.�
�"���X�l�+�,��"���X�l�+�,��Y��*�*�Y�2_?�X�&�&�_?�B=B�8�$�$�=B�~	���v*�H�%�%�'>�v*��v*�v`=��"�"�`=�F�-�-��
�	�	��y;�.��0A�0A�y;�x
�z���H�M�M�O���S.���I��s�G;�;H�H

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