51 std::vector<int64_t> indices_data(_indices->
getShape().num_elements());
52 for (
size_t i = 0; i < indices_data.size(); ++i)
54 if (_indices->
data_type() == OperandType::INT32)
56 indices_data[i] =
static_cast<int64_t
>(getBuffer<int32_t>(_indices)[i]);
60 assert(_indices->
data_type() == OperandType::INT64);
61 indices_data[i] = getBuffer<int64_t>(_indices)[i];
67 case OperandType::FLOAT32:
69 getShape(_update), getBuffer<float>(_update), indices_data,
70 getBuffer<float>(_output));
72 case OperandType::QUANT_UINT8_ASYMM:
74 getShape(_update), getBuffer<uint8_t>(_update), indices_data,
75 getBuffer<uint8_t>(_output));
77 case OperandType::QUANT_INT16_SYMM:
79 getShape(_update), getBuffer<int8_t>(_update), indices_data,
80 getBuffer<int8_t>(_output));
83 throw std::runtime_error{
"DynamicUpdateSlice: NYI - unsupported data type"};