
    sh                          S SK r S SKrS SKrS SKJrJr  S SKJrJ	r	J
r
  S SKJrJrJr  S rS rS rS rS	 rS
 rS rS r " S S\\5      r\S:X  a  \R2                  " 5         gg)    N)jitnjit)typeserrorsutils)captured_stdoutTestCaseEnableNRTStatsMixinc                     [        U 5        g Nprintxs    j/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_print.pyprint_valuer      s	    	!H    c                 2    [        X   R                  5        g r   )r   r   )arris     r   print_array_itemr      s    	#&((Or   c                     [        XU5        g r   r   abcs      r   print_valuesr      s    	!Nr   c                      [        5         g r   r    r   r   print_emptyr       s    	Gr   c                     [        U SS5        g )Nhop!g      @r   r   s    r   print_stringr#      s    	!VSr   c                     [        X/UQ76   g r   r   r   s      r   print_varargr%      s    	!OOr   c                      [        U SU/UQ76   g )Nr"   r   r   s      r   print_string_varargr'      s    	!VQr   c                 .   ^  U 4S jn[        SS9" T 5      $ )Nc                     > T $ r   r   r   s   r   print_closure)make_print_closure.<locals>.print_closure!   s    r   Tnopython)r   )r   r*   s   ` r   make_print_closurer.       s    a  r   c                       \ rS rSrS rS r\R                  " S5      S 5       rS r	S r
