amath  1.8.5
Simple command line calculator
FloatUnion64 Union Reference

#include <numb.h>

Public Member Functions

bool IsNegative () const
 
bool IsZero () const
 
bool IsInf () const
 
bool IsNaN () const
 
bool IsMaxPositive () const
 
bool IsMaxNegative () const
 
int32_t GetExponent () const
 
uint64_t GetMantissa () const
 

Public Attributes

double floatingPoint
 
uint64_t integer
 

Detailed Description

Definition at line 44 of file numb.h.

Member Function Documentation

◆ GetExponent()

int32_t FloatUnion64::GetExponent ( ) const
inline

Definition at line 51 of file numb.h.

References integer.

Referenced by DecimalSystem::GetText(), IsInf(), and IsNaN().

51 { return (integer >> 52) & 0x7FF; }
uint64_t integer
Definition: numb.h:54
Here is the caller graph for this function:

◆ GetMantissa()

uint64_t FloatUnion64::GetMantissa ( ) const
inline

Definition at line 52 of file numb.h.

References integer.

Referenced by DecimalSystem::GetText(), IsInf(), and IsNaN().

52 { return integer & 0xFFFFFFFFFFFFFull; }
uint64_t integer
Definition: numb.h:54
Here is the caller graph for this function:

◆ IsInf()

bool FloatUnion64::IsInf ( ) const
inline

Definition at line 47 of file numb.h.

References GetExponent(), and GetMantissa().

Referenced by PositionalNumeralSystem::GetText(), RealNumber::IsInfinite(), and ComplexNumber::IsInfinite().

47 { return GetExponent() == 0x7FF && GetMantissa() == 0; }
int32_t GetExponent() const
Definition: numb.h:51
uint64_t GetMantissa() const
Definition: numb.h:52
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsMaxNegative()

bool FloatUnion64::IsMaxNegative ( ) const
inline

Definition at line 50 of file numb.h.

References integer.

Referenced by ComplexNumber::IsInfinite(), and RealNumber::IsInfinite().

50 { return integer == 0x7FFFFFFFFFFFFFFFull; }
uint64_t integer
Definition: numb.h:54
Here is the caller graph for this function:

◆ IsMaxPositive()

bool FloatUnion64::IsMaxPositive ( ) const
inline

Definition at line 49 of file numb.h.

References integer.

Referenced by ComplexNumber::IsInfinite(), and RealNumber::IsInfinite().

49 { return integer == 0x7EFFFFFFFFFFFFFFull; }
uint64_t integer
Definition: numb.h:54
Here is the caller graph for this function:

◆ IsNaN()

bool FloatUnion64::IsNaN ( ) const
inline

Definition at line 48 of file numb.h.

References GetExponent(), and GetMantissa().

Referenced by ComplexNumber::IsNaN(), and RealNumber::IsNaN().

48 { return GetExponent() == 0x7FF && GetMantissa() != 0; }
int32_t GetExponent() const
Definition: numb.h:51
uint64_t GetMantissa() const
Definition: numb.h:52
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsNegative()

bool FloatUnion64::IsNegative ( ) const
inline

Definition at line 45 of file numb.h.

References integer.

Referenced by DecimalSystem::GetText(), RealNumber::IsNegative(), and ComplexNumber::IsNegative().

45 { return (integer >> 63) != 0; }
uint64_t integer
Definition: numb.h:54
Here is the caller graph for this function:

◆ IsZero()

bool FloatUnion64::IsZero ( ) const
inline

Definition at line 46 of file numb.h.

References integer.

Referenced by ComplexNumber::IsZero(), and RealNumber::IsZero().

46 { return integer == 0; }
uint64_t integer
Definition: numb.h:54
Here is the caller graph for this function:

Member Data Documentation

◆ floatingPoint

◆ integer

uint64_t FloatUnion64::integer

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