
    bi                       d dl mZ d dlZd dlZd dlmZ ej                  j                  Z	d dl
mZ d dlmZmZ  ej                   d      Z eej$                        Zd Zd Zd Zd	 Zd
 Zej                  j3                  e ed      k  d      d        Zej                  j3                  e ed      k  d      d        Zy)    )annotationsN)Version)	assert_eq	same_keyscupyc                    t         j                  d      j                  d      } t        j                  | dd      }t        j
                  j                  |ddd      }|j                  d	k(  sJ t        j                  g d
g dg dg dg dg dg dg dg dg dg dg dg      }t        ||d       t        t        j
                  j                  |ddd      |      sJ y )N@      r      r   Fchunksasarray      r   r   ))   r      r   )
r   r   r      r   r   r   r   r      )
r   	   
         r   r            )
               r#   r$            )
               r+   r,            )
    !   "   #   $   r3   r4   %   &   '   )
(   )   *   +   ,   r;   r<   -   .   /   )
0   1   2   3   4   rC   rD   5   6   7   )
8   9   :   ;   <   rK   rL   =   >   ?   
check_type)r   arangereshapeda
from_arrayoverlapoverlap_internalr   nparrayr   r   )xdgexpecteds       ]/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/array/tests/test_cupy_overlap.pytest_overlap_internalr_      s    B'A
a6A


##A1|4A88''''xx*24444444444	
H" ae,RZZ00aLA1EEE    c                     t         j                  d      } t        j                  | dd      }t        j                  j                  |dddd	      }|j                  d
k(  sJ y )N)r8   rL   )r   r   Fr   r   r   r   reflect)axesboundary))r   r   r   r   )r   r   r   r   r   r   )r   onesrT   rU   rV   trim_internalr   rZ   r[   es      r^   test_trim_internalri   ,   sT    		(A
a%8A


  Q1	 JA889999r`   c                    t         j                  d      j                  d      } t        j                  | dd      }t        j
                  j                  |dd      }|j                  d   |j                  d   d	z   k(  sJ |j                  d
   |j                  d
   k(  sJ t        |d
d d f   |dd d f          t        |dd d f   |dd d f          y )Nr	   r
   r   Fr   r   r   axisdepthr   r   )	r   rR   rS   rT   rU   rV   periodicshaper   rg   s      r^   test_periodicrr   4   s    B'A
a6A


AAQ/A771:a'''771:###a1gqQx a1gqQx r`   c                 z   t         j                  d      } t        j                  | dd      }t        j                  j                  |dd      }t        j                  g d      }t        ||d	       t        j                  j                  |dd
      }t        j                  g d      }t        ||d	       y )Nr   r   Fr   r   r   rk   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   rP   r   r   r   r   r   r   r   r   r   r   r   r   r   )	r   rR   rT   rU   rV   rb   rX   rY   r   rZ   r[   rh   r]   s       r^   test_reflectrv   @       BA
a6A


11A.AxxBCHae,


11A.Axx<=Hae,r`   c                 z   t         j                  d      } t        j                  | dd      }t        j                  j                  |dd      }t        j                  g d      }t        ||d	       t        j                  j                  |dd
      }t        j                  g d      }t        ||d	       y )Nr   r   Fr   r   r   rk   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   rP   r   rt   )	r   rR   rT   rU   rV   nearestrX   rY   r   ru   s       r^   test_nearestrz   M   rw   r`   z6.4.0zBRequires CuPy 6.4.0+ (with https://github.com/cupy/cupy/pull/2418))reasonc                 (   t         j                  d      j                  d      } t        j                  | dd      }t        j
                  j                  |ddd	      }|j                  d   |j                  d   d
z   k(  sJ |j                  d   |j                  d   k(  sJ t        |dd d f   t        j                  d| j                        dz  d       t        |dd d f   t        j                  d| j                        dz  d       y )Nr	   r
   r   Fr   r   r   r   )rl   rm   valuer   r   r   )dtyperP   rn   )r   rR   rS   rT   rU   rV   constantrq   r   rX   re   r~   rg   s      r^   test_constantr   Z   s    
 	B'A
a6A


AAQb9A771:a'''771:###a1grwwq025%HaAh1B65Ir`   c                 X   t         j                  d      j                  d      } t        j                  | dd      }t        j
                  j                  |dddd	d
d      }t        j                  g dg dg dg dg dg dg dg dg dg dg dg dg      }t        ||d       y )Nr	   r
   r   Fr   r   r   r   r   rp   )
r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )
r'   r    r!   r"   r#   r$   r%   r&   r'   r    )
r/   r(   r)   r*   r+   r,   r-   r.   r/   r(   )
r7   r0   r1   r2   r3   r4   r5   r6   r7   r0   )
r?   r8   r9   r:   r;   r<   r=   r>   r?   r8   )
rG   r@   rA   rB   rC   rD   rE   rF   rG   r@   )
rO   rH   rI   rJ   rK   rL   rM   rN   rO   rH   rP   )
r   rR   rS   rT   rU   rV   
boundariesrX   rY   r   ru   s       r^   test_boundariesr   j   s    
 	B'A
a6A


aQ11/DEAxx***1444444**	
H  ae,r`   )
__future__r   numpyrX   pytestpackaging.versionr   markgpu
pytestmark
dask.arrayrY   rT   dask.array.utilsr   r   importorskipr   __version__cupy_versionr_   ri   rr   rv   rz   skipifr   r    r`   r^   <module>r      s    "   %[[__
  1v6"t''(F8:	!
-
- 77##O  	J		J 77##O  -	-r`   