o
    灛i@                     @   s@  d dl mZ ejdiddZejdiddZejdiddZejdid	d
ZejdiddZejdiddZejdiddZ	ejdiddZ
ejdiddZejdiddZejdiddZejdiddZejdiddZejdiddZejdidd Zejdid!d"Zejdid#d$Zejdid%d&Zejdid'd(Zejdid)d*Zejdid+d,Zejdid-d.Zejdid/d0Zejdid1d2Zejdid3d4Zejdid5d6Zejdid7d8Zejdid9d:Zejdid;d<Zejdid=d>Z ejdid?d@Z!ejdidAdBZ"ejdidCdDZ#ejdidEdFZ$ejdidGdHZ%ejdidIdJZ&ejdidKdLZ'ejdidMdNZ(ejdidOdPZ)ejdidQdRZ*ejdidSdTZ+ejdidUdVZ,ejdidWdXZ-ejdidYdZZ.ejdid[d\Z/ejdid]d^Z0ejdid_d`Z1ejdidadbZ2ejdidcddZ3ejdidedfZ4ejdidgdhZ5dS )j    )coreNc                 C   sp   t jdd| 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 )
N int32__triton_hip_iabsint64fp32__triton_hip_fabsfp64Tis_pure_builderr   extern_elementwisedtypearg0r    r   e/sda-disk/www/egybert/egybert_env/lib/python3.10/site-packages/triton/language/extra/hip/libdevice.pyabs   s   r   c                 C   D   t jdd| gt dfdt dft dfdt dfid|dS )Nr   r   __ocml_floor_f32r	   __ocml_floor_f64Tr
   r   r   r   r   r   floor      r   c                 C   r   )Nr   r   __ocml_rsqrt_f32r	   __ocml_rsqrt_f64Tr
   r   r   r   r   r   rsqrt   r   r   c                 C   r   )Nr   r   __ocml_ceil_f32r	   __ocml_ceil_f64Tr
   r   r   r   r   r   ceil!   r   r   c                 C   r   )Nr   r   __ocml_trunc_f32r	   __ocml_trunc_f64Tr
   r   r   r   r   r   trunc*   r   r"   c                 C   r   )Nr   r   __ocml_exp2_f32r	   __ocml_exp2_f64Tr
   r   r   r   r   r   exp23   r   r%   c                 C   r   )Nr   r   __ocml_exp_f32r	   __ocml_exp_f64Tr
   r   r   r   r   r   exp<   r   r(   c              	   C   s8   t jdd| |gt dt dfdt dfid|dS )Nr   r   __triton_hip_fast_fdividefTr
   r   r   arg1r   r   r   r   fast_dividefE   s
   r,   c                 C   r   )Nr   r   __ocml_sqrt_f32r	   __ocml_sqrt_f64Tr
   r   r   r   r   r   sqrtL   r   r/   c                 C   sD   t jdd| gt dfdt dft dfdt dfid|dS )Nr   r   __triton_hip_llrintr   r	   Tr
   r   r   r   r   r   llrintU   r   r1   c                 C   r   )Nr   r   __ocml_nearbyint_f32r	   __ocml_nearbyint_f64Tr
   r   r   r   r   r   	nearbyint^      r4   c                 C   D   t jdd| gt dfdt dft dfdt dfid|dS )	Nr   r   __ocml_isnan_f32r   r	   __ocml_isnan_f64Tr
   r   r   r   r   r   isnani   r5   r9   c                 C   r6   )	Nr   r   __ocml_signbit_f32r   r	   __ocml_signbit_f64Tr
   r   r   r   r   r   signbitt   r5   r<   c                 C   V   t jdd| |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   __ocml_copysign_f32r	   __ocml_copysign_f64Tr
   r   r*   r   r   r   copysign      