S rS	 rS
 rS rS rS rS rSrg)	TestPrint&   c                    [        U45      " [        5      nU HX  n[        5          U" U5        U R                  [        R
                  R                  5       [        U5      S-   5        S S S 5        MZ     g ! , (       d  f       Ml  = f)N
)r   r   r   assertEqualsysstdoutgetvaluestr)selftypvaluescfuncvals        r   check_valuesTestPrint.check_values(   s]    cV[)C "c
  !4!4!6C4H #" ""s   AA66
B	c                    U R                  [        R                  S5        U R                  [        R                  S5        U R                  [        R                  S5        U R                  [        R
                  S5        U R                  [        R                  SS[        S5      45        U R                  [        R                  S5        U R                  [        R                  " S	5      [        R                  " S
S	5      45        [        [        R                  45      " [        5      n[        5          U" S5        [         R"                  R%                  5       nSnU R'                  UR)                  U5      5        U R'                  UR+                  S5      5        SSS5        [        R,                  " [        R                  SS5      n[        U45      " [        5      n[        5          U" [        R.                  " S[        R                  S95        U R1                  [         R"                  R%                  5       S5        SSS5        g! , (       d  f       N= f! , (       d  f       g= f)z(
Test printing a single argument value.
)   )rA   rB      g3/mlg3/m)rA      rC   l   {        )TFg      ?g@xDnan)y      ?      ?msd   g?z1.10000002384r3   NrA   C
   dtypez[0 1 2 3 4 5 6 7 8 9]
)r>   r   int32int64uint64booleanfloat64float	complex64NPTimedeltanptimedelta64r   float32r   r   r5   r6   r7   
assertTrue
startswithendswithArrayaranger4   )r9   r<   gotexpect	arraytypes        r   test_print_valuesTestPrint.test_print_values/   s   
 	%++y1%++ (= 	> 	%,, )J 	K%--7%--#{E%L)IJ%//73%++D1BNN34M3OPemm%&{3#J**%%'C$FOOCNN623OOCLL./  KKQ4	i\";/"))Bbhh/0SZZ00268   s   7A)I.AI 
I 
I.z,Issue with intermittent NRT leak, see #9355.c           	         U R                  5          / SQnU R                  U5         U R                  [        R                  " [        R
                  SS9U45        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)N)rA            T)	reflected)assertNoNRTLeakassertRefCountr>   r   Listintp)r9   r   s     r   test_print_nrt_typeTestPrint.test_print_nrt_typeP   sa     !!#A$$Q'!!%**UZZ4"H1$O ( $#'' $#s"   A>5A-A>-
A;	7A>>
Bc           	         [         R                  " S/5      n[         R                  " [        [	        SS5      5      US9n[
        n[        SS9" U5      n[	        [        U5      5       H]  n[        5          U" X%5        U R                  [        R                  R                  5       [        X%   S   5      S-   5        S	S	S	5        M_     g	! , (       d  f       Mq  = f)
z*
Test printing a Numpy character sequence
)r   S4rA   	   rJ   Tr,   r   r3   N)rT   rK   
frombuffer	bytearrayranger   r   lenr   r4   r5   r6   r7   r8   )r9   rK   r   pyfuncr<   r   s         r   test_print_array_itemTestPrint.test_print_array_item]   s     +'mmIeAqk2%@!T"6*s3xA "c  !4!4!6CF3K8H48OP #" !""s   6AC
C	c                    [         n[        [        R                  4S-  5      " U5      n[	        5          U" SSS5        U R                  [        R                  R                  5       S5        S S S 5        g ! , (       d  f       g = f)Nrb   rA      1 2 3
)	r   r   r   ri   r   r4   r5   r6   r7   r9   rs   r<   s      r   test_print_multiple_values$TestPrint.test_print_multiple_valuesk   s[    ejj]Q&'/!QNSZZ002I> s   9A66
Bc                     [         n[        SSS9" U5      n[        5          U" SSS5        U R                  [        R
                  R                  5       S5        S S S 5        g ! , (       d  f       g = f)NT)r-   nogilrA   rw   rb   rx   )r   r   r   r4   r5   r6   r7   ry   s      r   test_print_nogilTestPrint.test_print_nogilr   sR    T.v6!QNSZZ002I> s   9A##
A1c                     [         n[        S5      " U5      n[        5          U" 5         U R                  [        R
                  R                  5       S5        S S S 5        g ! , (       d  f       g = f)Nr   r3   )r    r   r   r4   r5   r6   r7   ry   s      r   test_print_emptyTestPrint.test_print_emptyy   sI    R	&!GSZZ002D9 s   6A!!
A/c                    [         n[        [        R                  45      " U5      n[	        5          U" S5        U R                  [        R                  R                  5       S5        S S S 5        g ! , (       d  f       g = f)NrA   z1 hop! 3.5
)	r#   r   r   ri   r   r4   r5   r6   r7   ry   s      r   test_print_stringsTestPrint.test_print_strings   sR    ejj]#F+!HSZZ002NC s   7A11
A?c                    [         n[        SS9" U5      n[        5          U" SSS5        U R                  [        R
                  R                  5       S5        S S S 5        [        n[        SS9" U5      n[        5          U" SSS5        U R                  [        R
                  R                  5       S5        S S S 5        g ! , (       d  f       No= f! , (       d  f       g = f)NTr,   rA   )rw   rb   )   y              @z1 (2, 3) 4 5j
z1 hop! (2, 3) 4 5j
)r%   r   r   r4   r5   r6   r7   r'   ry   s      r   test_print_varargTestPrint.test_print_vararg   s     T"6*!VW%SZZ0024EF  %T"6*!VW%SZZ0024JK   s   9C 9C
C
C!c                 (  ^ [        SS9S 5       m[        SS9U4S j5       n[        R                  " S5      n[        5          U" U5        U R	                  [
        R                  R                  5       S5        S S S 5        g ! , (       d  f       g = f)NTr,   c                     [        U 5        g r   r   r   s    r   foo*TestPrint.test_inner_fn_print.<locals>.foo   s	    !Hr   c                 &   > T" U 5        T" S5        g )Nhellor   )r   r   s    r   bar*TestPrint.test_inner_fn_print.<locals>.bar   s    FLr   rc   z[0 1 2 3 4]
hello
)r   rT   r[   r   r4   r5   r6   r7   )r9   r   r   r   s      @r   test_inner_fn_printTestPrint.test_inner_fn_print   sy    	d		 
	 
d		 
	 IIaLFSZZ0024JK s   7B
Bc                     [        SS9S 5       nU R                  [        R                  5       nU" 5         S S S 5        SnU R	                  WR
                  R                  U5        g ! , (       d  f       N7= f)NTr,   c                      [        SSS9  g )Nr   T)flushr   r   r   r   print_kwarg8TestPrint.test_print_w_kwarg_raises.<locals>.print_kwarg   s    #T"r   zKNumba's print() function implementation does not support keyword arguments.)r   assertRaisesr   UnsupportedErrorassertIn	exceptionmsg)r9   r   raisesexpecteds       r   test_print_w_kwarg_raises#TestPrint.test_print_w_kwarg_raises   se    	d		# 
	# v6676M 8)f&&**H5	 87s   A((
A6c                     [        SS9S 5       n[        5          U" 5         U R                  [        R                  R                  5       SR                  S/S-  5      S-   5        SSS5        g! , (       d  f       g= f)	z8See: https://github.com/numba/numba/issues/3811
        Tr,   c                  @    [        SR                  S/S-  5      5        g )N r   '  )r   joinr   r   r   r   /TestPrint.test_print_no_truncation.<locals>.foo   s    "''3%%-()r   r   r   r   r3   N)r   r   r4   r5   r6   r7   r   )r9   r   s     r   test_print_no_truncation"TestPrint.test_print_no_truncation   sc     
d		* 
	*ESZZ002BGGSEEM4JT4QR s   AA//
A=r   N)__name__
__module____qualname____firstlineno__r>   r_   unittestskiprj   rt   rz   r~   r   r   r   r   r   r   __static_attributes__r   r   r   r0   r0   &   sa    I8B ]]AB
P C
PQ??:DLL"	6Sr   r0   __main__)r5   numpyrT   r   numbar   r   
numba.corer   r   r   numba.tests.supportr   r	   r
   r   r   r   r    r#   r%   r'   r.   r0   r   mainr   r   r   <module>r      sq    
    + + P P!TS#X TSl zMMO r   