B
     \!                 @   s"  d dl mZmZmZ d dlZd dlmZmZ d dlm	Z	m
Z
mZmZ e ZejZejZeG dd de	ZG dd de
ZG d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZ G d#d$ d$eZ!G d%d& d&eZ"G d'd( d(eZ#G d)d* d*e
Z$G d+d, d,eZ%G d-d. d.eZ&G d/d0 d0eZ'G d1d2 d2eZ(G d3d4 d4eZ)G d5d6 d6eZ*G d7d8 d8eZ+G d9d: d:eZ,G d;d< d<eZ-G d=d> d>eZ.G d?d@ d@eZ/G dAdB dBeZ0G dCdD dDe
Z1G dEdF dFe1Z2G dGdH dHe1Z3G dIdJ dJe
Z4G dKdL dLe
Z5G dMdN dNe
Z6eee7e eej8e9e eej:e9e eej;e9e eej<e9e eej=e9e eej>e9e eej?e9e eej@e9e eejAe9e eejBe9e eejCe9e eejDe9e eejEe9e  eejFe9e! eejGe9e" eejHe9e# eejIe9e$ eejJe9e% eejKe9e& eejLe9e' eejMe9e( eejNe9e) eejOe9e* eejPe9e5 eejQe9e6 eejRe9e, eejSe9e+ eejTe9e2 eejUe9e3 eejVe9e4 eejWe9e- eejXe9e. eejYe9e/ eejZe9e0 dS )O    )print_functionabsolute_importdivisionN)typesutils)AttributeTemplateConcreteTemplate	signatureRegistryc               @   s6  e Zd ZeeZdd Zdd Zdd Z	dd Z
d	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 Zd1d2 Zd3d4 Z d5d6 Z!d7d8 Z"d9d: Z#d;d< Z$d=d> Z%d?d@ Z&dAdB Z'dCdD Z(dEdF Z)dGdH Z*dIS )JMathModuleAttributec             C   s
   t tS )N)r   Function	Math_fabs)selfmod r   1lib/python3.7/site-packages/numba/roc/mathdecl.pyresolve_fabs   s    z MathModuleAttribute.resolve_fabsc             C   s
   t tS )N)r   r   Math_exp)r   r   r   r   r   resolve_exp   s    zMathModuleAttribute.resolve_expc             C   s
   t tS )N)r   r   
Math_expm1)r   r   r   r   r   resolve_expm1   s    z!MathModuleAttribute.resolve_expm1c             C   s
   t tS )N)r   r   	Math_sqrt)r   r   r   r   r   resolve_sqrt   s    z MathModuleAttribute.resolve_sqrtc             C   s
   t tS )N)r   r   Math_log)r   r   r   r   r   resolve_log   s    zMathModuleAttribute.resolve_logc             C   s
   t tS )N)r   r   
Math_log1p)r   r   r   r   r   resolve_log1p   s    z!MathModuleAttribute.resolve_log1pc             C   s
   t tS )N)r   r   
Math_log10)r   r   r   r   r   resolve_log10"   s    z!MathModuleAttribute.resolve_log10c             C   s
   t tS )N)r   r   Math_sin)r   r   r   r   r   resolve_sin%   s    zMathModuleAttribute.resolve_sinc             C   s
   t tS )N)r   r   Math_cos)r   r   r   r   r   resolve_cos(   s    zMathModuleAttribute.resolve_cosc             C   s
   t tS )N)r   r   Math_tan)r   r   r   r   r   resolve_tan+   s    zMathModuleAttribute.resolve_tanc             C   s
   t tS )N)r   r   	Math_sinh)r   r   r   r   r   resolve_sinh.   s    z MathModuleAttribute.resolve_sinhc             C   s
   t tS )N)r   r   	Math_cosh)r   r   r   r   r   resolve_cosh1   s    z MathModuleAttribute.resolve_coshc             C   s
   t tS )N)r   r   	Math_tanh)r   r   r   r   r   resolve_tanh4   s    z MathModuleAttribute.resolve_tanhc             C   s
   t tS )N)r   r   	Math_asin)r   r   r   r   r   resolve_asin7   s    z MathModuleAttribute.resolve_asinc             C   s
   t tS )N)r   r   	Math_acos)r   r   r   r   r   resolve_acos:   s    z MathModuleAttribute.resolve_acosc             C   s
   t tS )N)r   r   	Math_atan)r   r   r   r   r   resolve_atan=   s    z MathModuleAttribute.resolve_atanc             C   s
   t tS )N)r   r   
Math_atan2)r   r   r   r   r   resolve_atan2@   s    z!MathModuleAttribute.resolve_atan2c             C   s
   t tS )N)r   r   
