o
    hw%                    @   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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ZejdddZejdddZejddd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dd>d?Zejdd@dAZejddBdCZejddDdEZejddFdGZejddHdIZejddJdKZejddLdMZejddNdOZejd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dd`daZejddbdcZejddddeZejddfdgZejddhdiZejddjdkZejddldmZejddndoZejd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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ZdS (      N   )corec                  C   sX   dd l } tjtjtjtdd}| jjd u r$tj|ddd}nd}t	d|S )	Nr   z..third_partycudalibzlibdevice.10.bc TRITON_LIBDEVICE_PATH)
torchospathjoindirnameabspath__file__versionhipgetenv)r	   third_party_dirdefault r   J/var/www/html/ai/venv/lib/python3.10/site-packages/triton/language/math.pylibdevice_path   s    r   c                 C   F   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int32__nv_clzint64
__nv_clzllTis_pure_builderr   extern_elementwiser   dtypearg0r    r   r   r   clz      r&   c                 C   r   )Nr   r   	__nv_popcr   __nv_popcllTr   r!   r$   r   r   r   popc   r'   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   __nv_byte_permTr   r!   r%   arg1arg2r    r   r   r   	byte_perm"   s   (r/   c                 C      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   __nv_minuint32	__nv_uminr   
__nv_llminuint64__nv_ullminfp32
__nv_fminffp64	__nv_fminTr   r!   r%   r-   r    r   r   r   min)      r<   c                 C   r0   )Nr   r   __nv_maxr2   	__nv_umaxr   
__nv_llmaxr5   __nv_ullmaxr7   
__nv_fmaxfr9   	__nv_fmaxTr   r!   r;   r   r   r   max5   r=   rD   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   
__nv_mulhir2   __nv_umulhir   __nv_mul64hir5   __nv_umul64hiTr   r!   r;   r   r   r   mulhiA      rI   c                 C   X   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   
__nv_mul24r2   __nv_umul24Tr   r!   r;   r   r   r   mul24K      rN   c                 C   F   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   	__nv_brevr   __nv_brevllTr   r!   r$   r   r   r   brevS   r'   rS   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   r2   __nv_sad	__nv_usadTr   r!   r,   r   r   r   sad[      &&rV   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   __nv_absr   
__nv_llabsr7   
__nv_fabsfr9   	__nv_fabsTr   r!   r$   r   r   r   absc   s   r\   c                 C   rP   )Nr   r7   __nv_floorfr9   
__nv_floorTr   r!   r$   r   r   r   floorm   r'   r_   c              	   C   0   t jdt | gt dfdt dfid|dS )Nr   r9   __nv_rcp64hTr   r!   r$   r   r   r   rcp64hu      rb   c                 C   rP   )Nr   r7   __nv_rsqrtfr9   
__nv_rsqrtTr   r!   r$   r   r   r   rsqrt|   r'   rf   c                 C   rP   )Nr   r9   	__nv_ceilr7   
__nv_ceilfTr   r!   r$   r   r   r   ceil   r'   ri   c                 C   rP   )Nr   r9   
__nv_truncr7   __nv_truncfTr   r!   r$   r   r   r   trunc   r'   rl   c                 C   rP   )Nr   r7   
__nv_exp2fr9   	__nv_exp2Tr   r!   r$   r   r   r   exp2   r'   ro   c              	   C   r`   )Nr   r7   __nv_saturatefTr   r!   r$   r   r   r   	saturatef   rc   rq   c                 C   j   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   r7   __nv_fmaf_rnr9   __nv_fma_rnTr   r!   r,   r   r   r   fma_rn   rW   ru   c                 C   rr   )Nr   r7   __nv_fmaf_rzr9   __nv_fma_rzTr   r!   r,   r   r   r   fma_rz   rW   rx   c                 C   rr   )Nr   r7   __nv_fmaf_rdr9   __nv_fma_rdTr   r!   r,   r   r   r   fma_rd   rW   r{   c                 C   rr   )Nr   r7   __nv_fmaf_rur9   __nv_fma_ruTr   r!   r,   r   r   r   fma_ru   rW   r~   c              	   C   :   t jdt | |gt dt dfdt dfid|dS )Nr   r7   __nv_fast_fdividefTr   r!   r;   r   r   r   fast_dividef       r   c                 C   rK   )Nr   r7   __nv_fdiv_rnr9   __nv_ddiv_rnTr   r!   r;   r   r   r   div_rn   rO   r   c                 C   rK   )Nr   r7   __nv_fdiv_rzr9   __nv_ddiv_rzTr   r!   r;   r   r   r   div_rz   rO   r   c                 C   rK   )Nr   r7   __nv_fdiv_rdr9   __nv_ddiv_rdTr   r!   r;   r   r   r   div_rd   rO   r   c                 C   rK   )Nr   r7   __nv_fdiv_rur9   __nv_ddiv_ruTr   r!   r;   r   r   r   div_ru   rO   r   c                 C   rP   )Nr   r7   __nv_frcp_rnr9   __nv_drcp_rnTr   r!   r$   r   r   r   rcp_rn   r'   r   c                 C   rP   )Nr   r7   __nv_frcp_rzr9   __nv_drcp_rzTr   r!   r$   r   r   r   rcp_rz   r'   r   c                 C   rP   )Nr   r7   __nv_frcp_rdr9   __nv_drcp_rdTr   r!   r$   r   r   r   rcp_rd   r'   r   c                 C   rP   )Nr   r7   __nv_frcp_rur9   __nv_drcp_ruTr   r!   r$   r   r   r   rcp_ru  r'   r   c                 C   rP   )Nr   r7   __nv_fsqrt_rnr9   __nv_dsqrt_rnTr   r!   r$   r   r   r   sqrt_rn
  r'   r   c                 C   rP   )Nr   r7   __nv_fsqrt_rzr9   __nv_dsqrt_rzTr   r!   r$   r   r   r   sqrt_rz  r'   r   c                 C   rP   )Nr   r7   __nv_fsqrt_rdr9   __nv_dsqrt_rdTr   r!   r$   r   r   r   sqrt_rd  r'   r   c                 C   rP   )Nr   r7   __nv_fsqrt_rur9   __nv_dsqrt_ruTr   r!   r$   r   r   r   sqrt_ru"  r'   r   c                 C   rP   )Nr   r7   
