
    hB                     z    S SK Jr  S SKJr  S SKJr  S SKJrJrJ	r	J
r
JrJr  S r " S S\5      r " S S	\5      rg
)    )np_dtype_to_tensor_dtype)TensorProto)OpRun)bfloat16cast_tofloat8e4m3fnfloat8e4m3fnuz
float8e5m2float8e5m2fnuzc                    UR                   [        :X  a2  UR                   R                  S   S   S:X  a  [        R                  nGO)UR                   [
        :X  a1  UR                   R                  S   S   S:X  a  [        R                  nOUR                   [        :X  a1  UR                   R                  S   S   S:X  a  [        R                  nOUR                   [        :X  a1  UR                   R                  S   S   S:X  a  [        R                  nOZUR                   [        :X  a1  UR                   R                  S   S   S:X  a  [        R                  nO[        UR                   5      n[        XU5      4$ )Nr   r   e4m3fne4m3fnuze5m2e5m2fnuz)dtyper   descrr   BFLOAT16r   FLOAT8E4M3FNr	   FLOAT8E4M3FNUZr
   
FLOAT8E5M2r   FLOAT8E5M2FNUZr   r   )xysaturatetos       Y/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/reference/ops/op_cast_like.py
_cast_liker      s   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''%agg.A8$&&    c                       \ rS rSrS rSrg)CastLike_15$   c                     [        XS5      $ )NTr   )selfr   r   s      r   _runCastLike_15._run%   s    !%%r    N__name__
__module____qualname____firstlineno__r%   __static_attributes__r'   r   r   r    r    $   s    &r   r    c                       \ rS rSrSS jrSrg)CastLike_19)   Nc                     [        XU5      $ Nr#   )r$   r   r   r   s       r   r%   CastLike_19._run*   s    !))r   r'   r2   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   <module>r8      s7    1 $ ' '"&% &
*% *r   