ArmNN
 20.02
Dequantize.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2019 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include "Dequantize.hpp"
7 
9 
10 namespace armnn
11 {
12 
13 void Dequantize(Decoder<float>& inputDecoder,
14  Encoder<float>& outputEncoder,
15  const TensorInfo& inputInfo,
16  const TensorInfo& outputInfo)
17 {
18  IgnoreUnused(outputInfo);
19  BOOST_ASSERT(inputInfo.GetNumElements() == outputInfo.GetNumElements());
20  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
float Dequantize(QuantizedType value, float scale, int32_t offset)
Dequantize an 8-bit data type into a floating point data type.
Definition: TypesUtils.cpp:47
virtual void Set(IType right)=0
Copyright (c) 2020 ARM Limited.
void IgnoreUnused(Ts &&...)
virtual IType Get() const =0
unsigned int GetNumElements() const
Definition: Tensor.hpp:93