Math_asinh)r   r   r   r   r   resolve_asinhC   s    z!MathModuleAttribute.resolve_asinhc             C   s
   t tS )N)r   r   
Math_acosh)r   r   r   r   r   resolve_acoshF   s    z!MathModuleAttribute.resolve_acoshc             C   s
   t tS )N)r   r   
Math_atanh)r   r   r   r   r   resolve_atanhI   s    z!MathModuleAttribute.resolve_atanhc             C   s   t jS )N)r   float64)r   r   r   r   r   
resolve_piL   s    zMathModuleAttribute.resolve_pic             C   s   t jS )N)r   r9   )r   r   r   r   r   	resolve_eO   s    zMathModuleAttribute.resolve_ec             C   s
   t tS )N)r   r   
Math_floor)r   r   r   r   r   resolve_floorR   s    z!MathModuleAttribute.resolve_floorc             C   s
   t tS )N)r   r   	Math_ceil)r   r   r   r   r   resolve_ceilU   s    z MathModuleAttribute.resolve_ceilc             C   s
   t tS )N)r   r   
Math_trunc)r   r   r   r   r   resolve_truncX   s    z!MathModuleAttribute.resolve_truncc             C   s
   t tS )N)r   r   
Math_isnan)r   r   r   r   r   resolve_isnan[   s    z!MathModuleAttribute.resolve_isnanc             C   s
   t tS )N)r   r   
Math_isinf)r   r   r   r   r   resolve_isinf^   s    z!MathModuleAttribute.resolve_isinfc             C   s
   t tS )N)r   r   Math_degrees)r   r   r   r   r   resolve_degreesa   s    z#MathModuleAttribute.resolve_degreesc             C   s
   t tS )N)r   r   Math_radians)r   r   r   r   r   resolve_radiansd   s    z#MathModuleAttribute.resolve_radiansc             C   s
   t tS )N)r   r   Math_copysign)r   r   r   r   r   resolve_copysignj   s    z$MathModuleAttribute.resolve_copysignc             C   s
   t tS )N)r   r   	Math_fmod)r   r   r   r   r   resolve_fmodm   s    z MathModuleAttribute.resolve_fmodc             C   s
   t tS )N)r   r   Math_pow)r   r   r   r   r   resolve_powp   s    zMathModuleAttribute.resolve_powc             C   s
   t tS )N)r   r   Math_erf)r   r   r   r   r   resolve_erfs   s    zMathModuleAttribute.resolve_erfc             C   s
   t tS )N)r   r   	Math_erfc)r   r   r   r   r   resolve_erfcv   s    z MathModuleAttribute.resolve_erfcc             C   s
   t tS )N)r   r   
Math_gamma)r   r   r   r   r   resolve_gammay   s    z!MathModuleAttribute.resolve_gammac             C   s
   t tS )N)r   r   Math_lgamma)r   r   r   r   r   resolve_lgamma|   s    z"MathModuleAttribute.resolve_lgammaN)+__name__
