§
    ƒÛg€!  ã                   óÂ   — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
mZmZ d dlmZ d dlmZ  G d„ dej        ¦  «        Zedk    r ej        ¦   «          dS dS )	é    N)Újit)ÚNumbaWarningÚ
deprecatedÚNumbaDeprecationWarning)Úerrors)Úignore_internal_warningsc                   óJ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ ZdS )ÚTestBuiltinsc                 óš   — d}|                       |j        t          ¦  «         |                      |t	          |j        ¦  «        ¦  «         d S )NzbFall-back from the nopython compilation path to the object mode compilation path has been detected©ÚassertEqualÚcategoryr   ÚassertInÚstrÚmessage©ÚselfÚwÚmsgs      úO/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_warnings.pyÚ!check_objmode_deprecation_warningz.TestBuiltins.check_objmode_deprecation_warning   sD   € ð9ˆà×Ò˜œÕ%<Ñ=Ô=Ð=Ø�Š�c�3˜qœy™>œ>Ñ*Ô*Ð*Ð*Ð*ó    c                 óš   — d}|                       |j        t          ¦  «         |                      |t	          |j        ¦  «        ¦  «         d S )Nz0The 'nopython' keyword argument was not suppliedr   r   s      r   Ú$check_nopython_kwarg_missing_warningz1TestBuiltins.check_nopython_kwarg_missing_warning   sE   € ð DˆØ×Ò˜œÕ%<Ñ=Ô=Ð=Ø�Š�c�3˜qœy™>œ>Ñ*Ô*Ð*Ð*Ð*r   c                 óð  — d„ }t          j        d¬¦  «        5 }t          j        dt          ¦  «         t	          ¦   «          t          |¦  «        } |dd¦  «         |                      t          |¦  «        d¦  «         |                      |d         ¦  «         |                      |d         j	        t          ¦  «         |  
                    d	t          |d         j        ¦  «        ¦  «         |                      |d         j	        t          ¦  «         |  
                    d
t          |d         j        ¦  «        ¦  «         |                      |d         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó   — i }| |z   S ©N© ©ÚxÚyÚas      r   Úaddz1TestBuiltins.test_type_infer_warning.<locals>.add   ó   € ØˆAØ�q‘5ˆLr   T©ÚrecordÚalwaysé   é   é   r   útype inferencezobject modeé   )ÚwarningsÚcatch_warningsÚsimplefilterr   r   r   r   Úlenr   r   r   r   r   r   ©r   r#   r   Úcfuncs       r   Útest_type_infer_warningz$TestBuiltins.test_type_infer_warning   s’  € ð	ð 	ð 	õ Ô$¨DÐ1Ñ1Ô1ð 	9°QÝÔ! (­LÑ9Ô9Ð9Ý$Ñ&Ô&Ð&å˜‘H”HˆEØˆE�!�Q‰KŒKˆKà×Ò�S ™VœV QÑ'Ô'Ð'ð ×5Ò5°a¸´dÑ;Ô;Ð;ð ×Ò˜Q˜qœTœ]­LÑ9Ô9Ð9Ø�MŠMÐ*­C°°!´´Ñ,=Ô,=Ñ>Ô>Ð>ð ×Ò˜Q˜qœTœ]­LÑ9Ô9Ð9Ø�MŠM˜-­¨Q¨q¬T¬\Ñ):Ô):Ñ;Ô;Ð;ð ×2Ò2°1°Q´4Ñ8Ô8Ð8ð+	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð 	9ð 	9s   ™EE+Å+E/Å2E/c                 óF  ‡— t          j        dt           j        ¬¦  «        Šˆfd„}t          j        d¬¦  «        5 }t          j        dt          ¦  «         t          ¦   «           t          d¬¦  «        |¦  «        } |¦   «          |  	                    t          |¦  «        d¦  «         |                      |d	         ¦  «         |  	                    |d
         j        t          ¦  «         |                      dt          |d
         j        ¦  «        ¦  «         |  	                    |d         j        t          ¦  «         |                      dt          |d         j        ¦  «        ¦  «         |                      |d         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr*   ©Údtypec                  ó   •— ‰ S r   r   ©r!   s   €r   Úreturn_external_arrayzDTestBuiltins.test_return_type_warning.<locals>.return_external_array=   ó   ø€ ØˆHr   Tr%   r'   F)Ú_nrtr   r(   zreturn typer)   z!object mode without forceobj=Truer,   )ÚnpÚonesÚfloat32r-   r.   r/   r   r   r   r   r0   r   r   r   r   r   r   ©r   r9   r   r2   r!   s       @r   Útest_return_type_warningz%TestBuiltins.test_return_type_warning:   sÃ  ø€ ÝŒG�A�RœZÐ(Ñ(Ô(ˆð	ð 	ð 	ð 	ð 	õ Ô$¨DÐ1Ñ1Ô1ð 	9°QÝÔ! (­LÑ9Ô9Ð9Ý$Ñ&Ô&Ð&à#•C˜U�O‘O”OÐ$9Ñ:Ô:ˆEØˆE‰GŒGˆGà×Ò�S ™VœV QÑ'Ô'Ð'ð ×5Ò5°a¸´dÑ;Ô;Ð;ð ×Ò˜Q˜qœTœ]­LÑ9Ô9Ð9Ø�MŠM˜-­¨Q¨q¬T¬\Ñ):Ô):Ñ;Ô;Ð;ð ×Ò˜Q˜qœTœ]­LÑ9Ô9Ð9Ø�MŠMÐ=Ý˜a œdœlÑ+Ô+ñ-ô -ð -ð ×2Ò2°1°Q´4Ñ8Ô8Ð8ð-	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð 	9ð 	9s   ¼EFÆFÆFc                 óŠ  ‡— t          j        dt           j        ¬¦  «        Šˆfd„}t          j        d¬¦  «        5 }t          j        dt          ¦  «         t          ¦   «           t          d¬¦  «        |¦  «        } |¦   «          |  	                    t          |¦  «        d¦  «         d	d	d	¦  «         d	S # 1 swxY w Y   d	S )
