ó
    „ñ:i_  ã                   óø   • S SK r S SKrS SKJr  S SKJr  S SKJrJr  S SK	J
r
  \S 5       rS r\S 5       rS	 r " S
 S\R                  5      r " S S\R                  5      r\S:X  a  \R&                  " 5         gg)é    N)Útypes)Ú	intrinsic)ÚjitÚnjit)Úcaptured_stdoutc                 ó:   • [         R                  " X5      nS nX44$ )Nc                 óp   • Uu  pEU R                  U5      nUR                  XE5      nUR                  U5      $ ©N)Úget_python_apiÚbytes_from_string_and_sizeÚbytes_as_string)ÚcontextÚbuilderÚsigÚargsÚcsrcÚsizeÚapiÚbs           Ú]/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_pythonapi.pyÚcodegenÚ'_pyapi_bytes_as_string.<locals>.codegen   s:   € Ø‰ˆØ×$Ñ$ WÓ-ˆØ×*Ñ*¨4Ó6ˆØ×"Ñ" 1Ó%Ð%ó    )r   Úvoidptr)Ú	typingctxr   r   r   r   s        r   Ú_pyapi_bytes_as_stringr   	   s   € ä
�-Š-˜Ó
#€Cò&ð
 ˆ<Ðr   c                 óB   • [        U R                  U R                  5      $ r
   )r   Ú_dataÚ_length©Úunis    r   ÚPyBytes_AsStringr"      s   € ô " #§)¡)¨S¯[©[Ó9Ð9r   c                 ó^   • [         R                  R                  X45      nU" X5      nS nXE4$ )Nc                 ó`  • Uu  pEU R                  U5      nUR                  XE5      nUR                  UR                  5      nUR                  UR                  5      n	UR                  XxU	5        UR                  U5      n
UR                  U	5      nU R                  XR                  X¥45      nU$ r
   )	r   r   ÚallocaÚcstringÚ
