L i%>ddlmZddlmZddlmcmZddlm Z m Z ddlm Z m Z m Z mZmZmZmZmZddlmZmZmZmZmZmZmZddZddZdd Zdd Zdd Z dd Z dd Z!ddZ"ddZ#ddZ$edGddZ% d dZ&d!dZ'd"dZ(y)#) annotations) dataclassN)cpp structured)ArgName BaseCppType BaseCTypeBinding ConstRefCTypeCType NamedCTypescalarT)ArgumentBaseTyBaseType DispatchKeyFunctionSchemaNativeFunctionsGroupTypech|jsJdd|jjd|S)Nz7ufunc.kernel_name should only be invoked on out schemasufunc__) is_out_fnname)func dispatch_keys X/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/torchgen/api/ufunc.pyschema_kernel_namers4 >> VVV  DIINN#1\N 33cBt|jj|SN)routr)grs r kernel_namer$!s aeejj, 77rctj||d}||S|ttjk(r"t |t ttS|ttjk(rytdt|NF)bindssymintunrecognized type ) rvaluetype_typerrScalarr r r rTensorAssertionErrorrepr)tr'rs rdispatchstub_typer1*ss 1E%8A}HV]] ##%y/A!BCC hv}}% %1$q';< HV]] ##%8!4551$q';<rB)r r?rFr)rHr>s rufunc_argumentrMs0 !&&)D VV  rT)frozenc"eZdZUded<ded<y)UfunctorBindings list[Binding]ctorapplyN)__name__ __module__ __qualname____annotations__rrrPrPs  rrPcg}g}|jjjjD]}|jj rH|dk(r|j t||d}A||dz}|j t||e|j t|||Jt||S)Nrr7)rRrS) functionalr arguments flat_non_outrFis_tensor_likeappendrIrKrP)r#scalar_tensor_idxr4rRrSrHs rufunctor_argumentsras D E \\   ( ( 5 5 F 66 " A% 21xHI$(!$0%*% 4QJK KK.q8D E F  $$ $ U 33rc|jjjjDcgc]}t ||c}Scc}w)N)r>)r[rr\r]rM)r#r>rHs rufunc_argumentsrcsA"",,99   qI.  sAc|jjjjDcgc]8}|jj st j|D]}|:c}}Scc}}wr!)r"rr\r]rFr^rrE)r#rHr0s rstub_argumentsresh %%22  vv$$&$$Q'        s=A/)rrrrreturnstr)r#rrrrfrg)r/rr'rrfzNamedCType | None)r4rrfr)r/rr'rr4rrfr )r/rr'rr>r rfr )rHrr4rrfr )rHrr>r rfr )r#rr`z int | Noner4rrfrP)r#rr>r rfrQ)r#rrfrQ)) __future__r dataclassesrtorchgen.api.typesapitypesr3 torchgen.apirrrrr r r r r rtorchgen.modelrrrrrrrrr$r1r8r:r<r?rIrKrMrPrarcrerXrrros"!&&(   4 8 = ="= ==*5== = $,443=4IT44<r