blob: 4025e8d7fa766864e6611c0973d1390236c35c45 [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
Derek Lamberti901ea112019-12-10 22:07:09 +00008#include <boost/core/ignore_unused.hpp>
Jan Eilersf7107932019-11-01 11:09:36 +00009namespace armnn
10{
11
12void Dequantize(Decoder<float>& inputDecoder,
13 Encoder<float>& outputEncoder,
14 const TensorInfo& inputInfo,
15 const TensorInfo& outputInfo)
16{
Derek Lamberti901ea112019-12-10 22:07:09 +000017 boost::ignore_unused(outputInfo);
Jan Eilersf7107932019-11-01 11:09:36 +000018 BOOST_ASSERT(inputInfo.GetNumElements() == outputInfo.GetNumElements());
19 for (unsigned int i = 0; i < inputInfo.GetNumElements(); i++)
20 {
21 // inputDecoder.Get() dequantizes the data element from whatever
22 // type is given by inputInfo to fp32 (If MakeDecoder supports that dequantization)
23 // outputEncoder.Set() transforms the data element to whatever type is
24 // given by outputInfo (if MakeEncoder supports that transformation)
25 outputEncoder.Set(inputDecoder.Get());
26 ++outputEncoder;
27 ++inputDecoder;
28 }
29}
30
31} // armnn namespace