
    Χg8                        d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
mZ d dlmZmZmZmZmZmZ d dlmZmZ d(dZdddd)dZdddd*dZddd+d!Zd,d#Zdddd-d%Zddd.d'ZdS )/    )annotationsN)Sequence)cpp)ArgNameBindingCType
NamedCType)ArgumentFunctionSchemaReturnSelfArgumentTensorOptionsArgumentsType)assert_never	concatMapfuncr   returnstrc                *    t          j        |           S N)r   name)r   s    S/var/www/html/ai-engine/env/lib/python3.11/site-packages/torchgen/api/dispatcher.pyr   r   #   s    8D>>    FT)remove_non_owning_ref_typessyminttr   mutableboolbindsr   r   r   r	   c               4    t          j        | ||||          S )N)r   r   r   r   )r   argumenttype_type)r   r   r   r   r   s        r   r!   r!   '   s-      	$?   r   ar
   c               >    t          | j        | j        |||          S )N)r   r   r   r   )r!   typeis_write)r"   r   r   r   s       r   argument_typer&   <   s.     	
$?   r   r   rsSequence[Return]r   c               .    t          j        | |          S )Nr'   )r   returns_type)r(   r   s     r   r+   r+   L   s    Bv....r   list[Argument]c           
         dd}t          t          |t          j        | j        j        | j        j        | j        j                                      S )Nr"   0Argument | TensorOptionsArguments | SelfArgumentr   r,   c                    t          | t                    r| gS t          | t                    r| j        gS t          | t                    r| j        | j        | j        | j        gS t          |            d S r   )

isinstancer
   r   argumentr   dtypelayoutdevice
pin_memoryr   )r"   s    r   to_argumentz"jit_arguments.<locals>.to_argumentR   sr     a"" 	3J<(( 	J<122 	GQXqx>>OOOOOr   )r"   r.   r   r,   )listr   	itertoolschain	arguments
positional
kwarg_onlyout)r   r6   s     r   jit_argumentsr>   Q   s_    
 
 
 
 O)4>+DdnFX 	
 	
  r   r   c               \    t          t          | | j        ||          | j        |           S )N)r   r   r   )nctyper   r1   )r   r&   r   )r"   r   r   s      r   r1   r1   h   sE     &(C	
 
 
 V	 	 	 	r   list[Binding]c               :    fdt          |           D             S )Nc                2    g | ]}t          |           S )r'   )r1   ).0r"   r   s     r   
<listcomp>zarguments.<locals>.<listcomp>x   s&    DDD1HQv&&&DDDr   )r>   )r   r   s    `r   r:   r:   w   s%    DDDDd0C0CDDDDr   )r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r	   )
r"   r
   r   r   r   r   r   r   r   r	   )r(   r)   r   r   r   r   )r   r   r   r,   )r"   r
   r   r   r   r   r   r   )r   r   r   r   r   rA   )
__future__r   r8   typingr   torchgen.apir   torchgen.api.typesr   r   r   r	   torchgen.modelr
   r   r   r   r   r   torchgen.utilsr   r   r   r!   r&   r+   r>   r1   r:    r   r   <module>rM      s   " " " " " "                 B B B B B B B B B B B B                3 2 2 2 2 2 2 2&    ).     2 ).       :> / / / / / /
   0 9>d      7; E E E E E E E Er   