U
    /e                  
   @   s  d dl Zd dlZejjZd dlmZ d dl	m
Z
 d dlmZmZ edZejje
 dddd Zejjd	dejje
 ddd
d Zejje
 dddd Zejje
 dddd Zejje
 ddejdddededgdd Zejje
 dddd ZdS )    N)
_numpy_120)	assert_eq	same_keyscupyzNEP-35 is not available)reasonc               
   C   s   t jtddd} tdddg}t j| |dd}t|tjd	d	d	g| jd
dd tddddddddg}t j|dd} t j| |dd}t|tjdddg|jd
dd t	t | |dt | ddgdrt
d S )N      chunksr   2   d   midpointmethod   dtypeFZ
check_type      )   )da
from_arrayr   onesnparray
percentiler   r   r   AssertionError)dqsresultx r$   I/tmp/pip-unpacked-wheel-dbjnr7gq/dask/array/tests/test_cupy_percentile.pytest_percentile   s      r&   zYNon-deterministic tokenize(cupy.array(...)), see https://github.com/dask/dask/issues/6718c                  C   sF   t jtddd} tdddg}tt | |t | |sBtd S )Nr   r	   r   r   r   r   )	r   r   r   r   r   r   r   r   r   )r    r!   r$   r$   r%   test_percentile_tokenize!   s    r'   c                  C   sl   t jtddd} t j| dddgdd}t|jtjks>tt	|| t	|t
jdddg| jd	d
d d S )N
   )r   r   r   r   r   Z   r   r   r   r   Fr   r   r   r   r   r   typeZ_metandarrayr   r   r   r   r   r#   r"   r$   r$   r%   "test_percentiles_with_empty_arrays,   s
    
r/   c                  C   s`   t jtddd} t j| g dd}t|jtjks8tt	|| t	|t
jg | jddd d S )	Nr(   r)   r   r   r   r   Fr   r+   r.   r$   r$   r%   test_percentiles_with_empty_q5   s
    
r0   qr   g      @c                 C   sb   t jtddd}t j|| dd}t|jtjks8tt	|| t	|t
jdg|jddd	 d S )
Nr   r	   r   r   r   r   r   Fr   r+   )r1   r    r"   r$   r$   r%   'test_percentiles_with_scaler_percentile>   s
    
r2   c                  C   s   t jjtjjd} | jddd}tjfd f|_t j|ddd }t	|tj
ksVtd	|  k rjd
k spn tt j|ddgdd \}}t	|tj
kstt	|tj
kstd	|  k rd
k sn td	|  k rd
k sn t||k std S )N)RandomStatei  )r   r   r(   r   r   r   g?g?(   <   )r   randomr3   r   r   nan_chunksr   Zcomputer,   r-   r   )rsr#   r"   abr$   r$   r%   )test_percentiles_with_unknown_chunk_sizesJ   s    r<   )Znumpyr   ZpytestmarkZgpuZ
pytestmarkZ
dask.arrayr   r   Zdask.array.numpy_compatr   Zdask.array.utilsr   r   Zimportorskipr   Zskipifr&   Zxfailr'   r/   r0   ZparametrizeZint64Zfloat64r2   r<   r$   r$   r$   r%   <module>   s,   



 
