Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes | Static Private Attributes | List of all members
FIX::double_conversion::DiyFp Class Reference

Public Member Functions

 DiyFp ()
 
 DiyFp (uint64_t significand, int exponent)
 
void Subtract (const DiyFp &other)
 
void Multiply (const DiyFp &other)
 
void Normalize ()
 
uint64_t f () const
 
int e () const
 
void set_f (uint64_t new_value)
 
void set_e (int new_value)
 

Static Public Member Functions

static DiyFp Minus (const DiyFp &a, const DiyFp &b)
 
static DiyFp Times (const DiyFp &a, const DiyFp &b)
 
static DiyFp Normalize (const DiyFp &a)
 

Static Public Attributes

static const int kSignificandSize = 64
 

Private Attributes

uint64_t f_
 
int e_
 

Static Private Attributes

static const uint64_t kUint64MSB = UINT64_2PART_C(0x80000000, 00000000)
 

Detailed Description

Definition at line 41 of file FieldConvertors.cpp.

Constructor & Destructor Documentation

◆ DiyFp() [1/2]

FIX::double_conversion::DiyFp::DiyFp ( )
inline

Definition at line 45 of file FieldConvertors.cpp.

◆ DiyFp() [2/2]

FIX::double_conversion::DiyFp::DiyFp ( uint64_t  significand,
int  exponent 
)
inline

Definition at line 46 of file FieldConvertors.cpp.

Member Function Documentation

◆ e()

int FIX::double_conversion::DiyFp::e ( ) const
inline

Definition at line 105 of file FieldConvertors.cpp.

◆ f()

uint64_t FIX::double_conversion::DiyFp::f ( ) const
inline

Definition at line 104 of file FieldConvertors.cpp.

◆ Minus()

static DiyFp FIX::double_conversion::DiyFp::Minus ( const DiyFp a,
const DiyFp b 
)
inlinestatic

Definition at line 61 of file FieldConvertors.cpp.

64  {
65  return g_atod_converter.StringToDouble( buffer, size, processed_chars );
static double_conversion::StringToDoubleConverter g_atod_converter(double_conversion::StringToDoubleConverter::NO_FLAGS, std::numeric_limits< double >::quiet_NaN(), std::numeric_limits< double >::quiet_NaN(), "INF", "NAN")

◆ Multiply()

void FIX::double_conversion::DiyFp::Multiply ( const DiyFp other)

Definition at line 35 of file FieldConvertors.cpp.

◆ Normalize() [1/2]

void FIX::double_conversion::DiyFp::Normalize ( )
inline

Definition at line 78 of file FieldConvertors.cpp.

82  {
83  double_conversion::StringBuilder builder( buffer, size );
84  if( !g_dtoa_converter.ToFixed( value, DoubleConvertor::SIGNIFICANT_DIGITS, &builder ) )
85  {
86  builder.Reset();
87  return 0;
88  }
89 
90  return builder.position();
91  }
92 
93 }
94 
static const int SIGNIFICANT_DIGITS
static double_conversion::DoubleToStringConverter g_dtoa_converter(double_conversion::DoubleToStringConverter::NO_FLAGS, "INF", "NAN", 'e', -DoubleConvertor::SIGNIFICANT_DIGITS, DoubleConvertor::SIGNIFICANT_DIGITS, DoubleConvertor::SIGNIFICANT_DIGITS - 1, 0)

◆ Normalize() [2/2]

static DiyFp FIX::double_conversion::DiyFp::Normalize ( const DiyFp a)
inlinestatic

Definition at line 98 of file FieldConvertors.cpp.

◆ set_e()

void FIX::double_conversion::DiyFp::set_e ( int  new_value)
inline

Definition at line 108 of file FieldConvertors.cpp.

◆ set_f()

void FIX::double_conversion::DiyFp::set_f ( uint64_t  new_value)
inline

Definition at line 107 of file FieldConvertors.cpp.

◆ Subtract()

void FIX::double_conversion::DiyFp::Subtract ( const DiyFp other)
inline

Definition at line 52 of file FieldConvertors.cpp.

◆ Times()

static DiyFp FIX::double_conversion::DiyFp::Times ( const DiyFp a,
const DiyFp b 
)
inlinestatic

Definition at line 72 of file FieldConvertors.cpp.

72  {
73  builder.Reset();
74  return 0;
75  }
76 

Member Data Documentation

◆ e_

int FIX::double_conversion::DiyFp::e_
private

Definition at line 114 of file FieldConvertors.cpp.

◆ f_

uint64_t FIX::double_conversion::DiyFp::f_
private

Definition at line 113 of file FieldConvertors.cpp.

◆ kSignificandSize

const int FIX::double_conversion::DiyFp::kSignificandSize = 64
static

Definition at line 43 of file FieldConvertors.cpp.

◆ kUint64MSB

const uint64_t FIX::double_conversion::DiyFp::kUint64MSB = UINT64_2PART_C(0x80000000, 00000000)
staticprivate

Definition at line 111 of file FieldConvertors.cpp.


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

Generated on Wed Aug 28 2019 14:13:46 for QuickFIX by doxygen 1.8.13 written by Dimitri van Heesch, © 1997-2001