math/utils.h#

Math-domain schema helpers, including onnx_light::defs::math::utils::TopKOpGenerator() and onnx_light::defs::math::utils::MatMulShapeInference().

Declares reusable math-operator schema and inference helpers.

This header defines utility APIs for math-domain operators, including TopK schema generation, scalar extraction from TensorProto constants, and MatMul shape inference helpers.

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.

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 with ONNX_API compile without modification.

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 defs#
namespace math#
namespace utils#

Functions

std::function<void(OpSchema&)> TopKOpGenerator(std::vector<std::string> allowed_types)#
template<typename T>
T GetScalarValueFromTensor(const onnx_light::TensorProto *t)#
void MatMulShapeInference(onnx_light::InferenceContext &ctx, int input1Idx, int input2Idx)#
void QLinearMatMulShapeInference(onnx_light::InferenceContext &ctx)#
const char *QLinearMatMulDoc()#
int MathOpTwoIntegers(const std::string &op_type, int a, int b)#