K i UddlmZddlmZddlmZmZmZmZm Z m Z er2ddl m Z ee eeedfe je jfZeedfZdZdAdZdBd ZdCd Zd ZdDd Zid dddddddddddddddddddddddddd d!d"d!d#d$d%d&d&d'd'd(d)d*d*d+d,d-d.d/d0d1 Ze ej5D]Zeee< d2Zid3Dcic]}d4|| c}d3Dcic]}d5|| c}d6Dcic]}d7|| c}d8Dcic]}d9|d: c}d;dd<Zd=ed><ej?D] \Z Zeeee <dEd?Z!y@cc}wcc}wcc}wcc}w)F) annotationsreduce)AnyCallable TYPE_CHECKINGUnionListDictcore.ictd||S)Nc ||SN)aidxs S/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/triton/_utils.pyz#get_iterable_path..s 3r)iterablepaths rget_iterable_pathrs 'x 88rcddlm}t|dk7sJt|dk(r|nt||dd}t ||j sJ|j |d|y)Nr r r)languagerlenr isinstancetuple_setitem)rrvalrprevs rset_iterable_pathr$sZ t9>>4yA~8+.s":a$tzz[_[j[jAk3lrcx|r"t|D]\}}g|||y||rd|<yyr) enumerate)rcurrentritem_impl is_iterablepredrets rr.zfind_paths_if.._impl sM w &w/ * TllclD) * $ CI!rr)rtuple[int, ...]r,r)rrr'keys)rr0r.rr/r1s `@@@@r find_paths_ifr4s7)lK!C "h  rc||dz zdk(S)Nr rr)r)s ris_power_of_twor6,s QKA rc d}t|D]O\}}t|tstd|dt |dt |st d|d||z}Q|tkDrt d|dtd|S) Nr zShape element z1 must have type `constexpr[int]`, got `constexpr[]z must be a power of 2znumel (z') exceeds triton maximum tensor numel ())r+rint TypeErrortyper6 ValueErrorTRITON_MAX_TENSOR_NUMEL)shapenumelids rvalidate_block_shaperC0s E% 1!S!nQC/`aefgah`iijkl lq!~aS0EFG G    &&75')PQhPiijkll Lrboolu1int1uint1i1 float8e4nvfp8e4nvfloat8e5fp8e5 float8e4b15fp8e4b15 float8_e4m3fn float8e4b8fp8e4b8float8_e4m3fnuz float8_e5m2 float8e5b16fp8e5b16float8_e5m2fnuzhalffp16float16bfloat16bf16floatfp32fp64i8i16i32i64u8u16u32u64void) float32doublefloat64int8int16r:int32int64uint8uint16uint32uint64rgcNt|jdd}t|S)N.r)strsplittype_canonicalisation_dict)dtype dtype_strs rcanonicalize_dtyperzgs&E   %b)I %i 00r)r  @urA)r|r}r~fp)e4nve4b15e4b8e5e5b16fp8r{r|)r[rgzDict[str, int] BITWIDTH_DICTct|Sr)r)rxs rget_primitive_bitwidthr}s  rN)r IterableTyperObjPathreturnr)rrrr2r"r)rzUnion[IterableType, Any]r0zCallable[[ObjPath, Any], bool]rz list[ObjPath])r?z List[int])rxrurr:)" __future__r functoolsrtypingrrrr r r rrr'r r(rr:rr>rr$r4r6rCrwvaluesvrzr__annotations__itemskr)nsuffixs00rrs"BBcE#s(OTZZPQLCHoG!9!$ # D# D# T #  $ #)##:#Y#)#y#7#:#z#  F!#"v##$%#& V'#(       E#J (//1 2&A$%q!&1 !"$  1#wz$ !#$  1#wz$ !   A3x{ !>?  VH~q? !   ! ~  ' , , .(DAq$Q'M!( !$$?s E( E< E E