Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_long.cpython-39.opt-1.pyc

a

��g���@s(ddlZddlmZddlZddlZddlZddlZejjZ	de	Z
e
dZdZdZ
ddde
e
d?ddgZd	Zede	�D]Ze�ed�ed>Zqz[ed
d�eD�dd�eD�7ZejjZejjZejjZejjZdedeedZd
d�Zdd�ZGdd�dej�Z e!dk�r$e�"�dS)�N)�support���F�lUU�*UU�*l�*UU�*UU
�cCsg|]
}|�qS�r��.0�xrr�*/usr/local/lib/python3.9/test/test_long.py�
<listcomp>�r
cCsg|]
}|�qSrrr	rrrr
rcCs�tjjd}tjj|}d|>}gd�}|dkr4dS|dkrHt|�S|��|}|dkrf||>n||?t|d|>@�B}|||d@7}|||k|kr�td��t�	t
|�|�S)	z9
    Correctly-rounded integer-to-float conversion.

    rr)r������rrrrrr�r�z%integer too large to convert to float)�sys�
float_info�mant_dig�max_exp�int_to_float�
bit_length�bool�
OverflowError�math�ldexp�float)�nZ	PRECISIONZ	SHIFT_MAXZQ_MAXZROUND_HALF_TO_EVEN_CORRECTION�shift�qrrrr's,
rcCs||Adk}t|�t|�}}|s*td��|t|kr>td��|��|��}|dkrf|d||ks�|dkr�|d||kr�|d7}t|t�t}|t|d�>|t|d�>}}t||�\}}d||ks�d||kr�|ddkr�|d7}t	�
||�}|�r|S|S)z-Correctly-rounded true division for integers.rzdivision by zeroz)int/int too large to represent as a floatrr)�abs�ZeroDivisionError�DBL_MIN_OVERFLOWrr�max�DBL_MIN_EXP�DBL_MANT_DIG�divmodrr)�a�b�negative�d�expr �r�resultrrr�truedivUs 2 $r/c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zejdd ��Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd[d2d3�Zejd4d5��Zd6d7�Zd8d9�Z ej!d:d;��Z"ej!ej#e$j%d<d=d>d?�d@dA���Z&dBdC�Z'ej!ej#e$j%dDdEd>d?�dFdG���Z(ej!dHdI��Z)dJdK�Z*dLdM�Z+dNdO�Z,dPdQ�Z-dRdS�Z.dTdU�Z/dVdW�Z0dXdY�Z1dZS)\�LongTestcCs�|�|d�|t}|td}d}d}tt��td�dB}||kr�|d?d}t|||�}|�d|koxtkn�||}||>}|d@r�|d|>dB}tt��td�}q@|�||ko�|kn�t��dkr�|}|S)Nrrr��?)Z
assertGreater�SHIFT�int�random�min�
assertTrue)�self�ndigitsZnbits_hiZnbits_lo�answer�nbitsr-�bitsrrr�getran{s&zLongTest.getrancCs<d}t|�D]}|t>t�dt�B}qt��dkr8|}|S)Nrr1)�ranger2r4�randint�MASK)r8r9�irrr�getran2�szLongTest.getran2c
Cs�|j}|j||d���t||�\}}||||}}||||}}	|||	d�|||d�|||d�|||||d�|dkr�|�d|ko�|knd�n |�||ko�dknd�Wd�n1s�0YdS)N�r�yzmultiplication does not commutez(divmod returns different quotient than /z#divmod returns different mod than %zx != q*y + r after divmodrzbad mod from divmod)�assertEqual�subTestr'r6)
r7rrC�eqr r-Zq2Zr2ZpabZpbarrr�check_division�s"zLongTest.check_divisioncCs�ttdtd��ttttd��}|�td�|D]2}|�|�}|D]}|�|�pXd}|�||�qHq6|�dd�|�dd�|�dd	�|�d
d�|�dd
�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�dS)Nr��l!Us/w��3alZW��3al+Q@{�d��B]Ol�Nl�O�Ol�Nl�t�e�o%g�q�Cgx<l�&�ghrsGlQ5��K�4+�o�-bklC�4+�o�-bkl��.#w�flD�&I-�Xl�Z��nSu9bl�c�v��
��<�Ilrd�FBu�'�pl�PhbIi|�$l1�m�{Wqi���8l�s~5^Fi�y�+l'H�
<{�Cl`<{�Cl�ED_5(�Nl�o�ybal=2zz6l�9�t�m)�listr=�	MAXDIGITS�KARATSUBA_CUTOFF�appendr<rG)r7�digits�lenxr�lenyrCrrr�
test_division�sB�
������zLongTest.test_divisionc	
Cs�ttdd��ttttd��}|�tdtdg�dd�|D�}|D]�}d|>d}|D]|}||krjq\|j||d��Pd|>d}||}d||>d|>d|>d}|�||�Wd�q\1s�0Yq\qHdS)Nr��
�dcSsg|]}|t�qSr)r2)r
�digitrrrr
�rz+LongTest.test_karatsuba.<locals>.<listcomp>)�abits�bbits)rJr=rL�extendrErD)	r7rNr;rVr(rWr)rrCrrr�test_karatsuba�s*�
���zLongTest.test_karatsubac	Cs�|j}|j|d���||d@d�||dB|�||dA|�||d@|�||dBd�||dA|�|||�|||@|�|||B|�|||Ad�|||@d�|||Bd�|||Ad�||d|�|||d�Wd�n1�s0Ytdt�D]�}d|}|j|||d��x|||>|?|�|||||?�|||||>�|||@||?|>�|||@||d@�Wd�n1�s�0Y�q"dS)N)rrrrr)rr�p2)rDrEr=r2)r7rrFrrZrrr�check_bitop_identities_1�s22z!LongTest.check_bitop_identities_1cCs|j}|j||d���|||@||@�|||B||B�|||A||A�|||A|A|�|||@||B�|||B||@�|||A||B||@@�|||A||@||@B�|||A||B||B@�Wd�n1s�0YdS)NrB�rDrE)r7rrCrFrrr�check_bitop_identities_2sz!LongTest.check_bitop_identities_2cCs�|j}|j|||d���|||@|@|||@@�|||B|B|||BB�|||A|A|||AA�||||B@||@||@B�||||@B||B||B@�Wd�n1s�0YdS)N)rrC�zr\)r7rrCr^rFrrr�check_bitop_identities_3sz!LongTest.check_bitop_identities_3c
Cs�tD]}|�|�qtdtd�}|D]T}|�|�}|�|�|D]6}|�|�}|�||�|�|||�||d��qBq&dS)Nrr)�specialr[r=rKr<r]r_)r7rrNrOrPrCrrr�test_bitop_identitiess


zLongTest.test_bitop_identitiescCs�g}d}|dkrd|}}|r>t||�\}}|�t|��q|��|pNdg}dd|�ddddd�|d�d	d
�|D��S)Nrr�-Z0bZ0o��0x)r�rS�css|]}d|VqdS)Z0123456789abcdefNr�r
r@rrr�	<genexpr>1rz'LongTest.slow_format.<locals>.<genexpr>)r'rMr3�reverse�join)r7r�baserN�signr-rrr�slow_format%s

��zLongTest.slow_formatc	Cs�dtfdtfdtfdtfdtffD]�\}}||�}|j||jd��(|�||�}|�||�Wd�n1sp0Y|j|d��"|�t	|d�|�Wd�q"1s�0Yq"dS)NrrerSrf)r�mapper)�gotr)
�bin�oct�str�repr�hexrE�__name__rmrDr3)r7rrkrnro�expectedrrr�check_format_13s**zLongTest.check_format_1cCsNtD]}|�|�qtd�D],}tdtd�D]}|�|�}|�|�q.qdS)NrSr)r`rwr=rKr<)r7rr@rOrrr�test_format<s
zLongTest.test_formatc
Cs"ddddfg}|D]j\}}dD]\}dD]R}|||}|}|dkrR|turR|}z|�t|�|�Wq(tyxYq(0q(q q|�ttd�|�ttd	�|�ttd
�|�ttd�|�ttdd
�|�ttdd�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�td d�d�|�ttd!d�|�ttd"d�d#d$d%d&d'd(d)d*d+d,dd,dg}|D]}	|�ttd-|	��q�|�ttd.�dS)/N)Z100000000000000000000l F�x:^VZe10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000rSrT)rc�+rb)rc� �	z  		  rbZ123LZ123lZ0Lz-37LZ0x32LrfZ1L���+Z000rZ0o123�SZ0x123i#Z0b100rz	 0O123   z 0X123  z 0B100 �0z+0z-0Z00Z08z-012395is������i�l����������l����l����rZ42uこんにちは)�
ValueErrorrDr3�assertRaises)
r7ZLL�s�vrl�prefix�ssZvvZ
invalid_basesrkrrr�	test_longDsT
��zLongTest.test_longcCsBGdd�d�}|�tt|��Gdd�d�}|�t|��d�dS)Nc@seZdZdd�ZdS)z*LongTest.test_conversion.<locals>.JustLongcSsdS�N�*r�r7rrr�__long__�sz3LongTest.test_conversion.<locals>.JustLong.__long__N)ru�
__module__�__qualname__r�rrrr�JustLongsr�c@seZdZdd�Zdd�ZdS)z+LongTest.test_conversion.<locals>.LongTrunccSsdSr�rr�rrrr��sz4LongTest.test_conversion.<locals>.LongTrunc.__long__cSsdS)N�rr�rrr�	__trunc__�sz5LongTest.test_conversion.<locals>.LongTrunc.__trunc__N)rur�r�r�r�rrrr�	LongTrunc�sr�r�)r��	TypeErrorr3rD)r7r�r�rrr�test_conversion}szLongTest.test_conversioncCshzt|�}Wnty"d}Yn0zt|�}WntyFd}Yn0d�|||�}|�|||�dS)N�overflowzAError in conversion of integer {} to float.  Got {}, expected {}.)rrr�formatrD)r7r�actualrv�msgrrr�check_float_conversion�s

