ATLAS Offline Software
Loading...
Searching...
No Matches
DecoderFloat_IEEE754 Class Reference

#include <ErrorMatrixCompressor.h>

Collaboration diagram for DecoderFloat_IEEE754:

Public Member Functions

void setF (float f)
float getF ()
void setL (int l)
unsigned int getL ()
void print ()
short int getExponent ()
unsigned int getMantissa ()
void setExponent (short int)
void setSign (int)

Public Attributes

std::uint32_t m_data {}

Detailed Description

Definition at line 21 of file ErrorMatrixCompressor.h.

Member Function Documentation

◆ getExponent()

short int DecoderFloat_IEEE754::getExponent ( )

Definition at line 25 of file ErrorMatrixCompressor.cxx.

26{
27 std::uint32_t mask = 0x7f800000u;
28 return ((m_data & mask) >> 23);
29}

◆ getF()

float DecoderFloat_IEEE754::getF ( )
inline

Definition at line 30 of file ErrorMatrixCompressor.h.

31 {
32 auto myUint = m_data;
33 if(myUint==0x80000000u)
34 return 0.0;
35 else
36 return std::bit_cast<float>(m_data);
37 }

◆ getL()

unsigned int DecoderFloat_IEEE754::getL ( )
inline

Definition at line 42 of file ErrorMatrixCompressor.h.

43 {
44 return m_data;
45 }

◆ getMantissa()

unsigned int DecoderFloat_IEEE754::getMantissa ( )

Definition at line 31 of file ErrorMatrixCompressor.cxx.

32{
33 std::uint32_t mask = 0x007fffffu;
34 return (m_data & mask);
35}

◆ print()

void DecoderFloat_IEEE754::print ( )

Definition at line 20 of file ErrorMatrixCompressor.cxx.

21{
22 std::cout << std::format("{:032b}\n", m_data);
23}

◆ setExponent()

void DecoderFloat_IEEE754::setExponent ( short int ex)

Definition at line 38 of file ErrorMatrixCompressor.cxx.

39{
40 std::uint32_t buf=ex;
41 buf=buf<<23;
42 std::uint32_t mask=0x7F800000u;
43 m_data = m_data | (buf & mask);
44}

◆ setF()

void DecoderFloat_IEEE754::setF ( float f)
inline

Definition at line 26 of file ErrorMatrixCompressor.h.

27 {
28 m_data=std::bit_cast<std::uint32_t>(f);
29 }

◆ setL()

void DecoderFloat_IEEE754::setL ( int l)
inline

Definition at line 38 of file ErrorMatrixCompressor.h.

39 {
40 m_data=l;
41 }
l
Printing final latex table to .tex output file.

◆ setSign()

void DecoderFloat_IEEE754::setSign ( int s)

Definition at line 46 of file ErrorMatrixCompressor.cxx.

47{
48 if(s>0)
49 {
50 m_data = m_data & 0x7FFFFFFFu;
51 }
52 else
53 {
54 m_data= m_data | 0x80000000u;
55 }
56}

Member Data Documentation

◆ m_data

std::uint32_t DecoderFloat_IEEE754::m_data {}

Definition at line 52 of file ErrorMatrixCompressor.h.

52{};

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