HEX
Server: LiteSpeed
System: Linux standart9.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: karalev (5310)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //opt/alt/python37/lib64/python3.7/site-packages/guppy/sets/__pycache__/test.cpython-37.opt-1.pyc
B

�]͵�@s�ddlTddlZddlmZddlZddlZddlZyddlZ	Wne
k
rXdZYnXdZerldd�Zndd�Ze
�ZeZeZe
ZeZeZdd	�Zd
d�Zdd
�Zd?dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Z dd�Z!d@dd �Z"Gd!d"�d"e�Z#d#d$�Z$dAd&d'�Z%d(d)�Z&d*d+�Z'd,d-�Z(d.d/�Z)d0d1�Z*d2d3�Z+Gd4d5�d5�Z,Gd6d7�d7�Z-dBd8d9�Z.d:d;�Z/d<d=�Z0e,�Z1e2d>k�r�e0�dS)C�)�*N)�process_time�cCsttttj�|||g���S)N)�list�map�int�numpy�randomZrandom_integers)�low�high�length�r
�B/opt/alt/python37/lib64/python3.7/site-packages/guppy/sets/test.py�random_integers_listsrcs��fdd�t|�D�S)Ncsg|]}t�����qSr
)r	�randint)�.0�i)rr
r
r�
<listcomp>sz(random_integers_list.<locals>.<listcomp>)�range)r
rrr
)rr
rrscCsdS)Nr
)�a�br
r
r�
absorption#srcCsdS)Nr
)rr�cr
r
r�associative(srcCsdS)Nr
)rrr
r
r�commutative-srcCs|dkr
ndS)Nr
)rrrr
r
r�deMorgan2srcCsdS)Nr
)rr
r
r�idempotence;srcCsdS)Nr
)rrr
r
r�	inclusion@srcCsdS)Nr
)rrrr
r
r�distributiveGsrcCsxxr|D]j}t|�x\|D]T}t||�t||�t||�x0|D](}t|||�t|||�t|||�q@WqWqWdS)N)rrrrrrr)�as_�bsZcsrrrr
r
r�test_set_operationsNs





r!cCs,dd�}�x|D�]}�x
|D�]}|t|�t|�k||k�|||k||koV||k�|||k||ko�||ksz||ko�||k�|||k||ko�||ko�||ko�||k�|||k||ko�||k�|||k||ko�||k�|||k||k�o||k�s||k�o||k�qWqWdS)NcSsdS)Nr
)rrr
r
r�imp\sztest_set_sub.<locals>.imp)�len)rr r"rrr
r
r�test_set_sub[s,.r$cCs x|D]}x|D]}qWqWdS)Nr
)rr rrr
r
r�test_set_lenis

r%cCs x|D]}x|D]}qWqWdS)Nr
)rr rrr
r
r�test_set_convertys

r&r
c
CsJtt|��}t�}x|D]}||�}qWt�}||}	|rB|	|fS|	SdS)N)rr�clock)
�f�args�N�retx�rZ	starttimer�xZendtime�elapsedr
r
r�eltime�s
r/c@s$eZdZdd�Zdd�Zdd�ZdS)�IdSetcCst�|t|�d�dS)N�)�bitsmut�append�id)�selfr-r
r
rr3�szIdSet.appendcCst�|t|�d�dS)Nr1)r2�remover4)r5r-r
r
rr6�szIdSet.removecCst�|t|�d�S)Nr1)r2�__contains__r4)r5r-r
r
rr7�szIdSet.__contains__N)�__name__�
__module__�__qualname__r3r6r7r
r
r
rr0�sr0cCs2|}x(|r,||A||@d>}}t||�qW|S)Nr)�print)rrrr
r
r�add�s
r<�@cCstt�||��S)N)rr	Z	randrange)Zlimr
r
rr�srcCsHt�}t�}t�d@}t�}t�}t�d@}|||>|||>}|S)N�)r)rrZashr�dZbshr,r
r
r�randlong�s

r@cCs&i}x|D]}||kr
d||<q
W|S)Nrr
)�l�ds�er
r
r�dictset�s

rDcCs t|�}t|���}|��|S)N)rDr�keys�sort)rArBZksr
r
r�dslist�srGcCsHi}g}x:td�D].}x(td�}||kr|�|�d||<PqWqW|S)z? randlist(n, amp) -> list of n unique random ints in [-amp,amp]i'iP�r)rrr3)�nZamprB�rngrrr
r
r�randlist�s

