
    sg9                     P%   d dl mZ d dlmZ ddlmZ ddlmZ ddl	m
Z
  e
d      Zdedefd	Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Z ej                  edd              Z!ej                  edd              Z"ej                  edd               Z#ej                  edd!              Z$ej                  edd"              Z%ej                  edd#              Z&ej                  edd$              Z'ej                  edd%              Z(ej                  edd&              Z)ej                  edd'              Z*ej                  edd(              Z+ej                  edd)              Z,ej                  edd*              Z-ej                  edd+              Z.ej                  edd,              Z/ej                  edd-              Z0ej                  edd.              Z1ej                  edd/              Z2ej                  edd0              Z3ej                  edd1              Z4ej                  edd2              Z5ej                  edd3              Z6ej                  edd4              Z7ej                  edd5              Z8ej                  edd6              Z9ej                  edd7              Z:ej                  edd8              Z;ej                  edd9              Z<ej                  edd:              Z=ej                  edd;              Z>ej                  edd<              Z?ej                  edd=              Z@ej                  edd>              ZAej                  edd?              ZBej                  edd@              ZCej                  eddA              ZDej                  eddB              ZEej                  eddC              ZFej                  eddD              ZGej                  eddE              ZHej                  eddF              ZIej                  eddG              ZJej                  eddH              ZKej                  eddI              ZLej                  eddJ              ZMej                  eddK              ZNej                  eddL              ZOej                  eddM              ZPej                  eddN              ZQej                  eddO              ZRej                  eddP              ZSej                  eddQ              ZTej                  eddR              ZUej                  eddS              ZVej                  eddT              ZWej                  eddU              ZXej                  eddV              ZYej                  eddW              ZZej                  eddX              Z[ej                  eddY              Z\ej                  eddZ              Z]ej                  edd[              Z^ej                  edd\              Z_ej                  edd]              Z`ej                  edd^              Zaej                  edd_              Zbej                  edd`              Zcej                  edda              Zdej                  eddb              Zeej                  eddc              Zfej                  eddd              Zgej                  edde              Zhej                  eddf              Ziej                  eddg              Zjej                  eddh              Zkej                  eddi              Zlej                  eddj              Zmej                  eddk              Znej                  eddl              Zoej                  eddm              Zpej                  eddn              Zqej                  eddo              Zrej                  eddp              Zsej                  eddq              Ztej                  eddr              Zuej                  edds              Zvej                  eddt              Zwej                  eddu              Zxej                  eddv              Zyej                  eddw              Zzej                  eddx              Z{ej                  eddy              Z|ej                  eddz              Z}ej                  edd{              Z~ej                  edd|              Zej                  edd}              Zej                  edd~              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  edd              Zej                  eddÄ              Zej                  eddĄ              Zej                  eddń              Zej                  eddƄ              Zej                  eddǄ              Zej                  eddȄ              Zej                  eddɄ              Zej                  eddʄ              Zej                  edd˄              Zej                  edd̄              Zej                  edd̈́              Zej                  edd΄              Zej                  eddτ              Zy
)   )	libdevice    )core)wraps)TypeVarTfnreturnc                 H     t               sJ t                fd       }|S )z0Dispatch a function to a correct implementation.c                     |d   j                   j                  }|dk(  rt        }n|dk(  rt        }nt	        d      	 t        |j                        } || i |S # t        $ r t	        d| dj                   d      w xY w)N_buildercudahipzunknown backend`z ` does not provide support for `z` extra function)optionsbackend_namecuda_libdevicehip_libdeviceRuntimeErrorgetattr__name__AttributeError)argskwargs_backend_curr_libdevice_module_implr	   s        R/var/www/html/venv/lib/python3.12/site-packages/triton/language/extra/libdevice.pywrapperzdispatch.<locals>.wrapper   s    *%--::v%3"%2"011	l2BKK@E d%f%%  	l8*,LR[[MYijkk	ls   A &B)callabler   )r	   r   s   ` r   dispatchr!   
   s,    B<<
