U
    Ã9%e‡  ã                   @   sX   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rTe ¡  dS )é    N)Úcuda)ÚunittestÚCUDATestCasec                 C   s$   t |jd ƒD ]}| | ||< qd S ©Nr   )ÚrangeÚshape©ÚinpÚoutÚi© r   úc/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/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)Zdevicezvoid(int32[:,:], int32[:,:])éd   )Zdtypeé
   )r   r   )
r   Zjitr   r   r   ÚnpZarangeZint32ZreshapeZ
zeros_like)ÚselfZ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   Zdevice_arrayÚlenZ	to_device)r   ÚNÚaZ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   Znumbar   Znumba.cuda.testingr   r   r   r   r   r   Úmainr   r   r   r   Ú<module>   s   