__nv_sqrtfr9   	__nv_sqrtTr   r!   r$   r   r   r   sqrt*  r'   r   c                 C   rK   )Nr   r9   __nv_dadd_rnr7   __nv_fadd_rnTr   r!   r;   r   r   r   add_rn2  rO   r   c                 C   rK   )Nr   r9   __nv_dadd_rzr7   __nv_fadd_rzTr   r!   r;   r   r   r   add_rz:  rO   r   c                 C   rK   )Nr   r9   __nv_dadd_rdr7   __nv_fadd_rdTr   r!   r;   r   r   r   add_rdB  rO   r   c                 C   rK   )Nr   r9   __nv_dadd_rur7   __nv_fadd_ruTr   r!   r;   r   r   r   add_ruJ  rO   r   c                 C   rK   )Nr   r9   __nv_dmul_rnr7   __nv_fmul_rnTr   r!   r;   r   r   r   mul_rnR  rO   r   c                 C   rK   )Nr   r9   __nv_dmul_rzr7   __nv_fmul_rzTr   r!   r;   r   r   r   mul_rzZ  rO   r   c                 C   rK   )Nr   r9   __nv_dmul_rdr7   __nv_fmul_rdTr   r!   r;   r   r   r   mul_rdb  rO   r   c                 C   rK   )Nr   r9   __nv_dmul_rur7   __nv_fmul_ruTr   r!   r;   r   r   r   mul_ruj  rO   r   c              	   C   0   t jdt | gt dfdt dfid|dS )Nr   r9   __nv_double2float_rnr7   Tr   r!   r$   r   r   r   double2float_rnr  rc   r   c              	   C   r   )Nr   r9   __nv_double2float_rzr7   Tr   r!   r$   r   r   r   double2float_rzy  rc   r   c              	   C   r   )Nr   r9   __nv_double2float_rdr7   Tr   r!   r$   r   r   r   double2float_rd  rc   r   c              	   C   r   )Nr   r9   __nv_double2float_rur7   Tr   r!   r$   r   r   r   double2float_ru  rc   r   c              	   C   r   )Nr   r9   __nv_double2int_rnr   Tr   r!   r$   r   r   r   double2int_rn  rc   r   c              	   C   r   )Nr   r9   __nv_double2int_rzr   Tr   r!   r$   r   r   r   double2int_rz  rc   r   c              	   C   r   )Nr   r9   __nv_double2int_rdr   Tr   r!   r$   r   r   r   double2int_rd  rc   r   c              	   C   r   )Nr   r9   __nv_double2int_rur   Tr   r!   r$   r   r   r   double2int_ru  rc   r   c              	   C   r   )Nr   r9   __nv_double2uint_rnr   Tr   r!   r$   r   r   r   double2uint_rn  rc   r   c              	   C   r   )Nr   r9   __nv_double2uint_rzr   Tr   r!   r$   r   r   r   double2uint_rz  rc   r   c              	   C   r   )Nr   r9   __nv_double2uint_rdr   Tr   r!   r$   r   r   r   double2uint_rd  rc   r   c              	   C   r   )Nr   r9   __nv_double2uint_rur   Tr   r!   r$   r   r   r   double2uint_ru  rc   r   c              	   C   r   )Nr   r   __nv_int2double_rnr9   Tr   r!   r$   r   r   r   int2double_rn  rc   r   c              	   C   r   )Nr   r2   __nv_uint2double_rnr9   Tr   r!   r$   r   r   r   uint2double_rn  rc   r   c              	   C   r   )Nr   r7   __nv_float2int_rnr   Tr   r!   r$   r   r   r   float2int_rn  rc   r   c              	   C   r   )Nr   r7   __nv_float2int_rzr   Tr   r!   r$   r   r   r   float2int_rz  rc   r   c              	   C   r   )Nr   r7   __nv_float2int_rdr   Tr   r!   r$   r   r   r   float2int_rd  rc   r   c              	   C   r   )Nr   r7   __nv_float2int_rur   Tr   r!   r$   r   r   r   float2int_ru  rc   r   c              	   C   r   )Nr   r7   __nv_float2uint_rnr   Tr   r!   r$   r   r   r   float2uint_rn  rc   r   c              	   C   r   )Nr   r7   __nv_float2uint_rzr   Tr   r!   r$   r   r   r   float2uint_rz  rc   r   c              	   C   r   )Nr   r7   __nv_float2uint_rdr   Tr   r!   r$   r   r   r   float2uint_rd  rc   r   c              	   C   r   )Nr   r7   __nv_float2uint_rur   Tr   r!   r$   r   r   r   float2uint_ru  rc   r   c              	   C   r   )Nr   r   __nv_int2float_rnr7   Tr   r!   r$   r   r   r   int2float_rn  rc   r   c              	   C   r   )Nr   r   __nv_int2float_rzr7   Tr   r!   r$   r   r   r   int2float_rz  rc   r   c              	   C   r   )Nr   r   __nv_int2float_rdr7   Tr   r!   r$   r   r   r   int2float_rd  rc   r   c              	   C   r   )Nr   r   __nv_int2float_rur7   Tr   r!   r$   r   r   r   int2float_ru!  rc   r   c              	   C   r   )Nr   r2   __nv_uint2float_rnr7   Tr   r!   r$   r   r   r   uint2float_rn(  rc   r   c              	   C   r   )Nr   r2   __nv_uint2float_rzr7   Tr   r!   r$   r   r   r   uint2float_rz/  rc   r   c              	   C   r   )Nr   r2   __nv_uint2float_rdr7   Tr   r!   r$   r   r   r   uint2float_rd6  rc   r   c              	   C   r   )Nr   r2   __nv_uint2float_rur7   Tr   r!   r$   r   r   r   uint2float_ru=  rc   r   c              	   C   s:   t jdt | |gt dt dfdt dfid|dS )Nr   r   __nv_hiloint2doubler9   Tr   r!   r;   r   r   r   hiloint2doubleD  r   r   c              	   C   r   )Nr   r9   __nv_double2lointr   Tr   r!   r$   r   r   r   double2lointK  rc   r  c              	   C   r   )Nr   r9   __nv_double2hiintr   Tr   r!   r$   r   r   r   double2hiintR  rc   r  c              	   C   r   )Nr   r7   __nv_float2ll_rnr   Tr   r!   r$   r   r   r   float2ll_rnY  rc   r  c              	   C   r   )Nr   r7   __nv_float2ll_rzr   Tr   r!   r$   r   r   r   float2ll_rz`  rc   r  c              	   C   r   )Nr   r7   __nv_float2ll_rdr   Tr   r!   r$   r   r   r   float2ll_rdg  rc   r
  c              	   C   r   )Nr   r7   __nv_float2ll_rur   Tr   r!   r$   r   r   r   float2ll_run  rc   r  c              	   C   r   )Nr   r7   __nv_float2ull_rnr   Tr   r!   r$   r   r   r   float2ull_rnu  rc   r  c              	   C   r   )Nr   r7   __nv_float2ull_rzr   Tr   r!   r$   r   r   r   float2ull_rz|  rc   r  c              	   C   r   )Nr   r7   __nv_float2ull_rdr   Tr   r!   r$   r   r   r   float2ull_rd  rc   r  c              	   C   r   )Nr   r7   __nv_float2ull_rur   Tr   r!   r$   r   r   r   float2ull_ru  rc   r  c              	   C   r   )Nr   r9   __nv_double2ll_rnr   Tr   r!   r$   r   r   r   double2ll_rn  rc   r  c              	   C   r   )Nr   r9   __nv_double2ll_rzr   Tr   r!   r$   r   r   r   double2ll_rz  rc   r  c              	   C   r   )Nr   r9   __nv_double2ll_rdr   Tr   r!   r$   r   r   r   double2ll_rd  rc   r  c              	   C   r   )Nr   r9   __nv_double2ll_rur   Tr   r!   r$   r   r   r   double2ll_ru  rc   r  c              	   C   r   )Nr   r9   __nv_double2ull_rnr   Tr   r!   r$   r   r   r   double2ull_rn  rc   r  c              	   C   r   )Nr   r9   __nv_double2ull_rzr   Tr   r!   r$   r   r   r   double2ull_rz  rc   r   c              	   C   r   )Nr   r9   __nv_double2ull_rdr   Tr   r!   r$   r   r   r   double2ull_rd  rc   r"  c              	   C   r   )Nr   r9   __nv_double2ull_rur   Tr   r!   r$   r   r   r   double2ull_ru  rc   r$  c              	   C   r   )Nr   r   __nv_ll2float_rnr7   Tr   r!   r$   r   r   r   ll2float_rn  rc   r&  c              	   C   r   )Nr   r   __nv_ll2float_rzr7   Tr   r!   r$   r   r   r   ll2float_rz  rc   r(  c              	   C   r   )Nr   r   __nv_ll2float_rdr7   Tr   r!   r$   r   r   r   ll2float_rd  rc   r*  c              	   C   r   )Nr   r   __nv_ll2float_rur7   Tr   r!   r$   r   r   r   ll2float_ru  rc   r,  c              	   C   r   )Nr   r5   __nv_ull2float_rnr7   Tr   r!   r$   r   r   r   ull2float_rn  rc   r.  c              	   C   r   )Nr   r5   __nv_ull2float_rzr7   Tr   r!   r$   r   r   r   ull2float_rz  rc   r0  c              	   C   r   )Nr   r5   __nv_ull2float_rdr7   Tr   r!   r$   r   r   r   ull2float_rd  rc   r2  c              	   C   r   )Nr   r5   __nv_ull2float_rur7   Tr   r!   r$   r   r   r   ull2float_ru  rc   r4  c              	   C   r   )Nr   r   __nv_ll2double_rnr9   Tr   r!   r$   r   r   r   ll2double_rn  rc   r6  c              	   C   r   )Nr   r   __nv_ll2double_rzr9   Tr   r!   r$   r   r   r   ll2double_rz  rc   r8  c              	   C   r   )Nr   r   __nv_ll2double_rdr9   Tr   r!   r$   r   r   r   ll2double_rd  rc   r:  c              	   C   r   )Nr   r   __nv_ll2double_rur9   Tr   r!   r$   r   r   r   ll2double_ru  rc   r<  c              	   C   r   )Nr   r5   __nv_ull2double_rnr9   Tr   r!   r$   r   r   r   ull2double_rn  rc   r>  c              	   C   r   )Nr   r5   __nv_ull2double_rzr9   Tr   r!   r$   r   r   r   ull2double_rz$  rc   r@  c              	   C   r   )Nr   r5   __nv_ull2double_rdr9   Tr   r!   r$   r   r   r   ull2double_rd+  rc   rB  c              	   C   r   )Nr   r5   __nv_ull2double_rur9   Tr   r!   r$   r   r   r   ull2double_ru2  rc   rD  c              	   C   r   )Nr   r   __nv_int_as_floatr7   Tr   r!   r$   r   r   r   int_as_float9  rc   rF  c              	   C   r   )Nr   r7   __nv_float_as_intr   Tr   r!   r$   r   r   r   float_as_int@  rc   rH  c              	   C   r   )Nr   r2   __nv_uint_as_floatr7   Tr   r!   r$   r   r   r   uint_as_floatG  rc   rJ  c              	   C   r   )Nr   r7   __nv_float_as_uintr   Tr   r!   r$   r   r   r   float_as_uintN  rc   rL  c              	   C   r   )Nr   r   __nv_longlong_as_doubler9   Tr   r!   r$   r   r   r   longlong_as_doubleU  rc   rN  c              	   C   r   )Nr   r9   __nv_double_as_longlongr   Tr   r!   r$   r   r   r   double_as_longlong\  rc   rP  c              	   C   r`   )Nr   r7   __nv_fast_sinfTr   r!   r$   r   r   r   	fast_sinfc  rc   rR  c              	   C   r`   )Nr   r7   __nv_fast_cosfTr   r!   r$   r   r   r   	fast_cosfj  rc   rT  c              	   C   r`   )Nr   r7   __nv_fast_log2fTr   r!   r$   r   r   r   
