
    o
qi                       d dl mZ d dlmZ d dlmZmZmZmZm	Z	m
Z
mZmZmZ d dlmZmZmZmZmZmZ  ed ed e	 ee                               ed eej                  dd          d	          Z ed
 ed
 ee                     ed
 eej                  dd          d	          Z ed ed e	 ee                               ed eej                  dd          d	          Z ed ed ee                     ed eej                  dd          d	          Z ed ed ee                     ed eej                  dd          d	          Z edd          Z ed ed ee                     ed eej                  dd          d	          Zd-d.dZddd/dZ d0d"Z!d1d$Z"d2d%Z#d3d'Z$d3d(Z%d4d5d+Z&d6d,Z'dS )7    )annotations)
dispatcher)	BaseCppType	BaseCTypeBindingboolTConstRefCTypeCTypelongT
NamedCTypetensorT)ArgumentBaseTyBaseTypeFunctionSchemaNativeFunctionNativeFunctionsViewGroupbase)nametypeN)r   r   default
annotation)r   nctypeargumentr   has_symbolic_inputsmutated_view	out_indexreapply_viewszat::functionalizationInverseReturnModeinverse_return_modeFfuncr   with_namespaceboolreturnstrc                J    |rdnd}| | j                                          dS )Nzat::functionalization:: 	_ViewMeta)r   unambiguous_name)r!   r"   	namespaces      ~/var/www/html/bestrading.cuttalo.com/services/ml-inference/venv/lib/python3.11/site-packages/torchgen/api/functionalization.py	classnamer,   _   s4    -;C))I@3355@@@@    )r   gr   
is_reverseinclude_namespacebool | Nonec                   ||sJ |rt          | j        |          S |sJ | j        J |r#| j        j        j                                        n"| j        j        j                                        }d| dS )Nz
at::_ops::z::call)reverse_nameview	view_copyr!   r   r)   )r.   r/   r0   r   api_names        r+   r   r   e   s       7AF$5666;""" 	6))+++["3355 
 )((((r-   fr   c                X    | j         j                                        }|rd| dS | dS )Nz+at::functionalization::FunctionalInverses::_inverse)r!   r   r)   )r7   r0   r6   s      r+   r3   r3   }   sA     v{++--H %OXOOOO$$$$r-   r
   c                    t          | j                  dk    sJ | j        D ]}|j                                        sJ t	          t
                    S )N   )lenreturnsr   is_tensor_liker   r   )r!   rets     r+   returns_typer@      s[    t|!!!!| ) )x&&(((((( Wr-   c                    t          | j                  dk    p=t          | j                  dk    o%| j        d         j                                        d uS )Nr;   r   )r<   r=   r   is_list_liker!   s    r+   is_multi_outputrD      sO    t|q  DLQR4<?#7#D#D#F#Fd#Rr-   list[Binding]c                h    t           g}t          |           r|                    t                     |S )N)has_symbolic_inputs_bindingrD   appendout_index_binding)r!   	argumentss     r+   base_ctor_argumentsrK      s7    ,-I t ,*+++r-   c                $    t          | d          S )NF)owning)
attributesrC   s    r+   extra_ctor_argumentsrO      s    d5))))r-   TrM   c                    | j         j        }|d         j        t          t          j                  k    sJ t          t          gfd|dd          D             S )Nr   c                <    g | ]}t          j        |           S ))remove_non_owning_ref_typesr   r   ).0arM   s     r+   
<listcomp>zattributes.<locals>.<listcomp>   s)    	W	W	W*
aV
D
D
D	W	W	Wr-   r;   )rJ   flat_allr   r   r   Tensorreapply_views_bindinginverse_return_mode_binding)r!   rM   argss    ` r+   rN   rN      sh    >"D7<8FM222222# 
X	W	W	WdSTSUSUh	W	W	W r-   c                :   | j         j        }|d         j        t          t          j                  k    sJ |dd          }d |D             }|st          g|z   S t          |           rt          t          t          t          g|z   S t          t          t          g|z   S )Nr   r;   c                6    g | ]}t          j        |          S  rS   )rT   rU   s     r+   rV   z op_arguments.<locals>.<listcomp>   s#    GGGA,Q//GGGr-   )rJ   rW   r   r   r   rX   base_bindingrD   mutated_view_bindingrZ   rI   )r!   r/   r[   non_self_argsnon_self_bindingss        r+   op_argumentsrc      s    >"D7<8FM222222HM HGGGG "~ 111
 4   	"$+!	
 "" " $+ "	" "r-   )F)r!   r   r"   r#   r$   r%   )
r.   r   r/   r#   r0   r#   r   r1   r$   r%   )r7   r   r0   r#   r$   r%   )r!   r   r$   r
   )r!   r   r$   r#   )r!   r   r$   rE   )T)r!   r   rM   r#   r$   rE   )r!   r   r/   r#   r$   rE   )(
__future__r   torchgen.apir   torchgen.api.typesr   r   r   r   r	   r
   r   r   r   torchgen.modelr   r   r   r   r   r   rX   r_   r#   rG   r`   intrI   rY   InverseReturnModeTrZ   r,   r   r3   r@   rD   rK   rO   rN   rc   r^   r-   r+   <module>rj      sX   " " " " " " # # # # # #
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
               & w	:6ii6H6H(I(IJJJX((6=114D      &g	:0yy7G7GHHHX"Xfk""	   
 
 
  w	:>ii>P>P0Q0QRRRX((6=114D       G	:;YYu-=-=>>>Xxx
33Td        	:?51A1ABBBX88FK#8#8$SW       ![!8:MNN %g	:0yyAS7T7TUUUX"Xfk""      A A A A A "&) ) ) ) ) )0	% 	% 	% 	%      	 	 	 	 * * * *    " " " " " "r-   