U
    ?h                     @   sP   d dl Z d dlmZmZ d dlmZ edG dd deZedkrLe   dS )    N)CUDATestCaseskip_on_cudasim)captured_stdoutz4cudasim doesn't support cuda import at non-top-levelc                       s4   e Zd ZdZ fddZ fddZdd Z  ZS )	TestUFuncz
    Test calling a UFunc
    c                    s    t  | _| j  t   d S N)r   _captured_stdout	__enter__supersetUpself	__class__ Z/var/www/html/venv/lib/python3.8/site-packages/numba/cuda/tests/doc_examples/test_ufunc.pyr
      s    
zTestUFunc.setUpc                    s   | j d d d  t   d S r   )r   __exit__r	   tearDownr   r   r   r   r      s    zTestUFunc.tearDownc                    sj   dd l  ddlm} |j fdd} jd jdd } |}|d ||  j| 	| d S )	Nr   )cudac                    s     ||  d S r   )sin)rxnpr   r   f   s    z,TestUFunc.test_ex_cuda_ufunc_call.<locals>.f
   )Zdtype   )   r   )
numpyZnumbar   ZjitZarangeZfloat32Z
zeros_likeZtestingZassert_allcloser   )r   r   r   r   r   r   r   r   test_ex_cuda_ufunc_call   s    
z!TestUFunc.test_ex_cuda_ufunc_call)__name__
__module____qualname____doc__r
   r   r   __classcell__r   r   r   r   r      s   r   __main__)	ZunittestZnumba.cuda.testingr   r   Znumba.tests.supportr   r   r   mainr   r   r   r   <module>   s   )