2Y& &  N    Nc                      y N arg0r   s     r   clzr(   "        r"   c                      y r$   r%   r&   s     r   popcr+   (   r)   r"   c                      y r$   r%   r'   arg1arg2r   s       r   	byte_permr0   .   r)   r"   c                      y r$   r%   r'   r.   r   s      r   mulhir3   4   r)   r"   c                      y r$   r%   r2   s      r   mul24r5   :   r)   r"   c                      y r$   r%   r&   s     r   brevr7   @   r)   r"   c                      y r$   r%   r-   s       r   sadr9   F   r)   r"   c                      y r$   r%   r&   s     r   absr;   L   r)   r"   c                      y r$   r%   r&   s     r   floorr=   R   r)   r"   c                      y r$   r%   r&   s     r   rcp64hr?   X   r)   r"   c                      y r$   r%   r&   s     r   rsqrtrA   ^   r)   r"   c                      y r$   r%   r&   s     r   ceilrC   d   r)   r"   c                      y r$   r%   r&   s     r   truncrE   j   r)   r"   c                      y r$   r%   r&   s     r   exp2rG   p   r)   r"   c                      y r$   r%   r&   s     r   	saturatefrI   v   r)   r"   c                      y r$   r%   r-   s       r   fma_rnrK   |   r)   r"   c                      y r$   r%   r-   s       r   fma_rzrM      r)   r"   c                      y r$   r%   r-   s       r   fma_rdrO      r)   r"   c                      y r$   r%   r-   s       r   fma_rurQ      r)   r"   c                      y r$   r%   r2   s      r   fast_dividefrS      r)   r"   c                      y r$   r%   r2   s      r   div_rnrU      r)   r"   c                      y r$   r%   r2   s      r   div_rzrW      r)   r"   c                      y r$   r%   r2   s      r   div_rdrY      r)   r"   c                      y r$   r%   r2   s      r   div_rur[      r)   r"   c                      y r$   r%   r&   s     r   rcp_rnr]      r)   r"   c                      y r$   r%   r&   s     r   rcp_rzr_      r)   r"   c                      y r$   r%   r&   s     r   rcp_rdra      r)   r"   c                      y r$   r%   r&   s     r   rcp_rurc      r)   r"   c                      y r$   r%   r&   s     r   sqrt_rnre      r)   r"   c                      y r$   r%   r&   s     r   sqrt_rzrg      r)   r"   c                      y r$   r%   r&   s     r   sqrt_rdri      r)   r"   c                      y r$   r%   r&   s     r   sqrt_rurk      r)   r"   c                      y r$   r%   r&   s     r   sqrtrm      r)   r"   c                      y r$   r%   r2   s      r   add_rnro      r)   r"   c                      y r$   r%   r2   s      r   add_rzrq      r)   r"   c                      y r$   r%   r2   s      r   add_rdrs      r)   r"   c                      y r$   r%   r2   s      r   add_ruru      r)   r"   c                      y r$   r%   r2   s      r   mul_rnrw      r)   r"   c                      y r$   r%   r2   s      r   mul_rzry     r)   r"   c                      y r$   r%   r2   s      r   mul_rdr{     r)   r"   c                      y r$   r%   r2   s      r   mul_rur}     r)   r"   c                      y r$   r%   r&   s     r   double2float_rnr     r)   r"   c                      y r$   r%   r&   s     r   double2float_rzr     r)   r"   c                      y r$   r%   r&   s     r   double2float_rdr   $  r)   r"   c                      y r$   r%   r&   s     r   double2float_rur   *  r)   r"   c                      y r$   r%   r&   s     r   double2int_rnr   0  r)   r"   c                      y r$   r%   r&   s     r   double2int_rzr   6  r)   r"   c                      y r$   r%   r&   s     r   double2int_rdr   <  r)   r"   c                      y r$   r%   r&   s     r   double2int_rur   B  r)   r"   c                      y r$   r%   r&   s     r   double2uint_rnr   H  r)   r"   c                      y r$   r%   r&   s     r   double2uint_rzr   N  r)   r"   c                      y r$   r%   r&   s     r   double2uint_rdr   T  r)   r"   c                      y r$   r%   r&   s     r   double2uint_rur   Z  r)   r"   c                      y r$   r%   r&   s     r   int2double_rnr   `  r)   r"   c                      y r$   r%   r&   s     r   uint2double_rnr   f  r)   r"   c                      y r$   r%   r&   s     r   float2int_rnr   l  r)   r"   c                      y r$   r%   r&   s     r   float2int_rzr   r  r)   r"   c                      y r$   r%   r&   s     r   float2int_rdr   x  r)   r"   c                      y r$   r%   r&   s     r   float2int_rur   ~  r)   r"   c                      y r$   r%   r&   s     r   float2uint_rnr     r)   r"   c                      y r$   r%   r&   s     r   float2uint_rzr     r)   r"   c                      y r$   r%   r&   s     r   float2uint_rdr     r)   r"   c                      y r$   r%   r&   s     r   float2uint_rur     r)   r"   c                      y r$   r%   r&   s     r   int2float_rnr     r)   r"   c                      y r$   r%   r&   s     r   int2float_rzr     r)   r"   c                      y r$   r%   r&   s     r   int2float_rdr     r)   r"   c                      y r$   r%   r&   s     r   int2float_rur     r)   r"   c                      y r$   r%   r&   s     r   uint2float_rnr     r)   r"   c                      y r$   r%   r&   s     r   uint2float_rzr     r)   r"   c                      y r$   r%   r&   s     r   uint2float_rdr     r)   r"   c                      y r$   r%   r&   s     r   uint2float_rur     r)   r"   c                      y r$   r%   r2   s      r   hiloint2doubler     r)   r"   c                      y r$   r%   r&   s     r   double2lointr     r)   r"   c                      y r$   r%   r&   s     r   double2hiintr     r)   r"   c                      y r$   r%   r&   s     r   float2ll_rnr     r)   r"   c                      y r$   r%   r&   s     r   float2ll_rzr     r)   r"   c                      y r$   r%   r&   s     r   float2ll_rdr     r)   r"   c                      y r$   r%   r&   s     r   float2ll_rur     r)   r"   c                      y r$   r%   r&   s     r   float2ull_rnr     r)   r"   c                      y r$   r%   r&   s     r   float2ull_rzr     r)   r"   c                      y r$   r%   r&   s     r   float2ull_rdr     r)   r"   c                      y r$   r%   r&   s     r   float2ull_rur     r)   r"   c                      y r$   r%   r&   s     r   double2ll_rnr     r)   r"   c                      y r$   r%   r&   s     r   double2ll_rzr     r)   r"   c                      y r$   r%   r&   s     r   double2ll_rdr     r)   r"   c                      y r$   r%   r&   s     r   double2ll_rur      r)   r"   c                      y r$   r%   r&   s     r   double2ull_rnr   &  r)   r"   c                      y r$   r%   r&   s     r   double2ull_rzr   ,  r)   r"   c                      y r$   r%   r&   s     r   double2ull_rdr   2  r)   r"   c                      y r$   r%   r&   s     r   double2ull_rur   8  r)   r"   c                      y r$   r%   r&   s     r   ll2float_rnr   >  r)   r"   c                      y r$   r%   r&   s     r   ll2float_rzr   D  r)   r"   c                      y r$   r%   r&   s     r   ll2float_rdr   J  r)   r"   c                      y r$   r%   r&   s     r   ll2float_rur   P  r)   r"   c                      y r$   r%   r&   s     r   ull2float_rnr   V  r)   r"   c                      y r$   r%   r&   s     r   ull2float_rzr   \  r)   r"   c                      y r$   r%   r&   s     r   ull2float_rdr   b  r)   r"   c                      y r$   r%   r&   s     r   ull2float_rur   h  r)   r"   c                      y r$   r%   r&   s     r   ll2double_rnr   n  r)   r"   c                      y r$   r%   r&   s     r   ll2double_rzr   t  r)   r"   c                      y r$   r%   r&   s     r   ll2double_rdr   z  r)   r"   c                      y r$   r%   r&   s     r   ll2double_rur     r)   r"   c                      y r$   r%   r&   s     r   ull2double_rnr     r)   r"   c                      y r$   r%   r&   s     r   ull2double_rzr     r)   r"   c                      y r$   r%   r&   s     r   ull2double_rdr     r)   r"   c                      y r$   r%   r&   s     r   ull2double_rur     r)   r"   c                      y r$   r%   r&   s     r   int_as_floatr    r)   r"   c                      y r$   r%   r&   s     r   float_as_intr    r)   r"   c                      y r$   r%   r&   s     r   uint_as_floatr    r)   r"   c                      y r$   r%   r&   s     r   float_as_uintr    r)   r"   c                      y r$   r%   r&   s     r   longlong_as_doubler	    r)   r"   c                      y r$   r%   r&   s     r   double_as_longlongr    r)   r"   c                      y r$   r%   r&   s     r   	fast_sinfr    r)   r"   c                      y r$   r%   r&   s     r   	fast_cosfr    r)   r"   c                      y r$   r%   r&   s     r   
fast_log2fr    r)   r"   c                      y r$   r%   r&   s     r   	fast_logfr    r)   r"   c                      y r$   r%   r&   s     r   	fast_expfr    r)   r"   c                      y r$   r%   r&   s     r   	fast_tanfr    r)   r"   c                      y r$   r%   r&   s     r   fast_exp10fr    r)   r"   c                      y r$   r%   r&   s     r   fast_log10fr    r)   r"   c                      y r$   r%   r2   s      r   	fast_powfr    r)   r"   c                      y r$   r%   r2   s      r   haddr    r)   r"   c                      y r$   r%   r2   s      r   rhaddr!    r)   r"   c                      y r$   r%   r2   s      r   sub_rnr#    r)   r"   c                      y r$   r%   r2   s      r   sub_rzr%  
  r)   r"   c                      y r$   r%   r2   s      r   sub_rdr'    r)   r"   c                      y r$   r%   r2   s      r   sub_rur)    r)   r"   c                      y r$   r%   r&   s     r   rsqrt_rnr+    r)   r"   c                      y r$   r%   r&   s     r   ffsr-  "  r)   r"   c                      y r$   r%   r&   s     r   rintr/  (  r)   r"   c                      y r$   r%   r&   s     r   llrintr1  .  r)   r"   c                      y r$   r%   r&   s     r   	nearbyintr3  4  r)   r"   c                      y r$   r%   r&   s     r   isnanr5  :  r)   r"   c                      y r$   r%   r&   s     r   signbitr7  @  r)   r"   c                      y r$   r%   r2   s      r   copysignr9  F  r)   r"   c                      y r$   r%   r&   s     r   finitefr;  L  r)   r"   c                      y r$   r%   r&   s     r   isinfr=  R  r)   r"   c                      y r$   r%   r2   s      r   	nextafterr?  X  r)   r"   c                      y r$   r%   r&   s     r   sinrA  ^  r)   r"   c                      y r$   r%   r&   s     r   cosrC  d  r)   r"   c                      y r$   r%   r&   s     r   sinpirE  j  r)   r"   c                      y r$   r%   r&   s     r   cospirG  p  r)   r"   c                      y r$   r%   r&   s     r   tanrI  v  r)   r"   c                      y r$   r%   r&   s     r   log2rK  |  r)   r"   c                      y r$   r%   r&   s     r   exprM    r)   r"   c                      y r$   r%   r&   s     r   exp10rO    r)   r"   c                      y r$   r%   r&   s     r   coshrQ    r)   r"   c                      y r$   r%   r&   s     r   sinhrS    r)   r"   c                      y r$   r%   r&   s     r   tanhrU    r)   r"   c                      y r$   r%   r2   s      r   atan2rW    r)   r"   c                      y r$   r%   r&   s     r   atanrY    r)   r"   c                      y r$   r%   r&   s     r   asinr[    r)   r"   c                      y r$   r%   r&   s     r   acosr]    r)   r"   c                      y r$   r%   r&   s     r   logr_    r)   r"   c                      y r$   r%   r&   s     r   log10ra    r)   r"   c                      y r$   r%   r&   s     r   log1prc    r)   r"   c                      y r$   r%   r&   s     r   acoshre    r)   r"   c                      y r$   r%   r&   s     r   asinhrg    r)   r"   c                      y r$   r%   r&   s     r   atanhri    r)   r"   c                      y r$   r%   r&   s     r   expm1rk    r)   r"   c                      y r$   r%   r2   s      r   hypotrm    r)   r"   c                      y r$   r%   r2   s      r   rhypotro    r)   r"   c                      y r$   r%   r-   s       r   norm3drq    r)   r"   c                      y r$   r%   r-   s       r   rnorm3drs    r)   r"   c                      y r$   r%   r'   r.   r/   arg3r   s        r   norm4drw    r)   r"   c                      y r$   r%   ru  s        r   rnorm4dry     r)   r"   c                      y r$   r%   r&   s     r   cbrtr{    r)   r"   c                      y r$   r%   r&   s     r   rcbrtr}    r)   r"   c                      y r$   r%   r&   s     r   j0r    r)   r"   c                      y r$   r%   r&   s     r   j1r    r)   r"   c                      y r$   r%   r&   s     r   y0r    r)   r"   c                      y r$   r%   r&   s     r   y1r  $  r)   r"   c                      y r$   r%   r2   s      r   ynr  *  r)   r"   c                      y r$   r%   r2   s      r   jnr  0  r)   r"   c                      y r$   r%   r&   s     r   cyl_bessel_i0r  6  r)   r"   c                      y r$   r%   r&   s     r   cyl_bessel_i1r  <  r)   r"   c                      y r$   r%   r&   s     r   erfr  B  r)   r"   c                      y r$   r%   r&   s     r   erfinvr  H  r)   r"   c                      y r$   r%   r&   s     r   erfcr  N  r)   r"   c                      y r$   r%   r&   s     r   erfcxr  T  r)   r"   c                      y r$   r%   r&   s     r   erfcinvr  Z  r)   r"   c                      y r$   r%   r&   s     r   
