Ë
    èÿæi¥  ã                   óœ   — d dl Z d dlZd dlZd dlmZmZmZ d dlm	Z
 d dlmZmZ d dlmZ  G d„ de«      Zedk(  r e j$                  «        yy)	é    N)ÚnjitÚjitÚliteral_unroll)Úevent)ÚTestCaseÚoverride_config)Ú_lazy_pformatc                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)Ú	TestEventc                 ób   —  t        d„ «      «        t        t        j                  «      | _        y )Nc                   ó   — y ©N© r   ó    úk/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_event.pyÚ<lambda>z!TestEvent.setUp.<locals>.<lambda>   s   € �Tr   )r   ÚlenÚevÚ_registeredÚ _TestEvent__registered_listeners©Úselfs    r   ÚsetUpzTestEvent.setUp   s    € àŒ‰\ÓÔÜ&)¬"¯.©.Ó&9ˆÕ#r   c                 ój   — | j                  t        t        j                  «      | j                  «       y r   )ÚassertEqualr   r   r   r   r   s    r   ÚtearDownzTestEvent.tearDown   s!   € à×ÑœœRŸ^™^Ó,¨d×.IÑ.IÕJr   c                 ó
  — t         d„ «       }t        j                  d«      5 } |d«       d d d «       | j                  t        j                  «       | j                  t        |j                  «      d«       y # 1 sw Y   ŒOxY w)Nc                 ó   — | | z   S r   r   ©Úxs    r   Úfooz.TestEvent.test_recording_listener.<locals>.foo   ó   € à�q‘5ˆLr   únumba:compileé   é   )r   r   Úinstall_recorderÚassertIsInstanceÚRecordingListenerÚassertGreaterEqualr   Úbuffer)r   r!   Úrecs      r   Útest_recording_listenerz!TestEvent.test_recording_listener   sm   € Ü	ñ	ó 
ð	ô × Ñ  Ô1°SÙ�ŒF÷ 2ð 	×Ñ˜c¤2×#7Ñ#7Ô8ð 	×Ñ¤ C§J¡J£°Õ3÷ 2Ð1ús   ¢	A9Á9Bc                 óÈ   — t         d„ «       } |d«       |j                  |j                  d   «      }|d   d   }| j                  |t        «       | j                  |d«       y )Nc                 ó   — | | z   S r   r   r   s    r   r!   z/TestEvent.test_compiler_lock_event.<locals>.foo%   r"   r   r$   r   ÚtimersÚcompiler_lock©r   Úget_metadataÚ
signaturesr'   ÚfloatÚassertGreater©r   r!   ÚmdÚlock_durations       r   Útest_compiler_lock_eventz"TestEvent.test_compiler_lock_event$   sd   € Ü	ñ	ó 
ð	ñ 	ˆAŒØ×Ñ˜cŸn™n¨QÑ/Ó0ˆØ˜8™ _Ñ5ˆØ×Ñ˜m¬UÔ3Ø×Ñ˜=¨!Õ,r   c                 óÈ   — t         d„ «       } |d«       |j                  |j                  d   «      }|d   d   }| j                  |t        «       | j                  |d«       y )Nc                 ó   — | | z   S r   r   r   s    r   r!   z+TestEvent.test_llvm_lock_event.<locals>.foo0   r"   r   r$   r   r/   Ú	llvm_lockr1   r6   s       r   Útest_llvm_lock_eventzTestEvent.test_llvm_lock_event/   sd   € Ü	ñ	ó 
ð	ñ 	ˆAŒØ×Ñ˜cŸn™n¨QÑ/Ó0ˆØ˜8™ [Ñ1ˆØ×Ñ˜m¬UÔ3Ø×Ñ˜=¨!Õ,r   c                 ó6  — t         d„ «       }t        j                  d«      5 } |d«       d d d «       | j                  t	        j
                  «      d«       |j
                  D ]§  \  }}|j                  }| j                  |d   t        «       | j                  |d   t        «       | j                  |d   t        «       | j                  |d   t        «       | j                  |d	   t        «       | j                  |d
   t        «       Œ© y # 1 sw Y   ŒåxY w)Nc                 ó   — | | z   S r   r   r   s    r   r!   z*TestEvent.test_run_pass_event.<locals>.foo;   r"   r   znumba:run_passr%   r   ÚnameÚqualnameÚmoduleÚflagsÚargsÚreturn_type)
