Ë
    Z^(h%  ã                  ó>  — d dl mZ d dlmZ d dlmc mZ d dlm	Z	m
Z
 d dl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mZ dd„Zdd„Zdd	„Zdd
„Zdd„Z	 	 	 	 	 	 	 	 dd„Z dd„Z!dd„Z"dd„Z#dd„Z$ ed¬«       G d„ d«      «       Z%	 	 	 	 	 	 	 	 d d„Z&d!d„Z'd"d„Z(y)#é    )Úannotations)Ú	dataclassN)ÚcppÚ
structured)ÚArgNameÚBaseCppTypeÚ	BaseCTypeÚBindingÚConstRefCTypeÚCTypeÚ
NamedCTypeÚscalarT)ÚArgumentÚBaseTyÚBaseTypeÚDispatchKeyÚFunctionSchemaÚNativeFunctionsGroupÚTypec                óh   — | j                  «       sJ d«       ‚d| j                  j                  › d|› �S )Nz7ufunc.kernel_name should only be invoked on out schemasÚufunc_Ú_)Ú	is_out_fnÚname)ÚfuncÚdispatch_keys     úP/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torchgen/api/ufunc.pyÚschema_kernel_namer      s4   € Ø�>‰>ÔÐVÐVÓVÐØ�D—I‘I—N‘NÐ# 1 \ NÐ3Ð3ó    c                óB   — t        | j                  j                  |«      S ©N)r   Úoutr   )Úgr   s     r   Úkernel_namer$   !   s   € Ü˜aŸe™eŸj™j¨,Ó7Ð7r   c               ó  — t        j                  | |d¬«      }|�|S | t        t        j                  «      k(  r"t        |t        t        t        «      «      «      S | t        t        j                  «      k(  ry t        dt        | «      › �«      ‚©NF)ÚbindsÚsymintúunrecognized type )r   Úvaluetype_typer   r   ÚScalarr   r   r	   r   ÚTensorÚAssertionErrorÚrepr)Útr'   Úrs      r   Údispatchstub_typer1   *   ss   € ä×Ñ˜1 E°%Ô8€AØ€}ØˆàŒH”V—]‘]Ó#Ò#Ü˜%¤¬y¼Ó/AÓ!BÓCÐCØ	
Œh”v—}‘}Ó%Ò	%ØäÐ1´$°q³'°Ð;Ó<Ð<r   c                óT   — | t         j                  k(  rt         j                  S t        ‚r!   )Ú	api_typesÚscalar_tÚopmath_tÚNotImplementedError©r4   s    r   Úopmath_typer8   8   s"   € Ø”9×%Ñ%Ò%Ü×!Ñ!Ð!Ü
Ðr   c               óP  — t        j                  | |d¬«      }|�|S | t        t        j                  «      k(  rt        |t        t        |«      «      «      S | t        t        j                  «      k(  rt        |t        t        |«      «      «      S t        dt        | «      › �«      ‚r&   )r   r*   r   r   r+   r   r	   r8   r,   r-   r.   )r/   r'   r4   r0   s       r   Úufunctor_ctor_typer:   C   s‡   € Ü×Ñ˜1 E°%Ô8€AØ€}ØˆàŒH”V—]‘]Ó#Ò#Ü˜%¤¬;°xÓ+@Ó!AÓBÐBØ	
Œh”v—}‘}Ó%Ò	%Ü˜%¤¬;°xÓ+@Ó!AÓBÐBäÐ1´$°q³'°Ð;Ó<Ð<r   c               ó’   — | t        t        j                  «      k(  rt        |t	        |«      «      S t        dt        | «      › �«      ‚)Nr)   )r   r   r,   r   r	   r-   r.   )r/   r'   r4   s      r   Úufunctor_apply_typer<   T   s>   € ð 	ŒH”V—]‘]Ó#Ò#Ü˜%¤¨8Ó!4Ó5Ð5äÐ1´$°q³'°Ð;Ó<Ð<r   c               ó  — t        j                  | |d¬«      }|�|S | t        t        j                  «      k(  rt        ||«      S | t        t        j                  «      k(  rt        ||«      S t        dt        | «      › �«      ‚r&   )	r   r*   r   r   r+   r   r,   r-   r.   )r/   r'   Ú	compute_tr0   s       r   Ú
ufunc_typer?   `   ss   € Ü×Ñ˜1 E°%Ô8€AØ€}ØˆàŒH”V—]‘]Ó#Ò#Ü˜% Ó+Ð+Ø	
Œh”v—}‘}Ó%Ò	%Ü˜% Ó+Ð+äÐ1´$°q³'°Ð;Ó<Ð<r   c                ót   — t        t        | j                  | j                  |¬«      | j                  d | ¬«      S ©N)r'   r4   ©Únctyper   ÚdefaultÚargument)r
   r:   Útyper   ©Úar4   s     r   Úufunctor_ctor_argumentrI   m   s0   € ÜÜ! !§&¡&°·±ÀÔJØ�V‰VØØô	ð r   c                ót   — t        t        | j                  | j                  |¬«      | j                  d | ¬«      S rA   )r
   r<   rF   r   rG   s     r   Úufunctor_apply_argumentrK   v   s0   € ÜÜ" 1§6¡6°·±À(ÔKØ�V‰VØØô	ð r   c                ót   — t        t        | j                  | j                  |¬«      | j                  d | ¬«      S )N)r'   r>   rB   )r
   r?   rF   r   )rH   r>   s     r   Úufunc_argumentrM      s0   € ÜÜ˜!Ÿ&™&¨¯©¸)ÔDØ�V‰VØØô	ð r   T)Úfrozenc                  ó"   — e Zd ZU ded<   ded<   y)ÚUfunctorBindingsúlist[Binding]ÚctorÚapplyN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© r   r   rP   rP   ˆ   s   … à
ÓØÔr   rP   c               ó†  — g }g }| j                   j                  j                  j                  D ]€  }|j                  j                  «       rH|dk(  r|j                  t        ||¬«      «       d }ŒA|�|dz  }|j                  t        ||¬«      «       Œe|j                  t        ||¬«      «       Œ‚ |�J ‚t        ||¬«      S )Nr   r7   é   )rR   rS   )
Ú
functionalr   Ú	argumentsÚflat_non_outrF   Úis_tensor_likeÚappendrI   rK   rP   )r#   Úscalar_tensor_idxr4   rR   rS   rH   s         r   Úufunctor_argumentsra   Ÿ   s»   € ð €DØ€EØ�\‰\×Ñ×(Ñ(×5Ñ5ò FˆØ�6‰6× Ñ Ô"Ø  AÒ%à—‘Ô2°1¸xÔHÔIØ$(Ñ!à$Ð0Ø%¨Ñ*Ð%Ø—‘Ô4°QÀÔJÕKà�K‰KÔ.¨q¸8ÔDÕEðFð Ð$Ð$Ð$Ü ¨UÔ3Ð3r   c               ó’   — | j                   j                  j                  j                  D �cg c]  }t	        ||¬«      ‘Œ c}S c c}w )N)r>   )r[   r   r\   r]   rM   )r#   r>   rH   s      r   Úufunc_argumentsrc   ½   sA   € ð —‘×"Ñ"×,Ñ,×9Ñ9öàô 	�q IÖ.òð ùò s   ­Ac                óê   — | j                   j                  j                  j                  D ��cg c]8  }|j                  j                  «       st        j                  |«      D ]  }|‘Œ Œ: c}}S c c}}w r!   )r"   r   r\   r]   rF   r^   r   rE   )r#   rH   r0   s      r   Ústub_argumentsre   É   sh   € ð
 —‘—‘×%Ñ%×2Ñ2÷àØ�v‰v×$Ñ$Ô&Ü×$Ñ$ QÓ'ò	ð ò 	
ðØ	óð ùó s   ®=A/)r   r   r   r   ÚreturnÚstr)r#   r   r   r   rf   rg   )r/   r   r'   r   rf   zNamedCType | None)r4   r   rf   r   )r/   r   r'   r   r4   r   rf   r   )r/   r   r'   r   r>   r   rf   r   )rH   r   r4   r   rf   r
   )rH   r   r>   r   rf   r
   )r#   r   r`   z
int | Noner4   r   rf   rP   )r#   r   r>   r   rf   rQ   )r#   r   rf   rQ   ))Ú
__future__r   Údataclassesr   Útorchgen.api.typesÚapiÚtypesr3   Útorchgen.apir   r   r   r   r	   r
   r   r   r   r   Útorchgen.modelr   r   r   r   r   r   r   r   r$   r1   r8   r:   r<   r?   rI   rK   rM   rP   ra   rc   re   rX   r   r   ú<module>ro      sÑ   ðÝ "å !ç &Ð &ß (÷	÷ 	ó 	÷÷ ñ ó4ó
8ó=óó
=ð"=Øð=Øð=Ø*5ð=àó=ó
=óóóñ �$Ô÷ð ó ðð,4Øð4Ø3=ð4ØITð4àó4ó<ôr   