29constexpr uint32_t axisTensorIdx = 0;
30constexpr uint32_t inputTensorIdx = 1;
35OMStatus onert_micro::import::configure_kernel_CircleSplit(
const OMConfigureArgs &config_args)
39 uint16_t op_index = config_args.kernel_index;
47 const circle::Tensor *
input = runtime_kernel.
inputs[inputTensorIdx];
48 const circle::Tensor *axis = runtime_kernel.
inputs[axisTensorIdx];
51 assert(input !=
nullptr);
52 assert(axis !=
nullptr);
53 assert(output !=
nullptr);
55 status = utils::checkCondition(
output->type() ==
input->type());
59 status = utils::checkCondition(axis->type() == circle::TensorType_INT32);
64 status = utils::checkCondition(
OMRuntimeShape(axis).flatSize() == 1);
70 auto *axis_data =
reinterpret_cast<int32_t *
>(runtime_kernel.
inputs_data[axisTensorIdx]);
71 status = utils::checkCondition(axis_data !=
nullptr);
75 int32_t axis_value = axis_data[0];
80 axis_value += input_shape.dimensionsCount() + 1;
83 status = utils::checkCondition(axis_value <= input_shape.dimensionsCount() and axis_value >= 0);
OMStatus getDataFromStorage(uint16_t op_index, core::OMRuntimeStorage &storage, core::OMRuntimeContext &context)
uint8_t * inputs_data[maxInputSize]
OMStatus readKernel(uint16_t op_index, core::OMRuntimeContext &runtime_context)
const circle::Tensor * outputs[maxOutputSize]
const circle::Tensor * inputs[maxInputSize]
constexpr uint32_t outputTensorIdx