ó
    „ñ:iô  ã                   ó¶   • S SK r S SKr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
 S\5      r\S:X  a  \R(                  " 5         gg)é    N)ÚjitÚnjit)Útypes)ÚTestCase)Únumpy_supportc                 ó   • U $ ©N© ©Úxs    Ú^/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_conversion.pyÚidentityr      ó   € Ø€Hó    c                 ó
   • X-   $ r	   r
   ©r   Úys     r   Úadditionr      s	   € Ø‰5€Lr   c                 ó
   • X:H  $ r	   r
   r   s     r   Úequalityr      s	   € Ø‰6€Mr   c                 ó   • U $ r	   r
   )r   r   Úzs      r   Úfoobarr      r   r   c                   ór   • \ 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S rS rS rS rS rSrg)ÚTestConversioné   z%
Testing Python to Native conversion
c                 óD  • [         n[        [        R                  " [        R                  5      5      " U5      n/ SQnU H  nU R	                  U" U5      U5        M     [
        R                  " U5       H  nU R	                  U" U5      U5        M     [        [        R                  " [        R                  5      5      " U5      n/ SQnU H  nU R	                  U" U5      U5        M     [
        R                  " U5       H  nU R	                  U" U5      U5        M     g ©N)y              ð?y      ð?      ð?y      ð¿      ð¿y      ð?        )r   r   r   Ú	complex64ÚassertEqualÚnpÚ
complex128)ÚselfÚpyfuncÚcfuncÚxsr   s        r   Útest_complex_identityÚ$TestConversion.test_complex_identity   sÙ   € ÜˆÜ”U—_’_¤U§_¡_Ó5Ô6°vÓ>ˆâ,ˆÛˆAØ×Ñ™U 1›X qÖ)ñ ä—’˜bÖ!ˆAØ×Ñ™U 1›X qÖ)ñ "ô ”U×%Ò%¤e×&6Ñ&6Ó7Ô8¸Ó@ˆâ,ˆÛˆAØ×Ñ™U 1›X qÖ)ñ ä—’˜rÖ"ˆAØ×Ñ™U 1›X qÖ)ò #r   c                 ó   • [         n[        [        R                  " [        R                  [        R                  5      5      " U5      n/ SQnU H  nUnU R	                  U" XE5      XE-   5        M!     [
        R                  " U5       H  nUnU R	                  U" XE5      XE-   5        M!     [        [        R                  " [        R                  [        R                  5      5      " U5      n/ SQnU H  nUnU R	                  U" XE5      XE-   5        M!     [
        R                  " U5       H  nUnU R	                  U" XE5      XE-   5        M!     g r   )r   r   r   r   r    r!   r"   )r#   r$   r%   r&   r   r   s         r   Útest_complex_additionÚ$TestConversion.test_complex_addition1   s  € ÜˆÜ”U—_’_¤U§_¡_´e·o±oÓFÔGÈÓOˆâ,ˆÛˆAØˆAØ×Ñ™U 1›[¨!©%Ö0ñ ô —’˜bÖ!ˆAØˆAØ×Ñ™U 1›[¨!©%Ö0ñ "ô
 ”U×%Ò%¤e×&6Ñ&6Ü&+×&6Ñ&6ó8ô 9Ø9?óAˆò -ˆÛˆAØˆAØ×Ñ™U 1›[¨!©%Ö0ñ ô —’˜rÖ"ˆAØˆAØ×Ñ™U 1›[¨!©%Ö0ò #r   c                 óð   • [         n[        [        R                  [        R                  45      " U5      nSnSn[
        R                  " X45       H#  u  p4U R                  U" X45      U" X45      5        M%     g ©N©TF©éÿÿÿÿr   é   )r   r   r   ÚbooleanÚintpÚ	itertoolsÚproductr    ©r#   r$   r%   r&   Úyss        r   Útest_boolean_as_intÚ"TestConversion.test_boolean_as_intI   s\   € ÜˆÜ”e—m‘m¤U§Z¡ZÐ0Ô1°&Ó9ˆàˆØˆä×'Ò'¨Ö/‰FˆBØ×Ñ™V B›^©U°2«]Ö;ò 0r   c                 óð   • [         n[        [        R                  [        R                  45      " U5      nSnSn[
        R                  " X45       H#  u  p4U R                  U" X45      U" X45      5        M%     g r-   )r   r   r   r2   Úfloat64r4   r5   r    r6   s        r   Útest_boolean_as_floatÚ$TestConversion.test_boolean_as_floatS   s\   € ÜˆÜ”e—m‘m¤U§]¡]Ð3Ô4°VÓ<ˆàˆØˆä×'Ò'¨Ö/‰FˆBØ×Ñ™V B›^©U°2«]Ö;ò 0r   c                 óð   • [         n[        [        R                  [        R                  45      " U5      nSnSn[        R
                  " X45       H#  u  p4U R                  U" X45      U" X45      5        M%     g )Nr.   )r   r   r   r2   r4   r5   r    r6   s        r   Útest_boolean_eq_booleanÚ&TestConversion.test_boolean_eq_boolean]   s\   € ÜˆÜ”e—m‘m¤U§]¡]Ð3Ô4°VÓ<ˆàˆØˆä×'Ò'¨Ö/‰FˆBØ×Ñ™V B›^©U°2«]Ö;ò 0r   c                 ó”   • S nU R                  [        5         [        SSS9" U5      " S5        S S S 5        g ! , (       d  f       g = f)Nc                 ó   • U $ r	   r
   r   s    r   ÚfÚ3TestConversion.test_negative_to_unsigned.<locals>.fm   s   € ØˆHr   zuintp(uintp)T©Únopythonéûÿÿÿ)ÚassertRaisesÚOverflowErrorr   ©r#   rC   s     r   Útest_negative_to_unsignedÚ(TestConversion.test_negative_to_unsignedl   s5   € ò	à×Ñœ}Õ-Ü�¨Ò.¨qÔ1°"Ô5÷ .×-Ö-ús	   ™9¹
Ac                 ó>  • [         n[        [        R                  " [        R                  [        R                  [        R                  5      5      " U5      nSnU R	                  [
        5         U H  u  pEnU" XEU5        M     S S S 5        g ! , (       d  f       g = f)N)r/   )r   r0   r1   )r   r1   r0   )r   r   r   Úuint64rH   rI   )r#   r$   r%   Útest_fail_argsÚaÚbÚcs          r   Ú'test_multiple_args_negative_to_unsignedÚ6TestConversion.test_multiple_args_negative_to_unsignedt   so   € ÜˆÜ”U—\’\¤%§,¡,´·±Ü"'§,¡,ó0ô 2Ø28ó:ˆð >ˆØ×Ñœ}Õ-Û)‘��aÙ�a˜A–ñ *÷ .×-Ö-ús   Á/BÂ
Bc                 ó„  • [         n[        R                  " S[        R                  4S[        R                  4S[        R                  4/5      n[        R
                  " U5      n[        US S  " US S  [        R                  [        R                  5      5      " U5      n[        R                  " SUS9n[        R                  " UR                  5      S-   Ul        [        R                  " UR                  5      S-   Ul        [        R                  " UR                  5      S-   Ul        U R                  U5         USS4USS44nU H-  u  pxn	U R!                  ["        5         U" XxU	5        S S S 5        M/     AAAA	[$        R&                  " 5         S S S 5        g ! , (       d  f       Mb  = f! , (       d  f       g = f)NÚpÚrowÚcolé   ©Údtyper1   r0   )r   r!   r[   r;   r   Ú
from_dtyper   r   rN   ÚrecarrayÚarangeÚsizerV   rW   rX   ÚassertRefCountrH   rI   ÚgcÚcollect)
r#   r$   Úmystruct_dtÚmystructr%   Úst1rO   rP   rQ   rR   s
             r   Útest_multiple_args_recordsÚ)TestConversion.test_multiple_args_records   s[  € Üˆä—h’h ¤b§j¡jÐ 1Ø!¤2§:¡:Ð.Ø!¤2§:¡:Ð.ð 0ó 1ˆô !×+Ò+¨KÓ8ˆä�X™a‘[ ©! ¬e¯l©lÜ!&§¡ó/ô 1Ø17ó9ˆô �kŠk˜! ;Ñ/ˆä—	’	˜#Ÿ(™(Ó# aÑ'ˆŒÜ—)’)˜CŸH™HÓ%¨Ñ)ˆŒÜ—)’)˜CŸH™HÓ%¨Ñ)ˆŒà× Ñ  Õ%Ø" B¨˜l¨S°!°R¨LÐ9ˆNã)‘��aØ×&Ñ&¤}Õ5Ù˜! ”N÷ 6Ñ5ñ *ð   1 aÜ�JŠJŒL÷ &Ð%÷ 6Ö5ú÷	 &Õ%ús$   Ä?(F1Å'
FÅ1%F1Æ
F.Æ)F1Æ1
F?c                 ó^   • S nU R                  U" 5       [        SSS9" U5      " 5       5        g )Nc                  ó   • g r	   r
   r
   r   r   rC   Ú1TestConversion.test_with_no_parameters.<locals>.fœ   ó   € Ør   z()TrE   )r    r   rJ   s     r   Útest_with_no_parametersÚ&TestConversion.test_with_no_parameters›   s(   € ò	à×Ñ™›œc $°Ò6°qÔ9Ó;Õ<r   c                 óø  ^• S nU4S jmT" U5      n[        U[        R                  45      " U5      nU R                  " U6    U" US5        SSS5        U R                  " U6    U R	                  [
        5         U" US5        SSS5        SSS5        [        [        R                  U45      " U5      nU R                  " U6    U" SU5        SSS5        U R                  " U6    U R	                  [
        5         U" SU5        SSS5        SSS5        g! , (       d  f       NÏ= f! , (       d  f       N©= f! , (       d  f       N²= f! , (       d  f       N�= f! , (       d  f       N[= f! , (       d  f       g= f)z6
Check that argument cleanup doesn't leak references.
c                 ó   • g r	   r
   r   s     r   rC   Ú0TestConversion.check_argument_cleanup.<locals>.f¤   rk   r   c                 ó`   >• U /n[        U [        5      (       a  U  H  nUT" U5      -  nM     U$ r	   )Ú
isinstanceÚtuple)ÚobjÚobjsÚvÚ_objectss      €r   rw   Ú7TestConversion.check_argument_cleanup.<locals>._objects§   s4   ø€ Ø�5ˆDÜ˜#œu×%Ñ%Û�AØ™H Q›KÑ'’Dñ àˆKr   r1   Nr0   )r   r   Úuint32r`   rH   rI   )r#   Útyprt   rC   Úobjectsr%   rw   s         @r   Úcheck_argument_cleanupÚ%TestConversion.check_argument_cleanup    s  ø€ ò	õ	ñ ˜3“-ˆä�cœ5Ÿ<™<Ð(Ô)¨!Ó,ˆØ× Ò  'Ò*Ù�#�qŒM÷ +à× Ò  'Ò*Ø×"Ñ"¤=Õ1Ù�c˜2”÷ 2÷ +ô ”e—l‘l CÐ(Ô)¨!Ó,ˆØ× Ò  'Ò*Ù�!�SŒM÷ +à× Ò  'Ò*Ø×"Ñ"¤=Õ1Ù�b˜#”÷ 2÷ +Ð*÷ +Õ*ú÷ 2Õ1ú÷ +Õ*ú÷
 +Õ*ú÷ 2Õ1ú÷ +Õ*ús`   Á
DÁ$D8Á:
D'ÂD8Ã
E	Ã%E+Ã;
EÄE+Ä
D$Ä'
D5	Ä1D8Ä8
EÅ	
EÅ
E(	Å$E+Å+
E9c                 ó˜   • [        [        S5      5      nU R                  [        R                  " [        R
                  SS5      U5        g ©Nó   xyzr1   ÚC)Ú
memoryviewÚ	bytearrayr|   r   Ú
MemoryViewÚbyte)r#   Úmems     r   Útest_cleanup_bufferÚ"TestConversion.test_cleanup_buffer¾   s4   € Üœ 6Ó*Ó+ˆØ×#Ñ#¤E×$4Ò$4´U·Z±ZÀÀCÓ$HÈ#ÕNr   c                 óð   • [         R                  " S[         R                  4S[         R                  4/5      n[         R                  " SUS9nU R	                  [
        R                  " U5      US   5        g )Nr   r   r1   rZ   r   )r!   r[   r;   Úzerosr|   r   r\   )r#   r[   Úrecarrs      r   Útest_cleanup_recordÚ"TestConversion.test_cleanup_recordÂ   sV   € Ü—’˜3¤§
¡
Ð+¨c´2·:±:Ð->Ð?Ó@ˆÜ—’˜! 5Ñ)ˆØ×#Ñ#¤M×$<Ò$<¸UÓ$CÀVÈAÁYÕOr   c                 óÈ   • [        [        S5      5      n[        R                  " [        R                  " [        R
                  SS5      S5      nU R                  X!U45        g )Nr€   r1   r�   é   )r‚   rƒ   r   ÚUniTupler„   r…   r|   ©r#   r†   Útps      r   Útest_cleanup_tupleÚ!TestConversion.test_cleanup_tupleÇ   sF   € Üœ 6Ó*Ó+ˆÜ�^Š^œE×,Ò,¬U¯Z©Z¸¸CÓ@À!ÓDˆØ×#Ñ# B¨c¨
Õ3r   c                 óÂ   • [        [        S5      5      n[        R                  " [        R                  " [        R
                  SS5      5      nU R                  X!5        g r   )r‚   rƒ   r   ÚOptionalr„   r…   r|   r‘   s      r   Útest_cleanup_optionalÚ$TestConversion.test_cleanup_optionalÌ   s@   € Üœ 6Ó*Ó+ˆÜ�^Š^œE×,Ò,¬U¯Z©Z¸¸CÓ@ÓAˆØ×#Ñ# BÕ,r   c                 ó¶   ^• [        [        R                  " [        R                  5      SS9S 5       m[        [        R                  " 5       SS9U4S j5       ng )NTrE   c                 ó   • g r	   r
   )Ústrings    r   ÚbarÚ9TestConversion.test_stringliteral_to_unicode.<locals>.barÕ   s   € àr   c                  ó   >• T " S5        g )Nzliteral stringr
   )rœ   s   €r   Úfoo2Ú:TestConversion.test_stringliteral_to_unicode.<locals>.foo2Ù   s   ø€ áÐ Õ!r   )r   r   ÚvoidÚunicode_type)r#   rŸ   rœ   s     @r   Útest_stringliteral_to_unicodeÚ,TestConversion.test_stringliteral_to_unicodeÑ   sN   ø€ ô 
ŒU�ZŠZœ×*Ñ*Ó+°dÑ	;ñ	ó 
<ð	ô 
ŒU�ZŠZ‹\ DÑ	)ô	"ó 
*ñ	"r   r
   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r'   r*   r8   r<   r?   rK   rS   rf   rl   r|   r‡   rŒ   r“   r—   r£   Ú__static_attributes__r
   r   r   r   r      sT   † ñò*ò$1ò0<ò<ò<ò6òòò8=ò
ò<OòPò
4ò
-õ

"r   r   Ú__main__)ra   r4   Únumpyr!   ÚunittestÚnumbar   r   Ú
numba.corer   Únumba.tests.supportr   Únumba.npr   r   r   r   r   r   r¥   Úmainr
   r   r   Ú<module>r³      sX   ðÛ 	Û ã ã ß Ý Ý (Ý "òòòòôA"�Xô A"ðH ˆzÓØ‡M‚M…Oð r   