ó
    „ñ:iÔ  ã                   óš   • 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
r
 " S S\
R                  5      r\S:X  a  \
R                  " 5         gg)é    N)Úcaptured_stdoutÚoverride_config)ÚnjitÚ	vectorizeÚguvectorizec                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
ÚTestFastMathé	   c                 ó‚  • S n[        SS9" U5      n[        U5      nU R                  U" S5      U" S5      5        UR                  UR                  S   5      nUR                  UR                  S   5      nU R	                  SU5        U R	                  SU5        U R                  SU5        U R                  SU5        g )Nc                 ó4   • U [         R                  " U 5      -   $ ©N©ÚmathÚsin©Úxs    Ú\/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_fastmath.pyÚfooÚ"TestFastMath.test_jit.<locals>.foo   ó   € Ø”t—x’x “{‘?Ð"ó    T©Úfastmathç      à?r   ú	fadd fastú	call fast)r   ÚassertEqualÚinspect_llvmÚ
signaturesÚassertInÚassertNotIn©Úselfr   ÚfastfooÚslowfooÚfastllvmÚslowllvms         r   Útest_jitÚTestFastMath.test_jit
   s©   € ò	#ä Ò% cÓ*ˆÜ�s“)ˆØ×Ñ™ ›¡w¨s£|Ô4Ø×'Ñ'¨×(:Ñ(:¸1Ñ(=Ó>ˆØ×'Ñ'¨×(:Ñ(:¸1Ñ(=Ó>ˆà�‰�k 8Ô,Ø�‰�k 8Ô,Ø×Ñ˜ hÔ/Ø×Ñ˜ hÕ/r   c                 ó  • S n[        SS1S9" U5      n[        S1S9" U5      nU R                  U" S[        R                  5      S5        U R	                  [        R
                  " U" S[        R                  5      5      5        g )Nc                 ó   • X-
  U-   $ r   © )r   Úys     r   r   Ú3TestFastMath.test_jit_subset_behaviour.<locals>.foo   s   € Ø‘E˜Q‘;Ðr   ÚreassocÚnszr   r   )r   r   ÚnpÚinfÚ
