Sindbad~EG File Manager
�
'Μg9P � �6 � d dl Z d dlZd dlZd dlZd dlZ eedd� dk7 r ej d� � ej dej ej z � j Zdd�Z
dZ G d � d
ej � Zedk( r ej$ � yy)
� N�float_repr_style� �shortzHcorrectly-rounded string->float conversions not available on this systemam # A numeric string consists of:
(?P<sign>[-+])? # an optional sign, followed by
(?=\d|\.\d) # a number with at least one digit
(?P<int>\d*) # having a (possibly empty) integer part
(?:\.(?P<frac>\d*))? # followed by an optional fractional part
(?:E(?P<exp>[-+]?\d+))? # and an optional exponent
\Z
c � � t | � }|�t d� �|j d� xs d}t |j d� |z � }t |j d� xs d� t |� z
}|j d� dk( }|d t |d
� z z d t d
| � z }
} | s|rdS dS | j
� |
j
� z
}||d
k\ r| |z n| | z |
k\ z
}t ||� |z
}| t | d
� z |
t |d
� z }
} t | |
� \ }
}d
|z |
kD s
d
|z |
k( r*|
dz r%|
dz
}
|
j
� |dz k( r
|
d
z }
|dz
}||
j
� z |kD r|rdS dS |
s|rdS dS d|d
z
dz z }d|d
z
dz z
}|
|z ||z
}}
dj |rdnd|
d|z z |
d|z z ||d|z z � S )Nzinvalid numeric string�fracr �int�exp�0�sign�-�
r z -0x0.0p+0z0x0.0p+0� � �-inf�inf� � z{}0x{:x}.{:0{}x}p{:+d}� ) �
strtod_parser�
ValueError�groupr �len�max�
bit_length�divmod�format)�s�mant_dig�min_exp�max_exp�m�fraction�intpartr �negative�a�b�d�e�q�r�hexdigs�shifts �-/usr/local/lib/python3.12/test/test_strtod.py�strtodr. s � �� �a��A��y��1�2�2��w�w�v��$�"�H��!�'�'�%�.�8�+�,�G�
�a�g�g�e�n�#��
$�s�8�}�
4�C��w�w�v��#�%�H��2�s�3��{�?�"�B��A��t��$4�q�A�
�&�{�6�J�6�
��������'�A��A��F�!�q�&��a�R��A� -�-�A��A�w��(�"�A�
��Q�B��
�?�A��Q���N�q�A��!�Q�<�D�A�q���s�Q�w�!�A�#��(�q�1�u� �Q����<�<�>�X�a�Z�'�
�!�G�A�
��F�A� �1�<�<�>��G�#�!�v�,�u�,��&�{�6�J�6� �8�A�:��/�!�G�
��!��Q���E���:�q�5�y�q�A�#�*�*���R� �R��[�� �B��K��� �A�g�I�
�� � r
c � � e Zd Zd� Zd� Zd� Zd� Zd� Zd� Zd� Z e
j j e
j j dz d d
�� d� � Zd
� Zd� Zy)�StrtodTestsc �� � t |� }|j � }t |� }| j ||dj
|||� � y # t $ r |d dk( rdnd}Y �Gt $ r d}Y �Sw xY w)Nr r r r zmemory errorzEIncorrectly rounded str->float conversion for {}: expected {}, got {})�float�hex�
OverflowError�MemoryErrorr. �assertEqualr )�selfr �fs�got�expecteds r- �check_strtodzStrtodTests.check_strtodW s� � � /�
��q��B� �&�&�(�C��!�9������3�/�/5�v�a��3�/G� I�� � 3��a�D�C�K�&�U�C�� !� �C� !�s �A �A2�%
A2�1A2c � � dD �]8 }dd|z z }dd|z z }|dz dk( r|dz
}t t � D �] }t j ||d� |}}|dz dk( r|dz |dz }}|dz dk( r�||}}|dk rZd j ||� } | j | � d j |d
dz z |dz
� } | j | � |dz }|dk r�Z||}}|dk s��d j ||� } | j | � d j |d
dz z |dz
� } | j | � |dz }|dz }|dk r�_�� ��; y )N)r � r
� � l���� r>