o
    �¨Êhœ  ã                   @   s   d dl Zd dlZd dlm  mZ d dlZd dl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)Ú	get_arrayc                 C   s  t g d¢g d¢dœƒ}g d¢|d< |d d … }tdd„ |jjD ƒƒs$J ‚| ¡  |jjd j ¡ s3J ‚t t	|d	ƒt	|d	ƒ¡sAJ ‚|jjd
 j ¡ rLJ ‚|jjd j ¡ rWJ ‚|jjd
 j ¡ sbJ ‚|jjd j ¡ rmJ ‚| rˆd|j
d< |jjd
 j ¡ rJ ‚|jd dksŠJ ‚d S d S )N©é   é   é   ©çš™™™™™¹?gš™™™™™É?g333333Ó?©ÚaÚb©é   é   é   Úcc                 s   s   � | ]}|j  ¡ V  qd S )N)ÚrefsÚhas_reference)Ú.0Úblk© r   úW/var/www/html/env/lib/python3.10/site-packages/pandas/tests/copy_view/test_internals.pyÚ	<genexpr>   s   € z#test_consolidate.<locals>.<genexpr>r   r   r   r   g        )r   r   )r   r   r	   )r   ÚallÚ_mgrÚblocksÚ_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¡�p 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sJJ ‚dt jj_tg d¢g d¢dœƒ} | d d … }d|jd< | jd dksnJ ‚W d   ƒ d S 1 syw   Y  d S )
Nzmode.copy_on_writeFr   r   r
   r   )r   r   Tr   )ÚpdÚoption_contextr   r   ÚoptionsÚmodeÚcopy_on_write)r"   r#   r   r   r   Útest_switch_options0   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¢g d¢dœƒ}| |¡}| ¡ }|jd d�}|jj||d	d
� t ||¡ | rUt|jƒD ]\}}||vrRt	 
t||ƒt||ƒ¡sRJ ‚q<d S |jD ]}t	 
t||ƒt||ƒ¡rhJ ‚qXd S )Nr   r   )é   é   é	   )é
   é   é   )é   é   é   )r   r   r   )r   r   r   ÚdÚeÚf©ÚdeepT)Úinplace)r   ÚastypeÚcopyr   ÚisetÚtmÚassert_frame_equalÚ	enumerateÚcolumnsr   r   r   )	r!   ÚlocsÚarrr+   r"   Údf_origÚdf2ÚiÚcolr   r   r   Útest_iset_splits_blocks_inplaceN   s.   úÿ

€þ
ÿrM   c                     s.  t dg d¢iƒ‰ tdƒD ]} ˆ jdd� qtˆ jjd jjƒdks#J ‚t dg d¢iƒ‰ ‡ fdd	„td
ƒD ƒ}tdƒD ]} ˆ jdd� q:tˆ jjd jjƒdksQJ ‚ˆ jjd jjdks]J ‚tdƒD ]} ˆ jdd� qaˆ jjd jjdksvJ ‚|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=   )rA   )r   rK   ©r"   r   r   Ú
<listcomp>…   s    z,test_exponential_backoff.<locals>.<listcomp>iþ  é   i  iè  iô  i,  )	r   ÚrangerA   Úlenr   r   r   Úreferenced_blocksÚclear_counter)rK   Údfsr   rN   r   Útest_exponential_backoff|   s"   rV   )Únumpyr   ÚpytestÚpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr%   r   Úpandas._testingÚ_testingrC   Úpandas.tests.copy_view.utilr   Úskip_array_manager_invalid_testr$   ÚmarkÚ
single_cpur*   ÚparametrizeÚintpÚint8ÚarrayÚTrM   rV   r   r   r   r   Ú<module>   s:    
#$÷þ