52 const circle::Tensor *input = runtime_kernel.
inputs[inputTensorIdx];
53 const circle::Tensor *axis = runtime_kernel.
inputs[axisTensorIdx];
54 const circle::Tensor *output = runtime_kernel.
outputs[outputTensorIdx];
56 assert(input !=
nullptr);
57 assert(axis !=
nullptr);
58 assert(output !=
nullptr);
60 status = utils::checkCondition(output->type() == input->type());
64 status = utils::checkCondition(axis->type() == circle::TensorType_INT32);
69 status = utils::checkCondition(
OMRuntimeShape(axis).flatSize() == 1);
75 auto *axis_data =
reinterpret_cast<int32_t *
>(runtime_kernel.
inputs_data[axisTensorIdx]);
76 status = utils::checkCondition(axis_data !=
nullptr);
80 int32_t axis_value = axis_data[0];
88 status = utils::checkCondition(axis_value <= input_shape.
dimensionsCount() and axis_value >= 0);