403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.124
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_long.cpython-36.opt-1.pyc
3

�w2_��@s,ddlZddlmZddlZddlZddlZddlZejjZ	de	Z
e
dZdZdZ
ddde
e
d?ddgZd	Zx*ede	�D]Zejed�ed>Zq|W[ed
d�eD�dd�eD�7ZejjZejjZejjZejjZdedeedZd
d�Zdd�ZGdd�dej�Z e!dk�r(ej"�dS)�N)�support���F�lUU�*UU�*l�*UU�*UU
�cCsg|]
}|�qS�r)�.0�xrr�3/opt/alt/python36/lib64/python3.6/test/test_long.py�
<listcomp>srcCsg|]
}|�qSrr)r	r
rrrrscCs�tjjd}tjj|}d|>}dddddd	ddg}|dkr@dS|dkrTt|�S|j�|}|dkrr||>n||?t|d
|>@�B}|||d@7}|||k|kr�td��tj	t
|�|�S)z9
    Correctly-rounded integer-to-float conversion.

    rrrg�z%integer too large to convert to float������rr)�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�qrrrr's,
rcCs||Adk}t|�t|�}}|s*td��|t|kr>td��|j�|j�}|dkrf|d||ks�|dkr�|d||kr�|d7}t|t�t}|t|d�>|t|d�>}}t||�\}}d||ks�d||kr�|ddkr�|d7}t	j
||�}|�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@s8eZdZdd�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�ZdId2d3�Zejd4d5��Zd6d7�Zej d8d9��Z!d:d;�Z"d<d=�Z#d>d?�Z$d@dA�Z%dBdC�Z&dDdE�Z'dFdG�Z(dHS)J�LongTestcCs�|j|d�|t}|td}d}d}ttj�td�dB}x�||kr�|d?d}t|||�}|jd|koztkn�||}||>}|d@r�|d|>dB}ttj�td�}qBW|j||ko�|kn�tj�dkr�|}|S)Nrrrg�?)Z
assertGreater�SHIFT�int�random�min�
assertTrue)�self�ndigitsZnbits_hiZnbits_lo�answerZnbitsr*�bitsrrr�getran{s&
zLongTest.getrancCs@d}x$t|�D]}|t>tjdt�B}qWtj�dkr<|}|S)Nrg�?)�ranger.r0Zrandint�MASK)r4r5�irrr�getran2�szLongTest.getran2c
Cs�|j}|j||d���t||�\}}||||}}||||}}	|||	d�|||d�|||d�|||||d�|dkr�|jd|ko�|knd�n |j||ko�dknd�WdQRXdS)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$r2)
r3r
r<�eqrr*Zq2Zr2ZpabZpbarrr�check_division�s"zLongTest.check_divisioncCsttdtd��ttttd��}|jtd�x>|D]6}|j|�}x&|D]}|j|�p\d}|j||�qLWq8W|jdd�|jdd�|jdd	�|jd
d�|jdd
�|jdd�|jdd�|jdd�|jdd�|jdd�|jdd�|jdd�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)�listr8�	MAXDIGITS�KARATSUBA_CUTOFF�appendr7r@)r3�digits�lenxr
�lenyr<rrr�
test_division�s4


zLongTest.test_divisionc	Cs�ttdd��ttttd��}|jtdtdg�dd�|D�}x�|D]�}d|>d}xp|D]h}||krnq`|j||d��Fd|>d}||}d||>d|>d|>d}|j||�WdQRXq`WqJWdS)Nr��
�dcSsg|]}|t�qSr)r.)r	�digitrrrr�sz+LongTest.test_karatsuba.<locals>.<listcomp>)�abits�bbits)rCr8rE�extendr>r=)	r3rGr6rOr%rPr&r
r<rrr�test_karatsuba�s

