Ë
    èÿæiî  ã                   ó   — d Z ddlZddlZddlmZmZ ddlmZ ddl	m
Z
 ddlmZmZ  edd¬«      d	„ «       Zd
„ Z edd¬«      d„ «       Z edd¬«      d„ «       Z ed¬«      d„ «       Z edd¬«      d„ «       Z edd¬«      d„ «       Z edd¬«      d„ «       Z edd¬«      d„ «       Z edd¬«      d„ «       Z edd¬«      d„ «       Z edd¬«      d„ «       Z edd¬«      d„ «       ZeZ edd¬«      d„ «       ZeZd„ Z ed«      Z ed«      Z ed«      Z  ed«      Z! ejD                  d«      Z# edd¬«      d „ «       Z$d!Z% ejL                  d"ejN                  fd#ejP                  fg«      Z) ejL                  d"ejN                  fd#ejP                  fgd¬$«      Z* ejV                  d%e)¬&«      Z, e-e,j\                  «      D ]  Z/e/d!z   e,e/   d"<   e/d'z   e,e/   d#<   Œ  ej`                  e,e*¬&«      Z1 edd¬«      d(„ «       Z2 G d)„ d*e«      Z3 ed¬+«      d,„ «       Z4 ed¬+«      d-„ «       Z5 ed¬+«      d.„ «       Z6d/„ Z7 eddd¬0«      d1„ «       Z8y)2zƒ
This file will be copied to a temporary directory in order to
exercise caching compiled Numba functions.

