ArmNN
 23.11
QASymm8Decoder Class Reference

#include <BaseIterator.hpp>

Inheritance diagram for QASymm8Decoder:
[legend]
Collaboration diagram for QASymm8Decoder:
[legend]

Public Member Functions

 QASymm8Decoder (const uint8_t *data, const float scale, const int32_t offset)
 
 QASymm8Decoder (const float scale, const int32_t offset)
 
float Get () const override
 
std::vector< float > DecodeTensor (const TensorShape &tensorShape, const bool) override
 
- Public Member Functions inherited from TypedIterator< const uint8_t, Decoder< float > >
 TypedIterator (const uint8_t *data=nullptr)
 
void Reset (void *data) override
 
TypedIteratoroperator++ () override
 
TypedIteratoroperator+= (const unsigned int increment) override
 
TypedIteratoroperator-= (const unsigned int increment) override
 
TypedIteratoroperator[] (const unsigned int index) override
 
- Public Member Functions inherited from Decoder< float >
 Decoder ()
 
virtual ~Decoder ()
 
virtual float Get () const=0
 
- Public Member Functions inherited from BaseIterator
 BaseIterator ()
 
virtual ~BaseIterator ()
 

Additional Inherited Members

- Protected Attributes inherited from TypedIterator< const uint8_t, Decoder< float > >
const uint8_t * m_Iterator
 
const uint8_t * m_Start
 

Detailed Description

Definition at line 112 of file BaseIterator.hpp.

Constructor & Destructor Documentation

◆ QASymm8Decoder() [1/2]

QASymm8Decoder ( const uint8_t *  data,
const float  scale,
const int32_t  offset 
)
inline

Definition at line 115 of file BaseIterator.hpp.

116  : TypedIterator(data), m_Scale(scale), m_Offset(offset) {}

◆ QASymm8Decoder() [2/2]

QASymm8Decoder ( const float  scale,
const int32_t  offset 
)
inline

Definition at line 118 of file BaseIterator.hpp.

119  : QASymm8Decoder(nullptr, scale, offset) {}

Member Function Documentation

◆ DecodeTensor()

std::vector<float> DecodeTensor ( const TensorShape tensorShape,
const bool   
)
inlineoverridevirtual

Implements Decoder< float >.

Definition at line 125 of file BaseIterator.hpp.

126  {
127  const unsigned int size = tensorShape.GetNumElements();
128  std::vector<float> decodedTensor;
129  decodedTensor.reserve(size);
130 
131  for (uint32_t i = 0; i < size; ++i)
132  {
133  this->operator[](i);
134  decodedTensor.emplace_back(armnn::Dequantize(*m_Iterator, m_Scale, m_Offset));
135  }
136 
137  return decodedTensor;
138  }

References armnn::Dequantize(), TensorShape::GetNumElements(), TypedIterator< const uint8_t, Decoder< float > >::m_Iterator, and TypedIterator< const uint8_t, Decoder< float > >::operator[]().

◆ Get()

float Get ( ) const
inlineoverride

Definition at line 121 of file BaseIterator.hpp.

122  {
123  return armnn::Dequantize(*m_Iterator, m_Scale, m_Offset);
124  }

References armnn::Dequantize(), and TypedIterator< const uint8_t, Decoder< float > >::m_Iterator.


The documentation for this class was generated from the following file:
armnn::TypedIterator< const uint8_t, Decoder< float > >::m_Iterator
const uint8_t * m_Iterator
Definition: BaseIterator.hpp:108
armnn::TypedIterator< const uint8_t, Decoder< float > >::TypedIterator
TypedIterator(const uint8_t *data=nullptr)
Definition: BaseIterator.hpp:69
armnn::Dequantize
float Dequantize(QuantizedType value, float scale, int32_t offset)
Dequantize an 8-bit data type into a floating point data type.
Definition: TypesUtils.cpp:52
armnn::TypedIterator< const uint8_t, Decoder< float > >::operator[]
TypedIterator & operator[](const unsigned int index) override
Definition: BaseIterator.hpp:100
armnn::QASymm8Decoder::QASymm8Decoder
QASymm8Decoder(const uint8_t *data, const float scale, const int32_t offset)
Definition: BaseIterator.hpp:115