rJcCs |j}x|D]}||�qWdS)N)r3)rr�ap�bitr
r
r�t_append�s
rMcCs(|j}x|D]}|t|�d�qWdS)Nr1)r3r4)rrrKrLr
r
r�t_append_id�s
rNc@s2eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdKdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Z d<d=�Z!d>d?�Z"d@dA�Z#dBdC�Z$dDdE�Z%dFdG�Z&dHdI�Z'dJS)L�TestrcCsdS)Nr
)r5r
r
r�test0�sz
Test.test0c	Cs ddl}|��}tdddg�gBtdddg�g@tdddg�dgBtdddg�ttd��Btdddg�ttddd��Bt�tg�td�td�td�tt��f}t||d	�x|D]}q�Wtd
�td�ttd�|d	�ttd
�|d	�ttd�|d	�ttdg�td�B|d	�tttdg��|d	�tttdg��|d	�td���}|}|dO}tt|�|d	�|dO}tt|�|d	�|ddgO}tt|�|d	�|dO}tt|�|d	�|tdg�O}tt|�||d	�|tdg�O}t|�}t||d	�||M}t||d	�|dM}t||d	�||O}|dM}tt|�|d	�||O}|ddgM}tt|�|d	�||O}|dM}tt|�|d	�||O}|tdg�M}t||d	�||O}|tdg�M}t|d|tdg�@|d	�|dN}t||d	�|dN}tt|�|d	�|ddgN}tt|�|d	�|dN}tt|�|d	�|tdg�N}t||d	�|dM}||O}||O}t|d||B||Btg�|B|d	�t|�}|dO}t||dBt|�t|�|d	�||N}t||d	�||M}t|t|�t|�|d	�|dO}t|t|�|d	�|dM}t|t|�|d	�|dN}t|t|�|d	�|dO}t|t|�|d	�|dM}t|t|�|d	�|dN}t|t|�|d	�|td�O}t|t|�|d	�|td�M}t|t|�|d	�ttd�|d	�ttdg�|d	�ttdg�tdg�B|d	�dS)Nrr����d���r
)�filei@li�)rRi@)����%rWzts&.Zmt������)�io�StringIO�bitsetrrr;r�mutcopy)	r5r]r(ZemptiesrC�msZmsa�ts�xsr
r
r�test1�s�

,
z
Test.test1c	Cs��x~dd�td�D�D�]f}�x^dd�td�D�D�]F}g}�x|t|�t|�fD]�}x�|t|�t|�fD]�}g}|�||B�|�||@�|�||A�|�||B�|�||@�|�||A�|�||B�|�||@�|�||A�|�||B�|�||@�|�||A�|�|�qjWqRWx4|dd�D]$}xt||d�D]
\}}�qfW�qRWq2WqWdS)NcSsg|]
}t��qSr
)r@)rrr
r
rr�szTest.test2.<locals>.<listcomp>�
cSsg|]
}t��qSr
)r@)r�jr
r
rr�srr)rr_r2r3�zip)	r5rrrb�ta�tb�trr,r-r
r
r�test2�s,z
Test.test2cCs|t�}t�}t�}t�}g}�x"|t|�t|�fD�]
}�x|t|�t|�fD]�}|d@rd||O}n"|d@rv||M}n|d@r�||N}x�|t|�t|�fD]�}g}	||O}|	�t|��||M}|	�t|��||N}|	�t|��||O}|	�t|��||M}|	�t|��||N}|	�t|��|�|	�q�WqNWq2Wx4|dd�D]$}	xt|	|d�D]
\}
}�qdW�qPWdS)Nr�rRr)r@rr_r2r3rrg)r5�p�oprrrb�tprhrirjr,r-r
r
r�test3�s>




