o
    8ήc                     @   s\   d dl Zd dlmZ d dlmZmZ dd Zdd ZG dd	 d	eZ	e
d
kr,e  dS dS )    N)cuda)unittestCUDATestCasec                 C   s$   t |jd D ]}| | ||< qd S Nr   )rangeshapeinpouti r   K/tmp/pip-target-vg8gfxp4/lib/python/numba/cuda/tests/cudapy/test_slicing.pyfoo   s   r   c                 C   s0   t d}t| |d d f ||d d f  d S )N   )r   gridcufoor   r   r   r   copy   s   
&r   c                   @   s   e Zd Zdd Zdd ZdS )TestCudaSlicingc                 C   sT   t jdddtat dt}tjdtjddd}t	|}|d || d S )	Nzvoid(int32[:], int32[:])T)devicezvoid(int32[:,:], int32[:,:])d   )dtype
   )r   r   )
r   jitr   r   r   nparangeint32reshape
zeros_like)selfcucopyr	   r
   r   r   r   test_slice_as_arg   s
   
z!TestCudaSlicing.test_slice_as_argc                 C   s0   d}t |}tt|}t||d d < d S r   )r   r   device_arraylen	to_device)r   Naarrr   r   r   test_assign_empty_slice   s   z'TestCudaSlicing.test_assign_empty_sliceN)__name__
__module____qualname__r    r'   r   r   r   r   r      s    
r   __main__)numpyr   numbar   numba.cuda.testingr   r   r   r   r   r(   mainr   r   r   r   <module>   s    