
    wg                         d dl Z d dlmZmZ d dlmZ  ed       G d de             Zedk(  r e j                          yy)    N)CUDATestCaseskip_on_cudasim)captured_stdoutz4cudasim doesn't support cuda import at non-top-levelc                   2     e Zd ZdZ fdZ fdZd Z xZS )
TestVecAddz%
    Test simple vector addition
    c                 t    t               | _        | j                  j                          t        |           y N)r   _captured_stdout	__enter__supersetUpself	__class__s    n/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/numba/cuda/tests/doc_examples/test_vecadd.pyr   zTestVecAdd.setUp   s+     !0 1'')    c                 \    | j                   j                  d d d        t        |           y r	   )r
   __exit__r   tearDownr   s    r   r   zTestVecAdd.tearDown   s&    &&tT48r   c                   	 dd l }ddlm	 	j                  	fd       }|j                  j                  d       d}	j                  |j                  j	                  |            }	j                  |j                  j	                  |            }	j                  |      } |j                  t        |            |||       t        |j                                d}t        |      |z  dz   } |||f   |||       t        |j                                |j                  j                  |j                         |j                         |j                         z          y )Nr   )cudac                 f    j                  d      }t        |      }||k  r| |   ||   z   ||<   y y )N   )gridlen)abctidsizer   s        r   fz$TestVecAdd.test_ex_vecadd.<locals>.f    s<     ))A,Cq6DTz3!C&# r   r   i    )numpynumbar   jitrandomseed	to_devicedevice_array_likeforallr   printcopy_to_hosttestingassert_equal)
r   npr!   Nr   r   r   nthreadsnblocksr   s
            @r   test_ex_vecaddzTestVecAdd.test_ex_vecadd   s%    
	) 
	) 			q NN299++A./NN299++A./""1% 	QAq!ann
 q6X%*'8
Q1%ann 	

NNNNq~~//	
r   )__name__
__module____qualname____doc__r   r   r3   __classcell__)r   s   @r   r   r      s    
,
r   r   __main__)	unittestnumba.cuda.testingr   r   numba.tests.supportr   r   r4   main r   r   <module>r?      sK     < / GH=
 =
 I=
@ zHMMO r   