z
Test.test3cCs�dd�}d}x�tdddd|jd�D]�}d|>}t|t|d||f�t|dt|�|f�t|dt|�t|�f�t|dt|�|f�t|dt|�t|�f�t|dt|�t|�f��q(WdS)	NcSsBx<|dkr<||O}||O}||O}||O}||O}|d8}qWdS)Nrrr
)rHr-�yr
r
r�f1�s
zTest.test4.<locals>.f1ri�ir�i�)r�fasterr;r/r_r2)r5rrr-Zexprqr
r
r�test4�s	 z
Test.test4c	Cs�i}xftd�D]Z}t�}d||<d||t�d<d||t�d<d||t�d<d||t�d<qWt|�}t|�}|��dd�}|t|�||�g}x�|D]�}t}||B}t}||B}t}||O}tt�}||O}t}||A}t}||A}t}||N}tt�}||N}t}||@}t}||@}t}||M}tt�}||M}t}||A}|}t}||A}|}t}||N}|}tt�}||N}|}q�WdS)N�2r�cSstdd�|D��S)NcSsg|]}|df�qS)rr
)rrLr
r
rr�sz/Test.test5.<locals>.dictset.<locals>.<listcomp>)�dict)�bitsr
r
rrD�szTest.test5.<locals>.dictset)rrrrF�tuple�Emptyr2�Omega)	r5ryrrLZsbitsrDZseqs�seqr r
r
r�test5�sf
z
Test.test5cCs.x(t�fD]}x||t�fD]}qWq
WdS)N)r@)r5rrr
r
r�test6<sz
Test.test6c
slddl}|���td�}tt|��d�|�d�tt|�|��t|��d�|�d�tt|�|�d�t|��d�|�d�tt|�|�d�t|��d�|�d�|�d�|�d�tt|�|��t|��d�tt|�|�d�t|��d�|�d�tt|��d�t����dd��d	d
��dd��d
d���fdd�}d%�fdd�	}d&�fdd�	}�fdd�}�fdd�}�fdd�}�fdd�}	d'�fdd�	}
d|j	d}x�t
tdd |��t
tdd!|��t
td dd|��td d"|j	d#�fD]P}t||�|	|�||�||��||�||�|
|�||d$�||d$�|
|d$��
�q�Wt
td ��}t||�||��dS)(Nr)rVrrUrlrQcSs |j}x|D]}||�qWdS)N)r3)rrrKrLr
r
rr(rs
zTest.test7.<locals>.fcSs&d}x|D]}||kr
|d7}q
W|S)Nrrr
)rr�srLr
r
r�fluws

zTest.test7.<locals>.flucSsx|D]}d||<qWdS)Nrr
)rrrLr
r
r�g~s
zTest.test7.<locals>.gcSsx|D]}|t|�O}qWdS)N)�	bitsingle)rrrLr
r
r�h�s
zTest.test7.<locals>.hcSs*td�}t|||f�}t|�}|��|S)Nr)r2r/rrF)rIr(ra�tZsrngr
r
r�tms�s
zTest.test7.<locals>.tmscs:|dkrt|�}t|d|��}t�||fdd�\}}|S)Nr)r+)r#r2r/)rIrHra�eltr�)r�r
r�tmslu�s
zTest.test7.<locals>.tmslucs:|dkrt|�}t|d|��}t�||fdd�\}}|S)Nr)r+)r#r_r/)rIrHrar�r�)r�r
r�tbslu�s
zTest.test7.<locals>.tbslucsd}dd�}t�||f�S)NrcSsx|D]}|d|>O}qWdS)Nrr
)rrrLr
r
rr(�s
z"Test.test7.<locals>.tlo.<locals>.f)r/)rI�lor()r�r
r�tlo�szTest.test7.<locals>.tlocst�}dd�}t�||f�S)NcSsx|D]}|t|�O}qWdS)N)r�)rrrLr
r
rr(�s
z"Test.test7.<locals>.tbs.<locals>.f)r_r/)rIr�r()r�r
r�tbs�szTest.test7.<locals>.tbscsg}t�||f�S)N)r/)rIZls)r(r
r�tls�szTest.test7.<locals>.tlscsi}t�||f�S)N)r/)rIrB)r�r
r�tds�szTest.test7.<locals>.tdscsD|dkrt|�}tdd�|d|�D��}t�||fdd�\}}|S)NcSsg|]}|df�qS)rr
)rr-r
r
rr�sz-Test.test7.<locals>.tdslu.<locals>.<listcomp>r)r+)r#rxr/)rIrHrBr�r�)r�r
r�tdslu�s
zTest.test7.<locals>.tdslurSi'i��iP�i@�rT)N)N)N)
r]r^r2r;�strr3�popr6�getvaluertrrrJ)
r5r]rr�r�r�r�r�r�r�r��steprIr
)r(r�r�r�r�test7RsP






"z
Test.test7cCs~t}xt|�|g�|dg�fD]Z}dgif}x|D]}|�|�q0Wx|D]}qHWx|D]}|�|�qVWx|D]}qnWqWdS)Nrr
)r0r3r6)r5ZBSr �os�or
r
r�test8�s