�zLongTest.check_float_conversionc

Cs�gd�}|D](}|�t|�|�|�t|�|�qdD]B\}}td�D]0}|�ttd|d|��d|d|�qJq:dD]B\}}td�D]0}|�ttd|d|��d|d|�q�q�tt�}dt}||d}|�t|�t�|�t|d�t�|�t|d�t�|�tt|�|�td|�t�|�tt|�|�tt|d�|�tt|�|�tt|d�|�ttd|d�|�ttd|�|�tt||�td	�D]b}d|d
d}d|d}|�tt|��|�d|d
}d|d}|�tt|��|��q�|d||d|d||d|d||dd|dd|||g}|�|�tdd
�D].}tdd�D]}|�	d|d|��q��q~|D]}	|�
|	�|�
|	��q�dS)N)rrrl����l����l������l����l�����l)�rr)rr�rIr�rr�rRr)�r��rrerrr�))rrr�)rrr�r�r�)r�rer�)rere)�	re)rSre)��)r�r�)�
r�)rHrf)rrfr�rrTlr����re�����5)rDrr=r3�DBL_MAX�DBL_MAX_EXPr�rrXrMr�)
r7Zexact_valuesrrC�pZint_dbl_maxZ	top_powerZhalfwayZtest_values�valuerrr�test_float_conversion�sX
00�

