35constexpr uint32_t axisTensorIdx = 0;
36constexpr uint32_t inputTensorIdx = 1;
47 const circle::Tensor *
input;
48 const circle::Tensor *axis;
49 const circle::Tensor *
output;
55 const circle::SplitOptions *
options;
65 axis = runtime_kernel.
inputs[axisTensorIdx];
67 assert(input !=
nullptr);
68 assert(axis !=
nullptr);
69 assert(output !=
nullptr);
71 status = runtime_kernel.
getDataFromStorage(op_index, runtime_storage, runtime_context);
76 axis_data = runtime_kernel.
inputs_data[axisTensorIdx];
77 assert(input_data !=
nullptr);
78 assert(axis_data !=
nullptr);
81 params.num_outputs =
options->num_splits();
83 for (uint32_t i = 0; i < params.num_outputs; ++i)
93 int32_t axis_value = utils::castInputData<int32_t>(axis_data)[0];
96 axis_value += input_shape.dimensionsCount() + 1;
99 switch (
input->type())
102 case circle::TensorType_FLOAT32:
103 status = pal::Split<float>(params, input_shape, core::utils::castInputData<float>(input_data),
110 assert(
false &&
"Unsupported type.");
uint8_t * outputs_data[maxOutputSize]
const circle::Operator * first_operator
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]
const luci_interpreter::RuntimeShape output_shape
constexpr uint32_t outputTensorIdx
core::OMRuntimeContext & runtime_context
core::OMRuntimeStorage & runtime_storage