o
    Nrfn                     @  s   d dl mZ d dlmZ d dlmZ d dlZd dlmZ d dl	m
Z
 d dlmZ d dlmZ ed	Zg Zd
d Zdd Zdd Zdd Zdd Zdd ZdS )    )annotations)addsleepN)Cache)Callback)get_sync)getcacheyc                 C  s   t |  | d S )N   )flagappend)x r   ^/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/dask/tests/test_cache.pyinc   s   
r   c                  C  s   t d} t| }| tdtdfiddksJ W d    n1 s#w   Y  tdgks/J | jd dks8J |jr=J |jrBJ trJt  tsDtdftdft	ddfd}| t|ddkscJ W d    n1 smw   Y  tdgksyJ t
jr~J d S )	N'  r   r      y)r   r   zr      )r
   r   r	   r   r   dataZ
starttimesZ	durationspopr   r   active)cccdskr   r   r   
test_cache   s$   


r   c                  C  sB   t ddd} t| jtj sJ | jjdksJ | jjdksJ d S )Nr   r   )limit)r   
isinstancecacher
   Zavailable_bytesr   )r   r   r   r   test_cache_with_number0   s   r!   c                  C  s   t d} td td}ddlm}m} |j|ddd}|j|ddd}|  | dk s5J | dk s?J W d    d S 1 sJw   Y  d S )	Nr   numpyz
dask.arrayr   )oneszerosr   
   )chunks)	r   pytestimportorskipr"   r#   r$   Z
from_arrayZcomputeall)r   dar#   r$   r   or   r   r   test_cache_correctness7   s   

"r,   c                 G  s   t |  dg| S )Nr   r   )durationsizeargsr   r   r   fE   s   
r0   c                  C  sr   t ddft dddfd} td}| t| d W d    n1 s"w   Y  |jjjd |jjjd k s7J d S )	Ng{Gz?r%   gư>r   r   )r   r   r   r   )r0   r   r   r    ZscorerZcost)r   r   r   r   r   test_prefer_cheap_dependentJ   s   $r1   )
__future__r   operatorr   timer   r'   Z
dask.cacher   Zdask.callbacksr   Z
dask.localr   Zdask.threadedr	   r(   r
   r   r   r   r!   r,   r0   r1   r   r   r   r   <module>   s     
