
    sh;                         S SK JrJr  S SKrS SKrS SKrSrSrSrSr	Sr
 " S S	\5      r\S
:X  a  \R                  " 5         gg)    )CUDATestCaseskip_on_cudasimNzfrom numba import cuda

@cuda.jit
def cuhello():
    i = cuda.grid(1)
    print(i, 999)
    print(-42)

cuhello[2, 3]()
cuda.synchronize()
zfrom numba import cuda

@cuda.jit
def printfloat():
    i = cuda.grid(1)
    print(i, 23, 34.75, 321)

printfloat[1, 1]()
cuda.synchronize()
zfrom numba import cuda

@cuda.jit
def printstring():
    i = cuda.grid(1)
    print(i, "hop!", 999)

printstring[1, 3]()
cuda.synchronize()
zgfrom numba import cuda

@cuda.jit
def printempty():
    print()

printempty[1, 1]()
cuda.synchronize()
a  from numba import cuda
import numpy as np

@cuda.jit
def print_too_many(r):
    print(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8], r[9], r[10],
          r[11], r[12], r[13], r[14], r[15], r[16], r[17], r[18], r[19], r[20],
          r[21], r[22], r[23], r[24], r[25], r[26], r[27], r[28], r[29], r[30],
          r[31], r[32])

print_too_many[1, 1](np.arange(33))
cuda.synchronize()
c                   N    \ rS rSrS rS rS rS rS r\	" S5      S 5       r
S	rg
)	TestPrintJ   c                     [         R                  SU/n[        R                  " USSSS9nUR                  R                  5       UR                  R                  5       4$ )z9Runs code in a subprocess and returns the captured outputz-c<   T)timeoutcapture_outputcheck)sys
executable
subprocessrunstdoutdecodestderr)selfcodecmdcps       v/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/cudapy/test_print.pyrun_codeTestPrint.run_codeN   sK    ~~tT*^^CDMyy!299#3#3#555    c                 "   U R                  [        5      u  pUR                  5        Vs/ s H  o3R                  5       PM     nnS/S-  [	        S5       Vs/ s H  nSU-  PM
     sn-   nU R                  [        U5      U5        g s  snf s  snf )Nz-42   z%d 999)r   cuhello_usecase
splitlinesstriprangeassertEqualsorted)r   output_lineactualiexpecteds          r   test_cuhelloTestPrint.test_cuhelloT   s{    MM/2	+1+<+<+>?+>4**,+>?7Q;a!A1(Q,!AA 	2	 @!As   BBc                 z    U R                  [        5      u  pSS/nU R                  UR                  5       U5        g )Nz0 23 34.750000 321z0 23 34.75 321)r   printfloat_usecaseassertInr    )r   r$   r%   expected_casess       r   test_printfloatTestPrint.test_printfloat\   s2    MM"45	.0@Afllnn5r   c                 r    U R                  [        5      u  pU R                  UR                  5       S5        g )N )r   printempty_usecaser"   r    )r   r$   r%   s      r   test_printemptyTestPrint.test_printemptyb   s)    MM"45	,r   c                    U R                  [        5      u  pUR                  S5       Vs/ s H  o3R                  5       PM     nn[	        S5       Vs/ s H  nSU-  PM
     nnU R                  [        U5      U5        g s  snf s  snf )NT   z%d hop! 999)r   printstring_usecaser   r    r!   r"   r#   )r   r$   r%   r&   linesr(   r)   s          r   test_stringTestPrint.test_stringf   sr    MM"56	*0*;*;D*AB*A$*AB/4Qx8x!MA%x81 C8s   B Bz"cudasim can print unlimited outputc                     U R                  [        5      u  pSR                  [        S5       Vs/ s H  nSPM     sn5      nU R	                  XA5        SnU R	                  XR5        g s  snf )N !   z%lldzjCUDA print() cannot print more than 32 items. The raw format string will be emitted by the kernel instead.)r   print_too_many_usecasejoinr!   r.   )r   r$   errorsr%   expected_fmt_stringwarn_msgs         r   test_too_many_argsTestPrint.test_too_many_argsl   s`     '=> "hhb	'B	1	'BC)2Kh' (Cs   A( N)__name__
__module____qualname____firstlineno__r   r*   r0   r5   r;   r   rE   __static_attributes__rG   r   r   r   r   J   s5    636-2 9:( ;(r   r   __main__)numba.cuda.testingr   r   r   r   unittestr   r-   r9   r4   r@   r   rH   mainrG   r   r   <module>rQ      s]    <  
 
 
 	   2( 2(j zMMO r   