blob: d861c507300695d94c4de4e0bce840939d2ba867 [file] [log] [blame]
Nattapat Chaimanowong8a54ac02019-03-29 15:25:04 +00001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "RefDequantizeWorkload.hpp"
7#include "RefWorkloadUtils.hpp"
8
9namespace armnn
10{
11
12void RefDequantizeWorkload::Execute() const
13{
14 ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefDequantizeWorkload_Execute");
15
16 const TensorInfo& inputInfo = GetTensorInfo(m_Data.m_Inputs[0]);
17 const DataType& inputDataType = inputInfo.GetDataType();
18
19 float* outputData = GetOutputTensorData<float>(0, m_Data);
20
21 switch (inputDataType)
22 {
23 case DataType::QuantisedAsymm8:
24 Dequantize<uint8_t>(GetInputTensorData<uint8_t>(0, m_Data), outputData, inputInfo);
25 break;
26 case DataType::QuantisedSymm16:
27 Dequantize<int16_t>(GetInputTensorData<int16_t>(0, m_Data), outputData, inputInfo);
28 break;
29 default:
30 throw InvalidArgumentException("RefDequantizeWorkload: Unsupported input data type");
31 }
32}
33
34} // namespace armnn