o
    ‡ZŽhE  ã                   @   sš   U d dl Z d dlZd dlZdedefdd„Zdedefdd„ZG dd	„ d	ƒZG d
d„ dƒZG dd„ dej	ƒZ
e
e je eƒe je< eed< ee ed< dS )é    NÚqengineÚreturnc                 C   sr   | dks| dks| d u rd}|S | dkrd}|S | dkr d}|S | dkr(d	}|S | d
kr0d}|S d}t | › dƒ‚)NÚnoneÚ r   Úfbgemmé   Úqnnpacké   Úonednné   Úx86é   éÿÿÿÿz* is not a valid value for quantized engine©ÚRuntimeError)r   Úret© r   úP/var/www/auris/lib/python3.10/site-packages/torch/backends/quantized/__init__.pyÚ_get_qengine_id	   s"   õ
÷ùûþr   c                 C   s   ddddddœ}|  | d¡S )Nr   r   r   r
   r   )r   r   r	   r   r   z
*undefined)Úget)r   Zall_enginesr   r   r   Ú_get_qengine_str   s   r   c                   @   s,   e Zd Zdefdd„Zdeddfdd„ZdS )Ú_QEnginePropr   c                 C   s   t tj ¡ ƒS ©N)r   ÚtorchÚ_CZ_get_qengine)ÚselfÚobjÚobjtyper   r   r   Ú__get__!   s   z_QEngineProp.__get__ÚvalNc                 C   s   t j t|ƒ¡ d S r   )r   r   Z_set_qenginer   ©r   r   r   r   r   r   Ú__set__$   s   z_QEngineProp.__set__)Ú__name__Ú
__module__Ú__qualname__Ústrr   r!   r   r   r   r   r       s    r   c                   @   s(   e Zd Zdee fdd„Zddd„ZdS )Ú_SupportedQEnginesPropr   c                 C   s   t j ¡ }dd„ |D ƒS )Nc                 S   s   g | ]}t |ƒ‘qS r   )r   )Ú.0Zqer   r   r   Ú
<listcomp>+   s    z2_SupportedQEnginesProp.__get__.<locals>.<listcomp>)r   r   Z_supported_qengines)r   r   r   Zqenginesr   r   r   r   )   s   
z_SupportedQEnginesProp.__get__Nc                 C   s   t dƒ‚)NzAssignment not supportedr   r    r   r   r   r!   -   s   z_SupportedQEnginesProp.__set__)r   N)r"   r#   r$   Úlistr%   r   r!   r   r   r   r   r&   (   s    r&   c                       s0   e Zd Z‡ fdd„Zdd„ Zeƒ Zeƒ Z‡  Z	S )ÚQuantizedEnginec                    s   t ƒ  |¡ || _d S r   )ÚsuperÚ__init__Úm)r   r-   Úname©Ú	__class__r   r   r,   2   s   
zQuantizedEngine.__init__c                 C   s   | j  |¡S r   )r-   Ú__getattribute__)r   Úattrr   r   r   Ú__getattr__6   s   zQuantizedEngine.__getattr__)
r"   r#   r$   r,   r3   r   Úenginer&   Úsupported_enginesÚ__classcell__r   r   r/   r   r*   1   s
    r*   r4   r5   )ÚsysÚtypesr   r%   Úintr   r   r   r&   Ú
ModuleTyper*   Úmodulesr"   Ú__annotations__r)   r   r   r   r   Ú<module>   s   
	