
    sh                         S SK rS SKrS SKrS SKrS SKrS SKrS SKJ	r	J
r
  S SKJr  S SKrS rS rS r " S S\R"                  5      r\S	:X  a  \R(                  " 5         gg)
    N)jittypes)
needs_blasc                      [        [        R                  S S S2   [        R                  S S S2   45      S 5       n SU l        X 4$ )N   c                 X    Sn[        [        U 5      5       H  nX U   X   -  -  nM     U$ )Nr   )rangelenabsumis       m/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_profiler.pydot'generate_standard_dot_case.<locals>.dot   s0    s1vAQ49C 
    Tr   r   float32_enable_sysmon)r   s    r   generate_standard_dot_caser      sI    %--!
emmCaC0	23 4 C8Or   c                     ^ [        [        R                  S S S2   [        R                  S S S2   45      S 5       mSTl        U4S jn TU 4$ )Nr   c                 j    Sn[        [        U 5      5       H  nX U   X   -  -  nM     [        S5      e)Nr   zproblem with dot)r	   r
   
ValueErrorr   s       r   raising_dot.generate_raising_dot_case.<locals>.raising_dot   s9     s1vAQ49C +,,r   Tc                 8   >  T" X5        g ! [          a     g f = fN)r   )r   r   r   s     r   call_raising_dot3generate_raising_dot_case.<locals>.call_raising_dot'   s"    	 		s    
r   )r   r   s    @r   generate_raising_dot_caser!      sV    %--!
emmCaC0	23- 4- "&K (((r   c                 .    [         R                  " X5      $ r   )npr   )r   r   s     r   np_dotr$   0   s    66!<r   c                   <    \ rS rSrS rS rS r\S 5       rS r	Sr
g)	TestProfiler4   c                   ^  [         R                  " S[         R                  S9n[         R                  " S[         R                  S9nSn[        R                  " 5       nUR                  5          [        U5       H  nU" X45        M     UR                  5         [        R                  " U5      R                  5       nU 4S jn	U	" XR                  R                  U5        XLa  U	" XR                  U5        gg! UR                  5         f = f)za
Make sure the jit-compiled function shows up in the profile stats
as a regular Python function.
   )dtype{   c                   > [         R                  R                  UR                  5      UR                  UR
                  4nTR                  X0R                  5        U R                  U   nTR                  US S X"45        g )N   )	ospathbasenameco_filenameco_firstlinenoco_nameassertInstatsassertEqual)r5   coden_callsexpected_key
func_statsselfs        r   check_stats_for_key<TestProfiler.check_profiler_dot.<locals>.check_stats_for_keyG   sk    GG,,T-=-=> // LLL
 MM,4\2JZ^g-?@r   N)r#   aranger   profilerProfileenabler	   disablepstatsStats
strip_dirspy_func__code__)
r;   callercfuncr   r   r8   p_r5   r<   s
   `         r   check_profiler_dotTestProfiler.check_profiler_dot6   s    
 IIb

+IIb

+	
	7^q $ IIKQ**,		A 	E==#9#97C @ % IIKs   0C: :Dc                 >    [        5       u  pU R                  X5        g r   )r   rL   )r;   r   rK   s      r   test_profilerTestProfiler.test_profilerY   s    +-)r   c                 >    [        5       u  pU R                  X!5        g r   )r!   rL   )r;   r   r   s      r   "test_profiler_for_raising_function/TestProfiler.test_profiler_for_raising_function]   s    (A(C% 0>r   c                 V    Sn[         R                  " [        R                  SU/5        g )Na  if 1:
            import cProfile as profiler

            import numpy as np

            from numba import jit
            from numba.tests.test_profiler import np_dot

            cfunc = jit(nopython=True)(np_dot)

            a = np.arange(16, dtype=np.float32)
            b = np.arange(16, dtype=np.float32)

            p = profiler.Profile()
            p.enable()
            cfunc(a, b)
            cfunc(a, b)
            p.disable()
            -c
subprocess
check_callsys
executabler;   r7   s     r   test_profiler_np_dot!TestProfiler.test_profiler_np_dota   s$    & 	s~~tT:;r   c                 V    Sn[         R                  " [        R                  SU/5        g )Na  if 1:
            import cProfile as profiler
            p = profiler.Profile()
            p.enable()

            from numba.tests.npyufunc.test_dufunc import TestDUFunc
            t = TestDUFunc('test_npm_call')
            t.test_npm_call()

            p.disable()
            rU   rV   r[   s     r   test_issue_3229TestProfiler.test_issue_3229y   s$    
 	s~~tT:;r    N)__name__
__module____qualname____firstlineno__rL   rO   rR   r   r\   r_   __static_attributes__ra   r   r   r&   r&   4   s,    !AF*? < <.<r   r&   __main__)cProfiler?   r.   rC   rW   rY   numpyr#   numbar   r   numba.tests.supportr   unittestr   r!   r$   TestCaser&   rb   mainra   r   r   <module>ro      s\     	   
   * 
)*W<8$$ W<r zMMO r   