U
    iâËd+  ã                   @   sP   d dl Zd dlZd dlmZ G dd„ deƒZG dd„ deƒZedkrLe	 
¡  dS )é    N)ÚTestCasec                   @   s(   e Zd ZdZdd„ Zdd„ Zdd„ ZdS )	ÚIssue455z#
    Test code from issue 455.
    c                 C   s
   g | _ d S ©N)Úf)Úself© r   úR/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numba/tests/test_dyn_func.pyÚ__init__   s    zIssue455.__init__c                 C   s8   d}i }t | ¡ |ƒ | j tjddd�|d ƒ¡ d S )Nzo
        def f(x):
            n = x.shape[0]
            for i in range(n):
                x[i] = 1.
        zvoid(f8[:])T)Znopythonr   )ÚexecÚstripr   ÚappendÚnumbaZjit)r   ÚcodeÚdr   r   r   Úcreate_f   s    zIssue455.create_fc                 C   s"   t  d¡}| jD ]}||ƒ q|S )Né
   )ÚnpZzerosr   )r   Úar   r   r   r   Úcall_f   s    


zIssue455.call_fN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r	   r   r   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd„ ZdS )ÚTestDynFuncc                 C   s,   t ƒ }| ¡  | ¡ }|  |t |¡¡ d S r   )r   r   r   ZassertPreciseEqualr   Z	ones_like)r   Úinstr   r   r   r   Útest_issue_455#   s    zTestDynFunc.test_issue_455N)r   r   r   r   r   r   r   r   r   !   s   r   Ú__main__)Únumpyr   r   Znumba.tests.supportr   Úobjectr   r   r   ZunittestÚmainr   r   r   r   Ú<module>   s   	