19#include "kernels/Utils.h"
22#include "PALStridedSlice.h"
31 const int32_t *strides,
const circle::StridedSliceOptions *options)
63 const circle::Tensor *strides =
miso_kernel.input4();
67 const circle::Tensor *output =
miso_kernel.output();
83 const circle::Tensor *strides =
miso_kernel.input4();
84 const circle::Tensor *output =
miso_kernel.output();
86 const int32_t dims = Tensor::num_dims(input);
103 const auto *options =
cur_op->builtin_options_as_StridedSliceOptions();
107 switch (Tensor::element_type(input))
110 case DataType::FLOAT32:
112 kernels::getTensorData<float>(input_data),
113 kernels::getTensorData<float>(output_data));
128 kernels::getTensorData<int32_t>(input_data),
129 kernels::getTensorData<int32_t>(output_data));
132 assert(
false &&
"Unsupported type");
uint8_t * getConstDataByTensor(const circle::Tensor *raw_tensor)
uint8_t * getDataByTensor(const circle::Tensor *raw_tensor)
#define LUCI_INTERPRETER_CHECK(cond)
std::vector< int > dims(const std::string &src)
tflite::RuntimeShape getTensorShape(const Tensor *tensor)
void StridedSlice(StridedSliceParams &op_params, const luci_interpreter::RuntimeShape &unextended_input_shape, const T *input_data, T *output_data)
void configure_kernel_CircleStridedSlice(const circle::Operator *cur_op, BaseRuntimeGraph *runtime_graph)
void execute_kernel_CircleStridedSlice(const circle::Operator *cur_op, BaseRuntimeGraph *runtime_graph)
T must_cast(loco::Node *node)
ShapeIterator end(const Shape &s)
StridedSliceParams buildStridedSliceParams(const T *begin, const T *end, const T *strides, const uint32_t begin_mask, const uint32_t end_mask, const uint32_t shrink_axis_mask, const uint8_t rank)
int8_t start_indices_count