See test_dispatcher.py.
é    N)ÚjitÚprange)Útypes©Úc_sin)ÚTestCaseÚcaptured_stderrT©ÚcacheÚnopythonc                 ó   — | S ©N© ©Úxs    úo/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/cache_usecases.pyÚsimple_usecaser      s   € à€Hó    c                 ó   — t        | «      S r   )r   r   s    r   Úsimple_usecase_callerr      s   € Ü˜!ÓÐr   c                 ó   — | |z   t         z   S r   ©ÚZ©r   Úys     r   Úadd_usecaser      ó   € àˆq‰5”1‰9Ðr   )r   Úforceobjc                 ó.   — t        «        | |z   t        z   S r   )Úobjectr   r   s     r   Úadd_objmode_usecaser!       s   € ä
„HØˆq‰5”1‰9Ðr   )r   c                 ó   — | |z   t         z   S r   r   r   s     r   Úadd_nocache_usecaser#   &   r   r   c                 ó   — | |z   t         z   S r   r   r   s     r   Úinnerr%   +   r   r   c                 ó   — t        | | «      S r   ©r%   r   s     r   Úouterr(   /   ó   € ä�!��Q‹<Ðr   Fc                 ó   — t        | | «      S r   r'   r   s     r   Úouter_uncachedr+   3   r)   r   c                 óH   — t        «        d}t        | «      D ]  }||z   }Œ	 |S )Nr   )r    Úrange)ÚnÚresÚis      r   Ú
loopliftedr1   8   s(   € ä
„HØ
€CÜ�1ŽXˆØ�A‰g‰ð à€Jr   c                 ó   — t        | «      S r   r   r   s    r   Ú	use_c_sinr3   A   s   € ä�‹8€Or   c                 ó   — t        | «      S r   )r3   r   s    r   Úuse_c_sin_nest1r5   E   s   € ä�Q‹<Ðr   c                 ó   — t        | «      S r   )r5   r   s    r   Úuse_c_sin_nest2r7   I   s   € ä˜1ÓÐr   c                 ó   — | dz   S )Né   r   r   s    r   Úambiguous_functionr:   N   ó   € àˆq‰5€Lr   c                 ó   — | dz   S )Né   r   r   s    r   r:   r:   T   r;   r   c                 ó2   ‡ — t        dd¬«      ˆ fd„«       }|S )NTr
   c                 ó   •— ‰| z   S r   r   )r   r   s    €r   Úclosurezmake_closure.<locals>.closure\   s   ø€ à�1‰uˆr   )r   )r   r@   s   ` r   Úmake_closurerA   [   s#   ø€ Üˆt˜dÔ#óó $ðð €Nr   é   é   é   é	   i@B c                  ó   — t         S r   )Úbiggier   r   r   Úuse_big_arrayrH   j   s   € ä€Mr   é   ÚaÚb)Úalignr9   )Údtypeg     @E@c                 ó   — | |   S r   r   )Úaryr0   s     r   Úrecord_returnrP   ~   s   € àˆq‰6€Mr   c                   ó   — e Zd ZdZd„ Zy)Ú_TestModulez¥
    Tests for functionality of this module's functions.
    Note this does not define any "test_*" method, instead check_module()
    should be called by hand.
    c                 óð  — | j                  |j                  dd«      d«       | j                  |j                  dd«      d«       | j                  |j                  dd«      d«       | j                  |j	                  dd«      d«       |j                  |j                  d«      }| j                  t        |«      d«       |j                  |j                  d«      }| j                  t        |«      d«       y )Nr9   rB   r=   rI   )r9   g     ÀE@)	ÚassertPreciseEqualr   r!   r+   r(   rP   Ú
packed_arrÚtupleÚaligned_arr)ÚselfÚmodÚ
packed_recÚaligned_recs       r   Úcheck_modulez_TestModule.check_moduleŠ   sÇ   € Ø×Ñ §¡°°1Ó 5°qÔ9Ø×Ñ × 7Ñ 7¸¸1Ó =¸qÔAØ×Ñ × 2Ñ 2°1°aÓ 8¸!Ô<Ø×Ñ §	¡	¨!¨Q£°Ô3à×&Ñ& s§~¡~°qÓ9ˆ
Ø×Ñ¤ jÓ 1°9Ô=Ø×'Ñ'¨¯©¸Ó;ˆØ×Ñ¤ kÓ 2°IÕ>r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r\   r   r   r   rR   rR   ƒ   s   „ ñó	?r   rR   )r   c                 ó   — | | z  S r   r   r   s    r   Úfirst_class_function_mulrb   –   r;   r   c                 ó   — | | z   S r   r   r   s    r   Úfirst_class_function_addrd   ›   r;   r   c                 ó   —  | |«      S r   r   )Úfr   s     r   Úfirst_class_function_usecaserg       s   € áˆQ‹4€Kr   c                  ód   — t         j                  t           } t        «       j	                  | «       y r   )ÚsysÚmodulesr]   rR   r\   )rY   s    r   Ú	self_testrk   ¥   s    € Ü
�+‰+”hÑ
€CÜƒM×Ñ˜sÕ#r   )Úparallelr   r   c                 ó   — | | z  | z   S r   r   )rO   s    r   Úparfor_usecasern   ª   s   € à�‰9�s‰?Ðr   )9r`   ri   ÚnumpyÚnpÚnumbar   r   Ú
numba.corer   Únumba.tests.ctypes_usecasesr   Únumba.tests.supportr   r	   r   r   r   r!   r#   r%   r(   r+   r1   r3   r5   r7   r:   Úrenamed_function1Úrenamed_function2rA   Úclosure1Úclosure2Úclosure3Úclosure4ÚarangerG   rH   r   rM   Úint8Úfloat64Úpacked_record_typeÚaligned_record_typeÚemptyrU   r-   Úsizer0   ÚarrayrW   rP   rR   rb   rd   rg   rk   rn   r   r   r   Ú<module>rƒ      s+  ðñó ã ç Ý å -ß 9ñ ˆ4˜$Ôñó  ðòñ ˆ4˜$Ôñó  ðñ ˆ4˜$Ôñó  ðñ
 ˆdÔñó ðñ ˆ4˜$Ôñó  ðñ ˆ4˜$Ôñó  ðñ ˆ5˜4Ô ñó !ðñ ˆ4˜$Ôñó  ðñ ˆ4˜$Ôñó  ðñ ˆ4˜$Ôñó  ðñ ˆ4˜$Ôñó  ðñ ˆ4˜$Ôñó  ðð 'Ð áˆ4˜$Ôñó  ðð 'Ð òñ ˜‹?€Ù˜‹?€Ù˜‹?€Ù˜‹?€ð 
ˆ�‰�5Ó	€áˆ4˜$Ôñó  ðð €ð
 �R—X‘X  R§W¡W˜~°°R·Z±ZÐ/@ÐAÓBÐ Ø�b—h‘h  b§g¡g °°b·j±jÐ0AÐBÈ$ÔOÐ àˆR�X‰X�aÐ1Ô2€
Ù	ˆz�‰Ö	€AØ˜Q™€Jˆq�M�#ÑØ˜T™€Jˆq�M�#Òð 
 ð ˆb�h‰h�zÐ)<Ô=€áˆ4˜$Ôñó  ðô?�(ô ?ñ& ˆ4„ñó ðñ ˆ4„ñó ðñ ˆ4„ñó ðò$ñ
 ˆd˜$¨Ô.ñó /ñr   