r   r   r&   r5   r   r*   Údatar'   Ústrr	   )r   r!   ÚrecorderÚ_r   rF   s         r   Útest_run_pass_eventzTestEvent.test_run_pass_event:   sì   € Ü	ñ	ó 
ð	ô × Ñ Ð!1Ô2°hÙ�ŒF÷ 3ð 	×Ñœ3˜xŸ™Ó/°Ô3Ø Ÿœ‰HˆAˆuà—:‘:ˆDØ×!Ñ! $ v¡,´Ô4Ø×!Ñ! $ zÑ"2´CÔ8Ø×!Ñ! $ x¡.´#Ô6Ø×!Ñ! $ w¡-´Ô?Ø×!Ñ! $ v¡,´Ô4Ø×!Ñ! $ }Ñ"5´sÕ;ñ (÷	 3Ð2ús   ¢	DÄDc                 óô   ‡‡— | Š G ˆˆfd„dt         j                  «      }t        d„ «       Š |«       }t        j                  d|«      5 } ‰d«       d d d «       | j	                  |«       y # 1 sw Y   ŒxY w)Nc                   ó&   •— e Zd Zˆ ˆfd„Zˆ ˆfd„Zy)ú3TestEvent.test_install_listener.<locals>.MyListenerc                 óx  •— ‰j                  |j                  t        j                  j                  «       ‰j                  |j
                  d«       ‰j                  |j                  d   ‰«       |j                  d   }‰j                  |‰«       ‰j                  |j                  d   |j                  «       y ©Nr#   Ú
dispatcherrD   )
r   Ústatusr   ÚEventStatusÚSTARTÚkindÚassertIsrF   ÚassertNotInÚ	overloads©r   r   rP   r!   Úuts      €€r   Úon_startz<TestEvent.test_install_listener.<locals>.MyListener.on_startQ   s�   ø€ Ø—‘˜uŸ|™|¬R¯^©^×-AÑ-AÔBØ—‘˜uŸz™z¨?Ô;Ø—‘˜EŸJ™J |Ñ4°cÔ:Ø"ŸZ™Z¨Ñ5�
Ø—‘˜J¨Ô,à—‘˜uŸz™z¨&Ñ1°:×3GÑ3GÕHr   c                 ó:  •— ‰j                  |j                  t        j                  j                  «       ‰j                  |j
                  d«       |j                  d   }‰j                  |‰«       ‰j                  |j                  d   |j                  «       y rO   ©
r   rQ   r   rR   ÚENDrT   rF   rU   ÚassertInrW   rX   s      €€r   Úon_endz:TestEvent.test_install_listener.<locals>.MyListener.on_endZ   sj   ø€ Ø—‘˜uŸ|™|¬R¯^©^×-?Ñ-?Ô@Ø—‘˜uŸz™z¨?Ô;Ø"ŸZ™Z¨Ñ5�
Ø—‘˜J¨Ô,à—‘˜EŸJ™J vÑ.°
×0DÑ0DÕEr   N©Ú__name__Ú
__module__Ú__qualname__rZ   r_   ©r!   rY   s   €€r   Ú
MyListenerrM   P   s   ø„ õIöFr   re   c                 ó   — | S r   r   r   s    r   r!   z,TestEvent.test_install_listener.<locals>.foob   ó   € àˆHr   r#   r$   )r   ÚListenerr   Úinstall_listenerrU   )r   re   ÚlistenerÚyieldedr!   rY   s       @@r   Útest_install_listenerzTestEvent.test_install_listenerM   sn   ù€ Øˆ÷	FœŸ™ô 	Fô$ 
ñ	ó 
ð	ñ “<ˆÜ× Ñ  °(Ô;¸wÙ�ŒF÷ <ð 	�‰�h Õ(÷	 <Ð;ús   Á
	A.Á.A7c                 óÒ   ‡‡— | Š G ˆˆfd„dt         j                  «      }t        d„ «       Š |«       }t        j                  d|«        ‰d«       t        j                  d|«       y )Nc                   ó&   •— e Zd Zˆ ˆfd„Zˆ ˆfd„Zy)ú2TestEvent.test_global_register.<locals>.MyListenerc                 ó:  •— ‰j                  |j                  t        j                  j                  «       ‰j                  |j
                  d«       |j                  d   }‰j                  |‰«       ‰j                  |j                  d   |j                  «       y rO   )