assertTrueÚisnan)r#   r   r$   r%   s       r   Útest_jit_subset_behaviourÚ&TestFastMath.test_jit_subset_behaviour   sg   € ò	ä ¨EÐ 2Ò3°CÓ8ˆÜ  Ò,¨SÓ1ˆØ×Ñ™ ¤b§f¡fÓ-¨sÔ3Ø�‰œŸš¡¨¬b¯f©fÓ!5Ó6Õ7r   c                 ó\  • S n[        SS1S9" U5      n[        5       " U5      nU R                  U" S5      U" S5      5        UR                  UR                  S   5      nUR                  UR                  S   5      nU R	                  SU5        U R	                  SU5        U R	                  S	U5        U R	                  S
U5        U R	                  SU5        U R	                  SU5        U R                  SU;   =(       d    S	U;   U5        U R                  SU;   =(       d    S
U;   U5        g )Nc                 ó4   • U [         R                  " U 5      -   $ r   r   r   s    r   r   Ú.TestFastMath.test_jit_subset_code.<locals>.foo!   r   r   r/   r0   r   r   r   r   r   zfadd reassoc nszzcall reassoc nszzfadd nsz reassoczcall nsz reassoc)r   r   r   r   r!   r3   r"   s         r   Útest_jit_subset_codeÚ!TestFastMath.test_jit_subset_code    s"  € ò	#ä ¨EÐ 2Ò3°CÓ8ˆÜ”&˜“+ˆØ×Ñ™ ›¡w¨s£|Ô4Ø×'Ñ'¨×(:Ñ(:¸1Ñ(=Ó>ˆØ×'Ñ'¨×(:Ñ(:¸1Ñ(=Ó>ˆà×Ñ˜ hÔ/Ø×Ñ˜ hÔ/Ø×ÑÐ+¨XÔ6Ø×ÑÐ+¨XÔ6Ø×ÑÐ+¨XÔ6Ø×ÑÐ+¨XÔ6Ø�‰Ø 8Ñ+÷ -Ø 8Ñ+Øô	
ð
 	�‰Ø 8Ñ+÷ -Ø 8Ñ+Øõ	
r   c                 ó†  • U R                  [        5       n[        S1S9" S 5      " S5        S S S 5        U R                  S[	        WR
                  5      5        U R                  [        5       n[        SS0S9" S 5      " S5        S S S 5        U R                  S[	        UR
                  5      5        U R                  [        5       n[        SS9" S	 5      " S5        S S S 5        U R                  S
[	        UR
                  5      5        g ! , (       d  f       Nè= f! , (       d  f       Nž= f! , (       d  f       NV= f)NÚspqrr   c                 ó   • U S-   $ ©Né   r,   r   s    r   Ú<lambda>Ú5TestFastMath.test_jit_subset_errors.<locals>.<lambda><   s   € ¨a°!ªer   r@   zUnrecognized fastmath flags:Fc                 ó   • U S-   $ r?   r,   r   s    r   rA   rB   C   s   € °Q¸²Ur   i9  c                 ó   • U S-   $ r?   r,   r   s    r   rA   rB   J   s   € ¨!¨aª%r   z!Expected fastmath option(s) to be)ÚassertRaisesÚ
ValueErrorr   r    ÚstrÚ	exception)r#   Úraisess     r   Útest_jit_subset_errorsÚ#TestFastMath.test_jit_subset_errors:   só   € Ø×ÑœzÔ*¨fÜ˜6˜(Ò#¡OÔ4°QÔ7÷ +à�‰Ø*Ü�× Ñ Ó!ô	
ð
 ×ÑœzÔ*¨fÜ˜6 5˜/Ò*©?Ô;¸AÔ>÷ +à�‰Ø*Ü�× Ñ Ó!ô	
ð
 ×ÑœzÔ*¨fÜ˜$Ò¡Ô0°Ô3÷ +à�‰Ø/Ü�× Ñ Ó!õ	
÷! +Õ*ú÷ +Õ*ú÷ +Õ*ús#   –DÁ0D!ÃD2Ä
DÄ!
D/Ä2
E c                 óÂ  • S n[        SS9" U5      n[        U5      n[        R                  R                  S5      R                  [        R                  5      n[        SS5         [        5        nU" U5      nS S S 5        WR                  5       n[        5        nU" U5      n	S S S 5        WR                  5       n
S S S 5        [        R                  R                  WW	5        U R                  SW
5        U R                  SU
5        U R                  SW5        U R                  SU5        g ! , (       d  f       Nº= f! , (       d  f       N = f! , (       d  f       N™= f)Nc                 ó4   • U [         R                  " U 5      -   $ r   r   r   s    r   r   Ú(TestFastMath.test_vectorize.<locals>.fooQ   r   r   Tr   é   ÚDUMP_OPTIMIZEDr   r   )r   r1   ÚrandomÚastypeÚfloat32r   r   ÚgetvalueÚtestingÚassert_almost_equalr    r!   )r#   r   r$   r%   r   Úslow_capÚexpectr'   Úfast_capÚgotr&   s              r   Útest_vectorizeÚTestFastMath.test_vectorizeP   s  € ò	#ä TÒ*¨3Ó/ˆÜ˜C“.ˆÜ�I‰I×Ñ˜QÓ×&Ñ&¤r§z¡zÓ2ˆäÐ-¨tÕ4Ü Ô" hÙ  ›�÷ #à×(Ñ(Ó*ˆHÜ Ô" hÙ˜a“j�÷ #à×(Ñ(Ó*ˆH÷ 5ô 	�
‰
×&Ñ& v¨sÔ3Ø�‰�k 8Ô,Ø�‰�k 8Ô,Ø×Ñ˜ hÔ/Ø×Ñ˜ hÕ/÷ #Õ"ú÷ #Õ"ú÷	 5Õ4ús<   Á&EÁ1	D.Á:"EÂ	D?Â%EÄ.
D<	Ä8EÄ?
E	Å	EÅ
Ec                 óØ  • S n[         R                  R                  S5      R                  [         R                  5      n[	        SS5         S/nSn[        5        n[        X4SS9" U5      nS S S 5        WR                  5       n[        5        n[        X45      " U5      n	S S S 5        WR                  5       n
S S S 5        W	" U5      nW" U5      n[         R                  R                  X¼5        U R                  SW5        U R                  S	U5        U R                  SW
5        U R                  S	U
5        g ! , (       d  f       NÒ= f! , (       d  f       N¯= f! , (       d  f       N¨= f)
Nc                 ó<   • U [         R                  " U 5      -   US'   g )Nr   r   )r   Úouts     r   r   Ú*TestFastMath.test_guvectorize.<locals>.fooe   s   € ØœŸš !›‘_ˆC�ŠFr   rO   rP   Tz(float32, float32[:])z()->()r   r   r   )r1   rQ   rR   rS   r   r   r   rT   rU   rV   r    r!   )r#   r   r   ÚtypesÚsigrY   r$   r&   rW   r%   r'   rX   rZ   s                r   Útest_guvectorizeÚTestFastMath.test_guvectorized   s  € ò	%ä�I‰I×Ñ˜QÓ×&Ñ&¤r§z¡zÓ2ˆÜÐ-¨tÕ4Ø,Ð-ˆEØˆCÜ Ô" hÜ% e¸4Ò@ÀÓE�÷ #à×(Ñ(Ó*ˆHÜ Ô" hÜ% eÔ1°#Ó6�÷ #à×(Ñ(Ó*ˆH÷ 5ñ ˜“ˆÙ�a‹jˆÜ
�
‰
×&Ñ& vÔ3Ø�‰�k 8Ô,Ø�‰�k 8Ô,Ø×Ñ˜ hÔ/Ø×Ñ˜ hÕ/÷ #Õ"ú÷ #Õ"ú÷ 5Õ4ús<   ÁEÁD9Á-"EÂE
Â!EÄ9
E	ÅEÅ

E	ÅEÅ
E)r,   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r(   r5   r:   rJ   r[   rc   Ú__static_attributes__r,   r   r   r	   r	   	   s    † ò0ò8ò
ò4
ò,0õ(0r   r	   Ú__main__)r   Únumpyr1   Únumba.tests.supportr   r   Únumbar   r   r   ÚunittestÚTestCaser	   re   Úmainr,   r   r   Ú<module>rq      sD   ðÛ Û ç @ß .Ñ .Û ôn0�8×$Ñ$ô n0ðb ˆzÓØ‡M‚M…Oð r   