o
    8ήcv                     @   s   d dl Z d dlmZmZ d dlmZ d dlmZmZ G dd deZ	dd Z
ejd	d
e
ZeeZed	d
e
Ze	eZG dd deZdd ZdS )    N)cudanjit)CUDATestCase)CUDAUseCaseUseCasec                   @   s   e Zd Zdd ZdS )
CPUUseCasec                 G   s   | j |g|R   d S N)_func)selfretargs r   V/tmp/pip-target-vg8gfxp4/lib/python/numba/cuda/tests/cudapy/cache_with_cpu_usecases.py_call	   s   zCPUUseCase._callN)__name__
__module____qualname__r   r   r   r   r   r      s    r   c                 C   s   |d | d< d S )Nr   r   )rxr   r   r   target_shared_assign   s   r   T)cachec                   @   s   e Zd ZdZdd ZdS )_TestModulez
    Tests for functionality of this module's functions.
    Note this does not define any "test_*" method, instead check_module()
    should be called by hand.
    c                 C   sL   |  |dd |  |dd |  |dd |  |dd d S )N   g      @)assertPreciseEqual
assign_cpuassign_cuda)r
   modr   r   r   check_module    s   z_TestModule.check_moduleN)r   r   r   __doc__r   r   r   r   r   r      s    r   c                  C   s   t jt } t |  d S r   )sysmodulesr   r   r   )r   r   r   r   	self_test'   s   
r!   )r   numbar   r   numba.cuda.testingr   &numba.cuda.tests.cudapy.cache_usecasesr   r   r   r   jitassign_cuda_kernelr   assign_cpu_jittedr   r   r!   r   r   r   r   <module>   s    