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

�Ke����ddlZddlZddlZddlZddlZddlmZddlm	Z
ejjZ
ejjZGd�de��ZGd�dej��ZGd�d	ej��Zed
krej��dSdS)�N)�Decimal)�Fractionc�\��eZdZdZ�fd�ZeZd�ZeZed���Z	ed���Z
�xZS)�
DummyIntegralzADummy Integral class to test conversion of the Rational to float.c�`��tt���|����S�N)r�super�__mul__)�self�other�	__class__s  ��A/usr/local/apps/python3/lib/python3.11/test/test_numeric_tower.pyr
zDummyIntegral.__mul__s!����U�W�W�_�_�U�3�3�4�4�4�c��tSr)�NotImplemented�rrs  r�__truediv__zDummyIntegral.__truediv__s���rc� �t|��Sr�r�rs r�	numeratorzDummyIntegral.numerators���T�"�"�"rc� �td��S)N�rrs r�denominatorzDummyIntegral.denominator!s���Q���r)�__name__�
__module__�__qualname__�__doc__r
�__rmul__r�__rtruediv__�propertyrr�
__classcell__)r
s@rrrs��������K�K�5�5�5�5�5��H�����L�
�#�#��X�#�� � ��X� � � � � rrc�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�HashTestc��|�t|��t|��d�||����|�||��dS)Nz&got different hashes for {!r} and {!r})�assertEqual�hash�format)r�x�ys   r�check_equal_hashzHashTest.check_equal_hash's\������a���$�q�'�'�A�H�H��A�N�N�	P�	P�	P�����A�����rc�^�|�dd��|�dd��dS)NFrTr)r+rs r�
test_boolszHashTest.test_bools-s4�����e�Q�'�'�'����d�A�&�&�&�&�&rc�v�tdd��D]k}|�|t|����|�|t|����|�|t	|�����ltd��D�]�}d|zdz
}|tt|����krH|�|t|����|�|t|����|�|t|����|�|t	|����|�|t|����|�|t	|����d|z}|�|t|����|�|t|����|�|t|����|�|t	|����|�|t|����|�|t	|�������td��D]�}t
jd��}t
jd|zd|z��}|�|t|����|�|t	|����|tt|����kr#|�|t|������dS)Ni������d�ri,�
)�ranger+�float�D�F�int�random�	randrange)r�i�n�_�es     r�
test_integerszHashTest.test_integers1s����u�d�#�#�	+�	+�A��!�!�!�U�1�X�X�.�.�.��!�!�!�Q�q�T�T�*�*�*��!�!�!�Q�q�T�T�*�*�*�*��s���	-�	-�A��1��q��A��C��a���M�M�!�!��%�%�a��q���2�2�2��%�%�q�b�5��8�8�)�4�4�4��!�!�!�Q�q�T�T�*�*�*��!�!�!�Q�q�T�T�*�*�*��!�!�1�"�a���e�e�,�,�,��!�!�1�"�a���e�e�,�,�,��1��A��!�!�!�U�1�X�X�.�.�.��!�!�1�"�u�Q�x�x�i�0�0�0��!�!�!�Q�q�T�T�*�*�*��!�!�!�Q�q�T�T�*�*�*��!�!�1�"�a���e�e�,�,�,��!�!�1�"�a���e�e�,�,�,�,��t���	3�	3�A�� ��%�%�A�� �"�a�%���Q��/�/�A��!�!�!�Q�q�T�T�*�*�*��!�!�!�Q�q�T�T�*�*�*��C��a���M�M�!�!��%�%�a��q���2�2�2��
	3�	3rc�L�|�dd��|�dtd����|�dtd����|�dtd����|�dtd����|�td��td����|�td��td����t	d��D]�}tj��t
jtj��dzd	z
��z}|�|tj|����|�|tj|������dS)
N���rz-0.0�inf�-infr/gi@gY@)	r+r5r6r4r3r8�math�exp�
from_float)rr<r)s   r�test_binary_floatszHashTest.test_binary_floatsWsZ��	
���c�4�(�(�(�	
���c�1�Q�4�4�(�(�(����d�A�a�D�D�)�)�)����d�A�f�I�I�.�.�.����c�1�Q�4�4�(�(�(�	
���e�E�l�l�A�e�H�H�5�5�5����e�F�m�m�Q�v�Y�Y�7�7�7��t���	6�	6�A��
���$�(�6�=�?�?�5�+@�5�+H�"I�"I�I�A��!�!�!�Q�\�!�_�_�5�5�5��!�!�!�Q�\�!�_�_�5�5�5�5�	6�	6rc
��ddddddtd��td��g}d	D]+}|D]&}|�|t||�����'�,dS)
Nr@rA��?g�g�?g���rBrC)rAr@)r4r+�complex)r�test_values�zero�values    r�test_complexzHashTest.test_complexls����D�#�t�W�g��U�|�|�U�6�]�]�4���	C�	C�D�$�
C�
C���%�%�e�W�U�D�-A�-A�B�B�B�B�
C�	C�	Crc�8�gd�}|D]2}|�t|��td�����3|�td��td����|�td��td����|�td��td����|�td��td����|�td	��td
����|�td��td
����|�td��td
����|�td
��td
����|�td��td
����|�td��td
����dS)N)�0z-0z0.0z-0.0e10z000e-10rz1.00rz1.00000z-1.00���z-1.00000�123e2i0�1230e1�12300z12300.0z12300.00z	12300.000)r+r5)r�zerosrLs   r�
test_decimalszHashTest.test_decimalsws���9�8�8���	1�	1�D��!�!�!�D�'�'�1�Q�4�4�0�0�0�0����a��i�i��1���.�.�.����a�	�l�l�A�a�D�D�1�1�1����a��j�j�!�B�%�%�0�0�0����a�
�m�m�Q�r�U�U�3�3�3����a��j�j�!�E�(�(�3�3�3����a��k�k�1�U�8�8�4�4�4����a��j�j�!�E�(�(�3�3�3����a�	�l�l�A�e�H�H�5�5�5����a�
�m�m�Q�u�X�X�6�6�6����a��n�n�a��h�h�7�7�7�7�7rc	���|�ttdt����t��|�ttddtz����t��|�ttdtzd����d��|�tttd����d��ttd��td��d����|�t�fd	���|�t���d
��dS)NrrQ��rr1F)�
_normalizec�"���j�jzSr)rr)r)s�r�<lambda>z)HashTest.test_fractions.<locals>.<lambda>�s���Q�[���-F�rg�?)	r&r'r6�_PyHASH_MODULUS�_PyHASH_INFr�assertRaises�	TypeErrorr4)rr)s @r�test_fractionszHashTest.test_fractions�s���	
����a��?�3�3�4�4�k�B�B�B�����a��A�o�$5�6�6�7�7�+��F�F�F�����a��/� 1�1�5�5�6�6��:�:�:�����a�� 0�!�4�4�5�5�q�9�9�9�

�m�A���
�a� 0� 0�U�C�C�C�����)�%F�%F�%F�%F�G�G�G�����q���3�'�'�'�'�'rc�~�Gd�d��}d|��h}|�t|��d��dS)Nc��eZdZd�Zd�ZdS)�6HashTest.test_hash_normalization.<locals>.HalibutProxyc� �td��S�N�halibut)r'rs r�__hash__z?HashTest.test_hash_normalization.<locals>.HalibutProxy.__hash__�s���I���&rc��|dkSrf�rs  r�__eq__z=HashTest.test_hash_normalization.<locals>.HalibutProxy.__eq__�s
���	�)�)rN)rrrrhrkrjrr�HalibutProxyrd�s2������
'�
'�
'�
*�
*�
*�
*�
*rrlrgr)r&�len)rrlr)s   r�test_hash_normalizationz HashTest.test_hash_normalization�s^��	*�	*�	*�	*�	*�	*�	*�	*������'������Q����#�#�#�#�#rN)rrrr+r-r>rGrNrVrarnrjrrr$r$&s����������'�'�'�$3�$3�$3�L6�6�6�*	C�	C�	C�8�8�8�$
(�
(�
(�$�$�$�$�$rr$c��eZdZd�Zd�ZdS)�ComparisonTestc�N�td��td��dtdd��dddd	d
td��td��td
��tdd��td��tdd��tdd��dtd��g}t|��D]m\}}||dzd�D]Z}|�||��|�||��|�||��|�||���[�ndS)NrCz-1e425000000g������i��rYg��Q�	����r@g�Tz1.2z1.3z1.4i_5i�z1.414213562373095048801688724iC�i�;i��:i�Jgvܼ5J�i�infinityr)r4r5r6�	enumerate�
assertLess�assertLessEqual�
assertGreater�assertGreaterEqual)rrKr:�first�seconds     r�test_mixed_comparisonsz%ComparisonTest.test_mixed_comparisons�s7��

�&�M�M�
�n����
�c�1�I�I������
�e�H�H�
�e�H�H��%�L�L�
�f�f���
�-�.�.�
�f�e���
�i�����
�j�M�M�%��("�+�.�.�	7�	7�H�A�u�%�a��c�d�d�+�
7�
7������v�.�.�.��$�$�U�F�3�3�3��"�"�6�5�1�1�1��'�'���6�6�6�6�	
7�	7�	7rc�l�d}d}ddtd��td��td��fD].}|�||��|�||���/ddtd��td��td��fD]Z}|�||��|�||��|�||��|�||���[ddtd��td��td��ddtd��td��td��|fD]m}t
jt
jt
jt
j	fD]<}|�
t|||��|�
t|||���=�ndS)Ny�?y��Q�	�������@rrIr1g@)r6r5rJr&�assertNotEqual�operator�le�lt�ge�gtr_r`)r�z�w�v�ops     rrNzComparisonTest.test_complex�s���
�����C��1���q��t�t�W�Q�Z�Z�/�	#�	#�A����Q��"�"�"����Q��"�"�"�"��C��1���q��t�t�W�Q�Z�Z�/�	&�	&�A�����1�%�%�%�����1�%�%�%�����1�%�%�%�����1�%�%�%�%��S�!�A�$�$��!���g�a�j�j��S�!�A�$�$��!���g�a�j�j�!�5�	7�	7�A��k�8�;���X�[�H�
7�
7���!�!�)�R��A�6�6�6��!�!�)�R��A�6�6�6�6�
7�	7�	7rN)rrrr{rNrjrrrprp�s2������7�7�7�>7�7�7�7�7rrp�__main__)�unittestr8rD�sysr~�decimalrr5�	fractionsrr6�	hash_info�modulusr]rBr^r7r�TestCaser$rpr�mainrjrr�<module>r�s"������
�
�
�
�����
�
�
�
����� � � � � � �#�#�#�#�#�#��-�'���m��� � � � � �C� � � �(E$�E$�E$�E$�E$�x� �E$�E$�E$�N57�57�57�57�57�X�&�57�57�57�p�z����H�M�O�O�O�O�O��r