ó
    „ñ:if  ã                   óè  • S SK JrJr  S SKJrJr  S SKJr  S SK	J
r
  S SKJr  S SKr " S S\" 5       5      r " S	 S
\" 5       5      r " S S\" 5       5      r " S S\" 5       5      r " S S\" 5       5      r " S S\" 5       5      r " S S\" 5       5      r " S S\" 5       5      r " S S\" 5       5      r " S S\" 5       5      r " S S\" 5       5      r " S S\" 5       5      r " S S \" 5       5      r " S! S"\" 5       5      r " S# S$\" 5       5      r " S% S&\" 5       5      r " S' S(\" 5       5      r " S) S*\" 5       5      r " S+ S,\" 5       5      r  " S- S.\" 5       5      r! " S/ S0\" 5       5      r" " S1 S2\" 5       5      r# " S3 S4\RH                  5      r% " S5 S6\RH                  5      r& " S7 S8\RH                  5      r' " S9 S:\RH                  5      r(\)S;:X  a  \RT                  " 5         gg)<é    )ÚirÚbinding)ÚtypesÚ	datamodel)Útest_factory)ÚDataModelManager)ÚOpaqueModelNc                   ó,   • \ rS rSr\R
                  rSrg)ÚTestBoolé
   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   ÚbooleanÚfe_typeÚ__static_attributes__r   ó    Ú]/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_datamodel.pyr   r   
   ó   † Ø�m‰mƒGr   r   c                   ó,   • \ rS rSr\R
                  rSrg)ÚTestPyObjecté   r   N)r   r   r   r   r   Úpyobjectr   r   r   r   r   r   r      s   † Ø�n‰nƒGr   r   c                   ó,   • \ rS rSr\R
                  rSrg)ÚTestInt8é   r   N)r   r   r   r   r   Úint8r   r   r   r   r   r   r      s   † Ø�j‰jƒGr   r   c                   ó,   • \ rS rSr\R
                  rSrg)Ú	TestInt16é   r   N)r   r   r   r   r   Úint16r   r   r   r   r   r!   r!      ó   † Ø�k‰kƒGr   r!   c                   ó,   • \ rS rSr\R
                  rSrg)Ú	TestInt32é   r   N)r   r   r   r   r   Úint32r   r   r   r   r   r&   r&      r$   r   r&   c                   ó,   • \ rS rSr\R
                  rSrg)Ú	TestInt64é   r   N)r   r   r   r   r   Úint64r   r   r   r   r   r*   r*      r$   r   r*   c                   ó,   • \ rS rSr\R
                  rSrg)Ú	TestUInt8é"   r   N)r   r   r   r   r   Úuint8r   r   r   r   r   r.   r.   "   r$   r   r.   c                   ó,   • \ rS rSr\R
                  rSrg)Ú
TestUInt16é&   r   N)r   r   r   r   r   Úuint16r   r   r   r   r   r2   r2   &   ó   † Ø�l‰lƒGr   r2   c                   ó,   • \ rS rSr\R
                  rSrg)Ú
TestUInt32é*   r   N)r   r   r   r   r   Úuint32r   r   r   r   r   r7   r7   *   r5   r   r7   c                   ó,   • \ rS rSr\R
                  rSrg)Ú
TestUInt64é.   r   N)r   r   r   r   r   Úuint64r   r   r   r   r   r;   r;   .   r5   r   r;   c                   ó,   • \ rS rSr\R
                  rSrg)Ú	TestFloaté2   r   N)r   r   r   r   r   Úfloat32r   r   r   r   r   r?   r?   2   r   r   r?   c                   ó,   • \ rS rSr\R
                  rSrg)Ú
TestDoubleé6   r   N)r   r   r   r   r   Úfloat64r   r   r   r   r   rC   rC   6   r   r   rC   c                   ó,   • \ rS rSr\R
                  rSrg)ÚTestComplexé:   r   N)r   r   r   r   r   Ú	complex64r   r   r   r   r   rG   rG   :   s   † Ø�o‰oƒGr   rG   c                   ó,   • \ rS rSr\R
                  rSrg)ÚTestDoubleComplexé>   r   N)r   r   r   r   r   Ú
