U
    iâËdò  ã                   @   s†   d dl Z d dlZd dlmZ d dlmZ eddd�dd„ ƒZeddd�dd	„ ƒZedd
�dd„ ƒZ	G dd„ deƒZ
dd„ Zdd„ ZdS )é    N)Únjit)ÚTestCaseT)ÚparallelÚcachec                 C   s   | |   ¡  S ©N)Úsum©Úarr© r
   ú[/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numba/tests/parfors_cache_usecases.pyÚarrayexprs_case	   s    r   c                 C   s:   t  | ¡}d|  ¡  }t| jƒD ]}| | | ||< q |S )Né   )ÚnpZ
zeros_liker   ÚrangeÚsize)r	   ÚoutÚcÚir
   r
   r   Úprange_case   s
    
r   )r   c                 C   s   t t| ƒƒS r   )r   r   r   r
   r
   r   Úcaller_case   s    r   c                   @   s    e Zd ZdZdd„ Zdd„ ZdS )Ú_TestModulez¥
    Tests for functionality of this module's functions.
    Note this does not define any "test_*" method, instead check_module()
    should be called by hand.
    c                 C   s`   d}|j |j|jfD ]6}t d¡}tj ||ƒ| |¡¡ |t|j	j
ƒ7 }q| j|ddd� d S )Nr   é   z*At least one dispatcher has used the cache)Úmsg)r   r   r   r   ÚonesÚtestingÚassert_allcloseÚpy_funcÚlenÚstatsZ
cache_hitsZassertGreater)ÚselfÚmodZtotal_cache_hitsÚfnr	   r
   r
   r   Úcheck_module"   s    
 ÿ þz_TestModule.check_modulec                 C   s<   |j |j|jfD ]&}t d¡}tj ||ƒ| |¡¡ qd S )Nr   )r   r   r   r   r   r   r   r   )r   r    r!   r	   r
   r
   r   Ú
run_module0   s    
 ÿz_TestModule.run_moduleN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r"   r#   r
   r
   r
   r   r      s   r   c                  C   s   t jt } tƒ  | ¡ d S r   )ÚsysÚmodulesr$   r   r"   ©r    r
   r
   r   Ú	self_test;   s    
r+   c                  C   s   t jt } tƒ  | ¡ d S r   )r(   r)   r$   r   r#   r*   r
   r
   r   Úself_run@   s    
r,   )r(   Únumpyr   Znumbar   Znumba.tests.supportr   r   r   r   r   r+   r,   r
   r
   r
   r   Ú<module>   s   




