a
    é´«jÇ  ã                   @   s¤  d dl Zd dlZd dlm  mZ d dlZd dlm	Z	m
Z
 d dlmZ d dlmZ ejdd„ ƒZejjejdd„ ƒƒZejej dejejg¡ej d	d ge g d
¢¡fdge g d
¢¡fdge g d
¢¡fd dge g d
¢g d¢g¡jfd dge g d
¢g d¢g¡jfg d¢e g d
¢g d¢g d¢g¡jfddge g d
¢g d¢g¡jfddge g d
¢g d¢g¡jfddge g d
¢g d¢g¡jfg	¡dd„ ƒƒƒZdd„ ZdS )é    N)Ú	DataFrameÚSeries)Ú	get_arrayc                 C   s  t g d¢g d¢dœƒ}g d¢|d< |d d … }tdd„ |jjD ƒƒsHJ ‚| ¡  |jjd j ¡ sfJ ‚t t	|d	ƒt	|d	ƒ¡s‚J ‚|jjd
 j ¡ r˜J ‚|jjd j ¡ r®J ‚|jjd
 j ¡ sÄJ ‚|jjd j ¡ rÚJ ‚| �rd|j
d< |jjd
 j ¡ �rJ ‚|jd dk�sJ ‚d S )N©é   é   é   ©çš™™™™™¹?gš™™™™™É?g333333Ó?©ÚaÚb©é   é   é   Úcc                 s   s   | ]}|j  ¡ V  qd S )N)ÚrefsÚhas_reference)Ú.0Zblk© r   úd/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/copy_view/test_internals.pyÚ	<genexpr>   ó    z#test_consolidate.<locals>.<genexpr>r   r   r   r   g        )r   r   )r   r   r
   )r   ÚallÚ_mgrÚblocksZ_consolidate_inplacer   r   ÚnpÚshares_memoryr   ÚilocÚloc)Úusing_copy_on_writeÚdfÚsubsetr   r   r   Útest_consolidate   s    
r$   c                  C   sþ   t  dd¡�Þ tg d¢g d¢dœƒ} | d d … }d|jd< | jd dksLJ ‚dt jj_tg d¢g d¢dœƒ} | d d … }d|jd< | jd d	ks”J ‚dt jj_tg d¢g d¢dœƒ} | d d … }d|jd< | jd dksÜJ ‚W d   ƒ n1 sð0    Y  d S )
Nzmode.copy_on_writeFr   r	   r   r   )r   r   Tr   )ÚpdZoption_contextr   r   ÚoptionsÚmodeZcopy_on_write)r"   r#   r   r   r   Útest_switch_options3   s    




r(   Údtypez	locs, arr)éÿÿÿÿéþÿÿÿéýÿÿÿr   r   )éüÿÿÿéûÿÿÿiúÿÿÿr   )r   r   r   r   c           	   
   C   sÜ   t g d¢g d¢g d¢g d¢g d¢tg d¢td�dœƒ}| |¡}| ¡ }|jd d	�}|jj||d
d� t ||¡ | r°t	|j
ƒD ],\}}||vr€t t||ƒt||ƒ¡s€J ‚q€n(|j
D ] }t t||ƒt||ƒ¡r¶J ‚q¶d S )Nr   r   )é   é   é	   )é
   é   é   )é   é   é   )r   r   r   )r)   )r   r   r   ÚdÚeÚf©ÚdeepT)Zinplace)r   r   ÚobjectZastypeÚcopyr   ZisetÚtmZassert_frame_equalÚ	enumerateÚcolumnsr   r   r   )	r!   ZlocsZarrr)   r"   Zdf_origZdf2ÚiÚcolr   r   r   Útest_iset_splits_blocks_inplaceQ   s(    úÿ

 
rD   c                     s2  t dg d¢iƒ‰ tdƒD ]} ˆ jdd� qtˆ jjd jjƒdksFJ ‚t dg d¢iƒ‰ ‡ fdd	„td
ƒD ƒ}tdƒD ]} ˆ jdd� qttˆ jjd jjƒdks¢J ‚ˆ jjd jjdksºJ ‚tdƒD ]} ˆ jdd� qÂˆ jjd jjdksìJ ‚|d d… }tdƒD ]} ˆ jdd� �q ˆ jjd jjdk�s.J ‚d S )Nr   r   iê  Fr;   r   ië  c                    s   g | ]}ˆ j d d�‘qS )Fr;   )r>   )r   rB   ©r"   r   r   Ú
<listcomp>ˆ   r   z,test_exponential_backoff.<locals>.<listcomp>iþ  é   i  iè  iô  i,  )	r   Úranger>   Úlenr   r   r   Zreferenced_blocksZclear_counter)rB   Údfsr   rE   r   Útest_exponential_backoff   s"    rK   )Únumpyr   ZpytestZpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr%   r   r   Zpandas._testingZ_testingr?   Zpandas.tests.copy_view.utilr   Zskip_array_manager_invalid_testr$   ÚmarkZ
single_cpur(   ZparametrizeZintpZint8ÚarrayÚTrD   rK   r   r   r   r   Ú<module>   s8   
#$÷þ