§
    2@ÄjÖ  ã                   óŒ   — d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	Z
  G d„ de¦  «        Zedk    r e j        ¦   «          dS dS )é    N)ÚTestCaseÚoverride_config)Únjit)Útypesc                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚTestPassManagerOptimizationzT Tests that pass manager is not overriding the intended
    optimization level.
    c                 óª   — t          dd¦  «        5  |                     |¦  «         |                     |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )NÚOPTr   )r   ÚcompileÚinspect_llvm)ÚselfÚfnÚsigs      úXC:\Projects\Historical\venv\Lib\site-packages\numba/tests/test_optimisation_pipelines.pyÚ_get_llvmirz'TestPassManagerOptimization._get_llvmir   s”   € Ý˜U AÑ&Ô&ð 	(ð 	(Ø�JŠJ�s‰OŒOˆOØ—?’? 3Ñ'Ô'ð	(ð 	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   ‘*AÁAÁAc                 óÀ  ‡— t          dd¬¦  «        d„ ¦   «         }t          j        f}|                      ||¬¦  «        }t	          j        |¦  «        }|j        |j        d                  j        j	        Šˆfd„|j
        D ¦   «         }|                      t          |¦  «        d¦  «         |d         }d	„ |j        D ¦   «         }|                      t          |¦  «        d¦  «         |d         }d
„ |j        D ¦   «         }	h d£}
d}|	D ]0}|j        |
v r|
                     |j        ¦  «         |sd}Œ*|
r|r nŒ1|                      t          |
¦  «        dd¦  «         d S )NTÚnumpy)ÚdebugÚerror_modelc                 óB   — | dz   }|dz  }||z  }t          |¦  «         |S )Ng®Gáz®ó?g¸…ëQ¸@)Úprint)ÚaÚbÚcÚds       r   Úfooz=TestPassManagerOptimization.test_override_config.<locals>.foo   s-   € à�D‘ˆAØ�D‘ˆAØ�A‘ˆAÝ�!‰HŒHˆHØˆHó    )r   r   c                 ó*   •— g | ]}|j         ‰k    ¯|‘ŒS © )Úname)Ú.0Úxr    s     €r   ú
<listcomp>zDTestPassManagerOptimization.test_override_config.<locals>.<listcomp>"   s    ø€ Ð?Ð?Ð?�q°´¸$²°�°°°r   é   c                 ó   — g | ]}|‘ŒS r   r   ©r!   r"   s     r   r#   zDTestPassManagerOptimization.test_override_config.<locals>.<listcomp>%   s   € Ð)Ð)Ð)˜�!Ð)Ð)Ð)r   c                 ó(   — g | ]}|j         d k    ¯|‘ŒS )Úcall)Úopcoder&   s     r   r#   zDTestPassManagerOptimization.test_override_config.<locals>.<listcomp>*   s$   € ÐFÐFÐF˜°1´8¸vÒ3EÐ3E�!Ð3EÐ3EÐ3Er   >   ÚfaddÚfdivÚfmulFz#Function was optimized unexpectedly)r   r   Úfloat64r   ÚllvmÚparse_assemblyÚ	overloadsÚ
signaturesÚfndescÚmangled_nameÚ	functionsÚassertEqualÚlenÚblocksÚassertGreaterÚinstructionsr)   Úremove)r   r   r   Úfull_irÚmoduleÚfuncsÚfuncr7   ÚblockÚinstrsÚ	op_expectÚstartedr"   r    s                @r   Útest_override_configz0TestPassManagerOptimization.test_override_config   s¤  ø€ Ý	�D gÐ	.Ñ	.Ô	.ð	ð 	ñ 
/Ô	.ð	õ Œ}ÐˆØ×"Ò" 3¨CÐ"Ñ0Ô0ˆåÔ$ WÑ-Ô-ˆàŒ}˜Sœ^¨AÔ.Ô/Ô6ÔCˆØ?Ð?Ð?Ð?˜FÔ,Ð?Ñ?Ô?ˆØ×Ò�˜U™œ QÑ'Ô'Ð'Ø�QŒxˆØ)Ð)˜Tœ[Ð)Ñ)Ô)ˆØ×Ò�3˜v™;œ;¨Ñ*Ô*Ð*Ø�q”	ˆð GÐF˜UÔ/ÐFÑFÔFˆØ,Ð,Ð,ˆ	ØˆØð 	ð 	ˆAØŒx˜9Ð$Ð$Ø× Ò  ¤Ñ*Ô*Ð*Øð #Ø"�GøØð ˜wð Ø�øà×Ò�3˜y™>œ>¨1Ø@ñ	Bô 	Bð 	Bð 	Bð 	Br   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   rC   r   r   r   r   r   	   sA   € € € € € ðð ð(ð (ð (ð
#Bð #Bð #Bð #Bð #Br   r   Ú__main__)ÚunittestÚnumba.tests.supportr   r   Únumbar   Ú
numba.corer   Úllvmlite.bindingÚbindingr.   r   rD   Úmainr   r   r   ú<module>rP      sµ   ðØ €€€à ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð-Bð -Bð -Bð -Bð -B (ñ -Bô -Bð -Bð` ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   