cast_sub_byte.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_NAMESPACE so both names resolve to the same namespace.

Symbol-visibility attribute for the public onnx-light C++ API.

Maps the upstream compatibility macro to onnx-light’s explicit proto ABI annotation. This keeps declarations from vendored ONNX headers visible when lib_onnx_proto uses hidden visibility by default.

Namespace alias so that ONNX C++ code (and consumers such as onnxruntime) that refers to the literal onnx namespace — rather than the ONNX_NAMESPACE macro — resolves to the onnx-light namespace. The standard onnx package lives in namespace onnx; onnx-light uses onnx_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 from onnx.

namespace core
namespace runtime

Functions

std::uint8_t FloatToInt4Nibble(float v) noexcept#
std::uint8_t FloatToUint4Nibble(float v) noexcept#
std::int8_t Int4NibbleToInt8(std::uint8_t nibble) noexcept#
std::uint8_t Uint4NibbleToUint8(std::uint8_t nibble) noexcept#
std::uint8_t FloatToInt2Bits(float v) noexcept#
std::uint8_t FloatToUint2Bits(float v) noexcept#
std::int8_t Int2BitsToInt8(std::uint8_t bits) noexcept#
std::uint8_t Uint2BitsToUint8(std::uint8_t bits) noexcept#
inline std::uint8_t Read4BitElement(const std::uint8_t *data, int64_t i) noexcept#
inline void Write4BitElement(std::uint8_t *data, int64_t i, std::uint8_t nibble) noexcept#
inline std::uint8_t Read2BitElement(const std::uint8_t *data, int64_t i) noexcept#
inline void Write2BitElement(std::uint8_t *data, int64_t i, std::uint8_t bits) noexcept#