zLongTest.test_float_conversioncCsrdD]}|�tt|��|�qd}dd>}|}|||td�}dD]}|�tt||�qB|�t|�t|�d�dS)N)g���r��?�@AX123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345ri0u)�huge�mhuge�shuger)$�float(huge)�float(mhuge)z
complex(huge)zcomplex(mhuge)zcomplex(huge, 1)zcomplex(mhuge, 1)zcomplex(1, huge)zcomplex(1, mhuge)z	1. + hugez	huge + 1.z
1. + mhugez
mhuge + 1.z	1. - hugez	huge - 1.z
1. - mhugez
mhuge - 1.z	1. * hugez	huge * 1.z
1. * mhugez
mhuge * 1.z
1. // hugez
huge // 1.z1. // mhugezmhuge // 1.z	1. / hugez	huge / 1.z
1. / mhugez
mhuge / 1.z
1. ** hugez
huge ** 1.z1. ** mhugezmhuge ** 1.zmath.sin(huge)zmath.sin(mhuge)zmath.sqrt(huge)zmath.sqrt(mhuge)z(float(shuge) should not equal int(shuge))rDrr3rr�r�evalZassertNotEqual)r7rr�r�r��	namespace�testrrr�test_float_overflow�s�zLongTest.test_float_overflowcCs�t�tj�}ttd��gd�D]@}d|}t�|�}|�||�||}t�|�}|�||�q dd>ddfD]$}|�ttj|�|�ttj|�qrdS)NrS)rT���'rr�rr)	r�log10�erJr=ZassertAlmostEqual�logr�r�)r7ZLOG10Er,r�r�rvr�Zbadrrr�	test_logss

