ArmNN
 21.02
BFloat16Decoder Class Reference

#include <BaseIterator.hpp>

Inheritance diagram for BFloat16Decoder:
TypedIterator< const BFloat16, Decoder< float > > Decoder< float > BaseIterator

Public Member Functions

 BFloat16Decoder (const BFloat16 *data)
 
 BFloat16Decoder ()
 
float Get () const override
 
std::vector< float > DecodeTensor (const TensorShape &tensorShape, const unsigned int channelMultiplier, const bool isDepthwise) override
 
- Public Member Functions inherited from TypedIterator< const BFloat16, Decoder< float > >
 TypedIterator (const BFloat16 *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
 
TypedIteratorSetIndex (unsigned int index, unsigned int axisIndex=0) override
 
- Public Member Functions inherited from Decoder< float >
 Decoder ()
 
virtual ~Decoder ()
 
- Public Member Functions inherited from BaseIterator
 BaseIterator ()
 
virtual ~BaseIterator ()
 

Additional Inherited Members

- Protected Attributes inherited from TypedIterator< const BFloat16, Decoder< float > >
const BFloat16m_Iterator
 
const BFloat16m_Start
 

Detailed Description

Definition at line 276 of file BaseIterator.hpp.

Constructor & Destructor Documentation

◆ BFloat16Decoder() [1/2]

BFloat16Decoder ( const BFloat16 data)
inline

Definition at line 279 of file BaseIterator.hpp.

280  : TypedIterator(data) {}

◆ BFloat16Decoder() [2/2]

BFloat16Decoder ( )
inline

Definition at line 282 of file BaseIterator.hpp.

283  : BFloat16Decoder(nullptr) {}

Member Function Documentation

◆ DecodeTensor()

std::vector<float> DecodeTensor ( const TensorShape tensorShape,
const unsigned int  channelMultiplier,
const bool  isDepthwise 
)
inlineoverridevirtual

Implements Decoder< float >.

Definition at line 291 of file BaseIterator.hpp.

References FloatingPointConverter::ConvertBFloat16ToFloat32(), TensorShape::GetNumElements(), armnn::IgnoreUnused(), and BaseIterator::operator[]().

294  {
295  IgnoreUnused(channelMultiplier, isDepthwise);
296 
297  const unsigned int size = tensorShape.GetNumElements();
298  std::vector<float> decodedTensor;
299  decodedTensor.reserve(size);
300 
301  for (uint32_t i = 0; i < size; ++i)
302  {
303  this->operator[](i);
304 
305  float val = 0.f;
307  decodedTensor.emplace_back(val);
308  }
309 
310  return decodedTensor;
311  }
static void ConvertBFloat16ToFloat32(const void *srcBFloat16Buffer, size_t numElements, float *dstFloat32Buffer)
void IgnoreUnused(Ts &&...)
TypedIterator & operator[](const unsigned int index) override

◆ Get()

float Get ( ) const
inlineoverridevirtual

Implements Decoder< float >.

Definition at line 285 of file BaseIterator.hpp.

References FloatingPointConverter::ConvertBFloat16ToFloat32().

286  {
287  float val = 0.f;
289  return val;
290  }
static void ConvertBFloat16ToFloat32(const void *srcBFloat16Buffer, size_t numElements, float *dstFloat32Buffer)

The documentation for this class was generated from the following file: