52 const circle::Tensor *input;
53 const circle::Tensor *axis;
54 const circle::Tensor *output;
60 const circle::SplitOptions *options;
69 input = runtime_kernel.
inputs[inputTensorIdx];
70 axis = runtime_kernel.
inputs[axisTensorIdx];
71 output = runtime_kernel.
outputs[outputTensorIdx];
72 assert(input !=
nullptr);
73 assert(axis !=
nullptr);
74 assert(output !=
nullptr);
76 status = runtime_kernel.
getDataFromStorage(op_index, runtime_storage, runtime_context);
80 input_data = runtime_kernel.
inputs_data[inputTensorIdx];
81 axis_data = runtime_kernel.
inputs_data[axisTensorIdx];
82 assert(input_data !=
nullptr);
83 assert(axis_data !=
nullptr);
84 options = runtime_kernel.
first_operator->builtin_options_as_SplitOptions();
86 params.num_outputs = options->num_splits();
88 for (uint32_t i = 0; i < params.num_outputs; ++i)
98 int32_t axis_value = utils::castInputData<int32_t>(axis_data)[0];
104 switch (input->type())
107 case circle::TensorType_FLOAT32:
108 status = pal::Split<float>(params, input_shape, core::utils::castInputData<float>(input_data),
113 case circle::TensorType_INT8:
116 pal::Split<int8_t>(params, input_shape, core::utils::castInputData<int8_t>(input_data),
124 assert(
false &&
"Unsupported type.");