L i lUddlZddlmZejjZddlZddlZddlmZmZm Z ddl m Z ddl m Z iZeeej"j$fed<eZeeed<e dZe d Zd Zd Z dd ej4j6d eeeej"j$fdeeeefgeeefffdZeej:j< ddedeee dee de!def dZ"eej:jFddede!defdZy)N)Tensor)CallableOptionalTypeVar) ParamSpec)Numberdecomposition_tablefunction_name_set_T_Pc2tj}tj|}|jj D]2}|j |k7rJd|j d|j |j|k7sJd|j y)NzNo signature on param z for function z"No return annotation for function )inspect_empty signature parametersvalues annotationnamereturn_annotation)f inspect_emptysigparams _/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/torch/jit/_decompositions.py(check_decomposition_has_type_annotationsrsNNM   A C&&( =0 $UZZLqvvh G 0  M 1 ,QVVH5 1c|j}|j}t|t|k7ryt|j|jD]\}}tj }dD]G}|dk(r$|j dk(rtjdt||t||k7sFy|j}|j} ||k7s| |k7s|| k7sy|j|jk(S)NF)rrrselfz4PyTorch uses 'input' instead of 'self' on public api) rlenziprrrrwarningswarngetattrdefaultr) decomposition_sig torch_op_sig decomp_params op_params decomp_paramop_paramrfielddecomp_default op_defaults rsignatures_matchr.#s%00M''I =S^+"%m&:&:&N>N>P"Q h   + E<#4#4#> TU|U+wx/GG  &--%%  ] *z]/J+'*  . .,2P2P PPraten_opregistryreturncddtttfdtttfffd }|S)Nrr1crtttjjsJ|j t vsJd|j t j|j tjj|}tjj|jtdD]T}tjj|jtjj|jV|t!j"<|S)NzDuplicated function name )r isinstancetorch_ops OpOverload__name__r addjitscript_C_jit_pass_inlinegraphrange_jit_pass_peephole_jit_pass_constant_propagationstr_schema)r scripted_func_r/r0s rdecomposition_decoratorz7register_decomposition..decomposition_decoratorFs  *H'5::#8#8999zz!22 ' | 4 2 ajj) ((+  !!-"5"56q IA HH ' ' (;(; < HH 3 3M4G4G H I*7W__%&r)rr r )r/r0rGs`` rregister_decompositionrHBs08BF#3R8H. #"rinputdim correctionkeepdimc|g}|}t|ttfrt|dk(r|j }nd}|D]}||j |z}t j||d}||z }||z}t j|||} |t|dz } nIt|trt||z } n*t|trt||z } n td| td| z S)NrTzcorrection must be int or float) r5tuplelistrnumelshapeatenmeansumfloatint RuntimeErrormax) rIrJrKrLdim_inrTsubsqrUdenoms rvar_decompositionr_cs {#t}%#c(a- KKM  $E U# #A $ 99UC &D $,C sB ((2sG $Ca!e  j# &!j.)E  E *!Hz)E@A A Q runbiasedc.t||rdSdS)NrNr)rK)r_)rIr`s rvarrbs UX FF1 FFr)N)NNF)T)$r6ropsrSrr!typingrrrtyping_extensionsr torch.typesrr dictrCr;ScriptFunction__annotations__setr r r rr.r7r8rHrbrKrPrWboolr_r$rrrms  yy~~..'<>T#uyy7778=!e3s8# T]t_ QB?C# ZZ " "#tC!9!99:;#xB (2r6"223#B++, $#'    $s)       - F(()GvGGG*Gr