
    bi
              	      6   d dl mZ d dlZd dlZej
                  j                  Zd dlm	Z
 d dlmZmZ  ej                  d      Zd Zd Zd Zd Zej
                  j)                  d	d
d ej*                  d
       ej,                  d
      g      d        Zd Zy)    )annotationsN)	assert_eq	same_keyscupyc                 r   t        j                  t        j                  d      d      } t	        j
                  g d      }t        j                  | |d      }t        |t	        j
                  g d| j                        d	
       t        j                  g d      }t        j                  |d      } t        j                  | |d      }t        |t	        j
                  g d|j                        d	
       t        t        j                  | |d      t        j                  | ddgd            rJ y )N      chunksr   2   d   midpointmethod   r   r   dtypeF
check_type)r   r      r   r   r      r   )   )r   r   r   r   r   )
da
from_arrayr   onesnparray
percentiler   r   r   )dqsresultxs       `/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/array/tests/test_cupy_percentile.pytest_percentiler(      s    
dii&t4A	,	B]]1b4Ffbhhy8UK

-.A
a%A]]1b4Ffbhhz>5Q
aZ(
a!R*-       c                     t        j                  t        j                  d      d      } t	        j
                  g d      }t        t        j                  | |      t        j                  | |            sJ y )Nr   r
   r   r   )r   r   r   r   r    r!   r   r"   )r#   r$   s     r'   test_percentile_tokenizer+   !   sO    
dii&t4A	,	BR]]1b)2==B+?@@@r)   c                 R   t        j                  t        j                  d      d      } t        j                  | g dd      }t        |j                        t        j                  k(  sJ t        ||       t        |t        j                  g d| j                        d	
       y )N
   )r   r   r   r   )r-   r   Z   r   r   r   r   Fr   r   r   r   r   r"   type_metandarrayr   r    r!   r   r&   r%   s     r'   "test_percentiles_with_empty_arraysr5   '   sl    
diimL9A]]1l:>F---fffbhhy8UKr)   c                 J   t        j                  t        j                  d      d      } t        j                  | g d      }t        |j                        t        j                  k(  sJ t        ||       t        |t        j                  g | j                        d       y )	Nr-   r.   r   r   r   r   Fr   r0   r4   s     r'   test_percentiles_with_empty_qr7   /   sl    
diimL9A]]1b4F---fffbhhr1eDr)   qr   g      @c                L   t        j                  t        j                  d      d      }t        j                  || d      }t        |j                        t        j                  k(  sJ t        ||       t        |t        j                  dg|j                        d	       y )
Nr   r
   r   r   r   r   r   Fr   r0   )r8   r#   r%   s      r'   'test_percentiles_with_scaler_percentiler:   7   sq     	dii&t4A]]1a
3F---fffbhhs!''2uEr)   c                    t         j                  j                  t        j                  j                               } | j                  dd      }t        j
                  fdz  f|_        t        j                  |dd      j                         }t        |      t        j                  k(  sJ d|cxk  rd	k  sJ  J t        j                  |d
dgd      j                         \  }}t        |      t        j                  k(  sJ t        |      t        j                  k(  s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   r-   r   r   r   g?g?(   <   )r   randomdefault_rngr   r    nan_chunksr"   computer1   r3   )rngr&   r%   abs        r'   )test_percentiles_with_unknown_chunk_sizesrF   B   s   
))

 7 7 9
:C

4
'A&&R!AI]]1b4<<>F<4<<'''#==RHZ8@@BDAq7dll"""7dll"""=S====S===q5L5r)   )
__future__r   numpyr    pytestmarkgpu
pytestmark
dask.arrayr!   r   dask.array.utilsr   r   importorskipr   r(   r+   r5   r7   parametrizeint64float64r:   rF    r)   r'   <module>rT      s    "  [[__
  1v6"&ALE q#xrxx{JBJJqMBCF DFr)   