float16_promote.h#
-
namespace onnx_light
Alias that makes onnx-light headers compatible with code that references
ONNX_LIGHT_NAMESPACE(the macro used in the standard onnx package).Set to
ONNX_LIGHT_NAMESPACEso both names resolve to the same namespace.Symbol-visibility attribute for the public onnx-light C++ API.
Defined as empty because onnx-light does not require explicit
__declspec(dllexport)or__attribute__((visibility("default")))annotations — visibility is controlled at the shared-library level. The macro is provided so that vendored ONNX headers that decorate their declarations withONNX_APIcompile without modification.Namespace alias so that ONNX C++ code (and consumers such as onnxruntime) that refers to the literal
onnxnamespace — rather than theONNX_NAMESPACEmacro — resolves to the onnx-light namespace. The standard onnx package lives innamespace onnx; onnx-light usesonnx_light(via ONNX_LIGHT_NAMESPACE), so this alias keeps onnx-light a true drop-in. It is only introduced when the onnx-light namespace differs fromonnx.-
namespace onnx_kernels
Functions
-
inline bool IsHalfPrecision(int32_t data_type)#
Returns true if the data type is FLOAT16 or BFLOAT16.
-
Tensor PromoteToFloat32(const Tensor &src)#
Converts a FLOAT16 or BFLOAT16 tensor to FLOAT32. If the input is already FLOAT or DOUBLE, returns a copy unchanged (no conversion).
-
Tensor DemoteFromFloat32(const Tensor &src, int32_t target_dtype)#
Demotes a FLOAT32 tensor back to FLOAT16 or BFLOAT16.
- Parameters:
src – The float32 tensor to demote.
target_dtype – The target data type (FLOAT16 or BFLOAT16).
- Returns:
A new Tensor with data_type == target_dtype and the same shape/name.
-
inline bool IsHalfPrecision(int32_t data_type)#
-
namespace onnx_kernels