ó
    „ñ:i‰  ã                   óN  • S SK r S SKrS SKJrJr  S SKJrJr  S SK	J
r
Jr  S SKJr  SS0rSS0rS	 rS
 rS rS rS rS rS rS rS r\R2                  " S\R4                  4S\R6                  4/5      r " S S\\
5      r " S S\\
5      r\S:X  a  \ R@                  " 5         gg)é    N)ÚjitÚnjit)ÚtypesÚerrors)ÚTestCaseÚMemoryLeakMixin)Únumpy_supportÚforceobjTÚnopythonc                  ó$   • Sn S H  nX-  n M	     U $ )Nr   )é   é   éc   é   © ©ÚresÚis     Ú]/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_iteration.pyÚint_tuple_iter_usecaser      s   € Ø
€CÛˆØ‰Šñ à€Jó    c                  ó$   • Sn S H  nX-  n M	     U $ )Nç        )ç      ø?ç       @ç33333ÓX@ç333333@r   r   s     r   Úfloat_tuple_iter_usecaser      s   € Ø
€CÛ"ˆØ‰Šñ #à€Jr   c                  ó@   • Sn S H  nU H  nX-  n M	     U S-  n M     U $ ©Nr   ))r   r   )r   r   )gÍÌÌÌÌÌü?g      @r   r   )r   r   Újs      r   Útuple_tuple_iter_usecaser"      s2   € à
€CÛ2ˆÛˆAØ‰HŠCñ à�A‰gŠñ 3ð €Jr   c                  ó\   • Sn [        S5       H  u  pU H
  nXU-  -  n M     U S-  n M     U $ r    ©Ú	enumerate)r   r   r!   Úls       r   Úenumerate_nested_tuple_usecaser'   #   s?   € Ø
