U
    9%ew%                    @   sV  d dl Z d dlZddlmZ e  dd ZejdddZejddd	Zejdd
dZ	ejdddZ
ejdddZejdddZejdddZejdddZejdddZejdddZejdddZejdddZejdddZejdd d!Zejdd"d#Zejdd$d%Zejdd&d'Zejdd(d)Zejdd*d+Zejdd,d-Zejdd.d/Zejdd0d1Zejdd2d3Zejdd4d5Zejdd6d7Zejdd8d9Z ejdd:d;Z!ejdd<d=Z"ejdd>d?Z#ejdd@dAZ$ejddBdCZ%ejddDdEZ&ejddFdGZ'ejddHdIZ(ejddJdKZ)ejddLdMZ*ejddNdOZ+ejddPdQZ,ejddRdSZ-ejddTdUZ.ejddVdWZ/ejddXdYZ0ejddZd[Z1ejdd\d]Z2ejdd^d_Z3ejdd`daZ4ejddbdcZ5ejddddeZ6ejddfdgZ7ejddhdiZ8ejddjdkZ9ejddldmZ:ejddndoZ;ejddpdqZ<ejddrdsZ=ejddtduZ>ejddvdwZ?ejddxdyZ@ejddzd{ZAejdd|d}ZBejdd~dZCejdddZDejdddZEejdddZFejdddZGejdddZHejdddZIejdddZJejdddZKejdddZLejdddZMejdddZNejdddZOejdddZPejdddZQejdddZRejdddZSejdddZTejdddZUejdddZVejdddZWejdddZXejdddZYejdddZZejdddZ[ejdddZ\ejdddZ]ejdddZ^ejdddZ_ejdddZ`ejdddZaejdddZbejdddZcejdddZdejdddÄZeejdddńZfejdddǄZgejdddɄZhejddd˄Ziejddd̈́ZjejdddτZkejdddфZlejdddӄZmejdddՄZnejdddׄZoejdddلZpejdddۄZqejddd݄Zrejd dd߄ZsejdddZtejdddZuejdddZvejdddZwejdddZxejdddZyejdddZzejdddZ{ejd	ddZ|ejd
ddZ}ejdddZ~ejdddZejdddZejdddZejdddZejdddZejdd dZejdddZejdddZejdddZejddd	Zejdd
dZejdddZejdddZejdddZejdddZejdddZejdddZejdddZejdddZejdddZejd ddZejd!d d!Zejd"d"d#Zejd#d$d%Zejd$d&d'Zejd%d(d)Zejd&d*d+Zejd'd,d-Zejd(d.d/Zejd)d0d1Zejd*d2d3Zejd+d4d5Zejd,d6d7Zejd-d8d9Zejd.d:d;Zejd/d<d=Zejd0d>d?Zejd1d@dAZejd2dBdCZejd3dDdEZejd4dFdGZejd5dHdIZejd6dJdKZejd7dLdMZejd8dNdOZejd9dPdQZejd:dRdSZejd;dTdUZejd<dVdWZejd=dXdYZejd>dZd[Zejd?d\d]Zejd@d^d_ZejdAd`daZejdBdbdcZejdCdddeZejdDdfdgZejdEdhdiZejdFdjdkZejdGdldmZejdHdndoZejdIdpdqZejdJdrdsZejdKdtduZejdLdvdwZejdMdxdyZejdNdzd{ZejdOd|d}ZejdPd~dZejdQddZejdRddZejdSddZejdTddZejdUddZejdVddZejdWddZejdXddZejdYddZejdZddZdS ([      N   )corec                  C   sX   dd l } tjtjtjtdd}| jjd krHtj|ddd}nd}t	d|S )	Nr   z..Zthird_partycudalibzlibdevice.10.bc ZTRITON_LIBDEVICE_PATH)
torchospathjoindirnameabspath__file__versionZhipgetenv)r   Zthird_party_dirdefault r   S/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/triton/language/math.pylibdevice_path   s     r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )N	libdeviceint32Z__nv_clzint64Z
__nv_clzllTis_pure_builderr   Zextern_elementwiser   Zdtypearg0r   r   r   r   clz   s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r   Z	__nv_popcr   Z__nv_popcllTr   r   r   r   r   r   popc   s    
  r   c              	   C   sD   t jdt | ||gt dt dt dfdt dfid|dS )Nr   r   Z__nv_byte_permTr   r   r   arg1arg2r   r   r   r   	byte_perm"   s
    ( r"   c                 C   s   t jdt | |gt dt dfdt dft dt dfdt dft dt dfdt dft dt dfd	t dft d
t d
fdt d
ft dt dfdt dfid|dS )Nr   r   Z__nv_minuint32Z	__nv_uminr   Z
__nv_llminuint64Z__nv_ullminfp32Z
__nv_fminffp64Z	__nv_fminTr   r   r   r    r   r   r   r   min)   s           r(   c                 C   s   t jdt | |gt dt dfdt dft dt dfdt dft dt dfdt dft dt dfd	t dft d
t d
fdt d
ft dt dfdt dfid|dS )Nr   r   Z__nv_maxr#   Z	__nv_umaxr   Z
__nv_llmaxr$   Z__nv_ullmaxr%   Z
__nv_fmaxfr&   Z	__nv_fmaxTr   r   r'   r   r   r   max5   s           r)   c                 C   s   t jdt | |gt dt dfdt dft dt dfdt dft dt dfdt dft dt dfd	t dfid
|dS )Nr   r   Z
__nv_mulhir#   Z__nv_umulhir   Z__nv_mul64hir$   Z__nv_umul64hiTr   r   r'   r   r   r   mulhiA   s        r*   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r   Z
__nv_mul24r#   Z__nv_umul24Tr   r   r'   r   r   r   mul24K   s      r+   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r   Z	__nv_brevr   Z__nv_brevllTr   r   r   r   r   r   brevS   s    
  r,   c                 C   sj   t jdt | ||gt dt dt dfdt dft dt dt dfdt dfid|dS )Nr   r   r#   Z__nv_sadZ	__nv_usadTr   r   r   r   r   r   sad[   s    &  r-   c                 C   sr   t jdt | gt dfdt dft dfdt dft dfdt dft dfd	t dfid
