
    xKg                         d dl Z d dlmZ d dlmZmZ d dlmZ dZ	dZ
 G d de      Z G d	 d
e      Zedk(  r e j                          yy)    N)njit)TestCaseoverride_config)llvm_pass_timingsaZ  
===-------------------------------------------------------------------------===
                      ... Pass execution timing report ...
===-------------------------------------------------------------------------===
  Total Execution Time: 0.0001 seconds (0.0001 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
   0.0001 ( 90.1%)   0.0001 ( 90.1%)   0.0001 ( 90.1%)   0.0001 ( 90.1%)  A1
   0.0000 (  9.9%)   0.0000 (  9.9%)   0.0000 (  9.9%)   0.0000 (  9.9%)  A2
   0.0001 (100.0%)   0.0001 (100.0%)   0.0001 (100.0%)   0.0001 (100.0%)  Total

aZ  
===-------------------------------------------------------------------------===
                      ... Pass execution timing report ...
===-------------------------------------------------------------------------===
  Total Execution Time: 0.0001 seconds (0.0001 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
   0.0001 ( 90.1%)        -----        0.0001 ( 90.1%)   0.0001 ( 90.1%)  A1
   0.0000 (  9.9%)        -----        0.0000 (  9.9%)   0.0000 (  9.9%)  A2
   0.0001 (100.0%)        -----        0.0001 (100.0%)   0.0001 (100.0%)  Total

c                       e Zd Zd Zd Zd Zy)TestLLVMPassTimingsc                 B   t         d        }t        dd      5   |d       d d d        |j                  |j                  d         }|d   }| j	                  |t
        j                         t        |      }| j                  d|       | j                  t        |      d       |d   }| j	                  |t
        j                         | j	                  |j                  t               | j	                  |j                  t
        j                         y # 1 sw Y   xY w)	Nc                 4    d}t        |       D ]  }||z  }	 |S Nr   rangencis      f/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/tests/test_llvm_pass_timings.pyfooz+TestLLVMPassTimings.test_usage.<locals>.foo&   #    A1XQ H    LLVM_PASS_TIMINGST
   r   r   z!Module passes (full optimization))r   r   get_metadata
signaturesassertIsInstancelptPassTimingsCollectionstrassertInassertGreaterlenNamedTimingsnametimingsProcessedPassTimings)selfr   mdr$   textlasts         r   
test_usagezTestLLVMPassTimings.test_usage%   s    		 
	 0$7G 8 cnnQ/0()gs'@'@A7|94@3w<+r{dC$4$45dii-dllC,D,DE# 87s   	DDc                 V   t         d        }t        dd      5   |d       d d d        |j                  |j                  d         }|d   }| j	                  |j                         t               | j	                  |j                         t               |j                         }| j                  t        |      t        |             |d   j                  j                         }|dd  D ]0  }|j                  j                         }| j                  ||       |}2 y # 1 sw Y   xY w)Nc                 T    d}t        |       D ]  }t        |      D ]  }||z  }	  |S r   r   )r   r   r   js       r   r   z-TestLLVMPassTimings.test_analyze.<locals>.fooA   s3    A1XqAFA "  Hr   r   Tr   r   r      )r   r   r   r   r   get_total_timefloatsummaryr   list_longest_firstassertEqualr!   r$   assertGreaterEqual)r&   r   r'   timings_collectionlongest_firstr)   reccurs           r   test_analyzez TestLLVMPassTimings.test_analyze@   s   		 
	 0$7G 8 cnnQ/0 340??A5I088:C@*==?]+S1C-DEQ''668 $C++,,.C##D#.C % 87s   	DD(c                 x   t        j                  t              }| j                  |j	                         d       | j                  |j                         t               t        j                  t              }| j                  |j	                         d       | j                  |j                         t               y )Ng-C6?)	r   r%   timings_raw1assertAlmostEqualr/   r   r1   r   timings_raw2)r&   timings1timings2s      r   test_parse_rawz"TestLLVMPassTimings.test_parse_raw[   s    ++L9x668&Ah..0#6++L9x668&Ah..0#6r   N)__name__
__module____qualname__r*   r9   r@    r   r   r   r   #   s    F667r   r   c                       e Zd Zd Zy)TestLLVMPassTimingsDisabledc                 r   t         d        }t        dd      5   |d       d d d        |j                  |j                  d         }|d   }| j	                  |j                         d       | j                  |j                                | j	                  |j                         g        y # 1 sw Y   xY w)Nc                 4    d}t        |       D ]  }||z  }	 |S r   r   r   s      r   r   z?TestLLVMPassTimingsDisabled.test_disabled_behavior.<locals>.foog   r   r   r   Fr   r   r   zNo pass timings were recorded)	r   r   r   r   r3   r1   assertIsNoner/   r2   )r&   r   r'   r$   s       r   test_disabled_behaviorz2TestLLVMPassTimingsDisabled.test_disabled_behaviorf   s    		 
	 0%8G 9 cnnQ/0()*,KL'0023335r: 98s   	B--B6N)rA   rB   rC   rJ   rD   r   r   rF   rF   e   s    ;r   rF   __main__)unittestnumbar   numba.tests.supportr   r   
numba.miscr   r   r;   r=   r   rF   rA   mainrD   r   r   <module>rQ      sR      9 /?7( ?7D;( ;, zHMMO r   