zLongTest.test_logsc

s�|j}G�fdd�d��gd�}dD]B}|�|d|d||d|dt|d�t|�t|d�g�q$|�ddd	tjttj�g�td
�}|�ddd	dd>|d||dg�|�dd
�|D��|D]�}�|�}|D]�}�|�}||k||k}|j|||d���||k||k}	|||	�|||k|dk�|||k|dk�|||k|dk�|||k|dk�|||k|dk�|||k|dk�Wd�q�1�s�0Yq�q�dS)NcsHeZdZdd�Z�fdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)z)LongTest.test_mixed_compares.<locals>.Ratc	Ss�t|t�r||_d|_n�t|t�r�t�t|��\}}d}d}|rrt�||�}t|�}||>|B}||8}||8}q<|dkr�||>}d}n|}d|>}|dkr�|}||_||_nt	d|��dS)Nr�rzcan't deal with %r)
�
isinstancer3rr+rr�frexpr!rr�)	r7r��fr�ZCHUNK�toprUrr+rrr�__init__s0



z2LongTest.test_mixed_compares.<locals>.Rat.__init__cs<t|��s�|�}|j|j|j|j}}||k||kS)N)r�rr+)r7�otherrrC��Ratrr�_cmp__Fs
z0LongTest.test_mixed_compares.<locals>.Rat._cmp__cSs|�|�dkS�Nr�r��r7r�rrr�__eq__Ksz0LongTest.test_mixed_compares.<locals>.Rat.__eq__cSs|�|�dkSr�r�r�rrr�__ge__Msz0LongTest.test_mixed_compares.<locals>.Rat.__ge__cSs|�|�dkSr�r�r�rrr�__gt__Osz0LongTest.test_mixed_compares.<locals>.Rat.__gt__cSs|�|�dkSr�r�r�rrr�__le__Qsz0LongTest.test_mixed_compares.<locals>.Rat.__le__cSs|�|�dkSr�r�r�rrr�__lt__Ssz0LongTest.test_mixed_compares.<locals>.Rat.__lt__N)
rur�r�r�r�r�r�r�r�r�rr�rrr�s(r�)rg����MbP?g�G�z��?r�g�?g@��x�D�Zb���ti)g�BgCg@Cr�g333333�?rrrr�i NcSsg|]
}|�qSrrr	rrrr
arz0LongTest.test_mixed_compares.<locals>.<listcomp>)rrC�Rcmp)rDrXr3r�maxsizerrE)
r7rFZcases�trZRxrCZRyr�Zxycmprr�r�test_mixed_comparess29�$
zLongTest.test_mixed_comparescCs�|�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�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�td d�d
�|�td d�d
�|�ttd!d"�d�d!�|�ttd!d"�d�d#�|�ttd!d"�d�d$�|�ttd!d"�d�d%�|�ttd&d'�|�td&d(�d)�|�td&d*�d+�|�tdd,�d�|�td d,�d
�|�tdd,�d-�|�tdd,�d.�|�tdd/�d-�|�tdd/�d.�|�tdd0�d1�|�tdd0�d.�|�tdd2�d3�|�tdd2�d.�|�ttd&d4�|�td&d5�d6�|�tdd7�d8�|�td d7�d9�|�tdd7�d:�|�tdd7�d;�|�tdd<�d:�|�tdd<�d;�|�tdd=�d>�|�tdd=�d;�|�tdd?�d@�|�tdd?�d;�|�ttd&dA�|�tdBdC�dD�|�ttddE�|�ttddF�|�ttddG�|�ttddH�|�tdItddJ�|�tdItddK�|�tdItddL�|�tdItddM�|�tdNtddO�|�tdPtddQ�dRdS�ttdT�tdU�d�D�dVdS�ttdW�tdX�d�D�D]j}|dYv�r�|�ttdZ|�|�ttd|�|�ttd|�|�ttd[d\|�|�ttd[d\|��q�d]D].}d^D]"}|�t||�tt|�|���qX�qPdS)_Ni�[r+Z	123456789�,z123,456,789�_Z123_456_789rrb�1rz-1z-3z  1z -1z+3z +1z 3rzz 1rIr�3�Xi�Z4d2i.���z-4d2Z8xz     4d2z    -4d2����berfZBEz-bez-BE���Iz,xZ_xZ	4996_02d2Z_XZ	4996_02D2�oZ2322z-2322z-oz oz 2322z+oz+2322z,oZ_oZ
111_4540_1322r)Z11z-11Z10011010010z-10011010010z-bz bz 10011010010z+bz+10011010010z,b�90Z_bZ11_0000_0011_1001z1.3Z_cz,cz+czCannot specify bothz_,z,_z_,dz,_dzCannot specify ',' with 's'z,szCannot specify '_' with 's'Z_scSsg|]}t|��qSr��chrr	rrrr
�rz+LongTest.test__format__.<locals>.<listcomp>r(r^cSsg|]}t|��qSrr�r	rrrr
�r�A�ZzbcdoxXeEfFgGn%rrrTzeEfFgG%)rrrrT���r�i.�i�)	rDr�r3r�r�ZassertRaisesRegexr=�ordr)r7�format_specr�rrr�test__format__qs��
�zLongTest.test__format__cCs:|�tttd��|�tttd��|�tttd��dS)N�infz-inf�nan)r�rr3rr�r�rrr�test_nan_inf�szLongTest.test_nan_infcCs�|�t��dd}Wd�n1s(0Y|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�dS)NrrrIr���r��r�r"rD�r7r�rrr�test_mod_division�s&zLongTest.test_mod_divisioncCs�dd>}|}|�||d�|�||d�|�||d�|�||d�|�d|d�|�d|d�|�d|d�|�d|d�|�d||d?|d�|�d||d?|d�|�d||d?|d�|�d||d?|d�|�||d>d	�|�d
||d
�||d�}dD]}|�tt||��q4d
D]"}t||�}|�|dd|��qPdD]}|�tt||��qxdS)Nri@�r�r�ri�gԄ@gԄ�r1i@B)r�r�)r�r�zhuge / 1zhuge / 2z	huge / -1z	huge / -2zmhuge / 100zmhuge / 200)z1 / hugez2 / hugez	-1 / hugez	-2 / hugez100 / mhugez200 / mhugezexpected underflow to 0 from %r)zhuge / 0z	mhuge / 0)rDr�rr�r")r7r�r�r�r�Z	underflowr.Zzerorrr�test_true_division�s4