z
Test.test8cCsLxFdD]>}tt|��}t|�}t|||�}t|�}t|�}t|�}qWdS)N)i�i'i��)rrr2rrGr_)r5rr,�m�laZlasr r
r
r�test9�s
z
Test.test9cCs\dd�}ttd��}td�||�|��td�||�tddd�}td�||�dS)NcSs6x0dD](}td|�ttt|d|�f��qWdS)N)i�i'i��i�zeltime(bitset, (la[:%d],)))r;r/r_)r�rr
r
r�tests�s
zTest.test10.<locals>.testsi�zla = range(400000)zla.reverse()i��z/la=random_integers_list(-400000,400000,400000)))rrr;�reverser)r5r�r�r
r
r�test10�szTest.test10cCsNtddd�}x<|dkrHtg�}d|_||O}td||j|j�|d8}qWdS)Ni��i�rrT�test11r)rr2Z_splitting_sizer;�	_indisize�_num_seg)r5rHr�rar
r
rr��s
zTest.test11c		Cs�x�dD]�}t�}tt|��}||O}x0dD](}xt|�D]}|�|�q8W||O}q*W|j}xvdD]n}xhtd|d|�D]T}g}x t|�D]}|�|�|��q�W|dkr�|��tt|||��}||O}qxWqbWqWdS)N)
� �@��rs�!�?�Ar>i)rUrrrerU)r2rrr�r�r3r�)	r5r*rarIZpopixrfZindisizerZpopsr
r
r�test12s&


zTest.test12cCs�t�}|dN}|�d�y|�d�Wntk
r:Yn
Xtd��|�d�y|�d�Wntk
rpYn
Xtd��|�d�y|��Wntk
r�Yn
Xtd��dS)NrUrzexpected ValueError for removezexpected ValueError for appendzexpected ValueError for pop)r2r6�
ValueError�AssertionErrorr3r�)r5rar
r
r�test13"s(


zTest.test13cCsBd}x8|D]0}x*|D]"}xdD]}tt|||��}qWqWq
WdS)N)i���i����i���i��i��i����rUrrrersr�r�rTi�)
rrlrQrRrSrWrYrsr�r�)rr)r5rcr��hir�r,r
r
r�test14Es


zTest.test14cCsrxltdd�D]^}xXt|d|d�D]B}tt||��}t||�}t|�}d}x|rd||}d|}qNWq$WqWdS)Ni����"r�#rrU)rr�bitranger2)r5rrrIr rarr-r
r
r�test15Qs
zTest.test15c	Cs�x"td�D]}xtd�D]}qWq
Wtj}|d}tdg�}x|||fD]}qLWdd�}|t|g�d�|t|g�d�|t|g�d>d�x,dD]$\}}xdD]}xd	D]}q�Wq�Wq�WdS)
Nr�rrcSs.y||>Wntk
r Yn
Xtd��dS)Nzexpected OverflowError)�
OverflowErrorr�)r �shr
r
r�tsvts
zTest.test16.<locals>.tsvrU))rre)ri')i���i�)	i����i���i���rUrrr>r�i)rrlrQ)r�sys�maxsizer_)	r5r��v�maxint�minintrr�rr�r
r
r�test16fs 



