51 const circle::Tensor *input;
52 const circle::Tensor *perm;
53 const circle::Tensor *output;
66 input = runtime_kernel.
inputs[kInputTensorIdx];
67 perm = runtime_kernel.
inputs[kPermTensorIdx];
68 output = runtime_kernel.
outputs[kOutputTensorIdx];
69 assert(input !=
nullptr);
70 assert(perm !=
nullptr);
71 assert(output !=
nullptr);
73 status = runtime_kernel.
getDataFromStorage(op_index, runtime_storage, runtime_context);
77 input_data = runtime_kernel.
inputs_data[kInputTensorIdx];
78 perm_data = runtime_kernel.
inputs_data[kPermTensorIdx];
79 output_data = runtime_kernel.
outputs_data[kOutputTensorIdx];
80 assert(input_data !=
nullptr);
81 assert(perm_data !=
nullptr);
82 assert(output_data !=
nullptr);
90 assert(
reinterpret_cast<int32_t *
>(perm_data)[idx] >= 0 and
96 params.
perm[i] =
reinterpret_cast<int32_t *
>(perm_data)[i];
98 switch (input->type())
101 case circle::TensorType_FLOAT32:
102 status = pal::Transpose<float>(params, input_shape,
reinterpret_cast<float *
>(input_data),
109 assert(
false &&
"Unsupported type.");