U
    yh]                     @   s   U d dl Z d dlZd dlmZ d dlZeedddZeed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)List)qenginereturnc                 C   sl   | dks| dks| d krd}nJ| dkr,d}n<| dkr:d}n.| dkrHd	}n | d
krVd}nd}t |  d|S )Nnone r   fbgemm   qnnpack   onednn   x86   z* is not a valid value for quantized engineRuntimeError)r   ret r   S/var/www/html/venv/lib/python3.8/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edddZeddddZdS )_QEnginePropr   c                 C   s   t tj S N)r   torch_CZ_get_qengine)selfobjobjtyper   r   r   __get__"   s    z_QEngineProp.__get__N)valr   c                 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ee dddZd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d S )NzAssignment not supportedr   r"   r   r   r   r#   .   s    z_SupportedQEnginesProp.__set__)r$   r%   r&   r   r'   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-   3   s    zQuantizedEngine.__init__c                 C   s   | j |S r   )r.   __getattribute__)r   attrr   r   r   __getattr__7   s    zQuantizedEngine.__getattr__)
r$   r%   r&   r-   r4   r   enginer(   supported_engines__classcell__r   r   r0   r   r+   2   s   r+   r5   r6   )systypestypingr   r   r'   intr   r   r   r(   
ModuleTyper+   modulesr$   __annotations__r   r   r   r   <module>   s    	