z9
        Rerun test_return_type_warning with nrt
        r*   r5   c                  ó   •— ‰ S r   r   r8   s   €r   r9   zMTestBuiltins.test_return_type_warning_with_nrt.<locals>.return_external_array^   r:   r   Tr%   r'   )Únopythonr   N)r<   r=   r>   r-   r.   r/   r   r   r   r   r0   r?   s       @r   Ú!test_return_type_warning_with_nrtz.TestBuiltins.test_return_type_warning_with_nrtX   s  ø€ õ ŒG�A�RœZÐ(Ñ(Ô(ˆð	ð 	ð 	ð 	ð 	õ Ô$¨DÐ1Ñ1Ô1ð 	(°QÝÔ! (­LÑ9Ô9Ð9Ý$Ñ&Ô&Ð&à&•C Ð&Ñ&Ô&Ð'<Ñ=Ô=ˆEØˆE‰GŒGˆGà×Ò�S ™VœV QÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   ¼A/B8Â8B<Â?B<c                 ó8  — d„ }t          j        d¬¦  «        5 }t          j        dt          ¦  «         t	          ¦   «          t          |d¬¦  «        } |dd¦  «         |                      t          |¦  «        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nc                 ó   — g }| |z   S r   r   r   s      r   r#   z7TestBuiltins.test_no_warning_with_forceobj.<locals>.addk   r$   r   Tr%   r'   )Úforceobjr(   r)   r   )r-   r.   r/   r   r   r   r   r0   r1   s       r   Útest_no_warning_with_forceobjz*TestBuiltins.test_no_warning_with_forceobjj   sä   € ð	ð 	ð 	õ Ô$¨DÐ1Ñ1Ô1ð 	(°QÝÔ! (­LÑ9Ô9Ð9Ý$Ñ&Ô&Ð&å˜ dÐ+Ñ+Ô+ˆEØˆE�!�Q‰KŒKˆKà×Ò�S ™VœV QÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   ™A)BÂBÂBc                 ó,  — d„ }t          j        d¬¦  «        5 }t          j        dt          ¦  «         t	          ¦   «          t          j        dt
          j        ¬¦  «        }t          |¦  «        } ||¦  «         d 	                    d„ |D ¦   «         ¦  «        }|  
                    t          |¦  «        d	|¬
¦  «         |                      |d         ¦  «         |  
                    |d         j        t          ¦  «         |                      dt          |d         j        ¦  «        ¦  «         |                      dt          |d         j        ¦  «        ¦  «         |  
                    |d         j        t          ¦  «         |                      dt          |d         j        ¦  «        ¦  «         |                      dt          |d         j        ¦  «        ¦  «         |  
                    |d         j        t          ¦  «         |                      dt          |d         j        ¦  «        ¦  «         |                      dt          |d         j        ¦  «        ¦  «         |                      |d         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ód   — i }t          | j        d         ¦  «        D ]}| |xx         dz  cc<   Œd S )Nr   r)   )ÚrangeÚshape)r    r"   Úis      r   Údo_loopz1TestBuiltins.test_loop_lift_warn.<locals>.do_loopy   sE   € ØˆAÝ˜1œ7 1œ:Ñ&Ô&ð ð �Ø�!��”˜‘	��‘�ðð r   Tr%   r'   r*   r5   ú
