o
    wÖi¬  ã                   @  sˆ   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
mZmZmZmZmZmZmZ dd„ ZG dd	„ d	eƒZG d
d„ deƒZdS )é    )Úannotations)Únp_dtype_to_tensor_dtype)ÚTensorProto)ÚOpRun)	Úbfloat16Úcast_toÚ
float4e2m1Úfloat8e4m3fnÚfloat8e4m3fnuzÚ
float8e5m2Úfloat8e5m2fnuzÚint4Úuint4c                 C  sH  |j tkr|j jd d dkrtj}nŠ|j tkr&|j jd d dkr&tj}nw|j tkr9|j jd d dkr9tj}nd|j t	krL|j jd d dkrLtj
}nQ|j tkr_|j jd d dkr_tj}n>|j tkrr|j jd d dkrrtj}n+|j tkr…|j jd d dkr…tj}n|j tkr˜|j jd d d	kr˜tj}nt|j ƒ}t| ||ƒfS )
Nr   r   Úe4m3fnÚe4m3fnuzÚe5m2Úe5m2fnuzr   r   r   )Údtyper   Údescrr   ÚBFLOAT16r	   ÚFLOAT8E4M3FNr
   ÚFLOAT8E4M3FNUZr   Ú
FLOAT8E5M2r   ÚFLOAT8E5M2FNUZr   ÚUINT4r   ÚINT4r   Ú
FLOAT4E2M1r   r   )ÚxÚyÚsaturateÚto© r!   ú\/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/onnx/reference/ops/op_cast_like.pyÚ
_cast_like   s$   
r#   c                   @  s   e Zd Zdd„ ZdS )ÚCastLike_15c                 C  s   t ||dƒS )NT©r#   )Úselfr   r   r!   r!   r"   Ú_run.   ó   zCastLike_15._runN©Ú__name__Ú
__module__Ú__qualname__r'   r!   r!   r!   r"   r$   -   s    r$   c                   @  s   e Zd Zddd„ZdS )ÚCastLike_19Nc                 C  s   t |||ƒS ©Nr%   )r&   r   r   r   r!   r!   r"   r'   3   r(   zCastLike_19._runr.   r)   r!   r!   r!   r"   r-   2   s    r-   N)Ú
__future__r   Úonnx.helperr   Úonnx.onnx_pbr   Úonnx.reference.op_runr   Úonnx.reference.ops.op_castr   r   r   r	   r
   r   r   r   r   r#   r$   r-   r!   r!   r!   r"   Ú<module>   s   ,