§
    ƒÛg	  ã                   óÄ   — d dl Z d dlZd dlmZ d dlmZmZ d dlm	Z	 d dl
mZ  G d„ de j        ¦  «        Z G d„ d	e j        ¦  «        Zed
k    r e j        ¦   «          dS dS )é    N)Újit)ÚtypesÚconfig)Úcompile_isolated)Úoverride_configc                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestJITMethodc                 ó¶  —  G d„ dt           ¦  «        } |d¦  «        }t          j                             |                     d¦  «        t          j        g d¢t          j        ¬¦  «        ¦  «         |j        j                             ¦   «         \  }|j	        d         }|j                             ¦   «         \  }|  
                    |j        j        ¦  «         d S )Nc                   ó*   — e Zd Zd„ Zed„ ¦   «         ZdS )úETestJITMethod.test_bound_jit_method_with_loop_lift.<locals>.Somethingc                 ó   — || _         d S ©N©Úx0©Úselfr   s     úP/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_jitmethod.pyÚ__init__zNTestJITMethod.test_bound_jit_method_with_loop_lift.<locals>.Something.__init__   ó   € Ø�”��ó    c                 óž   — t          j        dt           j        ¬¦  «        }| j        }t	          |j        d         ¦  «        D ]
}||z  ||<   Œ|S )Né   )ÚshapeÚdtyper   )ÚnpÚemptyÚfloat32r   Úranger   )r   ÚxÚar   Úis        r   ÚmethodzLTestJITMethod.test_bound_jit_method_with_loop_lift.<locals>.Something.method   sP   € å”H 1­B¬JÐ7Ñ7Ô7�Ø”W�å˜qœw qœzÑ*Ô*ð "ð "�AØ ™6�A�a‘D�Dà�r   N©Ú__name__Ú
__module__Ú__qualname__r   r   r"   © r   r   Ú	Somethingr      s>   € € € € € ðð ð ð ðð ñ ŒSðð ð r   r(   é   r   )é   r*   r*   r*   r*   )r   r   )Úobjectr   ÚtestingÚassert_array_equalr"   Úarrayr   Ú	overloadsÚvaluesÚliftedÚ
assertTrueÚfndescÚnative)r   r(   Ú	somethingÚcresÚjitloopÚloopcress         r   Ú$test_bound_jit_method_with_loop_liftz2TestJITMethod.test_bound_jit_method_with_loop_lift   sÙ   € ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ð �I˜a‘L”Lˆ	Ý
Œ
×%Ò% i×&6Ò&6°qÑ&9Ô&9ÝŒHÐ)Ð)Ð)µ´Ð<Ñ<Ô<ñ	>ô 	>ð 	>ð Ô!Ô+×2Ò2Ñ4Ô4‰ˆØ”+˜a”.ˆØÔ&×-Ò-Ñ/Ô/‰
ˆØ�Š˜œÔ.Ñ/Ô/Ð/Ð/Ð/r   c                 ó”   —  G d„ dt           ¦  «        } |d¦  «        }|                      |                     |¦  «        d¦  «         d S )Nc                   ó*   — e Zd Zd„ Zed„ ¦   «         ZdS )ú8TestJITMethod.test_unbound_jit_method.<locals>.Somethingc                 ó   — || _         d S r   r   r   s     r   r   zATestJITMethod.test_unbound_jit_method.<locals>.Something.__init__'   r   r   c                 ó   — | j         S r   r   )r   s    r   r"   z?TestJITMethod.test_unbound_jit_method.<locals>.Something.method*   s	   € à”w�r   Nr#   r'   r   r   r(   r<   &   s>   € € € € € ðð ð ð ðð ñ ŒSðð ð r   r(   r)   )r+   ÚassertEqualsr"   )r   r(   r5   s      r   Útest_unbound_jit_methodz%TestJITMethod.test_unbound_jit_method%   se   € ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ð �I˜a‘L”Lˆ	Ø×Ò˜)×*Ò*¨9Ñ5Ô5°qÑ9Ô9Ð9Ð9Ð9r   N)r$   r%   r&   r9   r@   r'   r   r   r	   r	      s2   € € € € € ð0ð 0ð 0ð2
:ð 
:ð 
:ð 
:ð 
:r   r	   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestDisabledJITc                 ó"  — t          dd¦  «        5  d„ }t          |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      ||¦  «         |                      d |d¦  «        ¦  «         |                      d |d¦  «        ¦  «         d S )NÚDISABLE_JITTc                 ó   — | S r   r'   ©r   s    r   r"   z7TestDisabledJIT.test_decorated_function.<locals>.method5   ó   € Ø�r   é
   ©r   r   ÚassertEqual©r   r"   Újitteds      r   Útest_decorated_functionz'TestDisabledJIT.test_decorated_function3   sÛ   € Ý˜]¨DÑ1Ô1ð 	!ð 	!ðð ð å˜‘[”[ˆFð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð
 	×Ò˜ Ñ(Ô(Ð(Ø×Ò˜˜V˜V B™ZœZÑ(Ô(Ð(Ø×Ò˜˜V˜V B™ZœZÑ(Ô(Ð(Ð(Ð(s   ‘0°4·4c                 ó6  — t          dd¦  «        5  d„ } t          d¬¦  «        |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      ||¦  «         |                      d |d¦  «        ¦  «         |                      d |d¦  «        ¦  «         d S )NrD   Tc                 ó   — | S r   r'   rF   s    r   r"   zCTestDisabledJIT.test_decorated_function_with_kwargs.<locals>.method?   rG   r   )ÚnopythonrH   rI   rK   s      r   Ú#test_decorated_function_with_kwargsz3TestDisabledJIT.test_decorated_function_with_kwargs=   sê   € Ý˜]¨DÑ1Ô1ð 	0ð 	0ðð ð à'•S $Ð'Ñ'Ô'¨Ñ/Ô/ˆFð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð
 	×Ò˜ Ñ(Ô(Ð(Ø×Ò˜˜V˜V B™ZœZÑ(Ô(Ð(Ø×Ò˜˜V˜V B™ZœZÑ(Ô(Ð(Ð(Ð(s   ‘:º>Á>N)r$   r%   r&   rM   rQ   r'   r   r   rB   rB   2   s2   € € € € € ð)ð )ð )ð)ð )ð )ð )ð )r   rB   Ú__main__)ÚunittestÚnumpyr   Únumbar   Ú
numba.corer   r   Únumba.core.compilerr   Únumba.tests.supportr   ÚTestCaser	   rB   r$   Úmainr'   r   r   ú<module>r[      sé   ðØ €€€à Ð Ð Ð à Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø /Ð /Ð /Ð /Ð /Ð /ð$:ð $:ð $:ð $:ð $:�HÔ%ñ $:ô $:ð $:ðN)ð )ð )ð )ð )�hÔ'ñ )ô )ð )ð* ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   