fast_log2fq  rc   rV  c              	   C   r`   )Nr   r7   __nv_fast_logfTr   r!   r$   r   r   r   	fast_logfx  rc   rX  c              	   C   r`   )Nr   r7   __nv_fast_expfTr   r!   r$   r   r   r   	fast_expf  rc   rZ  c              	   C   r`   )Nr   r7   __nv_fast_tanfTr   r!   r$   r   r   r   	fast_tanf  rc   r\  c              	   C   r`   )Nr   r7   __nv_fast_exp10fTr   r!   r$   r   r   r   fast_exp10f  rc   r^  c              	   C   r`   )Nr   r7   __nv_fast_log10fTr   r!   r$   r   r   r   fast_log10f  rc   r`  c              	   C   r   )Nr   r7   __nv_fast_powfTr   r!   r;   r   r   r   	fast_powf  r   rb  c                 C   rK   )Nr   r   	__nv_haddr2   
__nv_uhaddTr   r!   r;   r   r   r   hadd  rO   re  c                 C   rK   )Nr   r   
__nv_rhaddr2   __nv_urhaddTr   r!   r;   r   r   r   rhadd  rO   rh  c                 C   rK   )Nr   r7   __nv_fsub_rnr9   __nv_dsub_rnTr   r!   r;   r   r   r   sub_rn  rO   rk  c                 C   rK   )Nr   r7   __nv_fsub_rzr9   __nv_dsub_rzTr   r!   r;   r   r   r   sub_rz  rO   rn  c                 C   rK   )Nr   r7   __nv_fsub_rdr9   __nv_dsub_rdTr   r!   r;   r   r   r   sub_rd  rO   rq  c                 C   rK   )Nr   r7   __nv_fsub_rur9   __nv_dsub_ruTr   r!   r;   r   r   r   sub_ru  rO   rt  c              	   C   r`   )Nr   r7   __nv_frsqrt_rnTr   r!   r$   r   r   r   rsqrt_rn  rc   rv  c                 C   r   )Nr   r   __nv_ffsr   
__nv_ffsllTr   r!   r$   r   r   r   ffs  r'   ry  c                 C   rP   )Nr   r7   
__nv_rintfr9   	__nv_rintTr   r!   r$   r   r   r   rint  r'   r|  c                 C   F   t jdt | gt dfdt dft dfdt dfid|dS )	Nr   r7   __nv_llrintfr   r9   __nv_llrintTr   r!   r$   r   r   r   llrint  r'   r  c                 C   rP   )Nr   r7   __nv_nearbyintfr9   __nv_nearbyintTr   r!   r$   r   r   r   	nearbyint  r'   r  c                 C   r}  )	Nr   r7   __nv_isnanfr   r9   __nv_isnandTr   r!   r$   r   r   r   isnan  r'   r  c                 C   r}  )	Nr   r7   __nv_signbitfr   r9   __nv_signbitdTr   r!   r$   r   r   r   signbit  r'   r  c                 C   rK   )Nr   r7   __nv_copysignfr9   __nv_copysignTr   r!   r;   r   r   r   copysign	  rO   r  c              	   C   r   )Nr   r7   __nv_finitefr   Tr   r!   r$   r   r   r   finitef  rc   r  c                 C   r}  )	Nr   r7   __nv_isinffr   r9   __nv_isinfdTr   r!   r$   r   r   r   isinf  r'   r  c                 C   rK   )Nr   r7   __nv_nextafterfr9   __nv_nextafterTr   r!   r;   r   r   r   	nextafter   rO   r  c                 C   rP   )Nr   r7   	__nv_sinfr9   __nv_sinTr   r!   r$   r   r   r   sin(  r'   r  c                 C   rP   )Nr   r7   	__nv_cosfr9   __nv_cosTr   r!   r$   r   r   r   cos0  r'   r  c                 C   rP   )Nr   r7   __nv_sinpifr9   
__nv_sinpiTr   r!   r$   r   r   r   sinpi8  r'   r  c                 C   rP   )Nr   r7   __nv_cospifr9   
__nv_cospiTr   r!   r$   r   r   r   cospi@  r'   r  c                 C   rP   )Nr   r7   	__nv_tanfr9   __nv_tanTr   r!   r$   r   r   r   tanH  r'   r  c                 C   rP   )Nr   r7   
__nv_log2fr9   	__nv_log2Tr   r!   r$   r   r   r   log2P  r'   r  c                 C   rP   )Nr   r7   	__nv_expfr9   __nv_expTr   r!   r$   r   r   r   expX  r'   r  c                 C   rP   )Nr   r7   __nv_exp10fr9   
__nv_exp10Tr   r!   r$   r   r   r   exp10`  r'   r  c                 C   rP   )Nr   r7   
__nv_coshfr9   	__nv_coshTr   r!   r$   r   r   r   coshh  r'   r  c                 C   rP   )Nr   r7   
__nv_sinhfr9   	__nv_sinhTr   r!   r$   r   r   r   sinhp  r'   r  c                 C   rP   )Nr   r7   
__nv_tanhfr9   	__nv_tanhTr   r!   r$   r   r   r   tanhx  r'   r  c                 C   rK   )Nr   r7   __nv_atan2fr9   
__nv_atan2Tr   r!   r;   r   r   r   atan2  rO   r  c                 C   rP   )Nr   r7   
__nv_atanfr9   	__nv_atanTr   r!   r$   r   r   r   atan  r'   r  c                 C   rP   )Nr   r7   
__nv_asinfr9   	__nv_asinTr   r!   r$   r   r   r   asin  r'   r  c                 C   rP   )Nr   r7   
__nv_acosfr9   	__nv_acosTr   r!   r$   r   r   r   acos  r'   r  c                 C   rP   )Nr   r7   	__nv_logfr9   __nv_logTr   r!   r$   r   r   r   log  r'   r  c                 C   rP   )Nr   r7   __nv_log10fr9   
__nv_log10Tr   r!   r$   r   r   r   log10  r'   r  c                 C   rP   )Nr   r7   __nv_log1pfr9   
__nv_log1pTr   r!   r$   r   r   r   log1p  r'   r  c                 C   rP   )Nr   r7   __nv_acoshfr9   
__nv_acoshTr   r!   r$   r   r   r   acosh  r'   r  c                 C   rP   )Nr   r7   __nv_asinhfr9   
__nv_asinhTr   r!   r$   r   r   r   asinh  r'   r  c                 C   rP   )Nr   r7   __nv_atanhfr9   
__nv_atanhTr   r!   r$   r   r   r   atanh  r'   r  c                 C   rP   )Nr   r7   __nv_expm1fr9   
__nv_expm1Tr   r!   r$   r   r   r   expm1  r'   r  c                 C   rK   )Nr   r7   __nv_hypotfr9   
__nv_hypotTr   r!   r;   r   r   r   hypot  rO   r  c                 C   rK   )Nr   r7   __nv_rhypotfr9   __nv_rhypotTr   r!   r;   r   r   r   rhypot  rO   r  c                 C   rr   )Nr   r7   __nv_norm3dfr9   __nv_norm3dTr   r!   r,   r   r   r   norm3d  rW   r  c                 C   rr   )Nr   r7   __nv_rnorm3dfr9   __nv_rnorm3dTr   r!   r,   r   r   r   rnorm3d  rW   r  c                 C   |   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   r7   __nv_norm4dfr9   __nv_norm4dTr   r!   r%   r-   r.   arg3r    r   r   r   norm4d     ..r  c                 C   r  )Nr   r7   __nv_rnorm4dfr9   __nv_rnorm4dTr   r!   r  r   r   r   rnorm4d   r  r  c                 C   rP   )Nr   r7   
__nv_cbrtfr9   	__nv_cbrtTr   r!   r$   r   r   r   cbrt  r'   r  c                 C   rP   )Nr   r7   __nv_rcbrtfr9   
__nv_rcbrtTr   r!   r$   r   r   r   rcbrt  r'   r  c                 C   rP   )Nr   r7   __nv_j0fr9   __nv_j0Tr   r!   r$   r   r   r   j0  r'   r  c                 C   rP   )Nr   r7   __nv_j1fr9   __nv_j1Tr   r!   r$   r   r   r   j1   r'   r  c                 C   rP   )Nr   r7   __nv_y0fr9   __nv_y0Tr   r!   r$   r   r   r   y0(  r'   r  c                 C   rP   )Nr   r7   __nv_y1fr9   __nv_y1Tr   r!   r$   r   r   r   y10  r'   r  c                 C   X   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   r7   __nv_ynfr9   __nv_ynTr   r!   r;   r   r   r   yn8  rO   r  c                 C   r  )	Nr   r   r7   __nv_jnfr9   __nv_jnTr   r!   r;   r   r   r   jn@  rO   r  c                 C   rP   )Nr   r7   __nv_cyl_bessel_i0fr9   __nv_cyl_bessel_i0Tr   r!   r$   r   r   r   cyl_bessel_i0H  r'   r  c                 C   rP   )Nr   r7   __nv_cyl_bessel_i1fr9   __nv_cyl_bessel_i1Tr   r!   r$   r   r   r   cyl_bessel_i1P  r'   r  c                 C   rP   )Nr   r7   	__nv_erffr9   __nv_erfTr   r!   r$   r   r   r   erfX  r'   r  c                 C   rP   )Nr   r7   __nv_erfinvfr9   __nv_erfinvTr   r!   r$   r   r   r   erfinv`  r'   r  c                 C   rP   )Nr   r7   
__nv_erfcfr9   	__nv_erfcTr   r!   r$   r   r   r   erfch  r'   r  c                 C   rP   )Nr   r7   __nv_erfcxfr9   
__nv_erfcxTr   r!   r$   r   r   r   erfcxp  r'   r  c                 C   rP   )Nr   r7   __nv_erfcinvfr9   __nv_erfcinvTr   r!   r$   r   r   r   erfcinvx  r'   r  c                 C   rP   )Nr   r7   __nv_normcdfinvfr9   __nv_normcdfinvTr   r!   r$   r   r   r   
normcdfinv  r'   r  c                 C   rP   )Nr   r7   __nv_normcdffr9   __nv_normcdfTr   r!   r$   r   r   r   normcdf  r'   r   c                 C   rP   )Nr   r7   __nv_lgammafr9   __nv_lgammaTr   r!   r$   r   r   r   lgamma  r'   r#  c                 C   X   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   r7   r   __nv_ldexpfr9   
__nv_ldexpTr   r!   r;   r   r   r   ldexp  rO   r'  c                 C   r$  )	Nr   r7   r   __nv_scalbnfr9   __nv_scalbnTr   r!   r;   r   r   r   scalbn  rO   r*  c                 C   rK   )Nr   r7   
__nv_fmodfr9   	__nv_fmodTr   r!   r;   r   r   r   fmod  rO   r-  c                 C   rK   )Nr   r7   __nv_remainderfr9   __nv_remainderTr   r!   r;   r   r   r   	remainder  rO   r0  c                 C   rr   )Nr   r7   	__nv_fmafr9   __nv_fmaTr   r!   r,   r   r   r   fma  rW   r3  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   r7   r   
__nv_powifr9   	__nv_powi	__nv_powf__nv_powTr   r!   r;   r   r   r   pow  rJ   r8  c                 C   rP   )Nr   r7   __nv_tgammafr9   __nv_tgammaTr   r!   r$   r   r   r   tgamma  r'   r;  c                 C   rP   )Nr   r7   __nv_roundfr9   
__nv_roundTr   r!   r$   r   r   r   round  r'   r>  c                 C   r}  )	Nr   r7   __nv_llroundfr   r9   __nv_llroundTr   r!   r$   r   r   r   llround  r'   rA  c                 C   rK   )Nr   r7   
__nv_fdimfr9   	__nv_fdimTr   r!   r;   r   r   r   fdim  rO   rD  c                 C   r}  )	Nr   r7   __nv_ilogbfr   r9   
__nv_ilogbTr   r!   r$   r   r   r   ilogb  r'   rG  c                 C   rP   )Nr   r7   
__nv_logbfr9   	__nv_logbTr   r!   r$   r   r   r   logb  r'   rJ  c              	   C   r   )Nr   r9   __nv_isfinitedr   Tr   r!   r$   r   r   r   	isfinited  rc   rL  )N)	functoolsr
   r   r   	lru_cacher   externr&   r*   r/   r<   rD   rI   rN   rS   rV   r\   r_   rb   rf   ri   rl   ro   rq   ru   rx   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.  r0  r2  r4  r6  r8  r:  r<  r>  r@  rB  rD  rF  rH  rJ  rL  rN  rP  rR  rT  rV  rX  rZ  r\  r^  r`  rb  re  rh  rk  rn  rq  rt  rv  ry  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-  r0  r3  r8  r;  r>  rA  rD  rG  rJ  rL  r   r   r   r   <module>   s&   

			