
    wi                        d dl mZ d dlZd dlZd dlmZ 	 dddZ G d de          Z G d de          Z	 G d de          Z
 G d de          ZdS )    )annotationsN)OpRunupx
np.ndarraytoonnx.TensorProto.DataTypesaturatebool
round_modestrc                0   |t           j        j        k    r|                     t          j                  S t           j                            |          }|t           j        j        t           j        j	        t           j        j
        t           j        j        hv r"|r t           j                            | |          S |t           j        j        k    r4t           j                            | ||                              |          S |                     |          S N)onnxTensorProtoSTRINGastypenpstr_helpertensor_dtype_to_np_dtypeFLOAT8E4M3FNFLOAT8E4M3FNUZ
FLOAT8E5M2FLOAT8E5M2FNUZnumpy_helpersaturate_cast
FLOAT8E8M0to_float8e8m0)r   r   r
   r   dtypes        j/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/onnx/reference/ops/op_cast.pycast_tor"      s     
T$$$xx   K0044E
)+'+	
	
 	
 	
  ..q%888	T((( ..q(JGGNNuUUU88E??    c                      e Zd ZddZdS )Cast_1Nc                *    t          ||dd          fS )NTr   )r
   r   r"   )selfr   r   s      r!   _runzCast_1._run&   s    2>>>@@r#   r   __name__
__module____qualname__r)    r#   r!   r%   r%   %   s.        A A A A A Ar#   r%   c                      e Zd ZddZdS )Cast_19Nc                *    t          |||d          fS )Nr   )r   r'   )r(   r   r   r
   s       r!   r)   zCast_19._run+   s    2xD999;;r#   )NNr*   r.   r#   r!   r0   r0   *   s(        < < < < < <r#   r0   c                      e Zd ZddZdS )Cast_24Nc                (    t          ||||          fS r   r'   r(   r   r   r
   r   s        r!   r)   zCast_24._run0       2x4466r#   NNNr*   r.   r#   r!   r3   r3   /   (        7 7 7 7 7 7r#   r3   c                      e Zd ZddZdS )Cast_25Nc                (    t          ||||          fS r   r'   r5   s        r!   r)   zCast_25._run5   r6   r#   r7   r*   r.   r#   r!   r:   r:   4   r8   r#   r:   )r   )r   r   r   r	   r
   r   r   r   )
__future__r   numpyr   r   onnx.reference.op_runr   r"   r%   r0   r3   r:   r.   r#   r!   <module>r?      s   # " " " " "      ' ' ' ' ' ' UY    2A A A A AU A A A
< < < < <e < < <
7 7 7 7 7e 7 7 7
7 7 7 7 7e 7 7 7 7 7r#   