c              3   ó*   K  — | ]}d |j         › �V — ŒdS )z----------
N)r   )Ú.0r    s     r   ú	<genexpr>z3TestBuiltins.test_loop_lift_warn.<locals>.<genexpr>†   s-   è è € ÐBÐB¸1Ð6¨1¬9Ð6Ð6ÐBÐBÐBÐBÐBÐBr   é   )r   r   r(   r+   zWITH loopliftingr)   zWITHOUT loopliftingr,   z-compiled in object mode without forceobj=Truezbut has lifted loops)r-   r.   r/   r   r   r<   r=   r>   r   Újoinr   r0   r   r   r   r   r   r   )r   rN   r   r    r2   r   s         r   Útest_loop_lift_warnz TestBuiltins.test_loop_lift_warnx   s~  € ð	ð 	ð 	õ
 Ô$¨DÐ1Ñ1Ô1ð "	9°QÝÔ! (­LÑ9Ô9Ð9Ý$Ñ&Ô&Ð&å”˜¥¤Ð,Ñ,Ô,ˆAÝ˜‘L”LˆEØˆE�!‰HŒHˆHà—)’)ÐBÐBÀÐBÑBÔBÑBÔBˆCà×Ò�S ™VœV Q¨CÐÑ0Ô0Ð0ð ×5Ò5°a¸´dÑ;Ô;Ð;ð ×Ò˜Q˜qœTœ]­LÑ9Ô9Ð9Ø�MŠMÐ*­C°°!´´Ñ,=Ô,=Ñ>Ô>Ð>Ø�MŠMÐ,­c°!°A´$´,Ñ.?Ô.?Ñ@Ô@Ð@ð ×Ò˜Q˜qœTœ]­LÑ9Ô9Ð9Ø�MŠMÐ*­C°°!´´Ñ,=Ô,=Ñ>Ô>Ð>Ø�MŠMÐ/µ°Q°q´T´\Ñ1BÔ1BÑCÔCÐCð ×Ò˜Q˜qœTœ]­LÑ9Ô9Ð9Ø�MŠMÐIÝ˜a œdœlÑ+Ô+ñ-ô -ð -à�MŠMÐ0µ#°a¸´d´lÑ2CÔ2CÑDÔDÐDð ×2Ò2°1°Q´4Ñ8Ô8Ð8ðE"	9ð "	9ð "	9ñ "	9ô "	9ð "	9ð "	9ð "	9ð "	9ð "	9ð "	9ð "	9øøøð "	9ð "	9ð "	9ð "	9ð "	9ð "	9s   ™I#J	Ê	JÊJc                 ó4  — t          d¦  «        d„ ¦   «         }t          j        d¬¦  «        5 }t          j        d¦  «         t	          ¦   «           |¦   «          |                      t          |¦  «        d¦  «         |                      |d         j        t          ¦  «         |  	                    dt          |d         j        ¦  «        ¦  «         |  	                    dt          |d         j        ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	NÚfooc                  ó   — d S r   r   r   r   r   Úbarz)TestBuiltins.test_deprecated.<locals>.bar£   s   € àˆDr   Tr%   r'   r(   r   rY   )r   r-   r.   r/   r   r   r0   r   ÚDeprecationWarningr   r   r   )r   rY   r   s      r   Útest_deprecatedzTestBuiltins.test_deprecated¢   s@  € Ý	�EÑ	Ô	ð	ð 	ñ 
