U
    -e                     @   sl   d dl Zd dlmZmZ d dlmZmZmZm	Z	 d dl
mZ eedG dd de	Zedkrhe  dS )	    N)cudatypes)skip_on_cudasimtest_data_dirunittestCUDATestCase)skip_unless_cffiz"Simulator does not support linkingc                   @   s   e Zd Zdd ZdS )TestCFFIc                    s   dd l }| ttd }tttj}t	d| tj
|gd fdd}tdtj}|d | | |d |d	  d S )
Nr   zjitlink.ptxarray_mutator)linkc                    s    | } | d S )N)Zfrom_buffer)xZx_ptrr
   ffi b/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/numba/cuda/tests/cudapy/test_cffi.pymutate_array   s    
z/TestCFFI.test_from_buffer.<locals>.mutate_array   )   r   r   )cffiZFFIstrr   r   voidZCPointerZint32r   Zdeclare_deviceZjitnpZarangeZastypeassertEqual)selfr   r   sigr   r   r   r   r   test_from_buffer   s    zTestCFFI.test_from_bufferN)__name__
__module____qualname__r   r   r   r   r   r	   	   s   r	   __main__)numpyr   Znumbar   r   Znumba.cuda.testingr   r   r   r   Znumba.tests.supportr   r	   r   mainr   r   r   r   <module>   s   