complex128r   r   r   r   r   rK   rK   >   s   † Ø×ÑƒGr   rK   c                   óL   • \ rS rSr\R
                  " \R                  5      rSrg)ÚTestPointerOfInt32éB   r   N)	r   r   r   r   r   ÚCPointerr(   r   r   r   r   r   rO   rO   B   s   † Ø�nŠn˜UŸ[™[Ó)ƒGr   rO   c                   óN   • \ rS rSr\R
                  " \R                  S5      rSrg)ÚTestUniTupleOf2xInt32éF   é   r   N©	r   r   r   r   r   ÚUniTupler(   r   r   r   r   r   rS   rS   F   ó   † Ø�nŠn˜UŸ[™[¨!Ó,ƒGr   rS   c                   óN   • \ rS rSr\R
                  " \R                  S5      rSrg)ÚTestUniTupleEmptyéJ   r   r   NrV   r   r   r   rZ   rZ   J   rX   r   rZ   c                   ód   • \ rS rSr\R
                  " \R                  \R                  /5      rSr	g)ÚTestTupleInt32Float32éN   r   N)
r   r   r   r   r   ÚTupler(   rA   r   r   r   r   r   r]   r]   N   s   † Ø�kŠk˜5Ÿ;™;¨¯©Ð6Ó7ƒGr   r]   c                   ó8   • \ rS rSr\R
                  " / 5      rSrg)ÚTestTupleEmptyéR   r   N)r   r   r   r   r   r_   r   r   r   r   r   ra   ra   R   s   † Ø�kŠk˜"‹oƒGr   ra   c                   óP   • \ rS rSr\R
                  " \R                  SS5      rSrg)ÚTest1DArrayOfInt32éV   é   ÚCr   N©	r   r   r   r   r   ÚArrayr(   r   r   r   r   r   rd   rd   V   ó   † Ø�kŠk˜%Ÿ+™+ q¨#Ó.ƒGr   rd   c                   óP   • \ rS rSr\R
                  " \R                  SS5      rSrg)ÚTest2DArrayOfComplex128éZ   rU   rg   r   N)	r   r   r   r   r   ri   rM   r   r   r   r   r   rl   rl   Z   s   † Ø�kŠk˜%×*Ñ*¨A¨sÓ3ƒGr   rl   c                   óP   • \ rS rSr\R
                  " \R                  SS5      rSrg)ÚTest0DArrayOfInt32é^   r   rg   r   Nrh   r   r   r   ro   ro   ^   rj   r   ro   c                   ó>   • \ rS rSrS rS rS rS rS rS r	S r
