
    
Ng                         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 d Z G d de          Z G d d	e          Zd
S )    )np_dtype_to_tensor_dtype)TensorProto)OpRun)bfloat16cast_tofloat8e4m3fnfloat8e4m3fnuz
float8e5m2float8e5m2fnuzint4uint4c                 p   |j         t          k    r*|j         j        d         d         dk    rt          j        }nk|j         t
          k    r*|j         j        d         d         dk    rt          j        }n1|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|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        }nM|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   )dtyper   descrr   BFLOAT16r   FLOAT8E4M3FNr	   FLOAT8E4M3FNUZr
   
FLOAT8E5M2r   FLOAT8E5M2FNUZr   UINT4r   INT4r   r   )xysaturatetos       [/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/reference/ops/op_cast_like.py
_cast_liker!      sm   w(qw}Q/2j@@!	
L	 	 QW]1%5a%8H%D%D%	
N	"	"qw}Q'7':j'H'H'	
J		17=#3A#6&#@#@#	
N	"	"qw}Q'7':j'H'H'	
E		agmA.q1W<<	
DQW]1-a0F::%ag..Ar8$$&&    c                       e Zd Zd ZdS )CastLike_15c                 $    t          ||d          S )NTr!   )selfr   r   s      r    _runzCastLike_15._run+   s    !Q%%%r"   N__name__
__module____qualname__r(    r"   r    r$   r$   *   s#        & & & & &r"   r$   c                       e Zd ZddZdS )CastLike_19Nc                 $    t          |||          S Nr&   )r'   r   r   r   s       r    r(   zCastLike_19._run0   s    !Q)))r"   r1   r)   r-   r"   r    r/   r/   /   s(        * * * * * *r"   r/   N)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    <module>r6      s   1 0 0 0 0 0 $ $ $ $ $ $ ' ' ' ' ' '	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	' ' '*& & & & &% & & &
* * * * *% * * * * *r"   