
    bIg0                        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 d Z G d de      Z G d	 d
e      Zy)    )annotations)np_dtype_to_tensor_dtype)TensorProto)OpRun)bfloat16cast_tofloat8e4m3fnfloat8e4m3fnuz
float8e5m2float8e5m2fnuzint4uint4c                   |j                   t        k(  r1|j                   j                  d   d   dk(  rt        j                  }n|j                   t
        k(  r1|j                   j                  d   d   dk(  rt        j                  }ne|j                   t        k(  r1|j                   j                  d   d   dk(  rt        j                  }n!|j                   t        k(  r0|j                   j                  d   d   dk(  rt        j                  }n|j                   t        k(  r0|j                   j                  d   d   dk(  rt        j                  }n|j                   t        k(  r0|j                   j                  d   d   dk(  rt        j                  }nX|j                   t        k(  r0|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/answerous/venv/lib/python3.12/site-packages/onnx/reference/ops/op_cast_like.py
_cast_liker"      sq   ww(qww}}Q/2j@!!	
L	 QWW]]1%5a%8H%D%%	
N	"qww}}Q'7':j'H''	
J	177==#3A#6&#@##	
N	"qww}}Q'7':j'H''	
E	aggmmA.q1W<	
DQWW]]1-a0F:%agg.Ar8$&&    c                      e Zd Zd Zy)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y)CastLike_19Nc                    t        |||      S Nr'   )r(   r   r   r   s       r!   r)   zCastLike_19._run0   s    !Q))r#   r2   r*   r.   r#   r!   r0   r0   /   s    *r#   r0   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%   r0   r.   r#   r!   <module>r8      s?    # 0 $ '	 	 	'*&% &
*% *r#   