S	rg
)ÚTestArgInfoéb   c                 ó~  • [         R                  n[         R                  " X!5      n[        R                  " 5       n[        R
                  " [        R                  " 5       / 5      n[        R                  " XESS9n[        R                  " 5       nUR                  UR                  5       5        U Vs/ s H7  n[        R                  " UR                  U5      R                  5       S5      PM9     n	nUR                  Xy5      n
UR                  Xz5      nU R!                  [#        U5      [#        U5      5        [%        U
 Vs/ s H  oÌR&                  PM     sn5      nU R!                  XÓR(                  5        U	 Vs/ s H  oîR&                  PM     nnU Vs/ s H  oîR&                  PM     nnU R!                  UU5        UR+                  U
[-        [#        U5      5       Vs/ s H  nSPM     sn5        UR/                  5         [0        R2                  " [5        U5      5        gs  snf s  snf s  snf s  snf s  snf )zo
Test round-tripping types *fe_args* through the default data model's
argument conversion and unpacking logic.
Útest_arguments)ÚnameNzarg%i)r   Údefault_managerÚ	ArgPackerr   ÚModuleÚFunctionTypeÚVoidTypeÚFunctionÚ	IRBuilderÚposition_at_endÚappend_basic_blockÚConstantÚlookupÚget_value_typeÚas_argumentsÚfrom_argumentsÚassertEqualÚlenÚtupleÚtypeÚargument_typesÚassign_namesÚrangeÚret_voidÚllÚparse_assemblyÚstr)ÚselfÚfe_argsÚdmmÚfiÚmoduleÚfntyÚfunctionÚbuilderÚtÚargsÚvaluesÚasargsÚvÚvaltysÚaÚexpect_typesÚ	got_typesÚis                     r   Ú_test_as_argumentsÚTestArgInfo._test_as_argumentsd   s´  € ô
 ×'Ñ'ˆÜ× Ò  Ó.ˆä—’“ˆÜ�ŠœrŸ{š{›}¨bÓ1ˆÜ—;’;˜vÐ2BÑCˆÜ—,’,“.ˆØ×Ñ × ;Ñ ;Ó =Ô>ñ !ó"Ú �Aô —’˜CŸJ™J q›M×8Ñ8Ó:¸DÖAÙ ð 	ð "ð —‘ Ó/ˆØ×"Ñ" 7Ó3ˆà×Ñœ˜V›¤c¨'£lÔ3Ü©Ó/ª 1Ÿœ©Ñ/Ó0ˆØ×Ñ˜×!2Ñ!2Ô3á(,Ó-ª 1Ÿœ©ˆÐ-Ù%+Ó,¢V —V”V¡Vˆ	Ð,à×Ñ˜ yÔ1ð 	�‰˜´%¼¸G»Ô2EÓ FÒ2E¨Q£Ñ2EÑ FÔGà×ÑÔä
×Òœ#˜f›+Õ&ùò+"ùò 0ùò .ùÚ,ùò
 !Gs   Â3>H&ÅH+Å=H0ÆH5Ç#H:
c                 ó°   • [         R                  [         R                  " [         R                  SS5      [         R                  /nU R	                  U5        g )Nrf   rg   )r   r(   ri   rI   r¢   ©r�   r‘   s     r   Útest_int32_array_complexÚ$TestArgInfo.test_int32_array_complex‰   s;   € Ü—;‘;Ü—;’;œuŸ{™{¨A¨sÓ3Ü—?‘?ð$ˆð 	×Ñ Õ(r   c                 óz   • [         R                  " [         R                  SS5      /S-  nU R                  U5        g )Nrf   rg   rU   ©r   ri   r(   r¢   r¥   s     r   Útest_two_arraysÚTestArgInfo.test_two_arrays�   ó.   € Ü—;’;œuŸ{™{¨A¨sÓ3Ð4°qÑ8ˆØ×Ñ Õ(r   c                 óz   • [         R                  " [         R                  SS5      /S-  nU R                  U5        g )Nr   rg   rU   r©   r¥   s     r   Útest_two_0d_arraysÚTestArgInfo.test_two_0d_arrays“   r¬   r   c                 ó  • [         R                  " [         R                  S5      [         R                  " [         R                  S5      /nU R                  U5        [         R                  " [         R                  SS5      n[         R                  " US5      [         R                  " US5      /nU R                  U5        [         R                  " [         R                  " [         R                  S5      S5      /nU R                  U5        g )NrU   é   rf   rg   )r   rW   r(   r¢   ri   )r�   r‘   Úarrtys      r   Útest_tuplesÚTestArgInfo.test_tuples—   s²   € Ü—>’>¤%§+¡+¨qÓ1Ü—>’>¤%§+¡+¨qÓ1ð3ˆà×Ñ Ô(ä—’œEŸK™K¨¨CÓ0ˆÜ—>’> %¨Ó+Ü—>’> %¨Ó+ð-ˆà×Ñ Ô(ä—>’>¤%§.¢.´·±¸aÓ"@À!ÓDÐEˆØ×Ñ Õ(r   c                 óº   • [         R                  " [         R                  S5      [         R                  " S5      [         R                  /nU R                  U5        g )Nr   r   )r   rW   r#   r_   r(   r¢   r¥   s     r   Útest_empty_tuplesÚTestArgInfo.test_empty_tuples¤   s=   € ä—>’>¤%§+¡+¨qÓ1Ü—;’;˜r“?Ü—;‘;ð ˆð 	×Ñ Õ(r   c                 óº   • [         R                  [         R                  " [         R                  " S5      S5      [         R                  /nU R                  U5        g )Nr   rU   )r   r(   rW   r_   r,   r¢   r¥   s     r   Útest_nested_empty_tuplesÚ$TestArgInfo.test_nested_empty_tuples«   s=   € Ü—;‘;Ü—>’>¤%§+¢+¨b£/°1Ó5Ü—;‘;ð ˆð 	×Ñ Õ(r   r   N)r   r   r   r   r¢   r¦   rª   r®   r³   r¶   r¹   r   r   r   r   rr   rr   b   s&   † ò#'òJ)ò)ò)ò)ò)õ)r   rr   c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚTestMemInfoé²   c                 ó.   • [         R                  U l        g ©N)r   rw   r’   )r�   s    r   ÚsetUpÚTestMemInfo.setUp³   s   € Ü×,Ñ,ˆ�r   c                 ó€   • [         R                  nU R                  U   nU R                  UR	                  5       5        g r¿   )r   r(   r’   ÚassertFalseÚcontains_nrt_meminfo©r�   ÚtyÚdms      r   Útest_numberÚTestMemInfo.test_number¶   s/   € Ü�[‰[ˆØ�X‰X�b‰\ˆØ×Ñ˜×0Ñ0Ó2Õ3r   c                 ó†   • [         R                  S S  nU R                  U   nU R                  UR	                  5       5        g r¿   )r   r(   r’   Ú
assertTruerÄ   rÅ   s      r   Ú
test_arrayÚTestMemInfo.test_array»   s1   € Ü�[‰[™ˆ^ˆØ�X‰X�b‰\ˆØ�‰˜×/Ñ/Ó1Õ2r   c                 ó¦   • [         R                  " [         R                  SS9nU R                  U   nU R	                  UR                  5       5        g ©NrU   )ÚdtypeÚcount)r   rW   r(   r’   rÃ   rÄ   rÅ   s      r   Útest_tuple_of_numberÚ TestMemInfo.test_tuple_of_numberÀ   s:   € Ü�^Š^¤%§+¡+°QÑ7ˆØ�X‰X�b‰\ˆØ×Ñ˜×0Ñ0Ó2Õ3r   c                 ó¬   • [         R                  " [         R                  S S  SS9nU R                  U   nU R	                  UR                  5       5        g rÏ   )r   rW   r(   r’   rË   rÄ   rÅ   s      r   Útest_tuple_of_arrayÚTestMemInfo.test_tuple_of_arrayÅ   s<   € Ü�^Š^¤%§+¡+©a .¸Ñ:ˆØ�X‰X�b‰\ˆØ�‰˜×/Ñ/Ó1Õ2r   )r’   N)
r   r   r   r   rÀ   rÈ   rÌ   rÒ   rÕ   r   r   r   r   r¼   r¼   ²   s   † ò-ò4ò
3ò
4õ
3r   r¼   c                   ó   • \ rS rSrS rSrg)ÚTestMiscéË   c                 ó  • SS K nSSKJn  US 5       nUR                  SUR                  S9R                  UR                  5      nUR                  U5      nU" XT5        UR                  R                  XQR                  S5      5        g )Nr   )Únjitc                 óN   • [        U R                  S   5       H	  nX   X'   M     g )Nr   )r‹   Úshape)rž   Úbr¡   s      r   ÚcopyÚ%TestMisc.test_issue2921.<locals>.copyÑ   s"   € ä˜1Ÿ7™7 1™:Ö&�Ø‘t�“ò 'r   é   )rÐ   )FTTTT)ÚnumpyÚnumbarÛ   Úaranger0   ÚviewÚbool_Ú
zeros_likeÚtestingÚassert_equalÚarray)r�   ÚnprÛ   rß   rÞ   rž   s         r   Útest_issue2921ÚTestMisc.test_issue2921Í   sr   € ÛÝà	ñ	ó 
ð	ð �I‰I�a˜rŸx™xˆIÐ(×-Ñ-¨b¯h©hÓ7ˆØ�M‰M˜!ÓˆÙˆQŒ
Ø
�
‰
×Ñ §8¡8Ð,BÓ#CÕDr   r   N)r   r   r   r   rì   r   r   r   r   rØ   rØ   Ë   s   † õEr   rØ   c                   ó   • \ rS rSrS rSrg)ÚTestDMMChainingéÜ   c                 ó8  • [        5       n " S S[        5      n " S S[        5      nUR                  [        R                  U5        UR                  [        R
                  U5        [        5       n " S S[        5      nUR                  [        R                  U5        UR                  U5      nU R                  UR                  [        R                  5      U5        U R                  UR                  [        R                  5      U5        U R                  UR                  [        R                  5      U5        U R                  UR                  [        R                  5      U5        U R                  UR                  [        R                  5      U5        U R                  UR                  [        R                  5      U5        U R                  [        5         UR                  [        R                  5        S S S 5        g ! , (       d  f       g = f)Nc                   ó   • \ rS rSrSrg)Ú/TestDMMChaining.test_basic.<locals>.int_handleréà   r   N©r   r   r   r   r   r   r   r   Úint_handlerró   à   ó   † Úr   rö   c                   ó   • \ rS rSrSrg)Ú1TestDMMChaining.test_basic.<locals>.float_handleréã   r   Nrõ   r   r   r   Úfloat_handlerrù   ã   r÷   r   rû   c                   ó   • \ rS rSrSrg)Ú3TestDMMChaining.test_basic.<locals>.new_int_handleréë   r   Nrõ   r   r   r   Únew_int_handlerrý   ë   r÷   r   rÿ   )r   r	   Úregisterr   ÚIntegerÚFloatÚchainÚassertIsInstancer�   ÚintpÚassertNotIsInstancerA   ÚassertRaisesÚKeyError)r�   r’   rö   rû   Ú	inter_dmmrÿ   Úchained_dmms          r   Ú
test_basicÚTestDMMChaining.test_basicÝ   sd  € ÜÓ ˆô	œ+ô 	ô	œKô 	ð 	�‰”U—]‘] KÔ0Ø�‰”U—[‘[ -Ô0ä$Ó&ˆ	ô	œkô 	ð 	×Ñœ5Ÿ=™=¨/Ô:Ø—o‘o cÓ*ˆð 	×Ñ˜k×0Ñ0´·±Ó<¸oÔNà× Ñ  ×!3Ñ!3´E·J±JÓ!?ÀÔMà×Ñ˜cŸj™j¬¯©Ó4°kÔBà×Ñ˜k×0Ñ0´·±Ó?ÀÔOØ×Ñ˜cŸj™j¬¯©Ó7¸ÔGà×Ñ˜i×.Ñ.¬u¯z©zÓ:¸OÔLØ×ÑœxÕ(Ø×ÑœUŸ]™]Ô+÷ )×(Ö(ús   Ç" HÈ
Hr   N)r   r   r   r   r  r   r   r   r   rï   rï   Ü   s   † õ ,r   rï   Ú__main__)+Úllvmliter   r   r�   Ú
numba.corer   r   Únumba.core.datamodel.testingr   Únumba.core.datamodel.managerr   Únumba.core.datamodel.modelsr	   Úunittestr   r   r   r!   r&   r*   r.   r2   r7   r;   r?   rC   rG   rK   rO   rS   rZ   r]   ra   rd   rl   ro   ÚTestCaserr   r¼   rØ   rï   r   Úmainr   r   r   Ú<module>r     s±  ðß &ç 'Ý 5Ý 9Ý 3Û ô‰|‹~ô ô‘<“>ô ô‰|‹~ô ô‘“ô ô‘“ô ô‘“ô ô‘“ô ô‘“ô ô‘“ô ô‘“ô ô‘“ô ô‘“ô ô‘,“.ô ô™›ô ô*™›ô *ô-™L›Nô -ô-™›ô -ô8™L›Nô 8ô‘\“^ô ô/™›ô /ô4™l›nô 4ô/™›ô /ôM)�(×#Ñ#ô M)ô`3�(×#Ñ#ô 3ô2Eˆx× Ñ ô Eô"!,�h×'Ñ'ô !,ðH ˆzÓØ‡M‚M…Oð r   