+
    :i                     |    R t ^ RIt^ RIHtHt ^ RIHtHt  ! R R]4      t	]
R8X  d   ]P                  ! 4        R# R# )z
Test basic language features

N)cudafloat64)unittestCUDATestCasec                   2   a  ] tR t^t o R tR tR tRtV tR# )TestLangc                   a Ro\         P                  ! R4      V3R l4       p\        P                  ! \	        S4      4      pVR,          ! V4       V P                  \        P                  ! VS8H  4      4       R# )      ?void(float64[:])c                 8   < \        S4       F	  w  rW V&   K  	  R # )N)	enumerate)aivtups   &  _/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/cuda/tests/cudapy/test_lang.pyfoo$TestLang.test_enumerate.<locals>.foo   s    !#! '    N)r	   g      @g      @   r   )r   jitnpzeroslen
assertTrueall)selfr   r   r   s   &  @r   test_enumerateTestLang.test_enumerate   s\    	$	%	 
&	 HHSXD	!qCx()r   c                l  aa RoRo\         P                  ! R4      VV3R l4       p\        P                  ! ^4      pVR,          ! V4       \        P                  ! S4      p\        P                  ! S4      pV P                  \        P                  ! W#V,           P                  4       8H  4      4       R# )r   r
   c                 \   < ^ p\        SS4       F  w  r#WV,           ,          pK  	  W^ &   R# )    N)zip)r   cr   jt1t2s   &   r   r   TestLang.test_zip.<locals>.foo   s,    ABU
 $aDr   N)r         )g      @gffffff@g@r   )r   r   r   r   arrayr   r   sum)r   r   r   br$   r&   r'   s   &    @@r   test_zipTestLang.test_zip   s    	$	%	 
&	 HHQKD	!HHRLHHRLqUKKM123r   c                    \         P                  ! R4      R 4       p\        P                  ! R4      pVR,          ! V4       R# )a  
Ensure that typing and lowering of CUDA kernel API primitives works in
more than one block. Was originally to ensure that macro expansion works
for more than one block (issue #872), but macro expansion has been
replaced by a "proper" implementation of all kernel API functions.
zvoid(float64[:,:])c                 (   \        ^4       F  p\        P                  P                  pK  	  \        ^4       F  p\        P                  P                  pK  	  \        P
                  P                  R\        4      pRVXX3&   WRV3,          WV3&   R# )r)   r	   Nr)   r*   )ranger   	threadIdxxysharedr+   r   )aryr   txr%   tysms   &     r   "cuda_kernel_api_in_multiple_blocksCTestLang.test_issue_872.<locals>.cuda_kernel_api_in_multiple_blocks1   sp    1X^^%% 1X^^%% ""673BBr2vJV*CBKr   Nr2   )r   r2   )r   r   r   r   )r   r<   r   s   &  r   test_issue_872TestLang.test_issue_872)   s=     
&	'	% 
(	% HHV*95a8r    N)	__name__
__module____qualname____firstlineno__r   r.   r>   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     
*4"9 9r   r   __main__)__doc__numpyr   numbar   r   numba.cuda.testingr   r   r   rA   mainr@   r   r   <module>rN      s:   
   519| 19h zMMO r   