r   rQ   r   rR   rS   rT   rF   rU   rV   rW   rX   s      €€r   rZ   z;TestEvent.test_global_register.<locals>.MyListener.on_startq   sj   ø€ Ø—‘˜uŸ|™|¬R¯^©^×-AÑ-AÔBØ—‘˜uŸz™z¨?Ô;à"ŸZ™Z¨Ñ5�
Ø—‘˜J¨Ô,à—‘˜uŸz™z¨&Ñ1°:×3GÑ3GÕHr   c                 ó:  •— ‰j                  |j                  t        j                  j                  «       ‰j                  |j
                  d«       |j                  d   }‰j                  |‰«       ‰j                  |j                  d   |j                  «       y rO   r\   rX   s      €€r   r_   z9TestEvent.test_global_register.<locals>.MyListener.on_endz   sj   ø€ Ø—‘˜uŸ|™|¬R¯^©^×-?Ñ-?Ô@Ø—‘˜uŸz™z¨?Ô;à"ŸZ™Z¨Ñ5�
Ø—‘˜J¨Ô,à—‘˜EŸJ™J vÑ.°
×0DÑ0DÕEr   Nr`   rd   s   €€r   re   ro   p   s   ø„ õIöFr   re   c                 ó   — | S r   r   r   s    r   r!   z+TestEvent.test_global_register.<locals>.fooƒ   rg   r   r#   r$   )r   rh   r   ÚregisterÚ
unregister)r   re   rj   r!   rY   s      @@r   Útest_global_registerzTestEvent.test_global_registerm   sZ   ù€ Øˆ÷	FœŸ™ô 	Fô& 
ñ	ó 
ð	ñ “<ˆÜ
�‰�O XÔ.ÙˆAŒÜ
�‰�o xÕ0r   c                 óø  — t        d¬«      d„ «       }t        j                  d«      5 } |«        d d d «       | j                  t	        j
                  «      d«       |j                  |j                  d      }|j                  \  }|j                  |j                  d      }| j                  |j                  d   d   t        «       | j                  |j                  d   d	   t        «       y # 1 sw Y   ŒÁxY w)
NT)Úforceobjc                  óH   — t        «        d} t        d«      D ]  }| |z  } Œ	 | S )Nr   é
   )ÚobjectÚrange)ÚcÚis     r   r!   z-TestEvent.test_lifted_dispatcher.<locals>.foo�   s(   € äŒHØˆAÜ˜2–Y�Ø�Q‘‘ð àˆHr   r#   é   r   r/   r0   r<   )r   r   r&   r)   r   r*   rW   r3   Úliftedr'   Úmetadatar4   )r   r!   r+   ÚcresÚldispÚlifted_cress         r   Útest_lifted_dispatcherz TestEvent.test_lifted_dispatcherŒ   sÝ   € Ü	�dÔ	ñ	ó 
ð	ô × Ñ  Ô1°SÙŒE÷ 2ð
 	×Ñ¤ C§J¡J£°Ô3à�}‰}˜SŸ^™^¨AÑ.Ñ/ˆØ—+‘+‰ˆà—o‘o e×&6Ñ&6°qÑ&9Ñ:ˆØ×ÑØ× Ñ  Ñ*¨?Ñ;Üô	
ð 	×ÑØ× Ñ  Ñ*¨;Ñ7Üõ	
÷ 2Ð1ús   ¨C0Ã0C9c                 ó^  ‡‡— t        t        j                  «      Št        ˆfd„«       Št        ˆfd„«       }t	        dd«      5   |d«       d d d «       d„ } ||d«      } |‰d«      } ||d«      } |‰d«      }| j                  |d	   |d	   «       | j                  |d
   |d
   «       | j                  |j                  «       |d	   «       | j                  |j                  «       |d	   «       | j                  |d	   |d
   «       | j                  |d	   |d
   «       y # 1 sw Y   Œ×xY w)Nc                 ó¤   •— d}t        ‰«      D ])  }|d| iv r|dz  }Œ|t        j                  | d   «      z  }Œ+ t        j                  | «      |fS )Nr   Ú1r$   )r   r   )r   ÚnpÚsqrtÚsin)r    Úaccr}   Úas      €r   Úbarz-TestEvent.test_timing_properties.<locals>.bar¬   sV   ø€ àˆCÜ# AÖ&�Ø˜˜a˜‘=Ø˜1‘H‘Càœ2Ÿ7™7 1 T¡7Ó+Ñ+‘Cð	 'ô
 —6‘6˜!“9˜c�>Ð!r   c                 ó>   •—  ‰t        j                  | | f«      «      S r   )rˆ   Úzeros)r    r�   s    €r   r!   z-TestEvent.test_timing_properties.<locals>.foo¶   s   ø€ á”r—x‘x  A Ó'Ó(Ð(r   ÚLLVM_PASS_TIMINGSTr$   c                 óH   — | j                  | j                  d   «      }||   S )Nr   )r2   r3   )ÚfnÚpropr7   s      r   Ú
get_timersz4TestEvent.test_timing_properties.<locals>.get_timers½   s"   € Ø—‘ §¡¨qÑ!1Ó2ˆBØ�d‘8ˆOr   r/   Úllvm_pass_timingsr<   r0   )ÚtupleÚstringÚascii_lowercaser   r   Ú
assertLessÚget_total_time)	r   r!   r”   Ú
foo_timersÚ
bar_timersÚfoo_llvm_timerÚbar_llvm_timerrŒ   r�   s	          @@r   Útest_timing_propertiesz TestEvent.test_timing_properties©   sD  ù€ Ü”&×(Ñ(Ó)ˆä	ó	"ó 
ð	"ô 
ó	)ó 
ð	)ô Ð0°$Õ7Ù�ŒF÷ 8ò	ñ    XÓ.ˆ
Ù  XÓ.ˆ
Ù# CÐ)<Ó=ˆÙ# CÐ)<Ó=ˆð 	�‰˜
 ;Ñ/Ø" ;Ñ/ô	1à�‰˜
 ?Ñ3Ø" ?Ñ3ô	5ð 	�‰˜×5Ñ5Ó7Ø" ;Ñ/ô	1à�‰˜×5Ñ5Ó7Ø" ;Ñ/ô	1ð 	�‰˜
 ;Ñ/Ø" ?Ñ3ô	5à�‰˜
 ;Ñ/Ø" ?Ñ3õ	5÷7 8Ð7ús   Á	D#Ä#D,N)ra   rb   rc   r   r   r,   r9   r=   rJ   rl   ru   r„   rŸ   r   r   r   r   r      s6   „ ò:ò
Kò4ò	-ò	-ò<ò&)ò@1ò>
ó:-5r   r   Ú__main__)Úunittestr—   Únumpyrˆ   Únumbar   r   r   Ú
numba.corer   r   Únumba.tests.supportr   r   Únumba.core.utilsr	   r   ra   Úmainr   r   r   Ú<module>r¨      sF   ðÛ Û ã ç +Ñ +Ý "ß 9Ý *ôJ5�ô J5ðZ ˆzÒØ€H‡M�M…Oð r   