zTest.test16cCs�x�dddttd��ttd��ttd��t�fD]�}x�dddttd��ttd��ttd��t�fD]v}xpt|�t|�t|�tt|��fD]H}xB||t|�t|�t|�tt|��fD]}||k}||k}q�Wq�Wq`Wq.WdS)Nrrrlrsr�r�)rrr@r_r2)r5rrrr r�r
r
r�test17�s22*0zTest.test17cCsFttt���t�>ttt���t�>ttt���t�>ttt���t�>Bttt���t�>ttt���t�>Bg}tttdg�tt��tt��gdd�|D�}|dd�|D�}x�|D]�}t|�xv|D]n}t||�t||�t	||�t
||�x$|D]}t|||�t|||�q�Wx|D]}t	|||��q$Wq�Wq�WdS)NrcSsg|]}|t�A�qSr
)r@)rrr
r
rr�szTest.test18.<locals>.<listcomp>cSsg|]}t|��qSr
)r2)rrr
r
rr�s)
r_�absr@rr{r|rrrrrrr)r5�anyrrrr
r
r�test18�s.






	
zTest.test18cCsVd}dgtd|d�B��}x.td|dd�D]}|td|||�M}q,Wt|�}|S)Ni�rlrQ)r�r`r)r5r*Zprimesrr
r
r�test19�szTest.test19c$Cstj}|d}x�dddddddd	d
ddd
ddd|d|f|d|df|d|df|d|df|d|df|d|f|d|df|d|df|d|df|d|dfd||fd||fd||f|||f|||df|||df|||df|||dff!D]}t|�}q�Wyt||d�Wntk
�r2Yn
Xtd��|j�sLtd�x�tdddd|j�D]�}td|dd�tj�	�xztd d!dd|j�D]`}xXtdddd|j�D]>}x6|||||f|||||ffD]}t|�}�q�W�q�W�q�W�qdWtd"�dS)#Nr)r�)rs)r�)�
)rr�)rr�rl)rr�rl)rr�r�)r�Qr�)r�`r�)r�ar�)rr�r�)rr��)rr�r�)rr�r�r�rlrRr��i@rUrzexpected OverflowErrorz>bitrange testing many combinations, this may take some time...r�rXr� )�endi�i
Zdone)
r�r�r�r�r�rtr;r�stdout�flush)r5r�r�r�brrA�st�argr
r
r�test20�sn



zTest.test20cCs4i}td�}td�}|}|}d||<d||<dS)NrrU)r�)r5�Drrrr?r
r
r�test21'szTest.test21cCs~dd�td�D�}|dd�dD�}|dd�|D�}|dd�|D�}x0|D](}x"dD]}t�||�}t�|�}qXWqNWdS)	NcSsg|]
}t��qSr
)r_)rr-r
r
rr5szTest.test22.<locals>.<listcomp>recSs,g|]$}dD]}dD]}t|||��qqqS))i�)rrQi,)r�)rr-rq�zr
r
rr6s)i���ri�cSsg|]
}|�qSr
r
)rr-r
r
rr:scSsg|]}t|��qSr
)r2)rr-r
r
rr;s)rr)r�pickle�dumps�loads)r5r�r�binZda�aar
r
r�test223s



zTest.test22cCsRGdd�d�}ttd��}||�}t|�}||dg�B}t|�}||dg�O}dS)Nc@seZdZdd�Zdd�ZdS)zTest.test23.<locals>.TcSs
||_dS)N)�data)r5r�r
r
r�__init__HszTest.test23.<locals>.T.__init__cSs
t|j�S)N)�iterr�)r5r
r
r�__iter__KszTest.test23.<locals>.T.__iter__N)r8r9r:r�r�r
r
r
r�TGsr�rerT)rrr_r2)r5r�rAr�rZbo100rar
r
r�test23CszTest.test23cCs�dd�}t|ddd�\}}t|�td�}dd�}t||fdd�\}}t|�|��}d	d
�}t||fdd�\}}t|�dd�}d
d�}	x4||	fD](}
|��}t|
|fdd�\}}t|�q�W|��}dd�}t||fdd�\}}t|�dd�}dd�}
dd�}x0||
|fD]"}
t|
|fdd�\}}t|��qWxb||
|fD]T}
td�tdd�B}|��}|td�O}td|j�t|
|fdd�\}}t|��qBWdS)NcSst|���dS)Nr)r�r`)rHr
r
rrr`szTest.test24.<locals>.f1)i���r)r+i���cSs |��}|dM}|d|dfS)Nr[r)r`)r rar
r
r�f2iszTest.test24.<locals>.f2cSst|�}|d|dfS)Nr)r_)rar r
r
r�f3vszTest.test24.<locals>.f3cSs t|�}|dM}|d|dfS)Nr[r)r_)rar r
r
r�f4~szTest.test24.<locals>.f4cSs(|dO}t|�}|dN}|d|dfS)Nrr)r_)rar r
r
r�f4b�szTest.test24.<locals>.f4bcSs|��}|d|dfS)Nr)r`)ra�mcr
r
r�f5�szTest.test24.<locals>.f5cSs:|td�M}|��}|dgO}|dgO}|d|dfS)NrwrlrRr)r�r`)rar�r
r
r�f6�s


zTest.test24.<locals>.f6cSs:|td�M}|��}|dgO}|dgO}|d|dfS)NrwrRrlr)r�r`)rar�r
r
r�f6a�s


