U
    iâËdÐ  ã                   @   s<   d dl Zdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ ZdS )é    Nc                  K   s&   t jddgfddi| —Ždd„ ƒ}|S )Nú
intp(intp)úfloat64(float64)ÚcacheTc                 S   s   | d S ©Né   © ©Úinpr   r   ú\/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numba/tests/npyufunc/cache_usecases.pyÚufunc	   s    z)direct_ufunc_cache_usecase.<locals>.ufunc©ÚnbÚ	vectorize©Úkwargsr   r   r   r
   Údirect_ufunc_cache_usecase   s    
r   c                     s8   t jdd�dd„ ƒ‰ t jdddgf| Ž‡ fdd	„ƒ}|S )
NT©r   c                 S   s   | d S ©Né   r   r   r   r   r
   Úindirect_ufunc_core   s    z9indirect_ufunc_cache_usecase.<locals>.indirect_ufunc_corer   r   zcomplex64(complex64)c                    s   ˆ | ƒS ©Nr   r   ©r   r   r
   r      s    z+indirect_ufunc_cache_usecase.<locals>.ufunc©r   Únjitr   r   r   r   r
   Úindirect_ufunc_cache_usecase   s    

ÿr   c                  K   s    t jf ddi| —Ždd„ ƒ}|S )Nr   Tc                 S   s   | d S r   r   r   r   r   r
   r   "   s    z*direct_dufunc_cache_usecase.<locals>.ufuncr   r   r   r   r
   Údirect_dufunc_cache_usecase!   s    
r   c                     s0   t jdd�dd„ ƒ‰ t jf | Ž‡ fdd„ƒ}|S )NTr   c                 S   s   | d S r   r   r   r   r   r
   r   *   s    z:indirect_dufunc_cache_usecase.<locals>.indirect_ufunc_corec                    s   ˆ | ƒS r   r   r   r   r   r
   r   .   s    z,indirect_dufunc_cache_usecase.<locals>.ufuncr   r   r   r   r
   Úindirect_dufunc_cache_usecase)   s
    


r   c                  K   s(   t jddgdfddi| —Ždd„ ƒ}|S )Nú(intp, intp[:])ú(float64, float64[:])ú()->()r   Tc                 S   s   | d |d< d S )Nr   r   r   ©r	   Úoutr   r   r
   Úgufunc:   s    z+direct_gufunc_cache_usecase.<locals>.gufunc)r   Úguvectorize©r   r"   r   r   r
   Údirect_gufunc_cache_usecase9   s    
ÿÿÿ
r%   c                     s:   t jdd�dd„ ƒ‰ t jdddgdf| Ž‡ fd	d
„ƒ}|S )NTr   c                 S   s   | d S r   r   )Úxr   r   r
   ÚcoreC   s    z+indirect_gufunc_cache_usecase.<locals>.corer   r   z(complex64, complex64[:])r   c                    s   ˆ | ƒ|d< d S )Nr   r   r    ©r'   r   r
   r"   G   s    z-indirect_gufunc_cache_usecase.<locals>.gufunc)r   r   r#   r$   r   r(   r
   Úindirect_gufunc_cache_usecaseB   s    

ÿÿÿr)   )Znumbar   r   r   r   r   r%   r)   r   r   r   r
   Ú<module>   s   	