L ic ddlmZddlmcmZddlmcmZddlmZddl m Z ddl m Z m Z mZddlmZd dZe d dZe d d Ze dd Zy)) annotationsN)kernel_signature)with_native_function_and_index) BackendIndexNativeFunctionNativeFunctionsGroup)mapMaybecv|jryddi}|j|jjddzS)NXPU TORCH_XPU_API TORCH_API )externalget dispatch_keyname) bankend_index!device_torch_api_key_word_mappings d/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/torchgen/dest/native_functions.pytorch_api_key_word_prefixr sM )% *--  & & + +[   ct||}|j|}|yd|jvry|jrdnd}|d|j |jdS)Nzlegacy::staticrr)r;)r get_kernelkernelrdecl)f backend_indexsigmetadataprefixs rgen_unstructuredr$ sh 1m ,C''*HX__$*3338889:!<z!gen_structured..8s0!QVVX0sz); }; )metar structuredimpl_argumentsrrrjoin)gr meta_nameout_argsr"r#s rgen_structuredr3-s ! I((+H''*H &} 5F x{8??++J9+V 990x0 0 12  rcj|}t|trW|/|jr#jr t dt |Sttfd|jSt|}|gS|gS)Nz>Structured external backend functions are not implemented yet.ct|Sr()r$)rr s rz5compute_native_function_declaration..Ps#3A}#Er) r isinstancerr-rAssertionErrorr3listr functionsr$)r0r r"xs ` r#compute_native_function_declarationr<@s''*H!)*  H$7$7%%$T&a77Eq{{}U  Q .Yr'QC'r)rrreturnstr)rrr rr=z str | None)r0rr rr= list[str])r0z%NativeFunctionsGroup | NativeFunctionr rr=r?) __future__rtorchgen.api.metaapir,torchgen.api.structuredr-torchgen.api.typesrtorchgen.contextrtorchgen.modelrrrtorchgen.utilsr rr$r3r<rrrIs|" ,,/;MM#*  =  =    $ (,(=I(( (r