blob: fdc8e30c75f16ed30bd8e2aa73516abf6bd7a76a [file] [log] [blame]
Jan Eilersf7107932019-11-01 11:09:36 +00001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "Dequantize.hpp"
7
Jan Eilers8eb25602020-03-09 12:13:48 +00008#include <armnn/utility/IgnoreUnused.hpp>
9
Jan Eilersf7107932019-11-01 11:09:36 +000010namespace armnn
11{
12
13void Dequantize(Decoder<float>& inputDecoder,
14 Encoder<float>& outputEncoder,
15 const TensorInfo& inputInfo,
16 const TensorInfo& outputInfo)
17{
Jan Eilers8eb25602020-03-09 12:13:48 +000018 IgnoreUnused(outputInfo);
Narumol Prangnawaratac2770a2020-04-01 16:51:23 +010019 ARMNN_ASSERT(inputInfo.GetNumElements() == outputInfo.GetNumElements());
Jan Eilersf7107932019-11-01 11:09:36 +000020 for (unsigned int i = 0; i < inputInfo.GetNumElements(); i++)
21 {
22 // inputDecoder.Get() dequantizes the data element from whatever
23 // type is given by inputInfo to fp32 (If MakeDecoder supports that dequantization)
24 // outputEncoder.Set() transforms the data element to whatever type is
25 // given by outputInfo (if MakeEncoder supports that transformation)
26 outputEncoder.Set(inputDecoder.Get());
27 ++outputEncoder;
28 ++inputDecoder;
29 }
30}
31
32} // armnn namespace