ó
    „ñ:i  ã                   ó  • S SK r S SKrS SKJrJr  S SKJr  S SKJ	r	  S SK
Jr  S rS rS rS	 rS
 rS rS rS rS rS r " S S\ R                  5      r\S 5       r " S S\	5      r\S:X  a  \ R4                  " 5         gg)é    N)ÚjitÚnjit)Útypes)ÚTestCase)Úlength_of_iteratorc                 ó6   • Sn[        U 5       H  nX-  nM	     U$ ©Nr   ©Úrange)ÚnÚsÚis      ÚY/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_range.pyÚloop1r      s!   € Ø	€AÜ�1ŽXˆØ	‰Šñ à€Hó    c                 ó6   • Sn[        X5       H  nX#-  nM	     U$ r	   r
   )ÚaÚbr   r   s       r   Úloop2r      s!   € Ø	€AÜ�1Ž[ˆØ	‰Šñ à€Hr   c                 ó8   • Sn[        XU5       H  nX4-  nM	     U$ r	   r
   )r   r   Úcr   r   s        r   Úloop3r      s#   € Ø	€AÜ�1˜Ž^ˆØ	‰Šñ à€Hr   c                 ó*   • [        [        U 5      5      $ ©N©Úlenr   )r   s    r   Ú
range_len1r       s   € ÜŒu�Q‹x‹=Ðr   c                 ó*   • [        [        X5      5      $ r   r   )r   r   s     r   Ú
range_len2r   #   s   € ÜŒu�Q‹{ÓÐr   c                 ó,   • [        [        XU5      5      $ r   r   )r   r   r   s      r   Ú
range_len3r!   &   s   € ÜŒu�Q˜1‹~ÓÐr   c                 ó<   • [        [        [        U 5      5      5      $ r   )r   Úiterr   ©r   s    r   Úrange_iter_len1r%   (   s   € Üœd¤5¨£8›nÓ-Ð-r   c                 ó*   • [        [        U 5      5      $ r   )r   r#   r$   s    r   Úrange_iter_len2r'   +   s   € Üœd 1›gÓ&Ð&r   c                 óÈ   • [        U 5      n[        X5      n[        XU5      n/ nX4U4 H5  nUR                  UR                  UR                  UR                  45        M7     U$ r   )r   ÚappendÚstartÚstopÚstep)r*   r+   r,   Úr1Úr2Úr3ÚtmpÚrs           r   Úrange_attrsr2   .   sX   € Ü	ˆu‹€BÜ	ˆuÓ	€BÜ	ˆu˜DÓ	!€BØ
€CØ�b‹\ˆØ�
‰
�A—G‘G˜QŸV™V Q§V¡VÐ,Ö-ñ à€Jr   c                 ó~   • [        U5      n[        X5      n[        XU5      nXEU4 Vs/ s H  opU;   PM	     sn$ s  snf r   r
   )Úvalr*   r+   r,   r-   r.   r/   r1   s           r   Úrange_containsr5   7   s?   € Ü	ˆu‹€BÜ	ˆuÓ	€BÜ	ˆu˜DÓ	!€BØ! r™lÓ+šl˜�1ŒH™lÑ+Ð+ùÒ+s   ©:c                   óP   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)Ú	TestRangeé>   c                 óŒ   • [         n[        [        R                  45      " U5      nU R	                  U" S5      U" S5      5        g )Né   )r   r   r   Úint16Ú
assertTrue©ÚselfÚpyfuncÚcfuncs      r   Útest_loop1_int16ÚTestRange.test_loop1_int16@   s2   € ÜˆÜ”e—k‘k�^Ô$ VÓ,ˆØ�‰™˜a›¡&¨£)Õ,r   c                 ó®   • [         n[        [        R                  [        R                  45      " U5      nU R	                  U" SS5      U" SS5      5        g )Né   é   )r   r   r   r;   r<   r=   s      r   Útest_loop2_int16ÚTestRange.test_loop2_int16E   s=   € ÜˆÜ”e—k‘k¤5§;¡;Ð/Ô0°Ó8ˆØ�‰™˜a ›¡V¨A¨q£\Õ2r   c                 óÖ   • [         n[        [        R                  [        R                  [        R                  45      " U5      n/ SQnU H  nU R	                  U" U6 U" U6 5        M     g )N©)rD   é   rD   )rJ   é   é   )éöÿÿÿiõÿÿÿrM   )rM   rM   éþÿÿÿ)r   r   r   Úint32ÚassertEqual)r>   r?   r@   ÚarglistÚargss        r   Útest_loop3_int32ÚTestRange.test_loop3_int32J   sT   € ÜˆÜ”e—k‘k¤5§;¡;´·±Ð<Ô=¸fÓEˆò
ˆó ˆDØ×Ñ™U D˜\©6°4¨=Ö9ò r   c           
      ó  • [         n[        R                  [        R                  [        R                  /n/ SQnU HH  n[        U45      " U5      nU H-  nU R                  U" U" U5      5      U" U" U5      5      5        M/     MJ     g ©N)r:   r   éûÿÿÿ)r   r   r;   rO   Úint64r   rP   )r>   r?   ÚtypelistrQ   Útypr@   Úargs          r   Útest_range_len1ÚTestRange.test_range_len1V   si   € ÜˆÜ—K‘K¤§¡¬e¯k©kÐ:ˆÚˆÛˆCÜ˜#˜”L Ó(ˆEÛ�Ø× Ñ ¡¡s¨3£x£±&¹¸S»Ó2BÖCó ò r   c                 ó  ^• [         n[        R                  [        R                  [        R                  /n/ SQnU HL  m[        TT45      " U5      nU H0  n[        U4S jU 5       5      nU R                  U" U6 U" U6 5        M2     MN     g )N))rD   rE   )rE   rD   )rW   éÿÿÿÿc              3   ó4   >#   • U  H  nT" U5      v •  M     g 7fr   © ©Ú.0ÚxrZ   s     €r   Ú	<genexpr>Ú,TestRange.test_range_len2.<locals>.<genexpr>f   ó   øé € Ð3ªd¨™c !Ÿf˜fªdùó   ƒ)r   r   r;   rO   rX   r   ÚtuplerP   ©r>   r?   rY   rQ   r@   rR   Úargs_rZ   s          @r   Útest_range_len2ÚTestRange.test_range_len2_   st   ø€ ÜˆÜ—K‘K¤§¡¬e¯k©kÐ:ˆÚ*ˆÛˆCÜ˜#˜s˜Ô$ VÓ,ˆEÛ�ÜÔ3©dÓ3Ó3�Ø× Ñ ¡¨ ±¸°Ö?ó  ò r   c                 ó  ^• [         n[        R                  [        R                  [        R                  /n/ SQnU HM  m[        TTT45      " U5      nU H0  n[        U4S jU 5       5      nU R                  U" U6 U" U6 5        M2     MO     g )NrI   c              3   ó4   >#   • U  H  nT" U5      v •  M     g 7fr   ra   rb   s     €r   re   Ú,TestRange.test_range_len3.<locals>.<genexpr>u   rg   rh   )r!   r   r;   rO   rX   r   ri   rP   rj   s          @r   Útest_range_len3ÚTestRange.test_range_len3i   sz   ø€ ÜˆÜ—K‘K¤§¡¬e¯k©kÐ:ˆò
ˆó ˆCÜ˜#˜s C˜Ô)¨&Ó1ˆEÛ�ÜÔ3©dÓ3Ó3�Ø× Ñ ¡¨ ±¸°Ö?ó  ò r   c           
      ó  • [         n[        n[        R                  [        R                  [        R
                  /n/ SQnU HH  n[        U45      " U5      nU H-  nU R                  U" U" U5      5      U" U" U5      5      5        M/     MJ     g rV   )r   r%   r   r;   rO   rX   r   rP   )r>   Ú
range_funcÚrange_iter_funcrY   rQ   rZ   r@   r[   s           r   Útest_range_iter_len1ÚTestRange.test_range_iter_len1x   sn   € Üˆ
Ü)ˆÜ—K‘K¤§¡¬e¯k©kÐ:ˆÚˆÛˆCÜ˜#˜”L Ó1ˆEÛ�Ø× Ñ ¡¡s¨3£x£±*¹SÀ»XÓ2FÖGó ò r   c                 óÀ   • [         n[        [        R                  " [        R                  SS945      " U5      n/ SQnU R                  U" U5      [        U5      5        g )NT)Ú	reflected)rD   rJ   rL   é   r:   )r'   r   r   ÚListÚintprP   r   )r>   ru   r@   rQ   s       r   Útest_range_iter_listÚTestRange.test_range_iter_list‚   sE   € Ü)ˆÜ”e—j’j¤§¡°tÑ<Ð>Ô?ÀÓPˆÚ!ˆØ×Ñ™˜w›¬¨W«Õ6r   c                 óÖ   • [         n/ SQn[        [        R                  [        R                  [        R                  45      " U5      nU H  nU R	                  U" U6 U" U6 5        M     g )N)©r   r   rD   ©r   r_   rD   ©r_   rD   rD   ©r_   rz   rD   ©r_   rz   é
   ©r:   rW   rN   )r2   r   r   rX   rP   )r>   r?   rQ   r@   r[   s        r   Útest_range_attrsÚTestRange.test_range_attrsˆ   sT   € Üˆò!ˆô ”e—k‘k¤5§;¡;´·±Ð<Ô>¸vÓFˆÛˆCØ×Ñ™U C˜[©&°#¨,Ö7ò r   c           	      óP  • [         n/ SQnSS/n/ SQn/ SQn/ SQnX4-   U-   U-   n[        U5      nU H,  n	U H#  n
U R                  U" U
/U	Q76 U" U
/U	Q76 5        M%     M.     SS0S/S	S
/n[        USS9nU H,  n	U H#  n
U R                  U" U
/U	Q76 U" U
/U	Q76 5        M%     M.     g )N)	r€   )r_   r   rD   )rD   r   r_   r�   )r   rD   r_   r‚   rƒ   r„   r†   TF)rM   iúÿÿÿrW   éüÿÿÿrN   r_   r   rD   rJ   rz   r:   rE   r…   )gš™™™™™ñ¿g      ð¿g        g      ð?gš™™™™™ñ?)y      ð?        y      ð?      ð?yš™™™™™ñ?        y      ð?š™™™™™ñ?r   rD   Úabc)rD   )Úforceobj)r5   r   rP   r   )r>   r?   rQ   Ú	bool_valsÚint_valsÚ
float_valsÚcomplex_valsÚvallistr@   r[   r4   Únon_numeric_valsÚ	cfunc_objs                r   Útest_range_containsÚTestRange.test_range_contains•   sÝ   € Üˆò!ˆð ˜5�Mˆ	ò(ˆâ0ˆ
Ú=ˆàÑ'¨*Ñ4Øñˆô �V“ˆÛˆCÛ�Ø× Ñ ¡ sÐ!1¨SÒ!1±6¸#Ð3DÀÒ3DÖEó ñ ð ! !˜H q e¨U°DÐ9Ðä˜¨Ñ.ˆ	ÛˆCÛ'�Ø× Ñ ¡¨3Ð!5°Ò!5±v¸cÐ7HÀCÒ7HÖIó (ò r   ra   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rA   rF   rS   r\   rl   rq   rv   r}   r‡   r”   Ú__static_attributes__ra   r   r   r7   r7   >   s9   † ò-ò
3ò

:òDò@ò@òHò7ò8õJr   r7   c           	      ó®   • [         R                  " [        [        XU5      5      [         R                  S9nSn[        XU5       H  nXSU'   US-  nM     U$ )N©Údtyper   rD   )ÚnpÚzerosr   r   Úuint64)r*   r+   r,   rd   r   Úvs         r   Ú	my_aranger¢   ·   sO   € ä
�Š””U˜5¨Ó-Ó.´b·i±iÑ@€AØ	€AÜ�5 Ö%ˆØˆ!‰Ø	ˆQ‰Šñ &ð €Hr   c                   ó   • \ rS rSrS rSrg)ÚTestRangeNumpyéÁ   c           
      ó   • [        [        R                  " S5      [        R                  " S5      [        R                  " S5      5      nU R	                  U[        R
                  " SSS[        R                  S95        g)z,Test that mixing `uint64` and `int64` works.rE   r   r_   rœ   N)r¢   rž   r    rX   ÚassertPreciseEqualÚarange)r>   r   s     r   Útest_range_safe_cast_mixedÚ)TestRangeNumpy.test_range_safe_cast_mixedÂ   sK   € ä”b—i’i “l¤B§I¢I¨a£L´"·(²(¸2³,Ó?ˆØ×Ñ ¤2§9¢9¨Q°°2¼R¿Y¹YÑ#GÕHr   ra   N)r–   r—   r˜   r™   r©   rš   ra   r   r   r¤   r¤   Á   s   † õIr   r¤   Ú__main__)ÚunittestÚnumpyrž   Únumbar   r   Ú
numba.corer   Únumba.tests.supportr   Únumba.core.inline_closurecallr   r   r   r   r   r   r!   r%   r'   r2   r5   r7   r¢   r¤   r–   Úmainra   r   r   Ú<module>r³      sš   ðÛ ã ç Ý Ý (å <òòòòòòò.ò'òò,ôvJ�×!Ñ!ô vJðr ñó ðôI�Xô Ið ˆzÓØ‡M‚M…Oð r   