Ë
    ùÿæiš  ã                  ó>  — 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                óp   — | j                  «       st        d«      ‚d| j                  j                  › d|› �S )Nz7ufunc.kernel_name should only be invoked on out schemasÚufunc_Ú_)Ú	is_out_fnÚAssertionErrorÚname)ÚfuncÚdispatch_keys     úg/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/torchgen/api/ufunc.pyÚschema_kernel_namer      s4   € Ø�>‰>ÔÜÐVÓWÐWØ�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   ÚTensorr   Ú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   9   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:   D   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<   U   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?   a   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   n   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   w   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        ||¬«      «       Œ‚ |�t        d«      ‚t        ||¬«      S )Nr   r7   é   z5scalar_tensor_idx should be None at end of processing)rR   rS   )Ú
functionalr   Ú	argumentsÚflat_non_outrF   Úis_tensor_likeÚappendrI   rK   r   rP   )r$   Úscalar_tensor_idxr4   rR   rS   rH   s         r   Úufunctor_argumentsra       sº   € ð €DØ€EØ�\‰\×Ñ×(Ñ(×5Ô5ˆØ�6‰6× Ñ Ô"Ø  AÒ%à—‘Ô2°1¸xÔHÔIØ$(Ñ!à$Ð0Ø%¨Ñ*Ð%Ø—‘Ô4°QÀÔJÕKà�K‰KÔ.¨q¸8ÔDÕEð 6ð Ð$ÜÐTÓUÐUÜ ¨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   ¿   sF   € ð —‘×"Ñ"×,Ñ,×9Ò9óá9ˆAô 	�q IÖ.Ø9ñð ùò 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   Ë   sg   € ð
 —‘—‘×%Ñ%×2Ò2ôá2ˆAØ�v‰v×$Ñ$Ô&Ü×$Ñ$ QÖ'ˆAò 	
ð (ð 	
Ø2òð ùó 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    