o
    $i                     @   s   U d Z ddlZddlZddlmZmZmZ ddlZG dd dZe Z	dd Z
dd	 Ze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d Zdd Zdd Ze Zejed< e Zejed< dd Zdd Zdd Zdd ZdS )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)AnyDictTypec                   @   s(   e Zd ZdZdd Zdd Zdd ZdS )	EnabledProxyzyStores whether the JIT is enabled or not.

    This is just a wrapper for a bool, so that we get reference semantics
    c                 C   s   |  dddd| _d S )NPYTORCH_JITTz> Using PyTorch JITz> PyTorch JIT DISABLED)	parse_envenabledself r   N/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/torch/jit/_state.py__init__   s   
zEnabledProxy.__init__c                 C   sp   t j|}|d u r|S | dv rdS | dv rdS |dkr&t| dS |dkr0t| dS 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valuer   r   r   r      s   zEnabledProxy.parse_envc                 C   s   | j S N)r   r	   r   r   r   __bool__+   s   zEnabledProxy.__bool__N)__name__
__module____qualname____doc__r   r   r"   r   r   r   r   r      s
    r   c                   C   
   dt _d S )NF_enabledr   r   r   r   r   disable2      
r*   c                   C   r'   )NTr(   r   r   r   r   enable6   r+   r,   _script_classes_name_to_pyclassc                 C   s   |t | < | t| < d S r!   )r-   r.   qualified_name)python_classscript_classr   r   r   _add_script_classE   s   r2   c                 C   s(   t | dd }|d urt|} t| d S )N_jit_override_qualname)getattr_get_python_classr-   r   )r0   overrider   r   r   _get_script_classJ   s   r7   c                 C   s   t | d S r!   )r.   r   r/   r   r   r   r5   Q   s   r5   c                   C   s   t   t  d S r!   )r-   clearr.   r   r   r   r   _clear_class_stateU   s   r:   _jit_caching_layer_jit_function_overload_cachingc                 C   s"   t | d }|rdd |D S d S )Nc                 S   s   g | ]}t |qS r   )
_python_cufind_function).0	qual_namer   r   r   
<listcomp>i   s    z1_try_get_jit_cached_overloads.<locals>.<listcomp>)r<   r   )key
qual_namesr   r   r   _try_get_jit_cached_overloadsf   s   rD   c                 C   s   dd |D t | < d S )Nc                 S   s   g | ]}|j qS r   r8   )r?   fnr   r   r   rA   o   s    z+_set_jit_overload_cache.<locals>.<listcomp>)r<   )rB   compiled_fnsr   r   r   _set_jit_overload_cachen   s   rG   c                 C   s2   t | dddu r
d S t| d }|rt|S d S )N __disable_jit_function_caching__FT)r4   r;   r   r=   r>   )rB   r@   r   r   r   _try_get_jit_cached_functionr   s   
rI   c                 C   s    t |tjjs	J |jt| < d S r!   )
isinstancetorchjitScriptFunctionr/   r;   )rB   r    r   r   r   _set_jit_function_cache|   s   rN   )r&   r   weakreftypingr   r   r   rK   r   r)   r*   r,   _CCompilationUnitr=   r-   __annotations__r.   strr2   r7   r5   r:   WeakKeyDictionaryr;   r<   rD   rG   rI   rN   r   r   r   r   <module>   s,   

