Ë
    Z^(hc  ã                  ó¶   — d dl mZ d dlmc mZ d dlmc mZ d dlmZ d dl	m
Z
 d dlmZmZmZ d dlmZ dd„Ze
dd„«       Ze
dd	„«       Ze
	 	 	 	 	 	 dd
„«       Zy)é    )ÚannotationsN)Úkernel_signature)Úwith_native_function_and_index)ÚBackendIndexÚNativeFunctionÚNativeFunctionsGroup)ÚmapMaybec                óv   — | j                   ryddi}|j                  | j                  j                  d«      dz   S )NÚ ÚXPUÚTORCH_XPU_APIÚ	TORCH_APIú )ÚexternalÚgetÚdispatch_keyÚname)Úbankend_indexÚ!device_torch_api_key_word_mappings     ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torchgen/dest/native_functions.pyÚtorch_api_key_word_prefixr      sM   € Ø×ÒØð 	ˆð)Ð%ð
 	*×-Ñ-Ø×&Ñ&×+Ñ+¨[ó	
ð ñ	ðó    c                óÄ   — t        | |«      }|j                  | «      }|€y d|j                  v ry |j                  rdnd}|› d|j	                  |j                  ¬«      › d�S )Nzlegacy::Ústaticr   r   )r   ú;)r   Ú
get_kernelÚkernelr   Údecl)ÚfÚbackend_indexÚsigÚmetadataÚprefixs        r   Úgen_unstructuredr$       sh   € ä
˜1˜mÓ
,€CØ×'Ñ'¨Ó*€HØÐØØ�X—_‘_Ñ$Øà*×3Ò3‘¸ˆØ�˜˜3Ÿ8™8¨¯©˜8Ó9Ð:¸!Ð<Ð<r   c                óö   — t        j                  | «      }t        j                  | «      }|j	                  | «      }|€g S t        |«      }d|› d|j                  › d|› ddj                  d„ |D «       «      › d�	gS )Nzstruct Ústructured_z : public at::meta::structured_z {
void impl(z, c              3  ó<   K  — | ]  }|j                  «       –— Œ y ­w©N)r   )Ú.0Úas     r   ú	<genexpr>z!gen_structured.<locals>.<genexpr>8   s   è ø€ Ò0 !�Q—V‘V—XÑ0ùs   ‚z);
};
)Úmetar   Ú
structuredÚimpl_argumentsr   r   r   Újoin)Úgr    Ú	meta_nameÚout_argsr"   r#   s         r   Úgen_structuredr3   -   s�   € ä—	‘	˜!“€IÜ×(Ñ(¨Ó+€HØ×'Ñ'¨Ó*€HØÐØˆ	Ü& }Ó5€FðØ€xˆ{˜8Ÿ?™?Ð+Ð+JÈ9È+ð VØ�9‰9Ñ0 xÔ0Ó0Ð
1ð 2ð	ðð r   c                ó  ‡— ‰j                  | «      }t        | t        «      rW|�/|j                  r#‰j                  rt        d«      ‚t        | ‰«      S t        t        ˆfd„| j                  «       «      «      S t        | ‰«      }|€g S |gS )Nz>Structured external backend functions are not implemented yet.c                ó   •— t        | ‰«      S r(   )r$   )r   r    s    €r   ú<lambda>z5compute_native_function_declaration.<locals>.<lambda>P   s   ø€ Ô#3°A°}Ó#E€ r   )r   Ú
isinstancer   r-   r   ÚAssertionErrorr3   Úlistr	   Ú	functionsr$   )r0   r    r"   Úxs    `  r   Ú#compute_native_function_declarationr<   @   s“   ø€ ð ×'Ñ'¨Ó*€HÜ�!Ô)Ô*ØÐ H×$7Ò$7Ø×%Ò%ä$ØTóð ô & a¨Ó7Ð7äÜÓEÀqÇ{Á{Ã}ÓUóð ô ˜Q Ó.ˆØ�YˆrÐ' Q CÐ'r   )r   r   ÚreturnÚstr)r   r   r    r   r=   z
str | None)r0   r   r    r   r=   ú	list[str])r0   z%NativeFunctionsGroup | NativeFunctionr    r   r=   r?   )Ú
__future__r   Útorchgen.api.metaÚapir,   Útorchgen.api.structuredr-   Útorchgen.api.typesr   Útorchgen.contextr   Útorchgen.modelr   r   r   Útorchgen.utilsr	   r   r$   r3   r<   © r   r   ú<module>rI      s|   ðÝ "ç  Ð  ß ,Ð ,Ý /Ý ;ß MÑ MÝ #óð*  ò	=ó  ð	=ð  òó  ðð$  ð(Ø,ð(Ø=Ið(àò(ó  ñ(r   