44 const circle::Tensor *input;
45 const circle::Tensor *output;
56 input = runtime_kernel.
inputs[inputTensorIdx];
57 output = runtime_kernel.
outputs[outputTensorIdx];
62 assert(input !=
nullptr);
63 assert(output !=
nullptr);
65 status = runtime_kernel.
getDataFromStorage(op_index, runtime_storage, runtime_context);
69 input_data = runtime_kernel.
inputs_data[inputTensorIdx];
70 output_data = runtime_kernel.
outputs_data[outputTensorIdx];
71 const auto *options = runtime_kernel.
first_operator->builtin_options_as_SpaceToDepthOptions();
72 const int32_t block_size = options->block_size();
73 switch (input->type())
76 case circle::TensorType_FLOAT32:
79 pal::SpaceToDepth<float>(block_size, input_shape,
reinterpret_cast<float *
>(input_data),
85 case circle::TensorType_INT8:
88 pal::SpaceToDepth<int8_t>(block_size, input_shape,
reinterpret_cast<int8_t *
>(input_data),
96 assert(
false &&
"Unsupported type.");