text: //this file was generated by ../../../../../../scripts/onnx_generator/OperatorInfo.py
  #include "operators/operator_info.h"
  #include "operator__ai_onnx__topk__11.h"
  
  /* attributes */
  static
  operator_info_attribute
  attributes[] = {
  {
      .name     = "axis",
      .optional = true,
      .type     = ONNX__ATTRIBUTE_PROTO__ATTRIBUTE_TYPE__INT
  },
  {
      .name     = "largest",
      .optional = true,
      .type     = ONNX__ATTRIBUTE_PROTO__ATTRIBUTE_TYPE__INT
  },
  {
      .name     = "sorted",
      .optional = true,
      .type     = ONNX__ATTRIBUTE_PROTO__ATTRIBUTE_TYPE__INT
  }
  };
  
  /* input tensors */
  static
  uint32_t
  input_tensor_type_X[] = {
  ONNX__TENSOR_PROTO__DATA_TYPE__DOUBLE,
  ONNX__TENSOR_PROTO__DATA_TYPE__FLOAT,
  ONNX__TENSOR_PROTO__DATA_TYPE__FLOAT16,
  ONNX__TENSOR_PROTO__DATA_TYPE__INT16,
  ONNX__TENSOR_PROTO__DATA_TYPE__INT32,
  ONNX__TENSOR_PROTO__DATA_TYPE__INT64,
  ONNX__TENSOR_PROTO__DATA_TYPE__INT8,
  ONNX__TENSOR_PROTO__DATA_TYPE__UINT16,
  ONNX__TENSOR_PROTO__DATA_TYPE__UINT32,
  ONNX__TENSOR_PROTO__DATA_TYPE__UINT64,
  ONNX__TENSOR_PROTO__DATA_TYPE__UINT8
  };
  
  static
  uint32_t
  input_tensor_type_K[] = {
  ONNX__TENSOR_PROTO__DATA_TYPE__INT64
  };
  
  static
  operator_info_tensor
  inputs[] = {
  {
      .name        = "X",
      .optional    = false,
      .variadic    = false,
      .homogeneous = true,
      .constraint  = "T",
      .n_types     = 11,
      .types       = input_tensor_type_X
  },
  {
      .name        = "K",
      .optional    = false,
      .variadic    = false,
      .homogeneous = true,
      .constraint  = "tensor(int64)",
      .n_types     = 1,
      .types       = input_tensor_type_K
  }
  };
  
  /* output tensors */
  static
  uint32_t
  output_tensor_type_Values[] = {
  ONNX__TENSOR_PROTO__DATA_TYPE__DOUBLE,
  ONNX__TENSOR_PROTO__DATA_TYPE__FLOAT,
  ONNX__TENSOR_PROTO__DATA_TYPE__FLOAT16,
  ONNX__TENSOR_PROTO__DATA_TYPE__INT16,
  ONNX__TENSOR_PROTO__DATA_TYPE__INT32,
  ONNX__TENSOR_PROTO__DATA_TYPE__INT64,
  ONNX__TENSOR_PROTO__DATA_TYPE__INT8,
  ONNX__TENSOR_PROTO__DATA_TYPE__UINT16,
  ONNX__TENSOR_PROTO__DATA_TYPE__UINT32,
  ONNX__TENSOR_PROTO__DATA_TYPE__UINT64,
  ONNX__TENSOR_PROTO__DATA_TYPE__UINT8
  };
  
  static
  uint32_t
  output_tensor_type_Indices[] = {
  ONNX__TENSOR_PROTO__DATA_TYPE__INT64
  };
  
  static
  operator_info_tensor
  outputs[] = {
  {
      .name        = "Values",
      .optional    = false,
      .variadic    = false,
      .homogeneous = true,
      .constraint  = "T",
      .n_types     = 11,
      .types       = output_tensor_type_Values
  },
  {
      .name        = "Indices",
      .optional    = false,
      .variadic    = false,
      .homogeneous = true,
      .constraint  = "I",
      .n_types     = 1,
      .types       = output_tensor_type_Indices
  }
  };
  
  /* constraints */
  static
  operator_info_constraint
  constraints[] = {
  { "T" },
  { "I" }
  };
  
  /* operator info */
  operator_info
  info_operator__ai_onnx__topk__11 = {
      .name         = "TopK",
      .range_input  = { 2, 2 },
      .range_output = { 2, 2 },
      .n_attribute  = 3,
      .attribute    = attributes,
      .n_input      = 2,
      .input        = inputs,
      .n_output     = 2,
      .output       = outputs,
      .n_constraint = 2,
      .constraint   = constraints
  };