U
    ,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   G/tmp/pip-unpacked-wheel-eu7e0c37/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   	