__module____qualname__r   Modulemathkeyr   r   r   r   r   r   r   r    r"   r$   r&   r(   r*   r,   r.   r0   r2   r4   r6   r8   r:   r;   r=   r?   rA   rC   rE   rG   rI   rK   rM   rO   rQ   rS   rU   rW   r   r   r   r   r      sJ   
r   c               @   s@   e Zd ZeejejeejejeejejeejejgZ	dS )
Math_unaryN)
rX   rY   rZ   r	   r   r9   int64uint64float32casesr   r   r   r   r^      s   r^   c               @   s   e Zd ZejZdS )r   N)rX   rY   rZ   r\   fabsr]   r   r   r   r   r      s   r   c               @   s   e Zd ZejZdS )r   N)rX   rY   rZ   r\   expr]   r   r   r   r   r      s   r   c               @   s   e Zd ZejZdS )r   N)rX   rY   rZ   r\   expm1r]   r   r   r   r   r      s   r   c               @   s   e Zd ZejZdS )r   N)rX   rY   rZ   r\   sqrtr]   r   r   r   r   r      s   r   c               @   s   e Zd ZejZdS )r   N)rX   rY   rZ   r\   logr]   r   r   r   r   r      s   r   c               @   s   e Zd ZejZdS )r   N)rX   rY   rZ   r\   log1pr]   r   r   r   r   r      s   r   c               @   s   e Zd ZejZdS )r   N)rX   rY   rZ   r\   log10r]   r   r   r   r   r      s   r   c               @   s   e Zd ZejZdS )r   N)rX   rY   rZ   r\   sinr]   r   r   r   r   r      s   r   c               @   s   e Zd ZejZdS )r!   N)rX   rY   rZ   r\   cosr]   r   r   r   r   r!      s   r!   c               @   s   e Zd ZejZdS )r#   N)rX   rY   rZ   r\   tanr]   r   r   r   r   r#      s   r#   c               @   s   e Zd ZejZdS )r%   N)rX   rY   rZ   r\   sinhr]   r   r   r   r   r%      s   r%   c               @   s   e Zd ZejZdS )r'   N)rX   rY   rZ   r\   coshr]   r   r   r   r   r'      s   r'   c               @   s   e Zd ZejZdS )r)   N)rX   rY   rZ   r\   tanhr]   r   r   r   r   r)      s   r)   c               @   s   e Zd ZejZdS )r+   N)rX   rY   rZ   r\   asinr]   r   r   r   r   r+      s   r+   c               @   s   e Zd ZejZdS )r-   N)rX   rY   rZ   r\   acosr]   r   r   r   r   r-      s   r-   c               @   s   e Zd ZejZdS )r/   N)rX   rY   rZ   r\   atanr]   r   r   r   r   r/      s   r/   c               @   sV   e Zd ZejZeejej	ej	eejej
ej
eejejejeejejejgZdS )r1   N)rX   rY   rZ   r\   atan2r]   r	   r   r9   r_   r`   ra   rb   r   r   r   r   r1      s
   r1   c               @   s   e Zd ZejZdS )r3   N)rX   rY   rZ   r\   asinhr]   r   r   r   r   r3      s   r3   c               @   s   e Zd ZejZdS )r5   N)rX   rY   rZ   r\   acoshr]   r   r   r   r   r5      s   r5   c               @   s   e Zd ZejZdS )r7   N)rX   rY   rZ   r\   atanhr]   r   r   r   r   r7      s   r7   c               @   s   e Zd ZejZdS )r<   N)rX   rY   rZ   r\   floorr]   r   r   r   r   r<      s   r<   c               @   s   e Zd ZejZdS )r>   N)rX   rY   rZ   r\   ceilr]   r   r   r   r   r>      s   r>   c               @   s   e Zd ZejZdS )r@   N)rX   rY   rZ   r\   truncr]   r   r   r   r   r@      s   r@   c               @   s   e Zd ZejZdS )rH   N)rX   rY   rZ   r\   radiansr]   r   r   r   r   rH      s   rH   c               @   s   e Zd ZejZdS )rF   N)rX   rY   rZ   r\   degreesr]   r   r   r   r   rF      s   rF   c               @   s   e Zd ZejZdS )rP   N)rX   rY   rZ   r\   erfr]   r   r   r   r   rP      s   rP   c               @   s   e Zd ZejZdS )rR   N)rX   rY   rZ   r\   erfcr]   r   r   r   r   rR      s   rR   c               @   s   e Zd ZejZdS )rT   N)rX   rY   rZ   r\   gammar]   r   r   r   r   rT     s   rT   c               @   s   e Zd ZejZdS )rV   N)rX   rY   rZ   r\   lgammar]   r   r   r   r   rV     s   rV   c               @   s0   e Zd ZeejejejeejejejgZdS )Math_binaryN)rX   rY   rZ   r	   r   ra   r9   rb   r   r   r   r   r   
  s   r   c               @   s   e Zd ZejZdS )rJ   N)rX   rY   rZ   r\   copysignr]   r   r   r   r   rJ     s   rJ   c               @   s   e Zd ZejZdS )rL   N)rX   rY   rZ   r\   fmodr]   r   r   r   r   rL     s   rL   c               @   sV   e Zd ZejZeejejejeej	ej	ej	eejejej
eej	ej	ej
gZdS )rN   N)rX   rY   rZ   r\   powr]   r	   r   ra   r9   Zint32rb   r   r   r   r   rN     s
   rN   c               @   sF   e Zd ZejZeejej	eejej
eejejeejejgZdS )rB   N)rX   rY   rZ   r\   isnanr]   r	   r   booleanr_   r`   ra   r9   rb   r   r   r   r   rB   #  s
   rB   c               @   sF   e Zd ZejZeejej	eejej
eejejeejejgZdS )rD   N)rX   rY   rZ   r\   isinfr]   r	   r   r   r_   r`   ra   r9   rb   r   r   r   r   rD   -  s
   rD   )[Z
__future__r   r   r   r\   Znumbar   r   Znumba.typing.templatesr   r   r	   r
   registryZregister_attrZbuiltin_attrZregister_globalZinfer_globalr   r^   r   r   r   r   r   r   r   r   r!   r#   r%   r'   r)   r+   r-   r/   r1   r3   r5   r7   r<   r>   r@   rH   rF   rP   rR   rT   rV   r   rJ   rL   rN   rB   rD   r[   rc   r   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   r   r   r{   rz   r   r   r   r|   r}   r~   r   r   r   r   r   <module>   s   s	



