
    xKg	                         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                           yy)
    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y)
TestPicklec                 b   t        j                  dg      } |d   |      }t        j                  t        j                  |            }~ |d   |      }t         j
                  j                  ||       ~t        j                  t        j                  |            }~ |d   |      }t         j
                  j                  ||       ~t        j                  t        j                  |d               }~| j                  |j                  d       | j                  |j                  d       y )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	            j/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/cuda/tests/cudapy/test_serialize.py
check_callzTestPickle.check_call   s    hhuo6$<$ ||FLL01tDz#


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


h/ ||FLLd45y1	2    c                     t        j                  d      d        t        j                  d      fd       }| j                  |       y )NTdevicec                     | dz   S Nr    as    r#   innerz2TestPickle.test_pickling_jit_typing.<locals>.inner(       q5Lr%   zvoid(intp[:])c                 "     | d         | d<   y Nr   r+   r   r.   s    r#   fooz0TestPickle.test_pickling_jit_typing.<locals>.foo,       3q6]CFr%   r   jitr$   r   r3   r.   s     @r#   test_pickling_jit_typingz#TestPickle.test_pickling_jit_typing'   sI    			 
	 
/	"	# 
#	# 	r%   c                     t        j                  d      d        t         j                  fd       }| j                  |       y )NTr'   c                     | dz   S r*   r+   r,   s    r#   r.   z+TestPickle.test_pickling_jit.<locals>.inner4   r/   r%   c                 "     | d         | d<   y 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   sD    			 
	 
	# 
	# 	r%   c                    t        ddgd      d        }t        j                  t        j                        }t        j                  d|      } ||      }t        j                  t        j                  |            }~ ||      }t
        j                  j                  ||       t        j                  t        j                  |            }~ ||      }t
        j                  j                  ||       y )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	 
F	 %%ejj1ii$'S>||FLL34Cy


$/||FLL./Cy


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