o
    8ήc                     @   sl   d dl mZ d dl mZmZ d dlZd dlmZmZ d dl	Z	edG dd deZ
edkr4e	  dS dS )	    )	vectorize)cudafloat32N)skip_on_cudasimCUDATestCasez&ufunc API unsupported in the simulatorc                   @   s   e Zd Zdd ZdS )TestCudaVectorizeDeviceCallc           	         s   t jttttdddd   fdd}tttttgdd|}d	}tjtj|tjd
}tjtj|tjd
}tjtj|tjd
d }||||}|| | }| t	|| d S )NT)devicec                 S   s   | | | S N xyzr
   r
   T/tmp/pip-target-vg8gfxp4/lib/python/numba/cuda/tests/cudapy/test_vectorize_device.pycu_device_fn   s   zQTestCudaVectorizeDeviceCall.test_cuda_vectorize_device_call.<locals>.cu_device_fnc                    s    | ||S r	   r
   r   r   r
   r   cu_ufunc   s   zMTestCudaVectorizeDeviceCall.test_cuda_vectorize_device_call.<locals>.cu_ufuncr   )targetd   )dtypeg?)
r   jitr   r   nparrayrandomsample
assertTrueallclose)	selfr   ufuncNXYZoutgoldr
   r   r   test_cuda_vectorize_device_call
   s   
z;TestCudaVectorizeDeviceCall.test_cuda_vectorize_device_callN)__name__
__module____qualname__r%   r
   r
   r
   r   r      s    r   __main__)numbar   r   r   numpyr   numba.cuda.testingr   r   unittestr   r&   mainr
   r
   r
   r   <module>   s    