o
    i	                     @   s   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 de jZG dd	 d	e jZed
kr>e   dS dS )    N)jit)typesconfig)compile_isolated)override_configc                   @      e Zd Zdd Zdd ZdS )TestJITMethodc                 C   sr   G dd dt }|d}tj|dtjg dtjd |jj \}|j	d }|j \}| 
|jj d S )Nc                   @       e Zd Zdd Zedd ZdS )zETestJITMethod.test_bound_jit_method_with_loop_lift.<locals>.Somethingc                 S   
   || _ d S Nx0selfr    r   i/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/numba/tests/test_jitmethod.py__init__      
zNTestJITMethod.test_bound_jit_method_with_loop_lift.<locals>.Something.__init__c                 S   s:   t jdt jd}| j}t|jd D ]}|| ||< q|S )N   )shapedtyper   )npemptyfloat32r   ranger   )r   xar   ir   r   r   method   s
   zLTestJITMethod.test_bound_jit_method_with_loop_lift.<locals>.Something.methodN__name__
__module____qualname__r   r   r   r   r   r   r   	Something       r#      r   )   r&   r&   r&   r&   )r   r   )objectr   testingZassert_array_equalr   arrayr   Z	overloadsvaluesZlifted
assertTrueZfndescnative)r   r#   	somethingZcresZjitloopZloopcresr   r   r   $test_bound_jit_method_with_loop_lift   s   
z2TestJITMethod.test_bound_jit_method_with_loop_liftc                 C   s.   G dd dt }|d}| ||d d S )Nc                   @   r	   )z8TestJITMethod.test_unbound_jit_method.<locals>.Somethingc                 S   r
   r   r   r   r   r   r   r   '   r   zATestJITMethod.test_unbound_jit_method.<locals>.Something.__init__c                 S   s   | j S r   r   )r   r   r   r   r   *   s   z?TestJITMethod.test_unbound_jit_method.<locals>.Something.methodNr   r   r   r   r   r#   &   r$   r#   r%   )r'   ZassertEqualsr   )r   r#   r-   r   r   r   test_unbound_jit_method%   s   z%TestJITMethod.test_unbound_jit_methodN)r    r!   r"   r.   r/   r   r   r   r   r      s    r   c                   @   r   )TestDisabledJITc                 C   sj   t dd dd }t|}W d    n1 sw   Y  | || | d|d | d|d d S )NDISABLE_JITTc                 S      | S r   r   r   r   r   r   r   5      z7TestDisabledJIT.test_decorated_function.<locals>.method
   r   r   assertEqualr   r   Zjittedr   r   r   test_decorated_function3   s   
z'TestDisabledJIT.test_decorated_functionc                 C   sp   t dd dd }tdd|}W d    n1 sw   Y  | || | d|d | d|d d S )Nr1   Tc                 S   r2   r   r   r3   r   r   r   r   ?   r4   zCTestDisabledJIT.test_decorated_function_with_kwargs.<locals>.method)Znopythonr5   r6   r8   r   r   r   #test_decorated_function_with_kwargs=   s   z3TestDisabledJIT.test_decorated_function_with_kwargsN)r    r!   r"   r9   r:   r   r   r   r   r0   2   s    
r0   __main__)Zunittestnumpyr   Znumbar   Z
numba.corer   r   Znumba.core.compilerr   Znumba.tests.supportr   ZTestCaser   r0   r    mainr   r   r   r   <module>   s    '