|dS )Nr   r   Z__nv_absr   Z
__nv_llabsr%   Z
__nv_fabsfr&   Z	__nv_fabsTr   r   r   r   r   r   absc   s    
 
 
  r.   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_floorfr&   Z
__nv_floorTr   r   r   r   r   r   floorm   s    
  r/   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_rcp64hTr   r   r   r   r   r   rcp64hu   s
     r0   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_rsqrtfr&   Z
__nv_rsqrtTr   r   r   r   r   r   rsqrt|   s    
  r1   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r&   Z	__nv_ceilr%   Z
__nv_ceilfTr   r   r   r   r   r   ceil   s    
  r2   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r&   Z
__nv_truncr%   Z__nv_truncfTr   r   r   r   r   r   trunc   s    
  r3   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_exp2fr&   Z	__nv_exp2Tr   r   r   r   r   r   exp2   s    
  r4   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_saturatefTr   r   r   r   r   r   	saturatef   s
     r5   c                 C   sj   t jdt | ||gt dt dt dfdt dft dt dt dfdt dfid|dS )Nr   r%   Z__nv_fmaf_rnr&   Z__nv_fma_rnTr   r   r   r   r   r   fma_rn   s    &  r6   c                 C   sj   t jdt | ||gt dt dt dfdt dft dt dt dfdt dfid|dS )Nr   r%   Z__nv_fmaf_rzr&   Z__nv_fma_rzTr   r   r   r   r   r   fma_rz   s    &  r7   c                 C   sj   t jdt | ||gt dt dt dfdt dft dt dt dfdt dfid|dS )Nr   r%   Z__nv_fmaf_rdr&   Z__nv_fma_rdTr   r   r   r   r   r   fma_rd   s    &  r8   c                 C   sj   t jdt | ||gt dt dt dfdt dft dt dt dfdt dfid|dS )Nr   r%   Z__nv_fmaf_rur&   Z__nv_fma_ruTr   r   r   r   r   r   fma_ru   s    &  r9   c              	   C   s:   t jdt | |gt dt dfdt dfid|dS )Nr   r%   Z__nv_fast_fdividefTr   r   r'   r   r   r   fast_dividef   s
      r:   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_fdiv_rnr&   Z__nv_ddiv_rnTr   r   r'   r   r   r   div_rn   s      r;   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_fdiv_rzr&   Z__nv_ddiv_rzTr   r   r'   r   r   r   div_rz   s      r<   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_fdiv_rdr&   Z__nv_ddiv_rdTr   r   r'   r   r   r   div_rd   s      r=   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_fdiv_rur&   Z__nv_ddiv_ruTr   r   r'   r   r   r   div_ru   s      r>   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_frcp_rnr&   Z__nv_drcp_rnTr   r   r   r   r   r   rcp_rn   s    
  r?   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_frcp_rzr&   Z__nv_drcp_rzTr   r   r   r   r   r   rcp_rz   s    
  r@   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_frcp_rdr&   Z__nv_drcp_rdTr   r   r   r   r   r   rcp_rd   s    
  rA   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_frcp_rur&   Z__nv_drcp_ruTr   r   r   r   r   r   rcp_ru  s    
  rB   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_fsqrt_rnr&   Z__nv_dsqrt_rnTr   r   r   r   r   r   sqrt_rn
  s    
  rC   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_fsqrt_rzr&   Z__nv_dsqrt_rzTr   r   r   r   r   r   sqrt_rz  s    
  rD   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_fsqrt_rdr&   Z__nv_dsqrt_rdTr   r   r   r   r   r   sqrt_rd  s    
  rE   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_fsqrt_rur&   Z__nv_dsqrt_ruTr   r   r   r   r   r   sqrt_ru"  s    
  rF   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_sqrtfr&   Z	__nv_sqrtTr   r   r   r   r   r   sqrt*  s    
  rG   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r&   Z__nv_dadd_rnr%   Z__nv_fadd_rnTr   r   r'   r   r   r   add_rn2  s      rH   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r&   Z__nv_dadd_rzr%   Z__nv_fadd_rzTr   r   r'   r   r   r   add_rz:  s      rI   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r&   Z__nv_dadd_rdr%   Z__nv_fadd_rdTr   r   r'   r   r   r   add_rdB  s      rJ   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r&   Z__nv_dadd_rur%   Z__nv_fadd_ruTr   r   r'   r   r   r   add_ruJ  s      rK   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r&   Z__nv_dmul_rnr%   Z__nv_fmul_rnTr   r   r'   r   r   r   mul_rnR  s      rL   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r&   Z__nv_dmul_rzr%   Z__nv_fmul_rzTr   r   r'   r   r   r   mul_rzZ  s      rM   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r&   Z__nv_dmul_rdr%   Z__nv_fmul_rdTr   r   r'   r   r   r   mul_rdb  s      rN   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r&   Z__nv_dmul_rur%   Z__nv_fmul_ruTr   r   r'   r   r   r   mul_ruj  s      rO   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2float_rnr%   Tr   r   r   r   r   r   double2float_rnr  s
     rP   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2float_rzr%   Tr   r   r   r   r   r   double2float_rzy  s
     rQ   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2float_rdr%   Tr   r   r   r   r   r   double2float_rd  s
     rR   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2float_rur%   Tr   r   r   r   r   r   double2float_ru  s
     rS   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2int_rnr   Tr   r   r   r   r   r   double2int_rn  s
     rT   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2int_rzr   Tr   r   r   r   r   r   double2int_rz  s
     rU   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2int_rdr   Tr   r   r   r   r   r   double2int_rd  s
     rV   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2int_rur   Tr   r   r   r   r   r   double2int_ru  s
     rW   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2uint_rnr   Tr   r   r   r   r   r   double2uint_rn  s
     rX   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2uint_rzr   Tr   r   r   r   r   r   double2uint_rz  s
     rY   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2uint_rdr   Tr   r   r   r   r   r   double2uint_rd  s
     rZ   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2uint_rur   Tr   r   r   r   r   r   double2uint_ru  s
     r[   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_int2double_rnr&   Tr   r   r   r   r   r   int2double_rn  s
     r\   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r#   Z__nv_uint2double_rnr&   Tr   r   r   r   r   r   uint2double_rn  s
     r]   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2int_rnr   Tr   r   r   r   r   r   float2int_rn  s
     r^   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2int_rzr   Tr   r   r   r   r   r   float2int_rz  s
     r_   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2int_rdr   Tr   r   r   r   r   r   float2int_rd  s
     r`   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2int_rur   Tr   r   r   r   r   r   float2int_ru  s
     ra   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2uint_rnr   Tr   r   r   r   r   r   float2uint_rn  s
     rb   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2uint_rzr   Tr   r   r   r   r   r   float2uint_rz  s
     rc   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2uint_rdr   Tr   r   r   r   r   r   float2uint_rd  s
     rd   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2uint_rur   Tr   r   r   r   r   r   float2uint_ru  s
     re   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_int2float_rnr%   Tr   r   r   r   r   r   int2float_rn  s
     rf   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_int2float_rzr%   Tr   r   r   r   r   r   int2float_rz  s
     rg   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_int2float_rdr%   Tr   r   r   r   r   r   int2float_rd  s
     rh   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_int2float_rur%   Tr   r   r   r   r   r   int2float_ru!  s
     ri   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r#   Z__nv_uint2float_rnr%   Tr   r   r   r   r   r   uint2float_rn(  s
     rj   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r#   Z__nv_uint2float_rzr%   Tr   r   r   r   r   r   uint2float_rz/  s
     rk   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r#   Z__nv_uint2float_rdr%   Tr   r   r   r   r   r   uint2float_rd6  s
     rl   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r#   Z__nv_uint2float_rur%   Tr   r   r   r   r   r   uint2float_ru=  s
     rm   c              	   C   s:   t jdt | |gt dt dfdt dfid|dS )Nr   r   Z__nv_hiloint2doubler&   Tr   r   r'   r   r   r   hiloint2doubleD  s
      rn   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2lointr   Tr   r   r   r   r   r   double2lointK  s
     ro   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2hiintr   Tr   r   r   r   r   r   double2hiintR  s
     rp   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2ll_rnr   Tr   r   r   r   r   r   float2ll_rnY  s
     rq   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2ll_rzr   Tr   r   r   r   r   r   float2ll_rz`  s
     rr   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2ll_rdr   Tr   r   r   r   r   r   float2ll_rdg  s
     rs   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2ll_rur   Tr   r   r   r   r   r   float2ll_run  s
     rt   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2ull_rnr   Tr   r   r   r   r   r   float2ull_rnu  s
     ru   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2ull_rzr   Tr   r   r   r   r   r   float2ull_rz|  s
     rv   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2ull_rdr   Tr   r   r   r   r   r   float2ull_rd  s
     rw   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float2ull_rur   Tr   r   r   r   r   r   float2ull_ru  s
     rx   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2ll_rnr   Tr   r   r   r   r   r   double2ll_rn  s
     ry   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2ll_rzr   Tr   r   r   r   r   r   double2ll_rz  s
     rz   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2ll_rdr   Tr   r   r   r   r   r   double2ll_rd  s
     r{   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2ll_rur   Tr   r   r   r   r   r   double2ll_ru  s
     r|   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2ull_rnr   Tr   r   r   r   r   r   double2ull_rn  s
     r}   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2ull_rzr   Tr   r   r   r   r   r   double2ull_rz  s
     r~   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2ull_rdr   Tr   r   r   r   r   r   double2ull_rd  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double2ull_rur   Tr   r   r   r   r   r   double2ull_ru  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_ll2float_rnr%   Tr   r   r   r   r   r   ll2float_rn  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_ll2float_rzr%   Tr   r   r   r   r   r   ll2float_rz  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_ll2float_rdr%   Tr   r   r   r   r   r   ll2float_rd  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_ll2float_rur%   Tr   r   r   r   r   r   ll2float_ru  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r$   Z__nv_ull2float_rnr%   Tr   r   r   r   r   r   ull2float_rn  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r$   Z__nv_ull2float_rzr%   Tr   r   r   r   r   r   ull2float_rz  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r$   Z__nv_ull2float_rdr%   Tr   r   r   r   r   r   ull2float_rd  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r$   Z__nv_ull2float_rur%   Tr   r   r   r   r   r   ull2float_ru  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_ll2double_rnr&   Tr   r   r   r   r   r   ll2double_rn  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_ll2double_rzr&   Tr   r   r   r   r   r   ll2double_rz  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_ll2double_rdr&   Tr   r   r   r   r   r   ll2double_rd  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_ll2double_rur&   Tr   r   r   r   r   r   ll2double_ru  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r$   Z__nv_ull2double_rnr&   Tr   r   r   r   r   r   ull2double_rn  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r$   Z__nv_ull2double_rzr&   Tr   r   r   r   r   r   ull2double_rz$  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r$   Z__nv_ull2double_rdr&   Tr   r   r   r   r   r   ull2double_rd+  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r$   Z__nv_ull2double_rur&   Tr   r   r   r   r   r   ull2double_ru2  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_int_as_floatr%   Tr   r   r   r   r   r   int_as_float9  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float_as_intr   Tr   r   r   r   r   r   float_as_int@  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r#   Z__nv_uint_as_floatr%   Tr   r   r   r   r   r   uint_as_floatG  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_float_as_uintr   Tr   r   r   r   r   r   float_as_uintN  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r   Z__nv_longlong_as_doubler&   Tr   r   r   r   r   r   longlong_as_doubleU  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_double_as_longlongr   Tr   r   r   r   r   r   double_as_longlong\  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_fast_sinfTr   r   r   r   r   r   	fast_sinfc  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_fast_cosfTr   r   r   r   r   r   	fast_cosfj  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_fast_log2fTr   r   r   r   r   r   