r@   c                 C   r6   )	Nr   r   __ocml_isinf_f32r   r	   __ocml_isinf_f64Tr
   r   r   r   r   r   isinf   r   rD   c                 C   r=   )Nr   r   __ocml_nextafter_f32r	   __ocml_nextafter_f64Tr
   r   r*   r   r   r   	nextafter   rA   rG   c                 C   r   )Nr   r   __ocml_sin_f32r	   __ocml_sin_f64Tr
   r   r   r   r   r   sin   r   rJ   c                 C   r   )Nr   r   __ocml_cos_f32r	   __ocml_cos_f64Tr
   r   r   r   r   r   cos   r   rM   c                 C   r   )Nr   r   __ocml_tan_f32r	   __ocml_tan_f64Tr
   r   r   r   r   r   tan   r   rP   c                 C   r   )Nr   r   __ocml_log2_f32r	   __ocml_log2_f64Tr
   r   r   r   r   r   log2   r   rS   c                 C   r   )Nr   r   __ocml_cosh_f32r	   __ocml_cosh_f64Tr
   r   r   r   r   r   cosh   r   rV   c                 C   r   )Nr   r   __ocml_sinh_f32r	   __ocml_sinh_f64Tr
   r   r   r   r   r   sinh   r   rY   c                 C   r   )Nr   r   __ocml_tanh_f32r	   __ocml_tanh_f64Tr
   r   r   r   r   r   tanh   r   r\   c                 C   r=   )Nr   r   __ocml_atan2_f32r	   __ocml_atan2_f64Tr
   r   r*   r   r   r   atan2   rA   r_   c                 C   r   )Nr   r   __ocml_atan_f32r	   __ocml_atan_f64Tr
   r   r   r   r   r   atan   r   rb   c                 C   r   )Nr   r   __ocml_asin_f32r	   __ocml_asin_f64Tr
   r   r   r   r   r   asin   r   re   c                 C   r   )Nr   r   __ocml_acos_f32r	   __ocml_acos_f64Tr
   r   r   r   r   r   acos   r   rh   c                 C   r   )Nr   r   __ocml_log_f32r	   __ocml_log_f64Tr
   r   r   r   r   r   log   r   rk   c                 C   r   )Nr   r   __ocml_log10_f32r	   __ocml_log10_f64Tr
   r   r   r   r   r   log10  r   rn   c                 C   r   )Nr   r   __ocml_log1p_f32r	   __ocml_log1p_f64Tr
   r   r   r   r   r   log1p  r   rq   c                 C   r   )Nr   r   __ocml_acosh_f32r	   __ocml_acosh_f64Tr
   r   r   r   r   r   acosh  r   rt   c                 C   r   )Nr   r   __ocml_asinh_f32r	   __ocml_asinh_f64Tr
   r   r   r   r   r   asinh!  r   rw   c                 C   r   )Nr   r   __ocml_atanh_f32r	   __ocml_atanh_f64Tr
   r   r   r   r   r   atanh*  r   rz   c                 C   r   )Nr   r   __ocml_expm1_f32r	   __ocml_expm1_f64Tr
   r   r   r   r   r   expm13  r   r}   c                 C   r=   )Nr   r   __ocml_hypot_f32r	   __ocml_hypot_f64Tr
   r   r*   r   r   r   hypot<  rA   r   c                 C   r   )Nr   r   __ocml_j0_f32r	   __ocml_j0_f64Tr
   r   r   r   r   r   j0E  r   r   c                 C   r   )Nr   r   __ocml_j1_f32r	   __ocml_j1_f64Tr
   r   r   r   r   r   j1N  r   r   c                 C   r   )Nr   r   __ocml_y0_f32r	   __ocml_y0_f64Tr
   r   r   r   r   r   y0W  r   r   c                 C   r   )Nr   r   __ocml_y1_f32r	   __ocml_y1_f64Tr
   r   r   r   r   r   y1`  r   r   c                 C   r   )Nr   r   __ocml_i0_f32r	   __ocml_i0_f64Tr
   r   r   r   r   r   cyl_bessel_i0i  r   r   c                 C   r   )Nr   r   __ocml_i1_f32r	   __ocml_i1_f64Tr
   r   r   r   r   r   cyl_bessel_i1r  r   r   c                 C   r   )Nr   r   __ocml_erf_f32r	   __ocml_erf_f64Tr
   r   r   r   r   r   erf{  r   r   c                 C   r   )Nr   r   __ocml_erfinv_f32r	   __ocml_erfinv_f64Tr
   r   r   r   r   r   erfinv  r   r   c                 C   r   )Nr   r   __ocml_erfc_f32r	   __ocml_erfc_f64Tr
   r   r   r   r   r   erfc  r   r   c                 C   r   )Nr   r   __ocml_erfcx_f32r	   __ocml_erfcx_f64Tr
   r   r   r   r   r   erfcx  r   r   c                 C   r   )Nr   r   __ocml_lgamma_f32r	   __ocml_lgamma_f64Tr
   r   r   r   r   r   lgamma  r   r   c                 C   sV   t jdd| |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   __ocml_ldexp_f32r	   __ocml_ldexp_f64Tr
   r   r*   r   r   r   ldexp  rA   r   c                 C   r=   )Nr   r   __ocml_fmod_f32r	   __ocml_fmod_f64Tr
   r   r*   r   r   r   fmod  rA   r   c                 C   sh   t jdd| ||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   __ocml_fma_f32r	   __ocml_fma_f64Tr
   r   )r   r+   arg2r   r   r   r   fma  s   &&r   c                 C   s   t jdd| |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   __ocml_pown_f32r	   __ocml_pown_f64__ocml_pow_f32__ocml_pow_f64Tr
   r   r*   r   r   r   pow  s   
r   c                 C   r6   )	Nr   r   __ocml_ilogb_f32r   r	   __ocml_ilogb_f64Tr
   r   r   r   r   r   ilogb  r   r   )N)6triton.languager   externr   r   r   r   r"   r%   r(   r,   r/   r1   r4   r9   r<   r@   rD   rG   rJ   rM   rP   rS   rV   rY   r\   r_   rb   re   rh   rk   rn   rq   rt   rw   rz   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   s    