py_ssize_tÚbytes_as_string_and_sizeÚloadÚ
make_tupleÚreturn_type)r   r   r   r   r   r   Úpyapir   Úp_cstrÚp_sizeÚcstrÚtups               r   r   Ú0_pyapi_bytes_as_string_and_size.<locals>.codegen"   s˜   € Ø‰ˆØ×&Ñ& wÓ/ˆØ×,Ñ,¨TÓ8ˆØ—‘ §¡Ó.ˆØ—‘ × 0Ñ 0Ó1ˆØ×&Ñ& q°&Ô9à�|‰|˜FÓ#ˆØ�|‰|˜FÓ#ˆØ× Ñ  ¯/©/¸D¸<ÓHˆØˆ
r   )r   ÚTupleÚ
from_types)r   r   r   Úrettyr   r   s         r   Ú_pyapi_bytes_as_string_and_sizer5      s3   € ô �K‰K×"Ñ" D <Ó0€EÙ
�Ó
€Còð ˆ<Ðr   c                 óB   • [        U R                  U R                  5      $ r
   )r5   r   r   r    s    r   ÚPyBytes_AsStringAndSizer7   1   s   € Ü*¨3¯9©9°c·k±kÓBÐBr   c                   ó    • \ rS rSrS rS rSrg)ÚTestPythonAPIé5   c                 óø   • [        SS9" [        5      nU" S5      n[        R                  R                  n[        R
                  /Ul        [        R                  Ul        U" U5      nU R                  US5        g )NT©ÚnopythonÚhellos   hello)
r   r"   ÚctypesÚ	pythonapiÚPyBytes_FromStringÚc_void_pÚargtypesÚ	py_objectÚrestypeÚassertEqual)ÚselfÚcfuncr/   ÚfnÚobjs        r   Útest_PyBytes_AsStringÚ#TestPythonAPI.test_PyBytes_AsString7   sb   € Ü˜TÒ"Ô#3Ó4ˆÙ�W‹~ˆä×Ñ×0Ñ0ˆÜ—‘Ð'ˆŒÜ×%Ñ%ˆŒ
Ù�‹hˆð 	×Ñ˜˜hÕ'r   c                 ó$  • [        SS9" [        5      nU" S5      n[        R                  R                  n[        R
                  [        R                  /Ul        [        R                  Ul	        U" US   US   5      nU R                  US5        g )NTr<   zhello worldr   é   s   hello world)r   r7   r?   r@   ÚPyBytes_FromStringAndSizerB   Úc_size_trC   rD   rE   rF   )rG   rH   r0   rI   rJ   s        r   Útest_PyBytes_AsStringAndSizeÚ*TestPythonAPI.test_PyBytes_AsStringAndSizeD   sv   € Ü˜TÒ"Ô#:Ó;ˆÙÐ$Ó%ˆä×Ñ×7Ñ7ˆÜ—‘¬¯©Ð8ˆŒÜ×%Ñ%ˆŒ
Ù��Q‘˜˜Q™Ó ˆð 	×Ñ˜Ð/Õ0r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rK   rQ   Ú__static_attributes__rS   r   r   r9   r9   5   s   † ò(õ1r   r9   c                   ó   • \ rS rSrS rSrg)ÚPythonAPIEmptyArgséR   c                 óô   ^^• S m[         U4S j5       m[        U4S j5       n[        5        nU" 5         S S S 5        SS0nSU S3nU R                  WR	                  5       U5        g ! , (       d  f       N9= f)Nc                  ó   • [        SU 5        g )NÚcallme)Úprint)Úkwargss    r   r^   Ú2PythonAPIEmptyArgs.test_empty_args.<locals>.callmeT   s   € Ü�(˜FÕ#r   c                 ó>   >• U4S jn[         R                  " 5       U4$ )Nc                 óú  >• U R                  U5      nUR                  5       nUR                  U R                  [        R
                  S5      5      nUR                  SU0R                  5       5      nUR                  UR                  T
5      5      nUR                  US U5      n	UR                  U	5        UR                  U5        UR                  U5        UR                  U5        UR                  U5        U	$ )NéþÊ  Úkey)r   Ú
gil_ensureÚlong_from_longlongÚget_constantr   ÚintpÚ	dict_packÚitemsÚunserializeÚserialize_objectÚcallÚdecrefÚgil_release)r   r   r   r   r,   ÚgilÚnumÚkwdsÚfn_printÚresr^   s             €r   r   ÚDPythonAPIEmptyArgs.test_empty_args.<locals>.py_call.<locals>.codegenY   sÒ   ø€ Ø×.Ñ.¨wÓ7�Ø×&Ñ&Ó(�à×.Ñ.Ø×(Ñ(¬¯©°VÓ<ó�ð —‘¨¨s |×'9Ñ'9Ó';Ó<�Ø ×,Ñ,¨U×-CÑ-CÀFÓ-KÓL�à—j‘j ¨4°Ó6�à—‘˜SÔ!Ø—‘˜XÔ&Ø—‘˜TÔ"Ø—‘˜SÔ!à×!Ñ! #Ô&Ø�
r   )r   Únone)Útyctxr   r^   s     €r   Úpy_callÚ3PythonAPIEmptyArgs.test_empty_args.<locals>.py_callW   s   ø€ õô( —:’:“< Ð(Ð(r   c                  ó   >• T " 5         g r
   rS   )ry   s   €r   ÚfooÚ/PythonAPIEmptyArgs.test_empty_args.<locals>.fooo   s   ø€ á�Ir   re   rd   zcallme Ú
)r   r   r   rF   Úgetvalue)rG   r|   ÚoutÚdÚexpectedr^   ry   s        @@r   Útest_empty_argsÚ"PythonAPIEmptyArgs.test_empty_argsS   sy   ù€ ò	$ô 
ô	)ó 
ð	)ô. 
ô	ó 
ð	ô Ô #ÙŒE÷ à�FˆOˆØ˜Q˜C˜r�?ˆØ×Ñ˜Ÿ™›¨Õ2÷	 Õús   ®A)Á)
A7rS   N)rT   rU   rV   rW   rƒ   rX   rS   r   r   rZ   rZ   R   s   † õ$3r   rZ   Ú__main__)r?   ÚunittestÚ
numba.corer   Únumba.core.extendingr   Únumbar   r   Únumba.tests.supportr   r   r"   r5   r7   ÚTestCaser9   rZ   rT   ÚmainrS   r   r   Ú<module>r�      s‡   ðÛ Û Ý Ý *ß Ý /ð ñó ðò:ð ñó ðò(Cô1�H×%Ñ%ô 1ô:%3˜×*Ñ*ô %3ðP ˆzÓØ‡M‚M…Oð r   