
    J/Ph	                         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e
                      Zed	k    r ej                     dS dS )
    N)cuda	vectorize)types)skip_on_cudasimCUDATestCase)numpy_supportz!pickling not supported in CUDASIMc                   &    e Zd Zd Zd Zd Zd ZdS )
TestPicklec                 |   t          j        dg          } |d         |          }t          j        t          j        |                    }~ |d         |          }t           j                            ||           ~t          j        t          j        |                    }~ |d         |          }t           j                            ||           ~t          j        t          j        |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foo3s	            f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/cuda/tests/cudapy/test_serialize.py
check_callzTestPickle.check_call   s   huoo6$<$$ |FL0011tDz#

h/// |FL..//tDz#

h/// |FLd4455y111	22222    c                     t          j        d          d             t          j        d          fd            }|                     |           d S )NTdevicec                     | dz   S Nr    as    r#   innerz2TestPickle.test_pickling_jit_typing.<locals>.inner(       q5Lr%   zvoid(intp[:])c                 0     | d                   | d<   d S Nr   r+   r   r.   s    r#   fooz0TestPickle.test_pickling_jit_typing.<locals>.foo,       U3q6]]CFFFr%   r   jitr$   r   r3   r.   s     @r#   test_pickling_jit_typingz#TestPickle.test_pickling_jit_typing'   st    					 	 
		 
/	"	"	# 	# 	# 	# 
#	"	# 	r%   c                     t          j        d          d             t           j        fd            }|                     |           d S )NTr'   c                     | dz   S r*   r+   r,   s    r#   r.   z+TestPickle.test_pickling_jit.<locals>.inner4   r/   r%   c                 0     | d                   | d<   d S r1   r+   r2   s    r#   r3   z)TestPickle.test_pickling_jit.<locals>.foo8   r4   r%   r5   r7   s     @r#   test_pickling_jitzTestPickle.test_pickling_jit2   sk    					 	 
		 
	# 	# 	# 	# 
	# 	r%   c                    t          ddgd          d             }t          j        t          j                  }t          j        d|          } ||          }t          j        t          j	        |                    }~ ||          }t
          j
                            ||           t          j        t          j	        |                    }~ ||          }t
          j
                            ||           d S )Nz
intp(intp)zfloat64(float64)r   )targetc                     | dz  S )N   r+   )xs    r#   	cuda_vectz5TestPickle.test_pickling_vectorize.<locals>.cuda_vect?   r/   r%   
   )dtype)r   r   as_dtyper   intpr   aranger   r   r   r   r   )	r   rB   nptyaryr   r   r   r    r!   s	            r#   test_pickling_vectorizez"TestPickle.test_pickling_vectorize>   s    	L"45f	E	E	E	 	 
F	E	 %ej11i$'''9S>>|FL3344tCyy

$///|FL..//tCyy

$/////r%   N)__name__
__module____qualname__r$   r8   r<   rJ   r+   r%   r#   r
   r
   
   sP        3 3 34	 	 	
 
 
0 0 0 0 0r%   r
   __main__)r   numpyr   numbar   r   
numba.corer   numba.cuda.testingr   r   unittestnumba.npr   r
   rK   mainr+   r%   r#   <module>rV      s         ! ! ! ! ! ! ! !       < < < < < < < <  " " " " " " 455F0 F0 F0 F0 F0 F0 F0 65F0R zHMOOOOO r%   