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(input->type() == output->type());
66 status = utils::checkCondition(axis->type() == circle::TensorType_INT32 or
67 axis->type() == circle::TensorType_INT64);
73 uint8_t *axis_data = runtime_kernel.
inputs_data[axisTensorIdx];
74 status = utils::checkCondition(axis_data !=
nullptr);
78 if (axis->type() == circle::TensorType_INT32)
80 int32_t axis_value = *
reinterpret_cast<int32_t *
>(axis_data);
86 status = utils::checkCondition(axis_value <= input_shape.
dimensionsCount() and axis_value >= 0);
92 int64_t axis_value = *
reinterpret_cast<int64_t *
>(axis_data);
98 status = utils::checkCondition(axis_value <= input_shape.
dimensionsCount() and axis_value >= 0);