normcdfinvr  `  r)   r"   c                      y r$   r%   r&   s     r   normcdfr  f  r)   r"   c                      y r$   r%   r&   s     r   lgammar  l  r)   r"   c                      y r$   r%   r2   s      r   ldexpr  r  r)   r"   c                      y r$   r%   r2   s      r   scalbnr  x  r)   r"   c                      y r$   r%   r2   s      r   fmodr  ~  r)   r"   c                      y r$   r%   r2   s      r   	remainderr    r)   r"   c                      y r$   r%   r-   s       r   fmar    r)   r"   c                      y r$   r%   r2   s      r   powr    r)   r"   c                      y r$   r%   r&   s     r   tgammar    r)   r"   c                      y r$   r%   r&   s     r   roundr    r)   r"   c                      y r$   r%   r&   s     r   llroundr    r)   r"   c                      y r$   r%   r2   s      r   fdimr    r)   r"   c                      y r$   r%   r&   s     r   ilogbr    r)   r"   c                      y r$   r%   r&   s     r   logbr    r)   r"   c                      y r$   r%   r&   s     r   	isfinitedr    r)   r"   r$   )r   r   r   r   r   triton.languager   	functoolsr   typingr   r   r!   externr(   r+   r0   r3   r5   r7   r9   r;   r=   r?   rA   rC   rE   rG   rI   rK   rM   rO   rQ   rS   rU   rW   rY   r[   r]   r_   ra   rc   re   rg   ri   rk   rm   ro   rq   rs   ru   rw   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   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/  r1  r3  r5  r7  r9  r;  r=  r?  rA  rC  rE  rG  rI  rK  rM  rO  rQ  rS  rU  rW  rY  r[  r]  r_  ra  rc  re  rg  ri  rk  rm  ro  rq  rs  rw  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   <module>r     s   - +    CL q 0 	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
  	 
 r"   