o
    to™iÅ  ã                   @  s4   d dl mZ d dlZd dlmZ G dd„ deƒZdS )é    )ÚannotationsN)ÚOpRunc                   @  s   e Zd Zdd„ ZdS )ÚDynamicQuantizeLinearc                 C  sÜ   t jdd}}}t  t  dt  |¡¡¡}t  t  dt  |¡¡¡}t  ||kr)dn|| ¡t  || ¡ }t  |¡||  }t|t||ƒƒ}	t  |	¡}
t  t  || ¡|
 ||¡}| 	|¡t  
| 	|j¡¡t  
|
 	|¡¡fS )Nr   éÿ   g      ð?)ÚnpÚuint8Úfloat32ÚmaximumÚmaxÚminimumÚminÚrintÚclipÚastypeÚarrayÚdtype)ÚselfÚxr   ÚqminÚqmaxÚmaxxÚminxÚy_scaleÚinitial_zero_pointÚzpÚzpiÚy© r   úa/home/ubuntu/.local/lib/python3.10/site-packages/onnx/reference/ops/op_dynamic_quantize_linear.pyÚ_run   s   ÿ
ýzDynamicQuantizeLinear._runN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s    r   )Ú
__future__r   Únumpyr   Úonnx.reference.op_runr   r   r   r   r   r   Ú<module>   s   