
    wiz                        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 erd dl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 )0    )annotationsN)TYPE_CHECKING)cpp)ArgNameBindingCType
NamedCType)ArgumentFunctionSchemaReturnSelfArgumentTensorOptionsArgumentsType)assert_never	concatMap)Sequencefuncr   returnstrc                *    t          j        |           S N)r   name)r   s    g/root/.openclaw/workspace/chatterbox_venv_py311/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,   P   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_argumentV   sr     a"" 	3J<(( 	J<122 	GQXqx>>OOOOOr   )r#   r/   r   r-   )listr   	itertoolschain	arguments
positional
kwarg_onlyout)r   r7   s     r   jit_argumentsr?   U   s_    
 
 
 
 O)4>+DdnFX 	
 	
  r   r   c               \    t          t          | | j        ||          | j        |           S )N)r    r   r   )nctyper   r2   )r   r'   r   )r#   r   r   s      r   r2   r2   l   sE     &(C	
 
 
 V	 	 	 	r   list[Binding]c               :    fdt          |           D             S )Nc                2    g | ]}t          |           S )r(   )r2   ).0r#   r   s     r   
<listcomp>zarguments.<locals>.<listcomp>|   s&    DDD1HQv&&&DDDr   )r?   )r   r   s    `r   r;   r;   {   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   rB   )
__future__r   r9   typingr   torchgen.apir   torchgen.api.typesr   r   r   r	   torchgen.modelr
   r   r   r   r   r   torchgen.utilsr   r   collections.abcr   r   r"   r'   r,   r?   r2   r;    r   r   <module>rO      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   