
    çg9                     &   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τ                        Zd
S )   )	libdevice    )core)wraps)TypeVarTfnreturnc                 ^     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                  }n)# t          $ r t	          d| dj         d          w xY w || i |S )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        [/var/www/html/ai-engine/env/lib/python3.11/site-packages/triton/language/extra/libdevice.pywrapperzdispatch.<locals>.wrapper   s    *%-:v%3""%2""0111	l2BK@@EE 	l 	l 	lj8jjR[jjjkkk	l ud%f%%%s    A &A<)callabler   )r	   r   s   ` r   dispatchr!   
   sE    B<<
2YY& & & & Y&  N    Nc                     d S N arg0r   s     r   clzr(   "   	     Cr"   c                     d S r$   r%   r&   s     r   popcr+   (   r)   r"   c                     d S r$   r%   r'   arg1arg2r   s       r   	byte_permr0   .   r)   r"   c                     d S r$   r%   r'   r.   r   s      r   mulhir3   4   r)   r"   c                     d S r$   r%   r2   s      r   mul24r5   :   r)   r"   c                     d S r$   r%   r&   s     r   brevr7   @   r)   r"   c                     d S r$   r%   r-   s       r   sadr9   F   r)   r"   c                     d S r$   r%   r&   s     r   absr;   L   r)   r"   c                     d S r$   r%   r&   s     r   floorr=   R   r)   r"   c                     d S r$   r%   r&   s     r   rcp64hr?   X   r)   r"   c                     d S r$   r%   r&   s     r   rsqrtrA   ^   r)   r"   c                     d S r$   r%   r&   s     r   ceilrC   d   r)   r"   c                     d S r$   r%   r&   s     r   truncrE   j   r)   r"   c                     d S r$   r%   r&   s     r   exp2rG   p   r)   r"   c                     d S r$   r%   r&   s     r   	saturatefrI   v   r)   r"   c                     d S r$   r%   r-   s       r   fma_rnrK   |   r)   r"   c                     d S r$   r%   r-   s       r   fma_rzrM      r)   r"   c                     d S r$   r%   r-   s       r   fma_rdrO      r)   r"   c                     d S r$   r%   r-   s       r   fma_rurQ      r)   r"   c                     d S r$   r%   r2   s      r   fast_dividefrS      r)   r"   c                     d S r$   r%   r2   s      r   div_rnrU      r)   r"   c                     d S r$   r%   r2   s      r   div_rzrW      r)   r"   c                     d S r$   r%   r2   s      r   div_rdrY      r)   r"   c                     d S r$   r%   r2   s      r   div_rur[      r)   r"   c                     d S r$   r%   r&   s     r   rcp_rnr]      r)   r"   c                     d S r$   r%   r&   s     r   rcp_rzr_      r)   r"   c                     d S r$   r%   r&   s     r   rcp_rdra      r)   r"   c                     d S r$   r%   r&   s     r   rcp_rurc      r)   r"   c                     d S r$   r%   r&   s     r   sqrt_rnre      r)   r"   c                     d S r$   r%   r&   s     r   sqrt_rzrg      r)   r"   c                     d S r$   r%   r&   s     r   sqrt_rdri      r)   r"   c                     d S r$   r%   r&   s     r   sqrt_rurk      r)   r"   c                     d S r$   r%   r&   s     r   sqrtrm      r)   r"   c                     d S r$   r%   r2   s      r   add_rnro      r)   r"   c                     d S r$   r%   r2   s      r   add_rzrq      r)   r"   c                     d S r$   r%   r2   s      r   add_rdrs      r)   r"   c                     d S r$   r%   r2   s      r   add_ruru      r)   r"   c                     d S r$   r%   r2   s      r   mul_rnrw      r)   r"   c                     d S r$   r%   r2   s      r   mul_rzry     r)   r"   c                     d S r$   r%   r2   s      r   mul_rdr{     r)   r"   c                     d S r$   r%   r2   s      r   mul_rur}     r)   r"   c                     d S r$   r%   r&   s     r   double2float_rnr     r)   r"   c                     d S r$   r%   r&   s     r   double2float_rzr     r)   r"   c                     d S r$   r%   r&   s     r   double2float_rdr   $  r)   r"   c                     d S r$   r%   r&   s     r   double2float_rur   *  r)   r"   c                     d S r$   r%   r&   s     r   double2int_rnr   0  r)   r"   c                     d S r$   r%   r&   s     r   double2int_rzr   6  r)   r"   c                     d S r$   r%   r&   s     r   double2int_rdr   <  r)   r"   c                     d S r$   r%   r&   s     r   double2int_rur   B  r)   r"   c                     d S r$   r%   r&   s     r   double2uint_rnr   H  r)   r"   c                     d S r$   r%   r&   s     r   double2uint_rzr   N  r)   r"   c                     d S r$   r%   r&   s     r   double2uint_rdr   T  r)   r"   c                     d S r$   r%   r&   s     r   double2uint_rur   Z  r)   r"   c                     d S r$   r%   r&   s     r   int2double_rnr   `  r)   r"   c                     d S r$   r%   r&   s     r   uint2double_rnr   f  r)   r"   c                     d S r$   r%   r&   s     r   float2int_rnr   l  r)   r"   c                     d S r$   r%   r&   s     r   float2int_rzr   r  r)   r"   c                     d S r$   r%   r&   s     r   float2int_rdr   x  r)   r"   c                     d S r$   r%   r&   s     r   float2int_rur   ~  r)   r"   c                     d S r$   r%   r&   s     r   float2uint_rnr     r)   r"   c                     d S r$   r%   r&   s     r   float2uint_rzr     r)   r"   c                     d S r$   r%   r&   s     r   float2uint_rdr     r)   r"   c                     d S r$   r%   r&   s     r   float2uint_rur     r)   r"   c                     d S r$   r%   r&   s     r   int2float_rnr     r)   r"   c                     d S r$   r%   r&   s     r   int2float_rzr     r)   r"   c                     d S r$   r%   r&   s     r   int2float_rdr     r)   r"   c                     d S r$   r%   r&   s     r   int2float_rur     r)   r"   c                     d S r$   r%   r&   s     r   uint2float_rnr     r)   r"   c                     d S r$   r%   r&   s     r   uint2float_rzr     r)   r"   c                     d S r$   r%   r&   s     r   uint2float_rdr     r)   r"   c                     d S r$   r%   r&   s     r   uint2float_rur     r)   r"   c                     d S r$   r%   r2   s      r   hiloint2doubler     r)   r"   c                     d S r$   r%   r&   s     r   double2lointr     r)   r"   c                     d S r$   r%   r&   s     r   double2hiintr     r)   r"   c                     d S r$   r%   r&   s     r   float2ll_rnr     r)   r"   c                     d S r$   r%   r&   s     r   float2ll_rzr     r)   r"   c                     d S r$   r%   r&   s     r   float2ll_rdr     r)   r"   c                     d S r$   r%   r&   s     r   float2ll_rur     r)   r"   c                     d S r$   r%   r&   s     r   float2ull_rnr     r)   r"   c                     d S r$   r%   r&   s     r   float2ull_rzr     r)   r"   c                     d S r$   r%   r&   s     r   float2ull_rdr     r)   r"   c                     d S r$   r%   r&   s     r   float2ull_rur     r)   r"   c                     d S r$   r%   r&   s     r   double2ll_rnr     r)   r"   c                     d S r$   r%   r&   s     r   double2ll_rzr     r)   r"   c                     d S r$   r%   r&   s     r   double2ll_rdr     r)   r"   c                     d S r$   r%   r&   s     r   double2ll_rur      r)   r"   c                     d S r$   r%   r&   s     r   double2ull_rnr   &  r)   r"   c                     d S r$   r%   r&   s     r   double2ull_rzr   ,  r)   r"   c                     d S r$   r%   r&   s     r   double2ull_rdr   2  r)   r"   c                     d S r$   r%   r&   s     r   double2ull_rur   8  r)   r"   c                     d S r$   r%   r&   s     r   ll2float_rnr   >  r)   r"   c                     d S r$   r%   r&   s     r   ll2float_rzr   D  r)   r"   c                     d S r$   r%   r&   s     r   ll2float_rdr   J  r)   r"   c                     d S r$   r%   r&   s     r   ll2float_rur   P  r)   r"   c                     d S r$   r%   r&   s     r   ull2float_rnr   V  r)   r"   c                     d S r$   r%   r&   s     r   ull2float_rzr   \  r)   r"   c                     d S r$   r%   r&   s     r   ull2float_rdr   b  r)   r"   c                     d S r$   r%   r&   s     r   ull2float_rur   h  r)   r"   c                     d S r$   r%   r&   s     r   ll2double_rnr   n  r)   r"   c                     d S r$   r%   r&   s     r   ll2double_rzr   t  r)   r"   c                     d S r$   r%   r&   s     r   ll2double_rdr   z  r)   r"   c                     d S r$   r%   r&   s     r   ll2double_rur     r)   r"   c                     d S r$   r%   r&   s     r   ull2double_rnr     r)   r"   c                     d S r$   r%   r&   s     r   ull2double_rzr     r)   r"   c                     d S r$   r%   r&   s     r   ull2double_rdr     r)   r"   c                     d S r$   r%   r&   s     r   ull2double_rur     r)   r"   c                     d S r$   r%   r&   s     r   int_as_floatr    r)   r"   c                     d S r$   r%   r&   s     r   float_as_intr    r)   r"   c                     d S r$   r%   r&   s     r   uint_as_floatr    r)   r"   c                     d S r$   r%   r&   s     r   float_as_uintr    r)   r"   c                     d S r$   r%   r&   s     r   longlong_as_doubler	    r)   r"   c                     d S r$   r%   r&   s     r   double_as_longlongr    r)   r"   c                     d S r$   r%   r&   s     r   	fast_sinfr    r)   r"   c                     d S r$   r%   r&   s     r   	fast_cosfr    r)   r"   c                     d S r$   r%   r&   s     r   
fast_log2fr    r)   r"   c                     d S r$   r%   r&   s     r   	fast_logfr    r)   r"   c                     d S r$   r%   r&   s     r   	fast_expfr    r)   r"   c                     d S r$   r%   r&   s     r   	fast_tanfr    r)   r"   c                     d S r$   r%   r&   s     r   fast_exp10fr    r)   r"   c                     d S r$   r%   r&   s     r   fast_log10fr    r)   r"   c                     d S r$   r%   r2   s      r   	fast_powfr    r)   r"   c                     d S r$   r%   r2   s      r   haddr    r)   r"   c                     d S r$   r%   r2   s      r   rhaddr!    r)   r"   c                     d S r$   r%   r2   s      r   sub_rnr#    r)   r"   c                     d S r$   r%   r2   s      r   sub_rzr%  
  r)   r"   c                     d S r$   r%   r2   s      r   sub_rdr'    r)   r"   c                     d S r$   r%   r2   s      r   sub_rur)    r)   r"   c                     d S r$   r%   r&   s     r   rsqrt_rnr+    r)   r"   c                     d S r$   r%   r&   s     r   ffsr-  "  r)   r"   c                     d S r$   r%   r&   s     r   rintr/  (  r)   r"   c                     d S r$   r%   r&   s     r   llrintr1  .  r)   r"   c                     d S r$   r%   r&   s     r   	nearbyintr3  4  r)   r"   c                     d S r$   r%   r&   s     r   isnanr5  :  r)   r"   c                     d S r$   r%   r&   s     r   signbitr7  @  r)   r"   c                     d S r$   r%   r2   s      r   copysignr9  F  r)   r"   c                     d S r$   r%   r&   s     r   finitefr;  L  r)   r"   c                     d S r$   r%   r&   s     r   isinfr=  R  r)   r"   c                     d S r$   r%   r2   s      r   	nextafterr?  X  r)   r"   c                     d S r$   r%   r&   s     r   sinrA  ^  r)   r"   c                     d S r$   r%   r&   s     r   cosrC  d  r)   r"   c                     d S r$   r%   r&   s     r   sinpirE  j  r)   r"   c                     d S r$   r%   r&   s     r   cospirG  p  r)   r"   c                     d S r$   r%   r&   s     r   tanrI  v  r)   r"   c                     d S r$   r%   r&   s     r   log2rK  |  r)   r"   c                     d S r$   r%   r&   s     r   exprM    r)   r"   c                     d S r$   r%   r&   s     r   exp10rO    r)   r"   c                     d S r$   r%   r&   s     r   coshrQ    r)   r"   c                     d S r$   r%   r&   s     r   sinhrS    r)   r"   c                     d S r$   r%   r&   s     r   tanhrU    r)   r"   c                     d S r$   r%   r2   s      r   atan2rW    r)   r"   c                     d S r$   r%   r&   s     r   atanrY    r)   r"   c                     d S r$   r%   r&   s     r   asinr[    r)   r"   c                     d S r$   r%   r&   s     r   acosr]    r)   r"   c                     d S r$   r%   r&   s     r   logr_    r)   r"   c                     d S r$   r%   r&   s     r   log10ra    r)   r"   c                     d S r$   r%   r&   s     r   log1prc    r)   r"   c                     d S r$   r%   r&   s     r   acoshre    r)   r"   c                     d S r$   r%   r&   s     r   asinhrg    r)   r"   c                     d S r$   r%   r&   s     r   atanhri    r)   r"   c                     d S r$   r%   r&   s     r   expm1rk    r)   r"   c                     d S r$   r%   r2   s      r   hypotrm    r)   r"   c                     d S r$   r%   r2   s      r   rhypotro    r)   r"   c                     d S r$   r%   r-   s       r   norm3drq    r)   r"   c                     d S r$   r%   r-   s       r   rnorm3drs    r)   r"   c                     d S r$   r%   r'   r.   r/   arg3r   s        r   norm4drw    r)   r"   c                     d S r$   r%   ru  s        r   rnorm4dry     r)   r"   c                     d S r$   r%   r&   s     r   cbrtr{    r)   r"   c                     d S r$   r%   r&   s     r   rcbrtr}    r)   r"   c                     d S r$   r%   r&   s     r   j0r    r)   r"   c                     d S r$   r%   r&   s     r   j1r    r)   r"   c                     d S r$   r%   r&   s     r   y0r    r)   r"   c                     d S r$   r%   r&   s     r   y1r  $  r)   r"   c                     d S r$   r%   r2   s      r   ynr  *  r)   r"   c                     d S r$   r%   r2   s      r   jnr  0  r)   r"   c                     d S r$   r%   r&   s     r   cyl_bessel_i0r  6  r)   r"   c                     d S r$   r%   r&   s     r   cyl_bessel_i1r  <  r)   r"   c                     d S r$   r%   r&   s     r   erfr  B  r)   r"   c                     d S r$   r%   r&   s     r   erfinvr  H  r)   r"   c                     d S r$   r%   r&   s     r   erfcr  N  r)   r"   c                     d S r$   r%   r&   s     r   erfcxr  T  r)   r"   c                     d S r$   r%   r&   s     r   erfcinvr  Z  r)   r"   c                     d S r$   r%   r&   s     r   
normcdfinvr  `  r)   r"   c                     d S r$   r%   r&   s     r   normcdfr  f  r)   r"   c                     d S r$   r%   r&   s     r   lgammar  l  r)   r"   c                     d S r$   r%   r2   s      r   ldexpr  r  r)   r"   c                     d S r$   r%   r2   s      r   scalbnr  x  r)   r"   c                     d S r$   r%   r2   s      r   fmodr  ~  r)   r"   c                     d S r$   r%   r2   s      r   	remainderr    r)   r"   c                     d S r$   r%   r-   s       r   fmar    r)   r"   c                     d S r$   r%   r2   s      r   powr    r)   r"   c                     d S r$   r%   r&   s     r   tgammar    r)   r"   c                     d S r$   r%   r&   s     r   roundr    r)   r"   c                     d S r$   r%   r&   s     r   llroundr    r)   r"   c                     d S r$   r%   r2   s      r   fdimr    r)   r"   c                     d S r$   r%   r&   s     r   ilogbr    r)   r"   c                     d S r$   r%   r&   s     r   logbr    r)   r"   c                     d S 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     st"   - - - - - - + + + + + +                        GCLL q    0 	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
  	   
   r"   