
    bis              
      *   d dl mZ d dlZ ej                  d       d dlZd dlmZ d dl	m
Z
mZ 	 d dlZej                  j                  d ej                   dej                  j#                  e d      	      d
g      Zed        Zej                  j(                  d        Zed        Zed        Zeej                  j                  ddd ej0                  d       ej2                  d      g      d               Zed        Zy# e$ r dZY w xY w)    )annotationsNnumpy)	assert_eq	same_keysinternal_methodtdigestzRequires crick)reason)marksdaskc                   t        j                  dd      }g d}t        t        j                  |||       t	        j
                  g d|j                               t	        j
                  g d      }t        j                  |d	      }t        j                  |||       }t        |t	        j
                  g d
|j                               t        t        j                  |||       t        j                  |||             sJ t        t        j                  |||       t        j                  |ddg|             rJ | dk7  rrt	        j
                  g d      }t        j                  |d	      }t        t        j                  |g d      t	        j
                  g d|j                               y y )N      chunks)r   2   d   r      r   r   dtype)r   r      r   r   r      r   )   )r   r   r   r   r   r   )ar   dr   r   e)r   r   r   )	daonesr   
percentilenparrayr   
from_arrayr   )r   r   qsxresults        \/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/array/tests/test_percentiles.pytest_percentiler*      sL   
d#A	B
a_=
!''*
 	+,A
a%A]]1b/BFfbhhz>?
a_=
a_=   
a_=
a!R/B  
 )#HH34MM!D)MM!\*BHH_AGG,T	
 $    c                    	 dd l } | j                  g d      }| j                  g d      }||d}t        j                  |dd      }t        j
                  |dg      }|j                         j                  |j                  k(  j                         sJ |j                         j                  dgk(  j                         sJ t        t        j
                  |dg      t        j
                  |dg            sJ y # t        $ r Y y w xY w)Nr   )AliceBobCharlieDennisr-   r-   ))r'   r   )r'   r   r'   ))   r1   r   r   )pandasImportErrorCategoricalr    Arrayr"   compute
categoriesallcodesr   )pdx0x1dskr'   ps         r)   !test_percentile_with_categoricalsr?   >   s     
O	PB	O	PB2
&C
c),A
a"AIIK""bmm388:::IIK!$))+++R]]1rd+R]]1rd-CDDD  s   C> >	D
	D
c                    t        j                  dd      }t        t        j                  |g d|       t	        j
                  g d|j                               y )N
   )r   r   r   r   )rA   r   Z   r   r   r   r    r!   r   r"   r#   r$   r   r   r'   s     r)   "test_percentiles_with_empty_arraysrF   Q   s<    
<(A
aG
!''*r+   c                    t        j                  dd      }t        t        j                  |g |       t	        j
                  g |j                               y )NrA   rB   r   r   r   rD   rE   s     r)   test_percentiles_with_empty_qrH   Z   s<    
<(A
a_=
177#r+   qr   g      @c                    t        j                  dd      }t        t        j                  |||       t	        j
                  dg|j                               y )Nr   r   r   r   r   r   rD   )r   rI   r   s      r)   'test_percentiles_with_scaler_percentilerK   c   s@    
 	d#A
aO<
!AGG$r+   c                   t         j                  j                         j                  dd      }t        j                  fdz  f|_        t        j                  |d|       j                         }d|cxk  rdk  sJ  J t        j                  |d	d
g|       j                         \  }}d|cxk  rdk  sJ  J d|cxk  rdk  sJ  J ||k  sJ y )Ni  )r   r   rA   r   r   g?g?(   <   )r    randomdefault_rngr#   nan_chunksr"   r6   )r   r'   r(   r   bs        r)   test_unknown_chunk_sizesrT   o   s    
		&&tF&;A&&R!AI]]1b/BJJLF#==RHoFNNPDAq=S====S===q5L5r+   )
__future__r   pytestimportorskipr   r#   
dask.arrayr$   r    dask.array.utilsr   r   crickr3   markparametrizeparamskipifpercentile_internal_methodsr*   skipr?   rF   rH   int64float64rK   rT    r+   r)   <module>rd      sM   "    G    1
 %kk55V[[//E	BR/S	
 		  
 
@ E E$     q#xrxx{JBJJqMBC D  
 
E  Es   D DD