o
    i	                     @   s   d dl Z d dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
 d dlZd dlmZ e	dG dd de
Zed	kr>e  dS dS )
    N)cuda	vectorize)types)skip_on_cudasimCUDATestCase)numpy_supportz!pickling not supported in CUDASIMc                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )

TestPicklec           	      C   s   t dg}|d |}tt|}~|d |}t j|| ~tt|}~|d |}t j|| ~tt|d }~| |jd | |j	d d S )Nd   )   r
   )      )r   r
   r
   )r   r
   r
   )
nparraypickleloadsdumpstestingassert_equalassertEqualgriddimblockdim)	selfcalleearrexpectedfoo1got1foo2got2foo3 r    d/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/numba/cuda/tests/cudapy/test_serialize.py
check_call   s    zTestPickle.check_callc                    s8   t jdddd  t d fdd}| | d S )NTdevicec                 S      | d S Nr
   r    ar    r    r!   inner(      z2TestPickle.test_pickling_jit_typing.<locals>.innerzvoid(intp[:])c                        | d | d< d S Nr   r    r   r)   r    r!   foo,      z0TestPickle.test_pickling_jit_typing.<locals>.foor   jitr"   r   r/   r    r.   r!   test_pickling_jit_typing'   s
   

z#TestPickle.test_pickling_jit_typingc                    s4   t jdddd  t j fdd}| | d S )NTr#   c                 S   r%   r&   r    r'   r    r    r!   r)   4   r*   z+TestPickle.test_pickling_jit.<locals>.innerc                    r+   r,   r    r-   r.   r    r!   r/   8   r0   z)TestPickle.test_pickling_jit.<locals>.foor1   r3   r    r.   r!   test_pickling_jit2   s
   

zTestPickle.test_pickling_jitc           	      C   s   t ddgdddd }ttj}tjd|d}||}tt	|}~||}tj
|| tt	|}~||}tj
|| d S )	Nz
intp(intp)zfloat64(float64)r   )targetc                 S   s   | d S )N   r    )xr    r    r!   	cuda_vect?   r*   z5TestPickle.test_pickling_vectorize.<locals>.cuda_vect
   )dtype)r   r   as_dtyper   intpr   aranger   r   r   r   r   )	r   r9   nptyaryr   r   r   r   r   r    r    r!   test_pickling_vectorize>   s   
z"TestPickle.test_pickling_vectorizeN)__name__
__module____qualname__r"   r4   r5   rA   r    r    r    r!   r   
   s
    r   __main__)r   numpyr   numbar   r   
numba.corer   numba.cuda.testingr   r   unittestnumba.npr   r   rB   mainr    r    r    r!   <module>   s    I