
    J/Ph                         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                     dS dS )    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dS )TestLLVMPassTimingsc                    t           d             }t          dd          5   |d           d d d            n# 1 swxY w Y   |                    |j        d                   }|d         }|                     |t
          j                   t          |          }|                     d|           | 	                    t          |          d           |d         }|                     |t
          j                   |                     |j        t                     |                     |j        t
          j                   d S )	Nc                 8    d}t          |           D ]}||z  }|S Nr   rangencis      b/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/tests/test_llvm_pass_timings.pyfooz+TestLLVMPassTimings.test_usage.<locals>.foo&   ,    A1XX  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%   sg   		 	 
	 0$77 	 	CGGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 cnQ/00()gs'@AAA7||94@@@3w<<+++r{dC$4555di---dlC,DEEEEE   9= =c                    t           d             }t          dd          5   |d           d d d            n# 1 swxY w Y   |                    |j        d                   }|d         }|                     |                                t                     |                     |                                t                     |	                                }| 
                    t          |          t          |                     |d         j                                        }|dd          D ]3}|j                                        }|                     ||           |}4d S )Nc                 \    d}t          |           D ]}t          |          D ]}||z  }|S r   r   )r   r   r   js       r   r   z-TestLLVMPassTimings.test_analyze.<locals>.fooA   sF    A1XX  q  AFAA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7 	 	CGGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 cnQ/00 340??AA5III088::C@@@*==??]++S1C-D-DEEEQ'6688 $ 	 	C+,,..C##D#...CC	 	r+   c                    t          j        t                    }|                     |                                d           |                     |                                t                     t          j        t                    }|                     |                                d           |                     |                                t                     d S )Ng-C6?)	r   r%   timings_raw1assertAlmostEqualr0   r   r2   r   timings_raw2)r&   timings1timings2s      r   test_parse_rawz"TestLLVMPassTimings.test_parse_raw[   s    +L99x6688&AAAh..00#666+L99x6688&AAAh..00#66666r   N)__name__
__module____qualname__r*   r:   rA    r   r   r   r   #   sD        F F F6  67 7 7 7 7r   r   c                       e Zd Zd ZdS )TestLLVMPassTimingsDisabledc                    t           d             }t          dd          5   |d           d d d            n# 1 swxY w Y   |                    |j        d                   }|d         }|                     |                                d           |                     |                                           |                     |                                g            d S )Nc                 8    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   r4   r2   assertIsNoner0   r3   )r&   r   r'   r$   s       r   test_disabled_behaviorz2TestLLVMPassTimingsDisabled.test_disabled_behaviorf   s    		 	 
	 0%88 	 	CGGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 cnQ/00()**,KLLL'00223333355r:::::r+   N)rB   rC   rD   rK   rE   r   r   rG   rG   e   s#        ; ; ; ; ;r   rG   __main__)unittestnumbar   numba.tests.supportr   r   
numba.miscr   r   r<   r>   r   rG   rB   mainrE   r   r   <module>rR      s           9 9 9 9 9 9 9 9 / / / / / /?7 ?7 ?7 ?7 ?7( ?7 ?7 ?7D; ; ; ; ;( ; ; ;, zHMOOOOO r   