zLongTest.test_karatsubacCs�|j}|j|d���||d@d�||dB|�||dA|�||d@|�||dBd�||d	A|�|||�|||@|�|||B|�|||Ad�|||@d�|||Bd
�|||Ad�||d|�|||d�WdQRXx�tdt�D]�}d|}|j|||d��n|||>|?|�|||||?�|||||>�|||@||?|>�|||@||d@�WdQRX�qWdS)N)r
rrr)r
r�p2rrrrrr)r=r>r8r.)r3r
r?rrSrrr�check_bitop_identities_1�s2z!LongTest.check_bitop_identities_1cCs�|j}|j||d���|||@||@�|||B||B�|||A||A�|||A|A|�|||@||B�|||B||@�|||A||B||@@�|||A||@||@B�|||A||B||B@�WdQRXdS)N)r
r<)r=r>)r3r
r<r?rrr�check_bitop_identities_2sz!LongTest.check_bitop_identities_2cCs�|j}|j|||d���|||@|@|||@@�|||B|B|||BB�|||A|A|||AA�||||B@||@||@B�||||@B||B||B@�WdQRXdS)N)r
r<�z)r=r>)r3r
r<rVr?rrr�check_bitop_identities_3sz!LongTest.check_bitop_identities_3cCs�xtD]}|j|�qWtdtd�}x`|D]X}|j|�}|j|�x>|D]6}|j|�}|j||�|j|||j||d��qJWq,WdS)Nrr)�specialrTr8rDr7rUrW)r3r
rGrHrIr<rrr�test_bitop_identitiess





zLongTest.test_bitop_identitiescCs�g}d}|dkrd|}}x$|r@t||�\}}|jt|��qW|j�|pRdg}dd|�ddddd�|djd	d
�|D��S)Nrr�-Z0bZ0o�Z0x)r�rL�css|]}d|VqdS)Z0123456789abcdefNr)r	r:rrr�	<genexpr>1sz'LongTest.slow_format.<locals>.<genexpr>)r$rFr/�reverse�join)r3r
�baserG�signr*rrr�slow_format%s
zLongTest.slow_formatcCs�x�dtfdtfdtfdtfdtffD]n\}}||�}|j||jd��|j||�}|j||�WdQRX|j|d��|jt	|d�|�WdQRXq$WdS)Nrr\rLr])r
�mapper)�gotr)
�bin�oct�str�repr�hexr>�__name__rcr=r/)r3r
rardre�expectedrrr�check_format_13s,zLongTest.check_format_1cCsZxtD]}|j|�qWx<td�D]0}x*tdtd�D]}|j|�}|j|�q6Wq"WdS)NrLr)rXrmr8rDr7)r3r
r:rHrrr�test_format<s

zLongTest.test_formatc
Cs<d0dddddfg}x||D]t\}}xjd1D]b}x\d2D]T}|||}|}|dkr`|tk	r`|}y|jt|�|�Wq6tk
r�Yq6Xq6Wq,WqW|jttd�|jttd
�|jttd�|jttd�|jttdd�|jttdd�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtd d�d�|jtdd�d�|jtd!d�d�|jtd"d�d�|jtd#d�d�|jttd$d�|jttd%d�d3d5d6d8d;d=d>d@dCd'dd'dg}x|D]}	|jttd+|	��qW|jttd,�dS)DN�1�0�rLrMr[�+rZ� �	�  		  Z123LZ123lZ0Lz-37LZ0x32Lr]Z1L���+Z000rZ0o123�SZ0x123i#Z0b100rz	 0O123   z 0X123  z 0B100 z+0z-0Z00Z08z-012395i�r�r�?Z42uこんにちはZ00000000000000000000�100000000000000000000� F�x:^V)r|r})r[rrrZ)r[rsrtruis���li���lli�li�l����ll����lll����ll����l����)�
ValueErrorr=r/�assertRaises)
r3ZLL�s�vrb�prefixZssZvvZ
invalid_basesrarrr�	test_longDsP


zLongTest.test_longcCsBGdd�d�}|jtt|��Gdd�d�}|jt|��d�dS)Nc@seZdZdd�ZdS)z*LongTest.test_conversion.<locals>.JustLongcSsdS)N�*r)r3rrr�__long__�sz3LongTest.test_conversion.<locals>.JustLong.__long__N)rk�
__module__�__qualname__r�rrrr�JustLongsr�c@seZdZdd�Zdd�ZdS)z+LongTest.test_conversion.<locals>.LongTrunccSsdS)Nr�r)r3rrrr��sz4LongTest.test_conversion.<locals>.LongTrunc.__long__cSsdS)Ni�r)r3rrr�	__trunc__�sz5LongTest.test_conversion.<locals>.LongTrunc.__trunc__N)rkr�r�r�r�rrrr�	LongTrunc�sr�i�)r�	TypeErrorr/r=)r3r�r�rrr�test_conversion}szLongTest.test_conversioncCslyt|�}Wntk
r$d}YnXyt|�}Wntk
rJd}YnXdj|||�}|j|||�dS)N�overflowzAError in conversion of integer {} to float.  Got {}, expected {}.)rrr�formatr=)r3rZactualrl�msgrrr�check_float_conversion�s


zLongTest.check_float_conversionc
Csddddddddd d"d#d%g}x0|D](}|jt|�|�|jt|�|�q"WxNd-D]F\}}x<td�D]0}|jttd|d.|��d|d/|�qfWqTWxRd@D]J\}}x>td�D]2}|jttd|dA|��d|dB|��q�W�q�Wtt�}dt}||d}|jt|�t�|jt|d�t�|jt|d�t�|jtt|�|jtd|�t�|jtt|�|jtt|d�|jtt|�|jtt|d�|jttd|d�|jttd|�|jtt||�xntd�D]b}d|dDd}d|dF}|jtt|��|�d|dH}d|dI}|jtt|��|��q�W|d||d|d||d|d||dd|dd|||g}|j|�x@tdJd�D]2}x*tdKd�D]}|j	d|d|��q�W�q�Wx$|D]}	|j
|	�|j
|	��q�WdS)LNrrr�5rB�6rrK�r
r\r�	rL���
rAr]rM�ll����ll����ll����lllll����ll����lll�rr�rr�rBr�rr�rKr�r�r��r
r\)r�r�r�r�r�r�r�ll�rr�rr�rr�rBr�rr�rKr�r�r\�r
r\�r\r\�r�r\�rLr\�r�r��r�r��r�r��rAr]�rr])r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�lllllllll���i����)r=rr8r/�DBL_MAX�DBL_MAX_EXPrrrQrFr�)
r3Zexact_valuesr
r<�pZint_dbl_maxZ	top_powerZhalfwayZtest_values�valuerrr�test_float_conversion�sl
48
"

zLongTest.test_float_conversionc$Cs~x d0D]}|jtt|��|�qWdd}dd>}|}|||td�}xd1D]}|jtt||�qLW|jt|�t|�d-�dS)2N�@��?�Z12345�xri0u)�huge�mhuge�shuger�float(huge)�float(mhuge)�
complex(huge)�complex(mhuge)�complex(huge, 1)�complex(mhuge, 1)�complex(1, huge)�complex(1, mhuge)�	1. + huge�	huge + 1.�
1. + mhuge�
mhuge + 1.�	1. - huge�	huge - 1.�
1. - mhuge�
mhuge - 1.�	1. * huge�	huge * 1.�
1. * mhuge�
mhuge * 1.�
1. // huge�
huge // 1.�1. // mhuge�mhuge // 1.�	1. / huge�	huge / 1.�
1. / mhuge�
mhuge / 1.�
1. ** huge�
huge ** 1.�1. ** mhuge�mhuge ** 1.�math.sin(huge)�math.sin(mhuge)�math.sqrt(huge)�math.sqrt(mhuge)z(float(shuge) should not equal int(shuge)����)r�r�r�r�r�)$r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)r=rr/rrr�evalZassertNotEqual)r3r
r�r�r��	namespace�testrrr�test_float_overflow�s*
zLongTest.test_float_overflowcCs�tjtj�}xZttd��dddgD]@}d|}tj|�}|j||�||}tj|�}|j||�q$Wx8dd>ddfD]$}|jttj|�|jttj|�qzWdS)	NrLrMi�i'rrrr)	r�log10�erCr8ZassertAlmostEqual�logrr~)r3ZLOG10Er)r�r�rlr�Zbadrrr�	test_logss

zLongTest.test_logsc

s�|j}G�fdd�d��ddddddd	g}xJdD]B}|j|d|d||d|dt|d�t|�t|d�g�q0W|jdddtjttj�g�td	�}|jddddd>|d||dg�|jdd�|D��x�|D]�}�|�}x�|D]�}�|�}||k||k}|j|||d���||k||k}	|||	�|||k|dk�|||k|dk�|||k|dk�|||k|dk�|||k|dk�|||k|dk�WdQRXq�Wq�WdS)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�tjt|��\}}d}d}x8|rttj||�}t|�}||>|B}||8}||8}q>W|dkr�||>}d}n|}d|>}|dkr�|}||_||_nt	d|��dS)Nr�rzcan't deal with %r)
�
isinstancer/rr(rrZfrexprrr�)	r3r��fr�ZCHUNK�toprNrr(rrr�__init__s0


z2LongTest.test_mixed_compares.<locals>.Rat.__init__cs<t|��s�|�}|j|j|j|j}}||k||kS)N)r�rr()r3�otherr
r<)�Ratrr�_cmp__Fs
z0LongTest.test_mixed_compares.<locals>.Rat._cmp__cSs|j|�dkS)Nr)r�)r3r�rrr�__eq__Ksz0LongTest.test_mixed_compares.<locals>.Rat.__eq__cSs|j|�dkS)Nr)r�)r3r�rrr�__ge__Msz0LongTest.test_mixed_compares.<locals>.Rat.__ge__cSs|j|�dkS)Nr)r�)r3r�rrr�__gt__Osz0LongTest.test_mixed_compares.<locals>.Rat.__gt__cSs|j|�dkS)Nr)r�)r3r�rrr�__le__Qsz0LongTest.test_mixed_compares.<locals>.Rat.__le__cSs|j|�dkS)Nr)r�)r3r�rrr�__lt__Ssz0LongTest.test_mixed_compares.<locals>.Rat.__lt__N)
rkr�r�r�r�r�r�r�r�r�r)r�rrr�s(r�rg����MbP?g�G�z��?g�?g�?g@��x�DgZb���tig@�0�2r�g333333�?rri NcSsg|]
}|�qSrr)r	r
rrrrasz0LongTest.test_mixed_compares.<locals>.<listcomp>)r
r<�Rcmp��B�C�@C)r�r�r�)r=rQr/r�maxsizerr>)
r3r?Zcases�tr
ZRxr<ZRyr�Zxycmpr)r�r�test_mixed_comparess09
$$


zLongTest.test_mixed_comparescCs�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtdd	�d
�|jtd[d	�d�|jtdd�d
�|jtd\d�d�|jtdd�d�|jtd]d�d�|jtdd�d
�|jtd^d�d�|jtdd�d�|jtd_d�d�|jtdd�d�|jtdd�d�|jtdd�d�|jtd`d�d�|jtdd�d�|jtdad�d�|jtdd�d�|jtdbd�d�|jtdcd�d�|jtddd�d�|jttdd�d�d�|jttdd�d�d �|jttdd�d�d!�|jttdd�d�d"�|jttd#d$�|jtd#d%�d&�|jtd#d'�d(�|jtdd)�d�|jtded)�d�|jtdd)�d*�|jtdfd)�d+�|jtdd,�d*�|jtdgd,�d+�|jtdd-�d.�|jtdhd-�d+�|jtdd/�d0�|jtdid/�d+�|jttd#d1�|jtd#d2�d3�|jtdd4�d5�|jtdjd4�d6�|jtdd4�d7�|jtdkd4�d8�|jtdd9�d7�|jtdld9�d8�|jtdd:�d;�|jtdmd:�d8�|jtdd<�d=�|jtdnd<�d8�|jttd#d>�|jtd?d@�dA�|jttddB�|jttddC�|jttddD�|jttddE�|jtdFtddG�|jtdFtddH�|jtdFtddI�|jtdFtddJ�|jtdKtddL�|jtdMtddN�x�dOdP�ttdQ�tdR�d�D�dSdP�ttdT�tdU�d�D�D]j}|dVk�r�|jttdW|�|jttd|�|jttdo|�|jttdXdY|�|jttdXdY|��q�Wx:dZD]2}x*dsD]"}|jt||�tt|�|���q`W�qVWdS)tNi�[r(Z	123456789�,z123,456,789�_Z123_456_789rrZroz-1z-3z  1z -1z+3z +1z 3rsz 1rBr
�3�Xi�Z4d2z-4d2Z8xz     4d2z    -4d2Zber]ZBEz-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,bi90Z_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)�chr)r	r
rrrr�sz+LongTest.test__format__.<locals>.<listcomp>r%rVcSsg|]}t|��qSr)r)r	r
rrrr�s�A�ZzbcdoxXeEfFgGn%rrrMzeEfFgG%rrrrri.���i.���i.������r
r
i.���i.���i.���i.���r
i.���i.���i.���i.���rr����.�i�)rrrrMrrr)	r=r�r/rr~ZassertRaisesRegexr8�ordr)r3�format_specr�rrr�test__format__qs� &


zLongTest.test__format__cCs:|jtttd��|jtttd��|jtttd��dS)N�infz-inf�nan)rrr/rr~)r3rrr�test_nan_inf�szLongTest.test_nan_infc
Cs�|jt��dd}WdQRX|jd	d�|jdd�|jd
d�|jdd�|jdd�|jdd�|jdd�|jdd�dS)Nrrr�rLrBr
r�rrBi�r
i����i����i����i�i����r
r
ri�rr�ri�r�r)rrr=)r3rrrr�test_mod_division�szLongTest.test_mod_divisioncCs�dd>}|}|j||d�|j||d�|j||d�|j||d�|jd|d�|jd|d�|jd|d�|jd|d�|jd||d?|d�|jd||d?|d�|jd||d?|d�|jd||d?|d�|j||d>d�|jd||d�||d	�}xdD]}|jtt||��q6Wx*d D]"}t||�}|j|dd|��qVWxd!D]}|jtt||��q�WdS)"Nri@�g�?gi�gԄ@g�?i@B)r�r��float(huge)�float(mhuge)�huge / 1�huge / 2�	huge / -1�	huge / -2�mhuge / 100�mhuge / 200�1 / huge�2 / huge�	-1 / huge�	-2 / huge�100 / mhuge�200 / mhugezexpected underflow to 0 from %r�huge / 0�	mhuge / 0g�g�gԄ�gԄ�)rrrrrrrr)rrrrr r!)r"r#)r=rrr�r)r3r�r�r�r�Z	underflowr+Zzerorrr�test_true_division�s8


zLongTest.test_true_divisionc
Cs�|jt��dd}WdQRX|jdd�|jd
d�|jd
d�|jdd�|jdd�|jdd�|jdd�|jdd�|jdd�|jd d!�|jd#d$�|jd%d�dS)&NrrrrBr�rr�rr
rrrrrrr
ri����r
rBi����r�r�r
r�r�rBi�r
ri�r�r�r
r�r�r)rrr=)r3rrrr�
test_floordivszLongTest.test_floordivTcCs�|r"tt|�t|��dtkr"dSytt||��}Wn.tk
rLd}Yntk
rbd}YnXyt||�}Wn.tk
r�d}Yntk
r�d}YnX|j||dj||||��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!rr#rir,rrr=r�)r3r%r&Z
skip_smallrlrerrr�
check_truedivs 	

zLongTest.check_truedivcCs�|jdd�|jd&d�|jdd�|jdd'�|jdd�|jd(dtd�|jdddtt�|jddd	d
�|jd*d
dd
�dtttttf}x||D]t}xnt|d|d�D]X}|jddt|d�ddt|d��|jddt|d�ddt|d��q�Wq�Wxpddddddd	d+d,d-d.d/ddgD]F}x>td0d�D]0}|j|t||�|j|t||��qXW�qHWxBtd�D]6}|jdtddddd|dtd��q�W|jdd�|jdd�xBtd�D]6}|jd|dd|�|jd|d|d��q�Wxfddddd d!dd"ddd	d1d2d3d4d5ddgD]4}x,td6d�D]}|jdt|||��qrW�qbWx$td7d#�D]}|j|dd$��q�Wx�d8dd	ddgD]r}xjtd�D]^}tjd|�}tj|d|d�}	|j||	�|j||	�|j||	�|j||	��q�W�q�Wx~td%�D]r}
tjd�}tjdd�}tjd|�}
tjdd|�}|j|
|�|j|
|�|j|
|�|j|
|��qTWdS)9N�{ri�rBi�i90riNFrMí�r
�Qri0&iCr�rK�i3	�)r�rL���i�
l�E,J_l�J�bi�rr\r]� rqi4i'i8���r
ige~i@l90rr���i��i���i����rrr0i��i���i����i��ld(	)	r&r�r#r"r8r!r r0�	randrange)r3�basesrar)�mrr:�Mr%r&rZa_bitsZb_bitsr
r<rrr�$test_correctly_rounded_true_division8sf
*2""$
z-LongTest.test_correctly_rounded_true_divisionc	Cs:|jdd�|jdd�|jt��dd>WdQRXdS)NrrLrrrr)r=rr~)r3rrr�test_lshift_of_zero�szLongTest.test_lshift_of_zeroc
Cs:|jdtj>d�|jt��dtjd>WdQRXdS)Nrr)r=rr�rr)r3rrr�test_huge_lshift_of_zero�sz!LongTest.test_huge_lshift_of_zerocCs�x�tdd�D]�}|j||d�|j||d�|j||d�|j||d�|j||d@�|j||dB�|j||dA�|j||�|j||d�|j|tt|���|j||d>d?t|��qWd	}|j||d�|jd|d�dS)
NrKirrrrr0rl)r8�assertIsr/rh)r3r:rrr�test_small_ints�szLongTest.test_small_intscCs�d}x�tdd�D]�}|j�}|j|tt|�jd���|dkrn|jd|dt|�kodd|kn�n|j|d�|dkr|j|dtj	tj
t|��tj
d�|��qW|jdj�d�|jdj�d�|jdj�d�|jdj�d�|jdj�d�x�dD]�}d|}|j|dj�|�|jd|j�|�|j|j�|d�|j|j�|d�|j|dj�|d�|j|dj�|d��q
WdS)Ng�����|�=i�z-0brrrrBrr]r*rzr/�!r{�@��i��rr)rrBrr]r*rzr/r:r{r;r<)r8rr=�lenrf�lstripr2rrZfloorr�)r3Ztinyr
�kr:r%rrr�test_bit_length�s.0&
zLongTest.test_bit_lengthcCs�ddddddddddddddddddddd�}x\td4dd�D]L}xF|j�D]:\}}t||d5�}||}|j||�|jt|�t�qJWq<W|jtd6d7�d8�|jtd9d:�d;�|jtd<d=�d>�|jtd?d@�d�|jtdAdB�d�|jtdCdD�d�|jtddE�d�|jtddF�d�|jtddG�d�|jtd
dH�d�|jtddI�d�|jtd
dJ�d�|jtddK�d	�|jtddL�d	�|jtddM�d�|jtddN�d�|jtddO�d�|jtddP�d�|jtddQ�d�|jtddR�d�|jtddS�d�|jtddT�d�|jtddU�d �|jtddV�d"�|jtddW�d$�|jtddX�d&�|jtddY�d'�|jtddZ�d�|jtdd[�d�|jtdd\�d�xNtdd�D]@}td|d+d]�}d|d,}|j||�|jt|�t��q�WxXtd�D]L}xDtd�D]8}	tjd^d-�}
t|
|�}|j||
�|jt|�t��qW�qWx4d`dadcddddddfD]}|jtd0|�d0��qlWxBtd�D]6}	tjded-�}
t|
�}|j||
�|jt|�t��q�Wdf}x|D]}
|j	t
td|
��q�WdS)gNrrLrq)rrrrBrrKr�r
r\r�rLr�r�r�rArr]r*��ir�rr.�rM�3r��1r-�i,iԡrBi�i��i��l!l!l�~!l�!rl�!rKl`!r�l!r
l'�!r\lz+r�lv|ol,Gxr�r�i�iF�i��i'rzr{i{��brian�@�i����rij���ri8���ik���ri����i���ri����i���ri���rrrrrrrrrrrrr
r
rrr
r�r0i����i����i����i����i����i����i�i���r
i���li���lll����li���)rHrIrJ)r8�items�roundr=r8�typer/r0r1rr�)r3Z	test_dict�offsetr?r�rerlZexpectrr:r
Zhuge_nZ
bad_exponentsr�rrr�
test_round�sx

zLongTest.test_roundc"s�d7�fdd�	}ddddd8dd9d
d:dd;dd	dd
dd<dd=dddddddd>dddd?dd@d i}||d!d"d#�dddddAddBd
dCddDdd	dd
d$dEd%dFddddd&dddGd'dd(dHd)dId*i}||d+d"d#�dddddddd,d-d.d/�
}||d!dd#�dddddd&dd'd-d0d/�
}||d+dd#��jtdjdd!dd#��jtdjdd!d"d#��jtdjdd+dd#��jtdjdd+d"d#��jtdJjd1d!dd#��jtdKjd1d+dd#��jdjdd!�d2��jdjd3d!�d4��jdjd3d!�d5��jdLjd3d!d"d#�d6��jtdjdd!�dS)MNFcsrxl|j�D]`\}}y �j|jt|�||d�|�Wq
tk
rh}ztdj|||��|�WYdd}~Xq
Xq
WdS)N)�signedz7failed to convert {0} with byteorder={1} and signed={2})rKr=�to_bytesr=�	Exception�AssertionErrorr�)�tests�	byteorderrPr�rl�err)r3rr�check"s
z%LongTest.test_to_bytes.<locals>.checkr�r������r����s��s��s��s�s�si�s�i�s��i��s��is�i�s��bigT)rPs�s�ss�s��s�s��littles�s��s)
rrr[r�r`rai�i�i��isr�rKsss�����)Fri����i����i���i���i���i���i��i��ri����i����i���i���i���i���i��i��rrr)rrrQr=)r3rW�tests1�tests2�tests3�tests4r)r3r�
test_to_bytes!s�
zLongTest.test_to_bytesc
s�d*�fdd�	}dddddd+d,d-d.d/ddd0d1d	d
dd2d
d3d4d�}||ddd�ddddd
d5d6d7d8d9ddd:d;d	d
dd<d
d=d>d�}||ddd�dddddd	d
ddd
dd�}||ddd�dddddd	d
ddd
dd�}||ddd�Gdd�dt�}�jt|jdd��|��j|jdd�d��jt|jdddd��|��j|jdddd�d��jt|jdd��|��j|jdd�d��jt|jdddd��|��j|jdddd�d��jtjd	ddgddd�d?��jtjd@ddd�dA��jtjtd�ddd�dB��jtjtd�ddd�dC��jtjtjdd�ddd�dD��jtjtd�ddd�dE��jt	tjd
gd��jt	tjdgd��jt	tjdgd��jt
tjd d��jt
tjd!d��jt
tjdd��jt
tjddd��jt
|jd d��jt
|jd!d��jt
|jdd��jt
tjddd�Gd"d#�d#t�}|jdd�}�jt|�|��j|d$�Gd%d&�d&t�}	|	jdd�}�jt|�|	��j|d��jt|d'd(�d)�dS)FNFcsnxh|j�D]\\}}y�jtj|||d�|�Wq
tk
rd}ztdj|||��|�WYdd}~Xq
Xq
WdS)N)rPz9failed to convert {0} with byteorder={1!r} and signed={2})rKr=r/�
from_bytesrRrSr�)rTrUrPr�rlrV)r3rrrW�s
z'LongTest.test_from_bytes.<locals>.checkrrr[r�r^r`rai�i�i��ii�)rdrXsrYsrZs��r\r]s�r_s�s�s�s�ss�s�s��s�s�rbT)rP)rdrXsrYsrZs��r\r]s�r_s�s�s�s�ss�s�s��s�s�rc)rdrXrYr_r]rZss�s�s��s)rdrXrYr_r]rZss�s�s��sc@seZdZdS)z'LongTest.test_from_bytes.<locals>.myintN)rkr�r�rrrr�myint�srkrXrYs��Bzbigzlittler[�c@seZdZdd�ZdS)z(LongTest.test_from_bytes.<locals>.myint2cSstj||d�S)Nr)r/�__new__)�clsr�rrrrn
sz0LongTest.test_from_bytes.<locals>.myint2.__new__N)rkr�r�rnrrrr�myint2	srprc@seZdZdd�ZdS)z(LongTest.test_from_bytes.<locals>.myint3cSs
d|_dS)N�bar)�foo)r3r�rrrr�sz1LongTest.test_from_bytes.<locals>.myint3.__init__N)rkr�r�r�rrrr�myint3srsrrZnonerq)Frri����i����i���i���i���i���i��i��rri����i����i���i���i���i���i��i��i��)r`rri��i��i��i��i��)r/r8rMrjr=�	bytearray�array�
memoryviewrr~r��getattr)
r3rWrerfrgrhrkrpr:rsr)r3r�test_from_bytes�s�

zLongTest.test_from_bytescsJGdd�dt���fdd�td�D�}xtt|�D]}|j|d�q2WdS)Nc@seZdZddd�ZdS)z<LongTest.test_access_to_nonexistent_digit_0.<locals>.IntegerrcSstj||�}d|_|S)Nrr)r/rnrr)ror�r3rrrrnszDLongTest.test_access_to_nonexistent_digit_0.<locals>.Integer.__new__N)r)rkr�r�rnrrrr�Integersrycsg|]}�d��qS)rr)r	r:)ryrrr$sz?LongTest.test_access_to_nonexistent_digit_0.<locals>.<listcomp>i�r)r/r8�mapr=)r3Zintegersrr)ryr�"test_access_to_nonexistent_digit_0sz+LongTest.test_access_to_nonexistent_digit_0cCsHxBdD]:}x4dD],}|jt||>�t�|jt||?�t�qWqWdS)NTFrr)TF)rr)r=rMr/)r3r�rrrr�test_shift_bool(s

zLongTest.test_shift_boolN)T))rkr�r�r7r;r@rJrRrTrUrWrYrcrmrnr�r�r�rZrequires_IEEE_754r�r�r�rrrrr$r%r&r5r6Zcpython_onlyr7r9r@rOrirxr{r|rrrrr-ssH'
		9F\a"
\	"Jcr-�__main__)#Zunittestr�rrr0rru�int_info�bits_per_digitr.ZBASEr9rErDrXrSr8r:rFrr!r�rr��min_expr"rr#r rr,ZTestCaser-rk�mainrrrr�<module>sH .F


Youez - 2016 - github.com/yon3zu
LinuXploit