€CÜÐ?Ö@‰ˆÛˆAØ�q‘5‰LŠCñ à�A‰gŠñ Að €Jr   c                  óz   • Sn [        [        S5      5       H   u  nu  p#U H  nXU-  U-  -  n M     U S-  n M"     U $ r    r$   )r   r   r!   Úkr&   s        r   Únested_enumerate_usecaser*   +   sM   € Ø
€CÜœyÐ)NÓOÖP‰	ˆ‰6ˆAÛˆAØ�q‘5˜1‘9ÑŠCñ à�A‰gŠñ Qð €Jr   c                  ó®   • Sn [         R                  " S5      [         R                  " S5      4n[        U5       H  u  p#XR                  5       -  n M     U $ )Nr   é   é   )ÚnpÚonesr%   Úsum)r   Úarraysr   Úvs       r   Úenumerate_array_usecaser3   4   sD   € Ø
€CÜ�gŠg�a‹jœ"Ÿ'š' !›*Ð%€FÜ˜&Ö!‰ˆØ�u‰u‹w‰Šñ "à€Jr   c                 ó$   • SnU  H  nX-  nM	     U$ ©Nr   r   ©Úiterabler   Úxs      r   Úscalar_iter_usecaser9   <   s   € Ø
€CÛˆØ‰Šñ à€Jr   c                 óR   • SnU  H  nXR                   UR                  -  -  nM      U$ r5   ©ÚaÚbr6   s      r   Úrecord_iter_usecaser>   B   s*   € Ø
€CÛˆØ�s‰s�Q—S‘S‰yÑŠñ à€Jr   c                 óR   • U  H!  nUR                   UR                  -   Ul         M#     g ©Nr;   )r7   r8   s     r   Úrecord_iter_mutate_usecaserA   H   s   € ÛˆØ�c‰c�A—C‘C‰iˆŽò r   r<   r=   c                   óÚ   • \ rS rSrS r\4S jrS r\4S jrS r	\4S jr
S r\4S	 jrS
 r\4S jrS rS rS r\4S jrS r\4S jrS r\4S jrS r\4S jrS rS rS rS rSrg)ÚIterationTestéR   c                 ób   • [        S0 UD6" U5      nU" 5       nU R                  U" 5       U5        g )N)r   )r   ÚassertPreciseEqual)ÚselfÚpyfuncÚflagsÚcfuncÚexpecteds        r   Úrun_nullary_funcÚIterationTest.run_nullary_funcT   s-   € ÜÑ ˜%Ò  Ó(ˆÙ“8ˆØ×Ñ¡£¨Õ2r   c                 ó0   • U R                  [        U5        g r@   )rL   r   ©rG   rI   s     r   Útest_int_tuple_iterÚ!IterationTest.test_int_tuple_iterY   s   € Ø×ÑÔ4°eÕ<r   c                 ó*   • U R                  [        S9  g ©N)rI   )rP   Úno_pyobj_flags©rG   s    r   Útest_int_tuple_iter_npmÚ%IterationTest.test_int_tuple_iter_npm\   s   € Ø× Ñ ¤~Ð Ò6r   c                 ó0   • U R                  [        U5        g r@   )rL   r   rO   s     r   Útest_float_tuple_iterÚ#IterationTest.test_float_tuple_iterb   ó   € Ø×ÑÔ6¸Õ>r   c                 ó*   • U R                  [        S9  g rS   )rY   rT   rU   s    r   Útest_float_tuple_iter_npmÚ'IterationTest.test_float_tuple_iter_npme   ó   € Ø×"Ñ"¬Ð"Ò8r   c                 ó0   • U R                  [        U5        g r@   )rL   r"   rO   s     r   Útest_tuple_tuple_iterÚ#IterationTest.test_tuple_tuple_iterh   r[   r   c                 ó*   • U R                  [        S9  g rS   )ra   rT   rU   s    r   Útest_tuple_tuple_iter_npmÚ'IterationTest.test_tuple_tuple_iter_npmk   r_   r   c                 ó0   • U R                  [        U5        g r@   )rL   r'   rO   s     r   Útest_enumerate_nested_tupleÚ)IterationTest.test_enumerate_nested_tuplen   s   € Ø×ÑÔ<¸eÕDr   c                 ó*   • U R                  [        S9  g rS   )rg   rT   rU   s    r   Útest_enumerate_nested_tuple_npmÚ-IterationTest.test_enumerate_nested_tuple_npmq   s   € Ø×(Ñ(¬~Ð(Ò>r   c                 ó0   • U R                  [        U5        g r@   )rL   r*   rO   s     r   Útest_nested_enumerateÚ#IterationTest.test_nested_enumeratet   r[   r   c                 ó*   • U R                  [        S9  g rS   )rm   rT   rU   s    r   Útest_nested_enumerate_npmÚ'IterationTest.test_nested_enumerate_npmw   r_   r   c                 ón   • [         n[        S5      " U5      nU" 5       nU R                  U" 5       U5        g )Nr   )r3   r   rF   )rG   rH   rJ   rK   s       r   Útest_enumerate_refctÚ"IterationTest.test_enumerate_refctz   s.   € ä(ˆÜ�R”	˜&Ó!ˆÙ“8ˆØ×Ñ¡£¨Õ2r   c           	      ó¨   • [         n[        U" [        R                  " USS5      5      40 UD6" U5      nU R	                  U" U5      U" U5      5        g )Nr   ÚA)r9   r   r   ÚArrayrF   )rG   Ú	item_typeÚargrI   rH   rJ   s         r   Úrun_array_1dÚIterationTest.run_array_1d�   sE   € ä$ˆÜ‘IœeŸkšk¨)°Q¸Ó<Ó>ÑHÀ%ÒHÈÓPˆØ×Ñ¡ c£
