U
    iâËdK  ã                   @   st   d dl Z d dlmZmZ d dlZdd„ Zdd„ Zedd„ ƒZed	d
�dd„ ƒZG dd„ dej	ƒZ
edkrpe ¡  dS )é    N)ÚjitÚint32c                 C   s   | | S ©N© ©ÚaÚbr   r   úS/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numba/tests/test_interproc.pyÚfoo   s    r
   c                 C   s   t | |ƒ| S r   )Úcfoor   r   r   r	   Úbar   s    r   c                 C   s   | | S r   r   ©ÚxÚyr   r   r	   Úinner   s    r   T©Znopythonc                 C   s
   t | |ƒS r   )r   r   r   r   r	   Úouter   s    r   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestInterProcc                 C   s>   t ttfdd�tƒat ttfdd�tƒ}|  |ddƒd¡ d S )NTr   é   é   é   )r   r   r
   r   r   ÚassertEqual)ÚselfÚcbarr   r   r	   Útest_bar_call_foo   s    zTestInterProc.test_bar_call_fooc                 C   sT   t dƒD ] }tttfdd�tƒat ¡  qtttfdd�tƒ}|  |ddƒd¡ d S )Nr   Tr   r   r   )	Úranger   r   r
   r   ÚgcZcollectr   r   )r   Úir   r   r   r	   Ú test_bar_call_foo_compiled_twice   s
    
z.TestInterProc.test_bar_call_foo_compiled_twicec                 C   s   |   tddƒd¡ d S )Nr   r   é   )r   r   )r   r   r   r	   Útest_callsite_compilation*   s    z'TestInterProc.test_callsite_compilationN)Ú__name__Ú
__module__Ú__qualname__r   r   r    r   r   r   r	   r      s   r   Ú__main__)r   Znumbar   r   Zunittestr
   r   r   r   ZTestCaser   r!   Úmainr   r   r   r	   Ú<module>   s   