zTest.test24.<locals>.f6acSsT|td�M}|dgO}|��}|ddgO}|dgO}|td�M}|d|dfS)NrwrXrrRrlr)r�r`r�)rar�r
r
r�f6b�s

zTest.test24.<locals>.f6bi��i@
i�i�IZnum_seg)r/r;r�r`r�r�)r5rrr�r�r r�rar�r�r�r(r�r�r�r�r
r
r�test24\sJzTest.test24cCstttj�d�}dS)Nr)r_rr�r�)r5r r
r
r�test25�szTest.test25c
Cs�x�ddddddddtd	�g	D]~}xx|fd|d
d
fgD]`}t|�}tt|fdd�\}}|d
krht||�t|�}tt|fdd�\}}|d
kr6t||�q6WqWdS)Nrrw�rsr�i�iig�cArQr)r+g{�G�z�?)rr�r/r#r;r2)r5Zthelenr)r r�r�r
r
r�test26�s 

zTest.test26cCsNxHtd�td�ttt���fD](}x"||��fD]}xdD]}q:Wq0WqWdS)Nr�)rrlrQ�rsr�r�r�r�r�r�)r_r�r�r@r`)r5rr�rr
r
r�test27�s"
zTest.test27cCs,x&t�tt�tdg�@�fD]}q WdS)N�)r2r_)r5r�r
r
r�test28�s$zTest.test28cCs�dd�}td�}||�tdd�tdd�B}|��}|td�O}||�d	d
ddd
t�t�f}dd�|D�}|dd�|D�}x<|D]4}|��}|��}x|D]}||8}||M}q�Wq�WdS)NcSsF|��}|�d�|�d�|�d�|�d�|�d�||}dS)Nr�rU)r`r<r3�discardr6)rm�qr,r
r
rr�s




zTest.test29.<locals>.ti90r�i��i@
i�i�IrrUrr[rlcSsg|]}t|��qSr
)r2)rrr
r
rr%szTest.test29.<locals>.<listcomp>cSsg|]}t|��qSr
)r2)rrr
r
rr&s)r2r�r`r�r@)r5r�rar �allrr�rr
r
r�test29s"


zTest.test29c
Cs�t}t�}|}g}d}i}d}d}|�|�|�|�|||g�O}||gN}||gN}|||g�8}|�|�|�|�|�|�y|��Wntk
r�Yn
Xtd��t|�}|||g�O}|}	|||g�8}tdddg�}|�	�dS)Nr
r�zexpected ValueErrorrrlrQ)
�
immnodeset�
mutnodesetr<r3r6r�r�r�r��clear)
r5Znodeset�nsZns0rrrr?rCZns1r
r
r�test30/s:






	zTest.test30cCsLt}ddlm}g}g}g}||�}||�}||�}|�}	|	�|�|	�|�|	�|�|	�|�y|	�|�Wntk
r�Yn
Xtd��|	�|�y|	�|�Wntk
r�Yn
Xtd��|	�|�|	�|�|	�|�d}	ddl	}
|�}	|	�|�|	�|	�d}	|
�
�|�}	|	�|�|	�|�|�|	�d}	d}|
�
�dS)Nr)�getrefcountzno exception from appendzno exception from remove)r�r�r�r<r3r�r6r�r��gc�collect)r5�H�grc�e1�e2�e3�r1�r2�r3r�r�r
r
r�test31|sT