©F°3«KÕ8r   c                 ón   • U R                  [        R                  [        R                  " S5      U5        g )Nç      @)rz   r   Úfloat64r.   ÚarangerO   s     r   Útest_array_1d_floatÚ!IterationTest.test_array_1d_float‡   s    € Ø×Ñœ%Ÿ-™-¬¯ª°3«¸Õ?r   c                 ó.   • U R                  [        5        g r@   )r€   rT   rU   s    r   Útest_array_1d_float_npmÚ%IterationTest.test_array_1d_float_npmŠ   s   € Ø× Ñ ¤Õ0r   c                 ót   • U R                  [        R                  [        R                  " S5      S-  U5        g )Nr}   y              ð?)rz   r   Ú
complex128r.   r   rO   s     r   Útest_array_1d_complexÚ#IterationTest.test_array_1d_complex�   s'   € Ø×Ñœ%×*Ñ*¬B¯IªI°c«N¸TÑ,AÀ5ÕIr   c                 ó.   • U R                  [        5        g r@   )r‡   rT   rU   s    r   Útest_array_1d_complex_npmÚ'IterationTest.test_array_1d_complex_npm�   s   € Ø×"Ñ"¤>Õ2r   c                 ón  • [         n[        R                  " [        5      n[	        [
        R                  " USS5      440 UD6" U5      n[        R                  " S[        S9n[        S5       H$  n[        US-  5      XV   l        US-   XV   l        M&     U" U5      nU R                  U" U5      U5        g ©Nr   rv   r   ©Údtyper   )r>   r	   Ú
from_dtypeÚrecord_dtyper   r   rw   r.   ÚrecarrayÚrangeÚfloatr<   r=   rF   )rG   rI   rH   rx   rJ   Úarrr   Úgots           r   Útest_array_1d_recordÚ"IterationTest.test_array_1d_record“   s–   € Ü$ˆÜ!×,Ò,¬\Ó:ˆ	Ü”U—[’[ ¨A¨sÓ3Ð5Ñ?¸Ò?ÀÓGˆÜ�kŠk˜!¤<Ñ0ˆÜ�q–ˆAÜ˜Q ™U“|ˆC‰FŒHØ˜1‘uˆC‰FŽHñ ñ �S‹kˆØ×Ñ¡ c£
¨CÕ0r   c                 ó.   • U R                  [        5        g r@   )r—   rT   rU   s    r   Útest_array_1d_record_npmÚ&IterationTest.test_array_1d_record_npmž   s   € Ø×!Ñ!¤.Õ1r   c                 ó°  • [         n[        R                  " [        5      n[	        [
        R                  " USS5      440 UD6" U5      n[        R                  " S[        S9n[        S5       H$  n[        US-  5      XV   l        US-   XV   l        M&     UR                  5       nU" U5        UR                  5       nU" U5        U R                  Xx5        g r�   )rA   r	   r�   r‘   r   r   rw   r.   r’   r“   r”   r<   r=   ÚcopyrF   )	rG   rI   rH   rx   rJ   r•   r   rK   r–   s	            r   Útest_array_1d_record_mutate_npmÚ-IterationTest.test_array_1d_record_mutate_npm¡   s¬   € Ü+ˆÜ!×,Ò,¬\Ó:ˆ	Ü”U—[’[ ¨A¨sÓ3Ð5Ñ?¸Ò?ÀÓGˆÜ�kŠk˜!¤<Ñ0ˆÜ�q–ˆAÜ˜Q ™U“|ˆC‰FŒHØ˜1‘uˆC‰FŽHñ ð —8‘8“:ˆÙˆxÔØ�h‰h‹jˆÙˆcŒ
Ø×Ñ Õ.r   c                 ó*   • U R                  [        S9  g rS   )rž   Úforce_pyobj_flagsrU   s    r   Útest_array_1d_record_mutateÚ)IterationTest.test_array_1d_record_mutate¯   s   € Ø×,Ñ,Ô3DÐ,ÒEr   c                 ó6  • S nU R                  [        R                  5       n[        R                  " [        R
                  SS5      n[        U45      " U5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nc                 ó   • U  H  nM     g r@   r   )r8   r   s     r   ÚfooÚ/IterationTest.test_array_0d_raises.<locals>.foo´   s   € Û�Ùò r   r   ÚCz	0-d array)
ÚassertRaisesr   ÚTypingErrorr   rw   Úint32r   ÚassertInÚstrÚ	exception)rG   r¦   ÚraisesÚarytys       r   Útest_array_0d_raisesÚ"IterationTest.test_array_0d_raises²   sl   € ò	ð
 ×Ñœv×1Ñ1Ô2°fÜ—K’K¤§¡¨Q°Ó4ˆEÜ�%�ŒN˜3Ô÷ 3ð 	�‰�k¤3 v×'7Ñ'7Ó#8Õ9÷	 3Õ2ús   £9B
Â

Bc                 ó  • S n[         R                  " S[         R                  S9=p#[        R                  " [        R                  SS5      n[        XD45      " U5      nU" X#5      nU" X#5      nU R                  Xg5        g )Nc                 óH   • Sn[        X5       H  nX#S   US   -   -  nM     U$ ©Nr   r   )Úzip)r8   ÚyÚtotalÚrows       r   ÚbarÚ4IterationTest.test_tuple_iter_issue1504.<locals>.barÁ   s0   € ØˆEÜ˜1–y�Ø˜Q™ # a¡&™Ñ(’ñ !ð ˆLr   r   rŽ   r   r¨   )r.   r   r«   r   rw   r   ÚassertEqual©rG   rº   r8   r·   r°   rJ   Úexpectr–   s           r   Útest_tuple_iter_issue1504Ú'IterationTest.test_tuple_iter_issue1504¿   sg   € ò	ô —	’	˜!¤2§8¡8Ñ,Ð,ˆÜ—’œEŸK™K¨¨CÓ0ˆÜ�e�^Ô$ SÓ)ˆá�Q“ˆÙ�A‹kˆØ×Ñ˜Õ%r   c                 óD  • S n[         R                  " S[         R                  S9=p#[        R                  " [        R                  SS5      n[        [        R                  R                  US5      45      " U5      nU" X#45      nU" X#45      nU R                  Xg5        g )Nc                 ó*   • SnU  H
  nXS   -  nM     U$ )Nr   r   )Úarrsr¸   r•   s      r   rº   Ú4IterationTest.test_tuple_of_arrays_iter.<locals>.barÒ   s#   € ØˆEÛ�Ø˜Q™‘’ñ ð ˆLr   r   rŽ   r   r¨   r   )	r.   r   r«   r   rw   r   Ú
containersÚUniTupler¼   r½   s           r   Útest_tuple_of_arrays_iterÚ'IterationTest.test_tuple_of_arrays_iterÐ   s   € ò	ô —	’	˜!¤2§8¡8Ñ,Ð,ˆÜ—’œEŸK™K¨¨CÓ0ˆÜ”e×&Ñ&×/Ñ/°°qÓ9Ð;Ô<¸SÓAˆá�a�V“ˆÙ�Q�F‹mˆØ×Ñ˜Õ%r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rL   r¡   rP   rV   rY   r]   ra   rd   rg   rj   rm   rp   rs   rz   r€   rƒ   r‡   rŠ   r—   rš   rT   rž   r¢   r±   r¿   rÇ   Ú__static_attributes__r   r   r   rC   rC   R   s­   † ò3ð
 ):ô =ò7ð +<ô ?ò9ð +<ô ?ò9ð 1Bô Eò?ð +<ô ?ò9ò3ò9ð ):ô @ò1ð +<ô Jò3ð *;ô 	1ò2ð 5Cô /òFò:ò&õ"&r   rC   c                   ó   • \ rS rSrS rSrg)ÚTestIterationRefctéã   c                 óØ   • [         S 5       n[        S5       Vs/ s H  n[        R                  " SU-   5      PM     nnU R	                  U" U5      UR                  U5      5        g s  snf )Nc                 ó†   • Sn[        [        [        U 5      5      U 5       H  u  p#XS-   UR                  5       -  -  nM     g rµ   )r¶   r“   Úlenr0   )ÚsequenceÚcr<   r=   s       r   r¦   Ú4TestIterationRefct.test_zip_with_arrays.<locals>.fooå   s=   € àˆAÜœE¤# h£-Ó0°(Ö;‘�Ø˜!‘e˜qŸu™u›wÑ&Ñ&’ñ <àr   é
   r   )r   r“   r.   r   r¼   Úpy_func)rG   r¦   r   rÔ   s       r   Útest_zip_with_arraysÚ'TestIterationRefct.test_zip_with_arraysä   s]   € Ü	ñ	ó 
ð	ô /4°B¬iÓ8ªi¨”B—I’I˜a !™eÖ$©iˆÐ8Ø×Ñ™˜X›¨¯©°HÓ(=Õ>ùò 9s   š#A'r   N)rÉ   rÊ   rË   rÌ   rÙ   rÍ   r   r   r   rÏ   rÏ   ã   s   † õ	?r   rÏ   Ú__main__)!ÚunittestÚnumpyr.   Únumbar   r   Ú
numba.corer   r   Únumba.tests.supportr   r   Únumba.npr	   r¡   rT   r   r   r"   r'   r*   r3   r9   r>   rA   r�   r~   r«   r‘   rC   rÏ   rÉ   Úmainr   r   r   Ú<module>rã      s½   ðÛ Û ç ß $ß 9Ý "ð   Ð&Ð Ø˜dÐ#€òòòòòòòòòð
 �xŠx˜#˜rŸz™zÐ*Ø˜rŸx™x˜ðó €ô
M&�O Xô M&ôb
?˜¨(ô 
?ð ˆzÓØ‡M‚M…Oð r   