fast_log2fq  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_fast_logfTr   r   r   r   r   r   	fast_logfx  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_fast_expfTr   r   r   r   r   r   	fast_expf  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_fast_tanfTr   r   r   r   r   r   	fast_tanf  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_fast_exp10fTr   r   r   r   r   r   fast_exp10f  s
     r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_fast_log10fTr   r   r   r   r   r   fast_log10f  s
     r   c              	   C   s:   t jdt | |gt dt dfdt dfid|dS )Nr   r%   Z__nv_fast_powfTr   r   r'   r   r   r   	fast_powf  s
      r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r   Z	__nv_haddr#   Z
__nv_uhaddTr   r   r'   r   r   r   hadd  s      r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r   Z
__nv_rhaddr#   Z__nv_urhaddTr   r   r'   r   r   r   rhadd  s      r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_fsub_rnr&   Z__nv_dsub_rnTr   r   r'   r   r   r   sub_rn  s      r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_fsub_rzr&   Z__nv_dsub_rzTr   r   r'   r   r   r   sub_rz  s      r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_fsub_rdr&   Z__nv_dsub_rdTr   r   r'   r   r   r   sub_rd  s      r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_fsub_rur&   Z__nv_dsub_ruTr   r   r'   r   r   r   sub_ru  s      r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_frsqrt_rnTr   r   r   r   r   r   rsqrt_rn  s
     r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r   Z__nv_ffsr   Z
