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

Public Member Functions

 UInt128 ()
 
 UInt128 (uint64_t high, uint64_t low)
 
void Multiply (uint32_t multiplicand)
 
void Shift (int shift_amount)
 
int DivModPowerOf2 (int power)
 
bool IsZero () const
 
int BitAt (int position)
 

Private Attributes

uint64_t high_bits_
 
uint64_t low_bits_
 

Static Private Attributes

static const uint64_t kMask32 = 0xFFFFFFFF
 

Detailed Description

Definition at line 37 of file FieldConvertors.cpp.

Constructor & Destructor Documentation

◆ UInt128() [1/2]

FIX::double_conversion::UInt128::UInt128 ( )
inline

Definition at line 39 of file FieldConvertors.cpp.

◆ UInt128() [2/2]

FIX::double_conversion::UInt128::UInt128 ( uint64_t  high,
uint64_t  low 
)
inline

Definition at line 40 of file FieldConvertors.cpp.

Member Function Documentation

◆ BitAt()

int FIX::double_conversion::UInt128::BitAt ( int  position)
inline

Definition at line 101 of file FieldConvertors.cpp.

◆ DivModPowerOf2()

int FIX::double_conversion::UInt128::DivModPowerOf2 ( int  power)
inline

Definition at line 82 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)

◆ IsZero()

bool FIX::double_conversion::UInt128::IsZero ( ) const
inline

Definition at line 97 of file FieldConvertors.cpp.

◆ Multiply()

void FIX::double_conversion::UInt128::Multiply ( uint32_t  multiplicand)
inline

Definition at line 42 of file FieldConvertors.cpp.

◆ Shift()

void FIX::double_conversion::UInt128::Shift ( int  shift_amount)
inline

Definition at line 59 of file FieldConvertors.cpp.

64  {
65  return g_atod_converter.StringToDouble( buffer, size, processed_chars );
66  }
67 
68  int DoubleConvertor::fast_dtoa( char * buffer, int size, double value )
69  {
70  double_conversion::StringBuilder builder( buffer, size );
71  if( !g_dtoa_converter.ToPrecision( value, DoubleConvertor::SIGNIFICANT_DIGITS, &builder ) )
72  {
73  builder.Reset();
74  return 0;
75  }
76 
77  builder.TrimTrailingZeros();
78  return builder.position();
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")
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)
static int fast_dtoa(char *buffer, int size, double value)

Member Data Documentation

◆ high_bits_

uint64_t FIX::double_conversion::UInt128::high_bits_
private

Definition at line 112 of file FieldConvertors.cpp.

◆ kMask32

const uint64_t FIX::double_conversion::UInt128::kMask32 = 0xFFFFFFFF
staticprivate

Definition at line 110 of file FieldConvertors.cpp.

◆ low_bits_

uint64_t FIX::double_conversion::UInt128::low_bits_
private

Definition at line 113 of file FieldConvertors.cpp.


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

Generated on Sun Apr 15 2018 21:44:07 for QuickFIX by doxygen 1.8.13 written by Dimitri van Heesch, © 1997-2001