
    3j
                     R    S SK Jr  S SKr " S S\5      rS SKJr  Sr " S S5      rg)	    )EnumNc                       \ rS rSrSrSrg)
EffectType   Ordered N)__name__
__module____qualname____firstlineno__ORDERED__static_attributes__r       P/home/wildlama/miniconda3/lib/python3.13/site-packages/torch/_library/effects.pyr   r      s    Gr   r   )RegistrationHandle)z8__torch__.torch.classes.quantized.Conv2dPackedParamsBasez8__torch__.torch.classes.quantized.Conv3dPackedParamsBasez;__torch__.torch.classes.quantized.EmbeddingPackedParamsBasez8__torch__.torch.classes.quantized.LinearPackedParamsBasez/__torch__.torch.classes.xnnpack.Conv2dOpContextz/__torch__.torch.classes.xnnpack.LinearOpContextz8__torch__.torch.classes.xnnpack.TransposeConv2dOpContextc                       \ rS rSrSrS\4S jrSS jr\S\	S-  4S j5       r
\
R                  S	 5       r
S
\	S-  S\4S jrSrg)EffectHolder   z2A holder where one can register an effect impl to.qualnamec                 0    Xl         U R                  5         g N)r   _set_default_effect)selfr   s     r   __init__EffectHolder.__init__   s    %  "r   returnNc                    S U l         [        R                  R                  R	                  U R
                  5      u  pUR                  S5      n[        U5      S:  a#  [        U5      S:w  a  [        SU S35      eUu  p$OSnUS:X  a  g U SU 3n[        R                  R                  X$5      b  [        R                  R                  X$5      nUR                   Hi  n[        UR                  [        R                  5      (       d  M.  UR                  R!                  5       nU["        ;   a  MT  [$        R&                  U l           g    g g )	N.      zTried to split z' based on '.' but found more than 1 '.' higher_orderz::)_effecttorch_libraryutilsparse_namespacer   splitlenAssertionError_C_get_operation_overload_get_schema	arguments
isinstancetype	ClassTypestrskip_classesr   r   )r   	namespaceopnamer(   overloadschemaargtype_strs           r   r    EffectHolder._set_default_effect!   s   *. "NN00@@O	S!u:>5zQ$%fX-TU   %FHH&;b)88++F=I XX))&;F''chh88"xx||~H</ #-#5#5DL (	 Jr   c                     U R                   $ r   )r#   r   s    r   effectEffectHolder.effect@   s    ||r   c                     [        S5      e)NzUnable to directly set kernel.)RuntimeError)r   _s     r   r=   r>   D   s    ;<<r   r=   c                 8   ^  UT l         U 4S jn[        U5      nU$ )z^Register an effect

Returns a RegistrationHandle that one can use to de-register this
effect.
c                  &   > T R                  5         g r   )r   r<   s   r   deregister_effect0EffectHolder.register.<locals>.deregister_effectP   s    $$&r   )r#   r   )r   r=   rD   handles   `   r   registerEffectHolder.registerH   s#     	' $$56r   )r#   r   )r   N)r	   r
   r   r   __doc__r2   r   r   propertyr   r=   setterr   rG   r   r   r   r   r   r      sg    <# #> 
T)   ]]= =zD0 5G r   r   )enumr   r$   r   torch._library.utilsr   r3   r   r   r   r   <module>rN      s-       4
: :r   