blob: d861c507300695d94c4de4e0bce840939d2ba867 [file] [log] [blame]
//
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
#include "RefDequantizeWorkload.hpp"
#include "RefWorkloadUtils.hpp"
namespace armnn
{
void RefDequantizeWorkload::Execute() const
{
ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefDequantizeWorkload_Execute");
const TensorInfo& inputInfo = GetTensorInfo(m_Data.m_Inputs[0]);
const DataType& inputDataType = inputInfo.GetDataType();
float* outputData = GetOutputTensorData<float>(0, m_Data);
switch (inputDataType)
{
case DataType::QuantisedAsymm8:
Dequantize<uint8_t>(GetInputTensorData<uint8_t>(0, m_Data), outputData, inputInfo);
break;
case DataType::QuantisedSymm16:
Dequantize<int16_t>(GetInputTensorData<int16_t>(0, m_Data), outputData, inputInfo);
break;
default:
throw InvalidArgumentException("RefDequantizeWorkload: Unsupported input data type");
}
}
} // namespace armnn