zTest.test31cslt�ddl}ddlm}|��g}g}g}||�}||�}||�}�||g�}	�||g�}
|	|
O}	|	|
M}	g|g||g|||g|g||g|g||||gf}�fdd�|D�}t|||�t||�t||�t||�x^|D]V}
xP|D]H}xBdD]:}yt	||
|d�i�Wnt
k
�r"Yq�Xtd��q�Wq�Wq�Wd}}	}
}}
}}}|��|��dS)Nr)r�csg|]}�|��qSr
r
)rr-)r�r
rr�szTest.test32.<locals>.<listcomp>)zassert list(b) | a == a | bzassert list(b) & a == a & b)rrzExpected TypeError)r�r�r�r�r�r!r%r$r&�exec�	TypeError�	Exception)r5r�r�r�r�r�rrrr�Zs3r�Zssrrr-rr
)r�r�test32�sB0




 zTest.test32cCs�d}t�}x6t|�D]*}|t|ddd|ddd�O}qW|��}g}x>t|d�D].}|�|���|t|dddd�O}q\Wx0t|d�D] }|t|dddd�O}q�WdS)Nr�rli��riP�)r_rr�r`r3r�)r5Znumsegr rraZmssr
r
r�test33s
*zTest.test33cCs.t}g}Gdd�d|�}|�}|�|g�dS)Nc@seZdZdd�ZdS)zTest.test34.<locals>.XcSsx|D]}|�|�qWdS)N)r3)r5rqrCr
r
r�extend4s
zTest.test34.<locals>.X.extendN)r8r9r:r	r
r
r
r�X3sr
)Z
MutNodeSetr	)r5r�r�r
r�r
r
r�test34-szTest.test34csfx`td�D]T}xNttfD]B�G�fdd�d��}|�}|dd�}�tkr|dd�}ddl}qWq
WdS)Nrlcs>eZdZdddgZ�fdd�Z�fdd�Zdd	�Zd
d�ZdS)
zTest.test35.<locals>.X�redZgreen�bluecs����fdd�|D��S)Ncsg|]}�j�|��qSr
)�bitnames�index)rr-)�clasr
rrHsz2Test.test35.<locals>.X.__new__.<locals>.<listcomp>)�__new__)rr))r�)rrrGszTest.test35.<locals>.X.__new__c3s$x��|�D]}|j|VqWdS)N)r�r)r5rL)r�r
rr�JszTest.test35.<locals>.X.__iter__cSsdd�|�S)Nz{%s}z, )�join)r5r
r
r�__str__NszTest.test35.<locals>.X.__str__cSst|�t|�kS)N)r�)r5�otherr
r
r�__eq__QszTest.test35.<locals>.X.__eq__N)r8r9r:rrr�rrr
)r�r
rr
Ds

r
rr
r)rZ	ImmBitSetZ	MutBitSetZguppy.sets.setsc)r5rr
r-�guppyr
)r�r�test35=s

zTest.test35N)r)(r8r9r:rtrPrdrkrprur~rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr
r
r
rrO�sL)$Ny


 # >Ar,MT<!rOc@s$eZdZdd�Zdd�Zdd�ZdS)�MemStatcCsHi|_ddlm}|�|_}|jjj|_|jjj|_|jjj	j
|_
dS)Nr)�Root)�nrefsrr�RZheapyZView�VZPath�PZheapyc�	xmemstats)r5rrr
r
rr�iszMemStat.__init__cCs.|jj��|j��}|�t���||_dS)N)rr�r�rZhorizon�updateZget_objectsr�)r5r�r
r
r�markts
zMemStat.markcCs�t��|��|j}|j}|j}|j}yt��}Wnt	k
rHYn\XxL|D]D\}}}}	||}
||ksx|
||krPt
||
fdtjd�|
||<qPWt
tjd�d}|_}}}}}}	}
}t��dS)Nr�)r�rV)rV)
r�r�rrrrrr�Z	getcounts�AttributeErrorr;�stderrr�)r5rrrr�co�nameZalloZfree�maxZnrefr�rHrArr
r
r�dumpzs$*zMemStat.dumpN)r8r9r:r�r r&r
r
r
rrhsrcCs`g}x$|D]}|�|ttd|�f�q
Wx0|D](\}}td|�|�|dk	r0|�q0WdS)Nztest%dzTest #%d)r3�getattrr�r;)Znumbersr&ZenufuncsrHr(r
r
r�	test_nums�s
r(cCsNddl}ttd��}|�d�t�}d}x t||j�|��|d7}q*WdS)Nr�$r�r)r�rrr6rr(r&r�)r�Znumsrarr
r
r�	test_leak�s
r*cCstttd���dS)Nr))r(rrr
r
r
r�	test_main�sr+�__main__)N)r
rr)r=)N)3Z
guppy.setsr�Ztimerr'r�r	r�Znumpy.randomr�ImportErrorZ	has_numpyrZ	immbitsetr{r|Z	mutbitsetr2r_Zimmbitranger�Zimmbitr�rrrrrrrr!r$r%r&r/r0r<rr@rDrGrJrMrNrOrr(r*r+r�r8r
r
r
r�<module>sv


	


	
.