
    J/Ph                         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                     dS dS )	    N)njitjitliteral_unroll)event)TestCaseoverride_config)_lazy_pformatc                   J    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 ZdS )	TestEventc                 r     t          d                        t          t          j                  | _        d S )Nc                      d S N r       V/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/tests/test_event.py<lambda>z!TestEvent.setUp.<locals>.<lambda>   s    T r   )r   lenev_registered _TestEvent__registered_listenersselfs    r   setUpzTestEvent.setUp   s2    \\&)".&9&9###r   c                 j    |                      t          t          j                  | j                   d S r   )assertEqualr   r   r   r   r   s    r   tearDownzTestEvent.tearDown   s+    R^,,d.IJJJJJr   c                 $   t           d             }t          j        d          5 } |d           d d d            n# 1 swxY w Y   |                     |t          j                   |                     t          |j                  d           d S )Nc                     | | z   S r   r   xs    r   fooz.TestEvent.test_recording_listener.<locals>.foo       q5Lr   numba:compile      )r   r   install_recorderassertIsInstanceRecordingListenerassertGreaterEqualr   buffer)r   r!   recs      r   test_recording_listenerz!TestEvent.test_recording_listener   s    		 	 
	  11 	SCFFF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	c2#7888 	CJ33333   =AAc                     t           d             } |d           |                    |j        d                   }|d         d         }|                     |t                     |                     |d           d S )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$   s    		 	 
	 	AcnQ/008_5mU333=!,,,,,r   c                     t           d             } |d           |                    |j        d                   }|d         d         }|                     |t                     |                     |d           d S )Nc                     | | z   S r   r   r   s    r   r!   z+TestEvent.test_llvm_lock_event.<locals>.foo0   r"   r   r$   r   r0   	llvm_lockr2   r7   s       r   test_llvm_lock_eventzTestEvent.test_llvm_lock_event/   s    		 	 
	 	AcnQ/008[1mU333=!,,,,,r   c                    t           d             }t          j        d          5 } |d           d d d            n# 1 swxY w Y   |                     t	          |j                  d           |j        D ]\  }}|j        }|                     |d         t                     |                     |d         t                     |                     |d         t                     |                     |d         t                     |                     |d	         t                     |                     |d
         t                     d S )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&   r6   r   r*   datar'   strr	   )r   r!   recorder_r   rG   s         r   test_run_pass_eventzTestEvent.test_run_pass_event:   sw   		 	 
	  !122 	hCFFF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	3x//333  	< 	<HAu:D!!$v,444!!$z"2C888!!$x.#666!!$w-???!!$v,444!!$}"5s;;;;	< 	<r-   c                    |  G fddt           j                  }t          d              |            }t          j        d|          5 } d           d d d            n# 1 swxY w Y   |                     ||           d S )Nc                   (    e Zd Z fdZ fdZdS )3TestEvent.test_install_listener.<locals>.MyListenerc                 f                        |j        t          j        j                                        |j        d                               |j        d                    |j        d         }                    |                               |j        d         |j	                   d S Nr#   
dispatcherrE   )
r   statusr   EventStatusSTARTkindassertIsrG   assertNotIn	overloadsr   r   rQ   r!   uts      r   on_startz<TestEvent.test_install_listener.<locals>.MyListener.on_startQ   s    u|R^-ABBBuz?;;;EJ|4c:::"Z5
J,,,uz&1:3GHHHHHr   c                 $                        |j        t          j        j                                        |j        d           |j        d         }                    |                               |j        d         |j	                   d S rP   
r   rR   r   rS   ENDrU   rG   rV   assertInrX   rY   s      r   on_endz:TestEvent.test_install_listener.<locals>.MyListener.on_endZ   sx    u|R^-?@@@uz?;;;"Z5
J,,,EJv.
0DEEEEEr   N__name__
__module____qualname__r[   r`   r!   rZ   s   r   
MyListenerrN   P   s_        I I I I I IF F F F F F F Fr   rf   c                     | S r   r   r   s    r   r!   z,TestEvent.test_install_listener.<locals>.foob       Hr   r#   r$   )r   Listenerr   install_listenerrV   )r   rf   listeneryieldedr!   rZ   s       @@r   test_install_listenerzTestEvent.test_install_listenerM   s   	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F$ 
	 	 
	 :<< (;; 	wCFFF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	h(((((s   A''A+.A+c                     |  G fddt           j                  }t          d              |            }t          j        d|            d           t          j        d|           d S )Nc                   (    e Zd Z fdZ fdZdS )2TestEvent.test_global_register.<locals>.MyListenerc                 $                        |j        t          j        j                                        |j        d           |j        d         }                    |                               |j        d         |j	                   d S rP   )
r   rR   r   rS   rT   rU   rG   rV   rW   rX   rY   s      r   r[   z;TestEvent.test_global_register.<locals>.MyListener.on_startq   sx    u|R^-ABBBuz?;;;"Z5
J,,,uz&1:3GHHHHHr   c                 $                        |j        t          j        j                                        |j        d           |j        d         }                    |                               |j        d         |j	                   d S rP   r]   rY   s      r   r`   z9TestEvent.test_global_register.<locals>.MyListener.on_endz   sx    u|R^-?@@@uz?;;;"Z5
J,,,EJv.
0DEEEEEr   Nra   re   s   r   rf   rp   p   s_        I I I I I IF F F F F F F Fr   rf   c                     | S r   r   r   s    r   r!   z+TestEvent.test_global_register.<locals>.foo   rh   r   r#   r$   )r   ri   r   register
unregister)r   rf   rk   r!   rZ   s      @@r   test_global_registerzTestEvent.test_global_registerm   s    	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F& 
	 	 
	 :<<