Ô	ð	õ Ô$¨DÐ1Ñ1Ô1ð 	4°QÝÔ! (Ñ+Ô+Ð+Ý$Ñ&Ô&Ð&ØˆC‰EŒEˆEà×Ò�S ™VœV QÑ'Ô'Ð'Ø×Ò˜Q˜qœTœ]Õ,>Ñ?Ô?Ð?Ø�MŠM˜%¥ Q q¤T¤\Ñ!2Ô!2Ñ3Ô3Ð3Ø�MŠM˜%¥ Q q¤T¤\Ñ!2Ô!2Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   ®CDÄDÄDc                 ó°  — t          j        t           j        ¦  «        }|                     dd¦  «        5  t	          j        t          j        d¦  «        ¦  «         t	          j        t          j        d¦  «        ¦  «         t          ¦   «          d d d ¦  «         n# 1 swxY w Y   t	          j        d¬¦  «        5 }t	          j        d¦  «         t          ¦   «          | 	                    ¦   «          |  
                    t          |¦  «        d¦  «         |  
                    |d         j        t          ¦  «         |  
                    |d	         j        t          ¦  «         |                      dt          |d         j        ¦  «        ¦  «         |                      dt          |d	         j        ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
NrW   é
   ÚsameTr%   r'   r)   r   r(   )r   ÚWarningsFixerr   r.   r-   Úwarnr   r   r/   Úflushr   r0   r   r   r   r   )r   Úwfixr   s      r   Útest_warnings_fixerz TestBuiltins.test_warnings_fixer±   s   € õ Ô#¥FÔ$7Ñ8Ô8ˆØ× Ò  ¨Ñ+Ô+ð 	'ð 	'ÝŒM�&Ô-¨fÑ5Ô5Ñ6Ô6Ð6ÝŒM�&Ô8¸Ñ@Ô@ÑAÔAÐAÝ$Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'õ
 Ô$¨DÐ1Ñ1Ô1ð 	5°QÝÔ! (Ñ+Ô+Ð+Ý$Ñ&Ô&Ð&Ø�JŠJ‰LŒLˆLà×Ò�S ™VœV QÑ'Ô'Ð'ð ×Ò˜Q˜qœTœ]Õ,CÑDÔDÐDØ×Ò˜Q˜qœTœ]­LÑ9Ô9Ð9Ø�MŠM˜&¥# a¨¤d¤lÑ"3Ô"3Ñ4Ô4Ð4Ø�MŠM˜&¥# a¨¤d¤lÑ"3Ô"3Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð 	5ð 	5s%   µABÂB Â#B Â<DGÇGÇGc                 ó¶  — d}d}d}d|›d|›d|›d�}t          j        t          j        d|g¦  «        }|                     ¦   «         \  }}|                      |j        |¦  «         t          t          j	        ¦  «        }d	|d
<   t          j        t          j        d|g|¬¦  «        }|                     ¦   «         \  }}|                      |j        |¦  «         d S )Né7   éc   z3'parallel=True' was specified but no transformationaÛ  if 1:
            import warnings
            from numba.tests.error_usecases import foo
            import numba
            from numba.tests.support import ignore_internal_warnings
            with warnings.catch_warnings(record=True) as w:
                warnings.simplefilter('always')
                ignore_internal_warnings()
                foo()
            for x in w:
                if x.category == numba.errors.NumbaPerformanceWarning:
                    if "z2" in str(x.message):
                        exit(z)
            exit(z
)
        z-cÚ1Ú"NUMBA_DISABLE_PERFORMANCE_WARNINGS)Úenv)
Ú
subprocessÚPopenÚsysÚ
executableÚcommunicater   Ú
returncodeÚdictÚosÚenviron)	r   Únot_found_ret_codeÚfound_ret_codeÚexpectedÚparallel_codeÚpopenÚoutÚerrri   s	            r   Ú!test_disable_performance_warningsz.TestBuiltins.test_disable_performance_warningsÈ   së   € àÐØˆØHˆˆð& ˆxˆx˜˜˜Ð);Ð);Ð);ð=ˆõ" Ô ¥#¤.°$¸Ð!FÑGÔGˆØ×$Ò$Ñ&Ô&‰ˆˆSØ×Ò˜Ô)¨>Ñ:Ô:Ð:õ •2”:ÑÔˆØ47ˆÐ0Ñ1ÝÔ ¥#¤.°$¸Ð!FÈCÐPÑPÔPˆØ×$Ò$Ñ&Ô&‰ˆˆSØ×Ò˜Ô)Ð+=Ñ>Ô>Ð>Ð>Ð>r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r3   r@   rD   rH   rU   r[   rc   rz   r   r   r   r
   r
      s«   € € € € € ð+ð +ð +ð+ð +ð +ð9ð 9ð 9ð89ð 9ð 9ð<(ð (ð (ð$(ð (ð (ð(9ð (9ð (9ðT4ð 4ð 4ð5ð 5ð 5ð.#?ð #?ð #?ð #?ð #?r   r
   Ú__main__)rq   rj   rl   r-   Únumpyr<   ÚunittestÚnumbar   Únumba.core.errorsr   r   r   Ú
numba.corer   Únumba.tests.supportr   ÚTestCaser
   r{   Úmainr   r   r   ú<module>r‡      sñ   ðØ 	€	€	€	Ø Ð Ð Ð Ø 
€
€
€
Ø €€€Ø Ð Ð Ð à €€€Ø Ð Ð Ð Ð Ð Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ Ð Ð Ð Ð Ð Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8ð]?ð ]?ð ]?ð ]?ð ]?�8Ô$ñ ]?ô ]?ð ]?ð@ ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   