
    |rh                       U d dl mZ d dlmZ d dlmZmZmZmZm	Z	m
Z
 er2ddlmZ eee   eedf   ej                  ej                  f   Zeedf   ZdZdAdZdBd	ZdCd
Zd ZdDdZi ddddddddddddddddddddddddddd d!d"d!d#d$d%d&d&d'd'd(d)d*d*d+d,d-d.d/d0d1Z eej5                               D ]  Zeee<   	 d2 Zi d3D  ci c]  } d4|  | 
 c} d3D  ci c]  } d5|  | 
 c} d6D  ci c]  } d7|  | 
 c} d8D ci c]  }d9| d:
 c}d;d d<Zd=ed><   ej?                         D ]  \  Z Zee   ee <    dEd?Z!y@c c} w c c} w c c} w c c}w )F    )annotationsreduce)AnyCallableTYPE_CHECKINGUnionListDict   core.i   c                    t        d ||       S )Nc                    | |   S N )aidxs     `/var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/triton/_utils.py<lambda>z#get_iterable_path.<locals>.<lambda>   s
    3     r   )iterablepaths     r   get_iterable_pathr      s    'x88r   c                r    t        |      dk7  sJ t        |      dk(  r| nt        | |d d       }|||d   <   y )Nr   r   )lenr   )r   r   valprevs       r   set_iterable_pathr       s>    t9>>4yA~8+<XtCRy+QDDbNr   c                |    ddl m fdi dfd d|        t        j                               S )Nr   r   c                \    t        | t        t        j                  j                  f      S r   )
isinstancelisttuple
tuple_type)xr   s    r   r   zfind_paths_if.<locals>.<lambda>   s"    :a$tzz[_[j[jAk3l r   c                x     |      r"t        |      D ]  \  }} g | ||        y  | |      rd | <   y y r   )	enumerate)r   currentr   item_implis_iterablepredrets       r   r,   zfind_paths_if.<locals>._impl   sM    w&w/ *	TllclD)*$ CI !r   r   )r   tuple[int, ...]r*   r   )languager   r$   keys)r   r.   r,   r   r-   r/   s    `@@@@r   find_paths_ifr3      s7    )lK!C  
"h
r   c                    | | dz
  z  dk(  S )Nr   r   r   )r'   s    r   is_power_of_twor5   *   s    QKAr   c           	        d}t        |       D ]O  \  }}t        |t              st        d| dt	        |       d      t        |      st        d| d      ||z  }Q |t        kD  rt        d| dt         d      |S )	Nr   zShape element z1 must have type `constexpr[int]`, got `constexpr[]z must be a power of 2znumel (z') exceeds triton maximum tensor numel ())r)   r#   int	TypeErrortyper5   
ValueErrorTRITON_MAX_TENSOR_NUMEL)shapenumelids       r   validate_block_shaperB   .   s    E%  1!S!nQC/`aefgah`iijkllq!~aS0EFGG
 &&75')PQhPiijkllLr   boolu1int1uint1i1
float8e4nvfp8e4nvfloat8e5fp8e5float8e4b15fp8e4b15float8_e4m3fn
float8e4b8fp8e4b8float8_e4m3fnuzfloat8_e5m2float8e5b16fp8e5b16float8_e5m2fnuzhalffp16float16bfloat16bf16floatfp32fp64i8i16i32i64u8u16u32u64void)float32doublefloat64int8int16r9   int32int64uint8uint16uint32uint64rf   c                N    t        |       j                  d      d   }t        |   S )N.r   )strsplittype_canonicalisation_dict)dtype	dtype_strs     r   canonicalize_dtypery   e   s&    E
  %b)I%i00r   )r             @   ur@   )r{   r|   r}   fp)e4nve4b15e4b8e5e5b16fp8rz   r{   )rZ   rf   zDict[str, int]BITWIDTH_DICTc                    t         |    S r   )r   )rw   s    r   get_primitive_bitwidthr   {   s    r   N)r   IterableTyper   ObjPathreturnr   )r   r   r   r0   r   r   )r   zUnion[IterableType, Any]r.   zCallable[[ObjPath, Any], bool]r   zlist[ObjPath])r>   z	List[int])rw   rt   r   r9   )"
__future__r   	functoolsr   typingr   r   r   r	   r
   r   r1   r   r$   r%   r&   r   r9   r   r=   r   r    r3   r5   rB   rv   valuesvry   r   __annotations__itemskr   )nsuffixs   00r   <module>r      s   "  B BcE#s(OTZZPQLCHoG! 9$#
D# D# T	#
 	$# )# # :# Y# )# y# 7# :# z#  F!#" v##$ %#& V'#( E# J 
(//1	2 &A$%q!&1
!"$ 
1#wz $! #$ 
1#wz $!  
A3x{ ! >? 
VH~q ?! !~  ',,. (DAq$Q'M!( !$$?s   E(E<EE