OX...A
ox00000r   c                    t          d          d             }t          j        d          5 } |             d d d            n# 1 swxY w Y   |                     t	          |j                  d           |j        |j        d                  }|j        \  }|j        |j        d                  }| 	                    |j
        d         d         t                     | 	                    |j
        d         d	         t                     d S )
NT)forceobjc                  T    t                       d} t          d          D ]}| |z  } | S )Nr   
   )objectrange)cis     r   r!   z-TestEvent.test_lifted_dispatcher.<locals>.foo   s5    HHHA2YY  QHr   r#      r   r0   r1   r=   )r   r   r&   r)   r   r*   rX   r4   liftedr'   metadatar5   )r   r!   r+   cresldisplifted_cress         r   test_lifted_dispatcherz TestEvent.test_lifted_dispatcher   sI   	d				 	 
		  11 	SCEEE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 	CJ333}S^A./+oe&6q&9: *?;	
 	
 	
 	 *;7	
 	
 	
 	
 	
s   AA	A	c                    t          t          j                  t          fd            t          fd            }t	          dd          5   |d           d d d            n# 1 swxY w Y   d } ||d          } |d          } ||d          } |d          }|                     |d	         |d	                    |                     |d
         |d
                    |                     |                                |d	                    |                     |                                |d	                    |                     |d	         |d
                    |                     |d	         |d
                    d S )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   sc    C#A&& , ,a==1HCC271T7+++CC6!99c>!r   c                 B     t          j        | | f                    S r   )r   zeros)r    r   s    r   r!   z-TestEvent.test_timing_properties.<locals>.foo   s!    3rxA''(((r   LLVM_PASS_TIMINGSTr$   c                 R    |                      | j        d                   }||         S )Nr   )r3   r4   )fnpropr8   s      r   
get_timersz4TestEvent.test_timing_properties.<locals>.get_timers   s#    q!122Bd8Or   r0   llvm_pass_timingsr=   r1   )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   s$   &())		" 	" 	" 	" 
	" 
	) 	) 	) 	) 
	) 0$77 	 	CFFF	 	 	 	 	 	 	 	 	 	 	 	 	 	 		 	 	  ZX..
ZX..
#C)<==#C)<== 	
;/";/	1 	1 	1
?3"?3	5 	5 	5 	5577";/	1 	1 	15577";/	1 	1 	1 	
;/"?3	5 	5 	5
;/"?3	5 	5 	5 	5 	5s   A((A,/A,N)rb   rc   rd   r   r   r,   r:   r>   rK   rm   rv   r   r   r   r   r   r   r      s        : : :
K K K4 4 4	- 	- 	-	- 	- 	-< < <&) ) )@1 1 1>
 
 
:-5 -5 -5 -5 -5r   r   __main__)unittestr   numpyr   numbar   r   r   
numba.corer   r   numba.tests.supportr   r   numba.core.utilsr	   r   rb   mainr   r   r   <module>r      s          + + + + + + + + + + " " " " " " 9 9 9 9 9 9 9 9 * * * * * *J5 J5 J5 J5 J5 J5 J5 J5Z zHMOOOOO r   