__nv_ffsllTr   r   r   r   r   r   ffs  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_rintfr&   Z	__nv_rintTr   r   r   r   r   r   rint  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )	Nr   r%   Z__nv_llrintfr   r&   Z__nv_llrintTr   r   r   r   r   r   llrint  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_nearbyintfr&   Z__nv_nearbyintTr   r   r   r   r   r   	nearbyint  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )	Nr   r%   Z__nv_isnanfr   r&   Z__nv_isnandTr   r   r   r   r   r   isnan  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )	Nr   r%   Z__nv_signbitfr   r&   Z__nv_signbitdTr   r   r   r   r   r   signbit  s    
  r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_copysignfr&   Z__nv_copysignTr   r   r'   r   r   r   copysign	  s      r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r%   Z__nv_finitefr   Tr   r   r   r   r   r   finitef  s
     r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )	Nr   r%   Z__nv_isinffr   r&   Z__nv_isinfdTr   r   r   r   r   r   isinf  s    
  r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_nextafterfr&   Z__nv_nextafterTr   r   r'   r   r   r   	nextafter   s      r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z	__nv_sinfr&   Z__nv_sinTr   r   r   r   r   r   sin(  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z	__nv_cosfr&   Z__nv_cosTr   r   r   r   r   r   cos0  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_sinpifr&   Z
