
    sh                         S r SSKrSSKrSSKJrJr  SSKJr  SSK	J
r
  SSKJrJr  \" SSS9S	 5       rS
 r\" SSS9S 5       r\" SSS9S 5       r\" SS9S 5       r\" SSS9S 5       r\" SSS9S 5       r\" SSS9S 5       r\" SSS9S 5       r\" SSS9S 5       r\" SSS9S 5       r\" SSS9S 5       r\" SSS9S 5       r\r\" SSS9S 5       r\rS r\" S5      r\" S5      r\" S5      r \" S5      r!\RD                  " S5      r#\" SSS9S  5       r$S!r%\RL                  " S"\RN                  4S#\RP                  4/5      r)\RL                  " S"\RN                  4S#\RP                  4/SS$9r*\RV                  " S%\)S&9r,\-" \,R\                  5       H  r/\/S!-   \,\/   S"'   \/S'-   \,\/   S#'   M     \R`                  " \,\*S&9r1\" SSS9S( 5       r2 " S) S*\5      r3\" SS+9S, 5       r4\" SS+9S- 5       r5\" SS+9S. 5       r6S/ r7\" SSSS09S1 5       r8g)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                     U $ N xs    n/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/cache_usecases.pysimple_usecaser      s    H    c                     [        U 5      $ r   )r   r   s    r   simple_usecase_callerr      s    !r   c                     X-   [         -   $ r   Zr   ys     r   add_usecaser          519r   )r   forceobjc                 ,    [        5         X-   [        -   $ r   )objectr   r   s     r   add_objmode_usecaser!       s    
H519r   )r   c                     X-   [         -   $ r   r   r   s     r   add_nocache_usecaser#   &   r   r   c                     X-   [         -   $ r   r   r   s     r   innerr%   +   r   r   c                     [        U* U 5      $ r   r%   r   s     r   outerr(   /       !Q<r   Fc                     [        U* U 5      $ r   r'   r   s     r   outer_uncachedr+   3   r)   r   c                 J    [        5         Sn[        U 5       H  nX-   nM	     U$ )Nr   )r    range)nresis      r   
loopliftedr1   8   s&    
H
C1Xg Jr   c                     [        U 5      $ r   r   r   s    r   	use_c_sinr3   A   s    8Or   c                     [        U 5      $ r   )r3   r   s    r   use_c_sin_nest1r5   E   s    Q<r   c                     [        U 5      $ r   )r5   r   s    r   use_c_sin_nest2r7   I   s    1r   c                     U S-   $ )N   r   r   s    r   ambiguous_functionr:   N       q5Lr   c                     U S-   $ )N   r   r   s    r   r:   r:   T   r;   r   c                 .   ^  [        SSS9U 4S j5       nU$ )NTr
   c                    > TU -   $ r   r   )r   r   s    r   closuremake_closure.<locals>.closure\   s    1ur   )r   )r   r@   s   ` r   make_closurerB   [   s#    td# $ Nr            	   i@B c                      [         $ r   )biggier   r   r   use_big_arrayrI   j   s    Mr      ab)alignr9   )dtypeg     @E@c                 
    X   $ r   r   )aryr0   s     r   record_returnrQ   ~   s	    6Mr   c                       \ rS rSrSrS rSrg)_TestModule   z
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                    U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR	                  SS5      S5        UR                  UR                  S5      nU R                  [        U5      S5        UR                  UR                  S5      nU R                  [        U5      S5        g )Nr9   rC   r=   rJ   )r9   g     E@)	assertPreciseEqualr   r!   r+   r(   rQ   
packed_arrtuplealigned_arr)selfmod
packed_recaligned_recs       r   check_module_TestModule.check_module   s    1 5q9 7 71 =qA 2 21a 8!<		!Q3&&s~~q9
j 19='';k 2I>r   r   N)__name__
__module____qualname____firstlineno____doc__r^   __static_attributes__r   r   r   rS   rS      s    	?r   rS   )r   c                 
    X -  $ r   r   r   s    r   first_class_function_mulrg      	    5Lr   c                 
    X -   $ r   r   r   s    r   first_class_function_addrj      rh   r   c                     U " U5      $ r   r   )fr   s     r   first_class_function_usecaserm      s    Q4Kr   c                  d    [         R                  [           n [        5       R	                  U 5        g r   )sysmodulesr`   rS   r^   )r[   s    r   	self_testrq      s     
++h
CMs#r   )parallelr   r   c                     X -  U -   $ r   r   )rP   s    r   parfor_usecasert      s    9s?r   )9rd   ro   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_function2rB   closure1closure2closure3closure4arangerH   rI   r   rN   int8float64packed_record_typealigned_record_typeemptyrW   r-   sizer0   arrayrY   rQ   rS   rg   rj   rm   rq   rt   r   r   r   <module>r      s!       - 9 4$   4$   4$  
 d  4$   4$   54  ! 4$   4$   4$   4$   4$   ' 4$   '  ???? 
5	4$   
 XXRWW~RZZ/@AB hhbggbjj0AB$O XXa12
	z	AQJqM#TJqM# 
  hhz)<=4$  ?( ?& 4  4  4 $
 d$. /r   