
    i                        U d Z ddlZddlZddlmZ ddlZ G d d      Z e       ZddZddZ	ej                  j                         Zi Zeee   ee   f   ed<   i Zeeee   f   ed	<   dd
Zd Zd ZddZ ej.                         Zej.                  ed<    ej.                         Zej.                  ed<   d ZddZd ZddZy)zJIT-related state.

This module stores various pieces of Python-global state relating to the JIT.

This is not intended to be imported directly; please the exposed
functionalities in `torch.jit`.
    N)Anyc                   *    e Zd ZdZddZd ZdefdZy)EnabledProxyzyStores whether the JIT is enabled or not.

    This is just a wrapper for a bool, so that we get reference semantics
    returnNc                 6    | j                  dddd      | _        y )NPYTORCH_JITTz> Using PyTorch JITz> PyTorch JIT DISABLED)	parse_envenabledselfs    J/var/www/html/engine/venv/lib/python3.12/site-packages/torch/jit/_state.py__init__zEnabledProxy.__init__   s    ~~4!68P
    c                     t         j                  j                  |      }||S |j                         dv ry|j                         dv ry|dk(  rt	        |       y|dk(  rt	        |       yt        d| d      )	N>   1yestrueT>   0nofalseF1v0vzUnknown setting of z. Try using 0 or 1.)osenvirongetlowerprint
ValueError)r   namedefaulttrue_messagefalse_messagevalues         r   r	   zEnabledProxy.parse_env   s|    

t$=N;;=00[[]22D=,d]- .tf4GHIIr   c                     | j                   S N)r
   r   s    r   __bool__zEnabledProxy.__bool__,   s    ||r   r   N)__name__
__module____qualname____doc__r   r	   boolr&    r   r   r   r      s    


J $ r   r   c                      dt         _        y )NF_enabledr
   r-   r   r   disabler1   3   s
    Hr   c                      dt         _        y )NTr/   r-   r   r   enabler3   7   s
    Hr   _script_classes_name_to_pyclassc                 D    |t         | <   | t        |j                         <   y r%   )r4   r5   qualified_name)python_classscript_classs     r   _add_script_classr:   F   s     $0OL!6B\0023r   c                 `    t        | dd       }|t        |      } t        j                  |       S )N_jit_override_qualname)getattr_get_python_classr4   r   )r8   overrides     r   _get_script_classr@   K   s2    |%=tDH(2|,,r   c                 ,    t         j                  |       S r%   )r5   r   )r7   s    r   r>   r>   R   s    //r   c                  T    t         j                          t        j                          y r%   )r4   clearr5   r-   r   r   _clear_class_staterD   V   s    r   _jit_caching_layer_jit_function_overload_cachingc                     t         j                  | d       }|r#|D cg c]  }t        j                  |       c}S y c c}w r%   )rF   r   
_python_cufind_function)key
qual_names	qual_names      r   _try_get_jit_cached_overloadsrM   g   s<    /33C>JEOP	
((3PP Qs   =c                 P    |D cg c]  }|j                    c}t        | <   y c c}w r%   )r7   rF   )rJ   compiled_fnsfns      r   _set_jit_overload_cacherQ   o   s!    GS*T2+<+<*T"3'*Ts   #c                 ~    t        | dd      du ry t        j                  | d       }|rt        j	                  |      S y )N __disable_jit_function_caching__FT)r=   rE   r   rH   rI   )rJ   rL   s     r   _try_get_jit_cached_functionrT   s   s@    s6>$F"&&sD1I''	22r   c                 v    t        |t        j                  j                        sJ |j                  t
        | <   y r%   )
isinstancetorchjitScriptFunctionr7   rE   )rJ   r#   s     r   _set_jit_function_cacherZ   }   s-    eUYY55666#22sr   r'   )r+   r   weakreftypingr   rW   r   r0   r1   r3   _CCompilationUnitrH   r4   dicttype__annotations__r5   strr:   r@   r>   rD   WeakKeyDictionaryrE   rF   rM   rQ   rT   rZ   r-   r   r   <module>rd      s    
    > > XX%%'
 /1d3ic*+ 0)+ $sDI~& +C
-0 1J0I0I0K G-- K<UG<U<U<W  9 9 WU3r   