o
    8Î®cÚ  ã                   @   sp   d dl Zd dlmZ d dlmZ d dlmZ d dlZdd„ Z	dd„ Z
G d	d
„ d
eejƒZedkr6e ¡  dS dS )é    N)Úcompile_isolated)Útypeof)ÚMemoryLeakMixinc                 C   s   d| |< | S )Né{   © ©ÚaÚir   r   úD/tmp/pip-target-vg8gfxp4/lib/python/numba/tests/test_array_return.pyÚarray_return	   s   r   c                 C   s$   t | jƒD ]
}| |  d7  < q| S )Né   )ÚrangeÚsizer   r   r   r
   Úarray_return_start_with_loop   s   r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestArrayReturnc                 C   sJ   t  d¡}d}t|ƒt|ƒ}}tt||fƒ}|j}|  ||||ƒ¡ d S )Né
   é   )ÚnpÚaranger   r   r   Úentry_pointÚassertIs)Úselfr   r	   ÚatÚitÚcresÚcfuncr   r   r
   Útest_array_return   s   
z!TestArrayReturn.test_array_returnc                 C   s8   t  d¡}t|ƒ}tt|gƒ}|j}|  |||ƒ¡ dS )zN
        A bug breaks array return if the function starts with a loop
        r   N)r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r
   Ú!test_array_return_start_with_loop   s
   
z1TestArrayReturn.test_array_return_start_with_loopN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r
   r      s    r   Ú__main__)Únumpyr   Únumba.core.compilerr   Únumbar   Únumba.tests.supportr   Úunittestr   r   ÚTestCaser   r   Úmainr   r   r   r
   Ú<module>   s    ÿ