
    9i                    D   S SK Jr  S SKrS SKJr  S SKJr  S SKJr  S SK	J
r
JrJrJr  S SKJrJrJrJrJrJr  S SKJr  \(       a  S S	KJr  SS
 jrSSS.           SS jjrSSS.         SS jjrSS.SS jjrSS jrSSS.       SS jjrSS.SS jjrg)    )annotationsN)TYPE_CHECKING)assert_never)cpp)ArgNameBindingCType
NamedCType)ArgumentFunctionSchemaReturnSelfArgumentTensorOptionsArgumentsType)	concatMap)Sequencec                .    [         R                  " U 5      $ N)r   name)funcs    W/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/torchgen/api/dispatcher.pyr   r   (   s    88D>    FT)remove_non_owning_ref_typessymintc               2    [         R                  " U UUUUS9$ )N)mutablebindsr   r   )r   argumenttype_type)tr   r   r   r   s        r   r   r   ,   s&       	$? r   c               D    [        U R                  U R                  UUUS9$ )N)r   r   r   r   )r   typeis_write)ar   r   r   s       r   argument_typer$   A   s(     	

$? r   r   c               *    [         R                  " XS9$ Nr%   )r   returns_type)rsr   s     r   r(   r(   Q   s    B..r   c           
             SS jn[        [        U[        R                  " U R                  R
                  U R                  R                  U R                  R                  5      5      5      $ )Nc                   [        U [        5      (       a  U /$ [        U [        5      (       a  U R                  /$ [        U [        5      (       a.  U R
                  U R                  U R                  U R                  /$ [        U 5        g r   )

isinstancer   r   argumentr   dtypelayoutdevice
pin_memoryr   )r#   s    r   to_argument"jit_arguments.<locals>.to_argumentW   se     a""3J<((JJ<122GGQXXqxx>>Or   )r#   z0Argument | TensorOptionsArguments | SelfArgumentreturnlist[Argument])listr   	itertoolschain	arguments
positional
kwarg_onlyout)r   r2   s     r   jit_argumentsr=   V   sb    
;
	
 OO))4>>+D+DdnnFXFX	
 r   c          	     T    [        [        U U R                  UUS9U R                  U S9$ )N)r   r   r   )nctyper   r-   )r   r$   r   )r#   r   r   s      r   r-   r-   m   s5     &&(C	
 VV	 	r   c               R    [        U 5       Vs/ s H  n[        X!S9PM     sn$ s  snf r'   )r=   r-   )r   r   r#   s      r   r9   r9   |   s&    0=d0CD0C1HQ&0CDDDs   $)r   r   r4   str)r   r   r   boolr   r   r   rB   r   rB   r4   r
   )
r#   r   r   r   r   rB   r   rB   r4   r
   )r)   zSequence[Return]r   rB   r4   r	   )r   r   r4   r5   )r#   r   r   rB   r   rB   r4   r   )r   r   r   rB   r4   zlist[Binding]) 
__future__r   r7   typingr   typing_extensionsr   torchgen.apir   torchgen.api.typesr   r   r	   r
   torchgen.modelr   r   r   r   r   r   torchgen.utilsr   collections.abcr   r   r   r$   r(   r=   r-   r9    r   r   <module>rL      s   "    *  B B  % (& ).  	
 "&  2 ).  "&	
    :> /
0 9>d15GK 7; E Er   