__nv_sinpiTr   r   r   r   r   r   sinpi8  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_cospifr&   Z
__nv_cospiTr   r   r   r   r   r   cospi@  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z	__nv_tanfr&   Z__nv_tanTr   r   r   r   r   r   tanH  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_log2fr&   Z	__nv_log2Tr   r   r   r   r   r   log2P  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z	__nv_expfr&   Z__nv_expTr   r   r   r   r   r   expX  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_exp10fr&   Z
__nv_exp10Tr   r   r   r   r   r   exp10`  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_coshfr&   Z	__nv_coshTr   r   r   r   r   r   coshh  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_sinhfr&   Z	__nv_sinhTr   r   r   r   r   r   sinhp  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_tanhfr&   Z	__nv_tanhTr   r   r   r   r   r   tanhx  s    
  r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_atan2fr&   Z
__nv_atan2Tr   r   r'   r   r   r   atan2  s      r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_atanfr&   Z	__nv_atanTr   r   r   r   r   r   atan  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_asinfr&   Z	__nv_asinTr   r   r   r   r   r   asin  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_acosfr&   Z	__nv_acosTr   r   r   r   r   r   acos  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z	__nv_logfr&   Z__nv_logTr   r   r   r   r   r   log  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_log10fr&   Z
__nv_log10Tr   r   r   r   r   r   log10  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_log1pfr&   Z
__nv_log1pTr   r   r   r   r   r   log1p  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_acoshfr&   Z
__nv_acoshTr   r   r   r   r   r   acosh  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_asinhfr&   Z
__nv_asinhTr   r   r   r   r   r   asinh  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_atanhfr&   Z
__nv_atanhTr   r   r   r   r   r   atanh  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_expm1fr&   Z
__nv_expm1Tr   r   r   r   r   r   expm1  s    
  r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_hypotfr&   Z
__nv_hypotTr   r   r'   r   r   r   hypot  s      r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_rhypotfr&   Z__nv_rhypotTr   r   r'   r   r   r   rhypot  s      r   c                 C   sj   t jdt | ||gt dt dt dfdt dft dt dt dfdt dfid|dS )Nr   r%   Z__nv_norm3dfr&   Z__nv_norm3dTr   r   r   r   r   r   norm3d  s    &  r   c                 C   sj   t jdt | ||gt dt dt dfdt dft dt dt dfdt dfid|dS )Nr   r%   Z__nv_rnorm3dfr&   Z__nv_rnorm3dTr   r   r   r   r   r   rnorm3d  s    &  r   c                 C   s|   t jdt | |||gt dt dt dt dfdt dft dt dt dt dfdt dfid|dS )Nr   r%   Z__nv_norm4dfr&   Z__nv_norm4dTr   r   r   r    r!   Zarg3r   r   r   r   norm4d  s    ."  r   c                 C   s|   t jdt | |||gt dt dt dt dfdt dft dt dt dt dfdt dfid|dS )Nr   r%   Z__nv_rnorm4dfr&   Z__nv_rnorm4dTr   r   r   r   r   r   rnorm4d   s    ."  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_cbrtfr&   Z	__nv_cbrtTr   r   r   r   r   r   cbrt  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_rcbrtfr&   Z
__nv_rcbrtTr   r   r   r   r   r   rcbrt  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_j0fr&   Z__nv_j0Tr   r   r   r   r   r   j0  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_j1fr&   Z__nv_j1Tr   r   r   r   r   r   j1   s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_y0fr&   Z__nv_y0Tr   r   r   r   r   r   y0(  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_y1fr&   Z__nv_y1Tr   r   r   r   r   r   y10  s    
  r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )	Nr   r   r%   Z__nv_ynfr&   Z__nv_ynTr   r   r'   r   r   r   yn8  s      r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )	Nr   r   r%   Z__nv_jnfr&   Z__nv_jnTr   r   r'   r   r   r   jn@  s      r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_cyl_bessel_i0fr&   Z__nv_cyl_bessel_i0Tr   r   r   r   r   r   cyl_bessel_i0H  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_cyl_bessel_i1fr&   Z__nv_cyl_bessel_i1Tr   r   r   r   r   r   cyl_bessel_i1P  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z	__nv_erffr&   Z__nv_erfTr   r   r   r   r   r   erfX  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_erfinvfr&   Z__nv_erfinvTr   r   r   r   r   r   erfinv`  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_erfcfr&   Z	__nv_erfcTr   r   r   r   r   r   erfch  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_erfcxfr&   Z
