Ë
    èÿæi   ã                   óÊ   — d dl Z d dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
 d dlmZmZmZ d„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Z G d„ dee«      Zedk(  r ej2                  «        yy)é    N)ÚjitÚnjit)ÚtypesÚerrorsÚutils)Úcaptured_stdoutÚTestCaseÚEnableNRTStatsMixinc                 ó   — t        | «       y ©N©Úprint©Úxs    úk/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_print.pyÚprint_valuer      s	   € Ü	ˆ!…Hó    c                 ó4   — t        | |   j                  «       y r   )r   r   )ÚarrÚis     r   Úprint_array_itemr      s   € Ü	ˆ#ˆa‰&�(‰(…Or   c                 ó   — t        | ||«       y r   r   ©ÚaÚbÚcs      r   Úprint_valuesr      s   € Ü	ˆ!ˆQ�…Nr   c                  ó   — t        «        y r   r   © r   r   Úprint_emptyr       s   € Ü	…Gr   c                 ó   — t        | dd«       y )Núhop!g      @r   r   s    r   Úprint_stringr#      s   € Ü	ˆ!ˆV�SÕr   c                 ó   — t        | |g|¢­Ž  y r   r   r   s      r   Úprint_varargr%      s   € Ü	ˆ!ˆQ€O�„Or   c                 ó    — t        | d|g|¢­Ž  y )Nr"   r   r   s      r   Úprint_string_varargr'      s   € Ü	ˆ!ˆV�QÐ˜Ôr   c                 ó2   ‡ — ˆ fd„} t        d¬«      ‰ «      S )Nc                  ó   •— ‰ S r   r   r   s   €r   Úprint_closurez)make_print_closure.<locals>.print_closure!   s   ø€ Øˆr   T©Únopython)r   )r   r*   s   ` r   Úmake_print_closurer-       s   ø€ ôàŒ3˜Ô˜aÓ Ð r   c                   ó~   — e Zd Zd„ Zd„ Z ej                  d«      d„ «       Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zy)Ú	TestPrintc                 ó   —  t        |f«      t        «      }|D ]W  }t        «       5   ||«       | j                  t        j
                  j                  «       t        |«      dz   «       d d d «       ŒY y # 1 sw Y   ŒdxY w)NÚ
)r   r   r   ÚassertEqualÚsysÚstdoutÚgetvalueÚstr)ÚselfÚtypÚvaluesÚcfuncÚvals        r   Úcheck_valueszTestPrint.check_values(   s_   € Ø”�c�V“œ[Ó)ˆÛˆCÜ Õ"Ù�c”
Ø× Ñ ¤§¡×!4Ñ!4Ó!6¼¸C»À4¹ÔH÷ #Ð"ñ ß"Ð"ús   ¦AA4Á4A=	c                 óÌ  — | j                  t        j                  d«       | j                  t        j                  d«       | j                  t        j                  d«       | j                  t        j
                  d«       | j                  t        j                  ddt        d«      f«       | j                  t        j                  d«       | j                  t        j                  d	«      t        j                  d
d	«      f«        t        t        j                  f«      t        «      }t        «       5   |d«       t         j"                  j%                  «       }d}| j'                  |j)                  |«      «       | j'                  |j+                  d«      «       ddd«       t        j,                  t        j                  dd«      } t        |f«      t        «      }t        «       5   |t        j.                  dt        j                  ¬«      «       | j1                  t         j"                  j%                  «       d«       ddd«       y# 1 sw Y   Œ±xY w# 1 sw Y   yxY w)z8
        Test printing a single argument value.
        )é   éÿÿÿ)r>   r?   ì   êg3/m´lüÿÿÿêg3/m´)r>   éê   r@   l   {        )TFg      ø?g@Œµx¯DÚnan)y      ð?      ð?Úmséd   gš™™™™™ñ?z1.10000002384r1   Nr>   Ú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   r3   r4   r5   Ú