�zLongTest.test_true_divisioncCs�|�t��dd}Wd�n1s(0Y|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�dS)NrrrrIr�rr�r�rrr�
test_floordivs&zLongTest.test_floordivTc
Cs�|r"tt|�t|��dtkr"dSztt||��}Wn*tyJd}Ynty^d}Yn0zt||�}Wn*ty�d}Ynty�d}Yn0|�||d�||||��dS)z�Verify that the result of a/b is correctly rounded, by
        comparing it with a pure Python implementation of correctly
        rounded division.  b should be nonzero.rNr�Zzerodivisionz7Incorrectly rounded division {}/{}: expected {}, got {})	r$r!r&rsr/rr"rDr�)r7r(r)Z
skip_smallrvrorrr�
check_truedivs"	

�zLongTest.check_truedivcCs�|�dd�|�dd�|�dd�|�dd�|�dd�|�ddtd�|�dd	dtt�|�ddd
d�|�ddd
d�dtttttf}|D]p}t|d|d�D]X}|�ddt|d�ddt|d��|�ddt|d�ddt|d��q�q�ddd
ddd
d
dddddddfD]B}tdd�D]0}|�|t||�|�|t||��qL�q>td�D]6}|�dtddddd|dtd��q�|�dd�|�d d!�td"�D]6}|�d|dd|�|�d|d|d��q�ddd#d
d$d%dd&dd
d
dddddddfD]0}tdd�D]}|�dt|||��qV�qHtd'd(�D]}|�|dd)��q�d*dd
dd"fD]n}td"�D]^}t�d|�}t�|d|d�}	|�||	�|�||	�|�||	�|�||	��q��q�td+�D]r}
t�d"�}t�dd"�}t�d|�}
t�dd|�}|�|
|�|�|
|�|�|
|�|�|
|��q&dS),N�{ri8���rIr�ige~rr�iNFrTíl90r�Qri0&iCr�rr���i��i����)�2���rS���i�
l�E,J_l�J�br�rrerf� i���i4ld(	r�)	r�r�r&r%r=r$r#r4�	randrange)r7�basesrkr,�mrr@�Mr(r)r�Za_bitsZb_bitsrrCrrr�$test_correctly_rounded_true_division8sn�*.�"
�� 
z-LongTest.test_correctly_rounded_true_divisioncCs�|�t��dd>Wd�n1s(0Y|�t��ddd>>Wd�n1s`0Y|�t��dd?Wd�n1s�0Y|�t��ddd>?Wd�n1s�0YdS)Nr�r�rr�)r�r�r�rrr�test_negative_shift_count�s&,&z"LongTest.test_negative_shift_countcCs�|�dd�|�dd�|�t��dd>Wd�n1s@0Y|�ddd>>d�|�t��ddd>>Wd�n1s�0YdS)Nrrrr�)rDr�r�r�rrr�test_lshift_of_zero�s&zLongTest.test_lshift_of_zerocCs,|�dtj>d�|�dtjd>d�dS)Nrr�rDrr�r�rrr�test_huge_lshift_of_zero�sz!LongTest.test_huge_lshift_of_zeror�g�?F)Zmemuse�dry_runcCs$|�dtjd>dd>tj>�dS)Nrr�r
)r7�sizerrr�test_huge_lshift�szLongTest.test_huge_lshiftcCs,|�ddd>?d�|�ddd>?d�dS)Nr�rr�ri���r)rDr�rrr�test_huge_rshift�szLongTest.test_huge_rshift��g�?cCsJdd>dtj>}|�|tjd?dd>d�|�|tjd?d�dS)Nrrr�i�rRr�r)rr�rD)r7r
r�rrr�test_huge_rshift_of_huge�sz!LongTest.test_huge_rshift_of_hugecCs>dd}|d}|d}|�||d�|�||d�dS)NrrTr)�assertIs)r7r(r)�crrr�#test_small_ints_in_huge_calculation�s

z,LongTest.test_small_ints_in_huge_calculationcCs�tdd�D]�}|�||d�|�||d�|�||d�|�||d�|�||d@�|�||dB�|�||dA�|�||�|�||d�|�|tt|���|�||d>d?t|��q
d}|�||d�|�d|d�dS)Nr�irrrrl)r=rr3rr)r7r@rrr�test_small_ints�szLongTest.test_small_intscCs�d}tdd�D]�}|��}|�|tt|��d���|dkrl|�d|dt|�kobd|kn�n|�|d�|dkr|�|dt�	t�
t|��t�
d�|��q|�d��d�|�d��d�|�d��d�|�d��d�|�d	��d�d
D]�}d|}|�|d��|�|�d|��|�|�|��|d�|�|��|d�|�|d��|d�|�|d��|d��qdS)Ng�����|�=i��i�z-0brrrrr)rrIrrfr��r�!�?�@��)r=rrD�lenrp�lstripr6r!r�floorr�)r7Ztinyr�kr@r(rrr�test_bit_length�s00�
zLongTest.test_bit_lengthcCs�ddddddddddddddddddddd�}tddd�D]H}|��D]:\}}t||d�}||}|�||�|�t|�t�qFq:|�tdd	�d
�|�tdd	�d�|�td
d	�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�|�td d�d!�|�td d	�d"�|�td d�d#�|�td d$�d%�|�td d&�d'�|�td d(�d)�|�td d*�d+�|�td d,�d-�|�td d.�d/�|�td d0�d1�|�td d2�d�|�td d3�d�|�td d4�d�tdd�D]@}td|d5d�}d|d6}|�||�|�t|�t��q�td7�D]H}td�D]8}	t�d8d9�}
t|
|�}|�||
�|�t|�t��q�q�d:d;d<d=d>dddfD]}|�td?|�d?��qVtd�D]6}	t�d8d9�}
t|
�}|�||
�|�t|�t��qxd@}|D]}
|�	t
tdA|
��q�dS)BNrrSr)rrrrIrrRr�rrer�rSr�r�r�rHrrfr���i����irij���ri8���ik���r�i���i���i���r�1r��3rT��rr��i,iԡr�i�i��i��l!l!l�~!l�!r�l�!r�l`!i����l!r�l'�!i����lz+i����lv|or�l,Gxi����i�i���iF�i��rRi���r�r�r�r�r�ri{�)Zbrianr�yrI)r=�items�roundrDr�typer3r4rr�r�)r7Z	test_dict�offsetrr�rorv�expectrr@rZhuge_nZ
bad_exponentsr�rrr�
test_round�sz
�
zLongTest.test_roundcs�d0�fdd�	}dddddd	d
ddd
dddddddd�}||ddd�ddddddd
dddd
dd	ddddd�}||d dd�ddd
ddddd!d"d#d$�
}||ddd�ddd
dddd	dd"d%d$�
}||d dd��jtd&jd'ddd��jtd&jd'ddd��jtd&jd'd dd��jtd&jd'd dd��jtd(jd)ddd��jtd(jd)d dd���d*�d*d�d+���d'�d,d�d-���d*�d,d�d.���d(jd,ddd�d/���td'jd*d�dS)1NFcsp|��D]b\}}z ��|jt|�||d�|�Wqtyh}z td�|||��|�WYd}~qd}~00qdS)N��signedz7failed to convert {0} with byteorder={1} and signed={2})r'rD�to_bytesr�	Exception�AssertionErrorr���tests�	byteorderr.r�rv�errr�rr�checkFs����z%LongTest.test_to_bytes.<locals>.check����������������������s���������)rrr���r������������������������������bigTr-���������������little������)
rrrIr�rMrNrO��rQ��rNrrrrrrRsss�����)F)r�rr/rD)r7r6�tests1�tests2�tests3�tests4rr�r�
test_to_bytesEs�
�����zLongTest.test_to_bytesc
s�d3�fdd�	}dddddddddd	d
ddd
dddddddd�}||ddd�dddddddddd	d
ddd
dddddddd�}||ddd�dddd
dddddddd�}||ddd�dddd
dddddddd�}||ddd�Gd d!�d!t�}��t|�d"d��|���|�d#d�d���t|jd"ddd��|���|jd#ddd�d���t|�d"d��|���|�d#d�d���t|jd"ddd��|���|jd#ddd�d���tjgd$�ddd�d���tjd$ddd�d���tjtd%�ddd�d���tjtd%�ddd�d���tjt�d&d%�ddd�d���tjtd%�ddd�d���t	tjdgd���t	tjdgd'���t	tjdgd(���t
tjd)d���t
tjd*d���t
tjdd���t
tjddd���t
|jd)d���t
|jd*d���t
|jdd���t
tjddd�Gd+d,�d,t�}|�d#d�}��t|�|���|d-�Gd.d/�d/t�}	|	�d#d�}��t|�|	���|d���t|d0d1�d2�dS)4NFcsl|��D]^\}}z��tj|||d�|�Wqtyd}z td�|||��|�WYd}~qd}~00qdS)Nr-z9failed to convert {0} with byteorder={1!r} and signed={2})r'rDr3�
from_bytesr0r1r�r2r�rrr6�s����z'LongTest.test_from_bytes.<locals>.checkrrrrGr�rHrIrJrKrLrMrNrOrPrQrRrS)rr7�r8rWr9r^r:r;r<r=r>r?r@rArBrCr]rDrErFrTTr-)rr7rir8rWr9r^r:r;rCr=rUrVrAr@rWr<rXrYrZr[r\r�r`ra)rr7r8r=r;r9rBrCr]r^r_)rr7r8r=r;r9rWr<rXr^rbc@seZdZdS)z'LongTest.test_from_bytes.<locals>.myintN�rur�r�rrrr�myintsrkr7r8)rMrrrE�Bzbigzlittlerc�c@seZdZdd�ZdS)z(LongTest.test_from_bytes.<locals>.myint2cSst�||d�S)Nr)r3�__new__)�clsr�rrrrn.sz0LongTest.test_from_bytes.<locals>.myint2.__new__N�rur�r�rnrrrr�myint2-srqrc@seZdZdd�ZdS)z(LongTest.test_from_bytes.<locals>.myint3cSs
d|_dS)N�bar)�foo)r7r�rrrr�6sz1LongTest.test_from_bytes.<locals>.myint3.__init__N)rur�r�r�rrrr�myint35srtrsZnonerr)F)r3rr)rhrD�	bytearray�array�
memoryviewr�r�r��getattr)
r7r6rcrdrerfrkrqr@rtrr�r�test_from_bytes�s
���
�
�
����
��
����
��zLongTest.test_from_bytescsFGdd�dt���fdd�td�D�}tt|�D]}|�|d�q0dS)Nc@seZdZddd�ZdS)z<LongTest.test_access_to_nonexistent_digit_0.<locals>.IntegerrcSst�||�}d|_|S)Nrs)r3rnrs)ror�r7rrrrnCszDLongTest.test_access_to_nonexistent_digit_0.<locals>.Integer.__new__N)rrprrrr�IntegerBsrzcsg|]}�d��qS)rrrg�rzrrr
Hrz?LongTest.test_access_to_nonexistent_digit_0.<locals>.<listcomp>r�r)r3r=�maprD)r7Zintegersrrr{r�"test_access_to_nonexistent_digit_0>sz+LongTest.test_access_to_nonexistent_digit_0cCs@dD]6}dD],}|�t||>�t�|�t||?�t�qqdS)N)TF)rr)rDr)r3)r7r�rrrr�test_shift_boolLszLongTest.test_shift_boolc	Cs�Gdd�dt�}ddddtjddd|d	�g}|D]H}|��\}}|�||ft|�df�|�t|�t�|�t|�t�q2dS)
Nc@seZdZdS)z-LongTest.test_as_integer_ratio.<locals>.myintNrjrrrrrkTsrkrSrr�rTFr�)r3rr��as_integer_ratiorDr))r7rkr3r��	numerator�denominatorrrr�test_as_integer_ratioSszLongTest.test_as_integer_ratioN)T)2rur�r�r<rArGrQrYr[r]r_rarmrwrxr�r�r�rZrequires_IEEE_754r�r�r�r�r�r�r�r�r�r�rrr	Zcpython_onlyrZ
bigmemtestrr�rrrrrrr,rgryr}r~r�rrrrr0ssd'
		9
E\a"

[
	

"Jcr0�__main__)#Zunittestr�rrr4rrv�int_info�bits_per_digitr2ZBASEr?rLrKr`rZr=r@rMrr$r�rr��min_expr%rr&r#rr/ZTestCaser0ru�mainrrrr�<module>sH
 .t


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