__nv_erfcxTr   r   r   r   r   r   erfcxp  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_erfcinvfr&   Z__nv_erfcinvTr   r   r   r   r   r   erfcinvx  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_normcdfinvfr&   Z__nv_normcdfinvTr   r   r   r   r   r   
normcdfinv  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_normcdffr&   Z__nv_normcdfTr   r   r   r   r   r   normcdf  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_lgammafr&   Z__nv_lgammaTr   r   r   r   r   r   lgamma  s    
  r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )	Nr   r%   r   Z__nv_ldexpfr&   Z
__nv_ldexpTr   r   r'   r   r   r   ldexp  s      r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )	Nr   r%   r   Z__nv_scalbnfr&   Z__nv_scalbnTr   r   r'   r   r   r   scalbn  s      r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z
__nv_fmodfr&   Z	__nv_fmodTr   r   r'   r   r   r   fmod  s      r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z__nv_remainderfr&   Z__nv_remainderTr   r   r'   r   r   r   	remainder  s      r   c                 C   sj   t jdt | ||gt dt dt dfdt dft dt dt dfdt dfid|dS )Nr   r%   Z	__nv_fmafr&   Z__nv_fmaTr   r   r   r   r   r   fma  s    &  r   c                 C   s   t jdt | |gt dt dfdt dft dt dfdt dft dt dfdt dft dt dfdt dfid	|d
S )Nr   r%   r   Z
__nv_powifr&   Z	__nv_powiZ	__nv_powfZ__nv_powTr   r   r'   r   r   r   pow  s        r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_tgammafr&   Z__nv_tgammaTr   r   r   r   r   r   tgamma  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z__nv_roundfr&   Z
__nv_roundTr   r   r   r   r   r   round  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )	Nr   r%   Z__nv_llroundfr   r&   Z__nv_llroundTr   r   r   r   r   r   llround  s    
  r   c                 C   sX   t jdt | |gt dt dfdt dft dt dfdt dfid|dS )Nr   r%   Z
__nv_fdimfr&   Z	__nv_fdimTr   r   r'   r   r   r   fdim  s      r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )	Nr   r%   Z__nv_ilogbfr   r&   Z
__nv_ilogbTr   r   r   r   r   r   ilogb  s    
  r   c                 C   sF   t jdt | gt dfdt dft dfdt dfid|dS )Nr   r%   Z
__nv_logbfr&   Z	__nv_logbTr   r   r   r   r   r   logb  s    
  r   c              	   C   s0   t jdt | gt dfdt dfid|dS )Nr   r&   Z__nv_isfinitedr   Tr   r   r   r   r   r   	isfinited  s
     r   )N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)	functoolsr   r   r   	lru_cacher   Zexternr   r   r"   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   s$  

			