
    >ie                       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                            e ed          k     d          d             Zej                            e ed          k     d          d             ZdS )    )annotationsN)parse)	assert_eq	same_keyscupyc                    t                               d                              d          } t          j        | dd          }t          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                            |ddd          |          sJ d S )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       Blib/python3.11/site-packages/dask/array/tests/test_cupy_overlap.pytest_overlap_internalr_      s3   B''A
a666A

##A1||44A8'''''x***222444444444444444444444444444444	
 H" ae,,,,RZ00aLLAA1EEEEEEE    c                     t                               d          } t          j        | dd          }t          j                            |dddd	          }|j        d
k    sJ d S )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   ,   se    		(A
a%888A

  Q1	 JJA89999999r`   c                    t                               d                              d          } t          j        | dd          }t          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                    d S )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666A

AAQ//A71:a''''71:####a111gqQQQx   a111gqQQQx     r`   c                    t                               d          } t          j        | dd          }t          j                            |dd          }t          j        g d          }t          ||d	           t          j                            |dd
          }t          j        g d          }t          ||d	           d S )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666A

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

11A..Ax<<<==Hae,,,,,,r`   c                    t                               d          } t          j        | dd          }t          j                            |dd          }t          j        g d          }t          ||d	           t          j                            |dd
          }t          j        g d          }t          ||d	           d S )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                 2   t                               d                              d          } t          j        | dd          }t          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           d S )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666A

AAQb99A71:a''''71:####a111grwq00025%HHHHaAAAh111B65IIIIIIr`   c                 p   t                               d                              d          } t          j        | dd          }t          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           d S )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666A

aQ11/D/DEEAx*********111444444444444444444******	
 H  ae,,,,,,r`   )
__future__r   numpyrX   pytestpackaging.versionr   parse_version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   " " " " " "      4 4 4 4 4 4[_
       1 1 1 1 1 1 1 1v6""}T-..F F F8: : :	! 	! 	!
- 
- 
-
- 
- 
- ==)))O   	J 	J	 	J ==)))O   - -	 - - -r`   