43 const int num_inputs = runtime_kernel.
inputs_num;
45 const auto *t0 = runtime_kernel.
inputs[0];
46 const auto *output = runtime_kernel.
outputs[0];
48 const auto *params = runtime_kernel.
first_operator->builtin_options_as_ConcatenationOptions();
51 if (params->fused_activation_function() != circle::ActivationFunctionType_NONE)
55 int axis = params->axis();
62 for (
int i = 1; i < num_inputs; ++i)
64 const auto *tensor = runtime_kernel.
inputs[i];
65 if (tensor->type() != t0->type())
69 if (t0->type() != circle::TensorType_INT8 and t0->type() != circle::TensorType_INT16)
75 for (
int i = 0; i < num_inputs; ++i)
77 const auto *tensor = runtime_kernel.
inputs[i];
79 if (tensor->quantization() ==
nullptr)
82 if (tensor->quantization()->scale()->size() != 1)
85 if (tensor->quantization()->zero_point()->size() != 1)
88 if (*tensor->quantization()->scale()->begin() != *output->quantization()->scale()->begin())
91 if (*tensor->quantization()->zero_point()->begin() !=
92 *output->quantization()->zero_point()->begin())