
    ¯wg'                     0    d dl mZmZ d dlmZ dedefdZy)    )LazyArgumentLazyIrSchema)OptionalCTypeschemareturnc                 &   g }dt         dt        fd}| j                  D ]Q  }|j                  r|j	                   ||             '|j	                  d|j
                   d|j
                          S dj                  |D cg c]  }d| d
 c}      }| j                  D cg c]  }d|j
                   d ||        }}| j                  D cg c]  }d|j
                   d|j
                     }}dj                  ||z   D cg c]  }d	| d
 c}      }d
t        |       dt        ||z          d| d| d| j                   d| j                   dt        | j                         d| j                   dS c c}w c c}w c c}w c c}w )Nargr   c                 X    t        | j                  t              rd| j                   dS y)Nhas_z- ? loctx->GetOutputOp(operand(i++)) : nullptrz loctx->GetOutputOp(operand(i++)))
isinstance	lazy_typer   name)r	   s    c/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/torchgen/dest/lazy_ts_lowering.py	get_valuez#ts_lowering_body.<locals>.get_value
   s'    cmm]3#((#PQQ1    "z", z
    zarguments.emplace_back(z);zkwarguments.emplace_back(z~    std::vector<torch::jit::NamedValue> arguments;
    std::vector<torch::jit::NamedValue> kwarguments;
    arguments.reserve(z);
    kwarguments.reserve(z);
    size_t i = 0;
    z
    torch::lazy::TSOpVector zb_out = torch::lazy::LowerTSBuiltin(function, op().op, arguments, kwarguments);
    TORCH_CHECK_EQ(z_out.size(), z);

    return z_out;
)r   strpositional_argsis_lazy_valueappendr   joinkeyword_valueskeyword_scalarslen	aten_namereturns)	r   emplace_argumentsr   r	   aemplace_arguments_stremplace_kwarg_valuesemplace_kwarg_scalarsemplace_kwargumentss	            r   ts_lowering_bodyr#      s    2| 2 2
 %% >$$Ys^4  1SXXJc#((!<=	> %MM2CDQ"1#R	(D 6<5J5J.1!CHH:S3()  06/E/E(+!CHH:S
#  #-- *,AA	
 (s"-	
 ,-. /14IIJK L  #--. /$$%]3v~~3F2G H   	E	
s   E?$F#F	
FN)torchgen.api.lazyr   r   torchgen.api.typesr   r   r#    r   r   <module>r'      s    8 ,+\ +c +r   