assertTrueÚ
startswithÚendswithÚArrayÚaranger2   )r7   r:   ÚgotÚexpectÚ	arraytypes        r   Útest_print_valueszTestPrint.test_print_values/   s«  € ð
 	×Ñœ%Ÿ+™+ yÔ1Ø×Ñœ%Ÿ+™+ð (=ô 	>ð 	×Ñœ%Ÿ,™,ð )Jô 	Kà×Ñœ%Ÿ-™-¨Ô7Ø×Ñœ%Ÿ-™-¨#¨{¼EÀ%»LÐ)IÔJØ×Ñœ%Ÿ/™/¨7Ô3Ø×Ñœ%×+Ñ+¨DÓ1´B·N±NÀ3ÈÓ4MÐ3OÔPà&””e—m‘mÐ%Ó&¤{Ó3ˆÜÕÙ�#ŒJä—*‘*×%Ñ%Ó'ˆCØ$ˆFØ�O‰O˜CŸN™N¨6Ó2Ô3Ø�O‰O˜CŸL™L¨Ó.Ô/÷ ô —K‘K¤§¡¨Q°Ó4ˆ	Ø"”�i�\Ó"¤;Ó/ˆÜÕÙ”"—)‘)˜B¤b§h¡hÔ/Ô0Ø×ÑœSŸZ™Z×0Ñ0Ó2Ø6ô8÷ Ð÷ Ðú÷ Ðús   Ä5A)IÇ+AIÉIÉI#z,Issue with intermittent NRT leak, see #9355.c                 ó  — | j                  «       5  g d¢}| j                  |«      5  | j                  t        j                  t        j
                  d¬«      |f«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)N)r>   é   é   é   T)Ú	reflected)ÚassertNoNRTLeakÚassertRefCountr<   r   ÚListÚintp)r7   r   s     r   Útest_print_nrt_typezTestPrint.test_print_nrt_typeP   sa   € ð ×!Ñ!Õ#ÚˆAØ×$Ñ$ QÕ'Ø×!Ñ!¤%§*¡*¬U¯Z©ZÀ4Ô"HÈ1È$ÔO÷ (÷ $Ð#ç'Ð'ú÷ $Ð#ús"   ‘A;§7A/ÁA;Á/A8	Á4A;Á;Bc           	      ó¶  — t        j                  dg«      }t        j                  t        t	        dd«      «      |¬«      }t
        } t        d¬«      |«      }t	        t        |«      «      D ]^  }t        «       5   |||«       | j                  t        j                  j                  «       t        ||   d   «      dz   «       d	d	d	«       Œ` y	# 1 sw Y   ŒkxY w)
z:
        Test printing a Numpy character sequence
        )r   ÚS4r>   é	   rG   Tr+   r   r1   N)rQ   rH   Ú
frombufferÚ	bytearrayÚranger   r   Úlenr   r2   r3   r4   r5   r6   )r7   rH   r   Úpyfuncr:   r   s         r   Útest_print_array_itemzTestPrint.test_print_array_item]   s¤   € ô —‘˜+˜Ó'ˆÜ�m‰mœI¤e¨A¨q£kÓ2¸%Ô@ˆä!ˆØ"”˜TÔ" 6Ó*ˆÜ”s˜3“x–ˆAÜ Õ"Ù�c˜1”Ø× Ñ ¤§¡×!4Ñ!4Ó!6¼¸CÀ¹FÀ3¹KÓ8HÈ4Ñ8OÔP÷ #Ð"ñ !ß"Ð"ús   Á:A
CÃC	c                 ó  — t         } t        t        j                  fdz  «      |«      }t	        «       5   |ddd«       | j                  t        j                  j                  «       d«       d d d «       y # 1 sw Y   y xY w)Nr^   r>   é   ú1 2 3
)	r   r   r   re   r   r2   r3   r4   r5   ©r7   rn   r:   s      r   Útest_print_multiple_valuesz$TestPrint.test_print_multiple_valuesk   s]   € ÜˆØ'””e—j‘j�] QÑ&Ó'¨Ó/ˆÜÕÙ�!�Q˜ŒNØ×ÑœSŸZ™Z×0Ñ0Ó2°IÔ>÷ ×Ñús   ´9A6Á6A?c                 óä   — t         } t        dd¬«      |«      }t        «       5   |ddd«       | j                  t        j
                  j                  «       d«       d d d «       y # 1 sw Y   y xY w)NT)r,   Únogilr>   rq   r^   rr   )r   r   r   r2   r3   r4   r5   rs   s      r   Útest_print_nogilzTestPrint.test_print_nogilr   sT   € ÜˆØ.”˜T¨Ô.¨vÓ6ˆÜÕÙ�!�Q˜ŒNØ×ÑœSŸZ™Z×0Ñ0Ó2°IÔ>÷ ×Ñús   ¤9A&Á&A/c                 óÚ   — t         } t        d«      |«      }t        «       5   |«        | j                  t        j
                  j                  «       d«       d d d «       y # 1 sw Y   y xY w)Nr   r1   )r    r   r   r2   r3   r4   r5   rs   s      r   Útest_print_emptyzTestPrint.test_print_emptyy   sK   € ÜˆØ”�R“	˜&Ó!ˆÜÕÙŒGØ×ÑœSŸZ™Z×0Ñ0Ó2°DÔ9÷ ×Ñús   ¢6A!Á!A*c                 óú   — t         } t        t        j                  f«      |«      }t	        «       5   |d«       | j                  t        j                  j                  «       d«       d d d «       y # 1 sw Y   y xY w)Nr>   z1 hop! 3.5
)	r#   r   r   re   r   r2   r3   r4   r5   rs   s      r   Útest_print_stringszTestPrint.test_print_strings€   sT   € ÜˆØ#””e—j‘j�]Ó# FÓ+ˆÜÕÙ�!ŒHØ×ÑœSŸZ™Z×0Ñ0Ó2°NÔC÷ ×Ñús   ±7A1Á1A:c                 óÀ  — t         } t        d¬«      |«      }t        «       5   |ddd«       | j                  t        j
                  j                  «       d«       d d d «       t        } t        d¬«      |«      }t        «       5   |ddd«       | j                  t        j
                  j                  «       d«       d d d «       y # 1 sw Y   ŒmxY w# 1 sw Y   y xY w)NTr+   r>   )rq   r^   )é   y              @z1 (2, 3) 4 5j
z1 hop! (2, 3) 4 5j
)r%   r   r   r2   r3   r4   r5   r'   rs   s      r   Útest_print_varargzTestPrint.test_print_vararg‡   s±   € ô ˆØ"”˜TÔ" 6Ó*ˆÜÕÙ�!�V˜WÔ%Ø×ÑœSŸZ™Z×0Ñ0Ó2Ð4EÔF÷ ô %ˆØ"”˜TÔ" 6Ó*ˆÜÕÙ�!�V˜WÔ%Ø×ÑœSŸZ™Z×0Ñ0Ó2Ð4JÔK÷ Ð÷ Ðú÷ Ðús   £9CÂ9CÃCÃCc                 ó&  ‡— t        d¬«      d„ «       Št        d¬«      ˆfd„«       }t        j                  d«      }t        «       5   ||«       | j	                  t
        j                  j                  «       d«       d d d «       y # 1 sw Y   y xY w)NTr+   c                 ó   — t        | «       y r   r   r   s    r   Úfooz*TestPrint.test_inner_fn_print.<locals>.foo—   s	   € ä�!�Hr   c                 ó&   •—  ‰| «        ‰d«       y )NÚhellor   )r   r�   s    €r   Úbarz*TestPrint.test_inner_fn_print.<locals>.bar›   s   ø€ á�ŒFÙ��Lr   r_   z[0 1 2 3 4]
hello
)r   rQ   rX   r   r2   r3   r4   r5   )r7   r„   r   r�   s      @r   Útest_inner_fn_printzTestPrint.test_inner_fn_print–   sy   ø€ Ü	�dÔ	ñ	ó 
ð	ô 
�dÔ	ó	ó 
ð	ô �I‰I�a‹LˆÜÕÙ�ŒFØ×ÑœSŸZ™Z×0Ñ0Ó2Ð4JÔK÷ ×Ñús   Á7BÂBc                 óî   — t        d¬«      d„ «       }| j                  t        j                  «      5 } |«        d d d «       d}| j	                  j
                  j                  |«       y # 1 sw Y   Œ2xY w)NTr+   c                  ó   — t        dd¬«       y )Nr   T)Úflushr   r   r   r   Úprint_kwargz8TestPrint.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)r7   r‰   ÚraisesÚexpecteds       r   Útest_print_w_kwarg_raisesz#TestPrint.test_print_w_kwarg_raises§   se   € Ü	�dÔ	ñ	#ó 
ð	#ð ×Ñœv×6Ñ6Ô7¸6ÙŒM÷ 8ð)ˆà�‰�f×&Ñ&×*Ñ*¨HÕ5÷	 8Ð7ús   ²A+Á+A4c                 óü   — t        d¬«      d„ «       }t        «       5   |«        | j                  t        j                  j                  «       dj                  dgdz  «      dz   «       ddd«       y# 1 sw Y   yxY w)	z9 See: https://github.com/numba/numba/issues/3811
        Tr+   c                  ó@   — t        dj                  dgdz  «      «       y )NÚ r   é'  )r   Újoinr   r   r   r�   z/TestPrint.test_print_no_truncation.<locals>.fooµ   s   € ä�"—'‘'˜3˜% %™-Ó(Õ)r   r”   r   r•   r1   N)r   r   r2   r3   r4   r5   r–   )r7   r�   s     r   Útest_print_no_truncationz"TestPrint.test_print_no_truncation²   sc   € ô 
�dÔ	ñ	*ó 
ð	*äÕÙŒEØ×ÑœSŸZ™Z×0Ñ0Ó2°B·G±G¸S¸EÀE¹MÓ4JÈTÑ4QÔR÷ ×Ñús   �AA2Á2A;N)Ú__name__Ú
__module__Ú__qualname__r<   r\   ÚunittestÚskiprf   ro   rt   rw   ry   r{   r~   r…   r‘   r—   r   r   r   r/   r/   &   sc   „ òIò8ðB €X‡]�]ÐAÓBñ
Pó Cð
PòQò?ò?ò:òDòLòLò"	6óSr   r/   Ú__main__)r3   ÚnumpyrQ   r›   Únumbar   r   Ú
numba.corer   r   r   Únumba.tests.supportr   r	   r
   r   r   r   r    r#   r%   r'   r-   r/   r˜   Úmainr   r   r   Ú<module>r£      ss   ðÛ 
ã ã ß ß +Ñ +ß PÑ Pòòòòòòòò!ôTSÐ# Xô TSðl ˆzÒØ€H‡M�M…Oð r   