double_conversion::Bignum Class Reference

#include <bignum.h>

Collaboration diagram for double_conversion::Bignum:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Bignum ()
void AssignUInt16 (uint16_t value)
void AssignUInt64 (uint64_t value)
void AssignBignum (const Bignum &other)
void AssignDecimalString (Vector< const char > value)
void AssignHexString (Vector< const char > value)
void AssignPowerUInt16 (uint16_t base, int exponent)
void AddUInt16 (uint16_t operand)
void AddUInt64 (uint64_t operand)
void AddBignum (const Bignum &other)
void SubtractBignum (const Bignum &other)
void Square ()
void ShiftLeft (int shift_amount)
void MultiplyByUInt32 (uint32_t factor)
void MultiplyByUInt64 (uint64_t factor)
void MultiplyByPowerOfTen (int exponent)
void Times10 ()
uint16_t DivideModuloIntBignum (const Bignum &other)
bool ToHexString (char *buffer, int buffer_size) const

Static Public Member Functions

static int Compare (const Bignum &a, const Bignum &b)
static bool Equal (const Bignum &a, const Bignum &b)
static bool LessEqual (const Bignum &a, const Bignum &b)
static bool Less (const Bignum &a, const Bignum &b)
static int PlusCompare (const Bignum &a, const Bignum &b, const Bignum &c)
static bool PlusEqual (const Bignum &a, const Bignum &b, const Bignum &c)
static bool PlusLessEqual (const Bignum &a, const Bignum &b, const Bignum &c)
static bool PlusLess (const Bignum &a, const Bignum &b, const Bignum &c)

Static Public Attributes

static const int kMaxSignificantBits = 3584


Detailed Description

Definition at line 35 of file bignum.h.


Constructor & Destructor Documentation

double_conversion::Bignum::Bignum (  ) 

Definition at line 33 of file bignum.cc.


Member Function Documentation

void double_conversion::Bignum::AddBignum ( const Bignum other  ) 

Definition at line 169 of file bignum.cc.

References ASSERT.

Referenced by AddUInt64().

Here is the caller graph for this function:

void double_conversion::Bignum::AddUInt16 ( uint16_t  operand  ) 

void double_conversion::Bignum::AddUInt64 ( uint64_t  operand  ) 

Definition at line 161 of file bignum.cc.

References AddBignum(), and AssignUInt64().

Referenced by AssignDecimalString().

Here is the call graph for this function:

Here is the caller graph for this function:

void double_conversion::Bignum::AssignBignum ( const Bignum other  ) 

Definition at line 75 of file bignum.cc.

void double_conversion::Bignum::AssignDecimalString ( Vector< const char >  value  ) 

Definition at line 101 of file bignum.cc.

References AddUInt64(), double_conversion::Vector< T >::length(), and MultiplyByPowerOfTen().

Here is the call graph for this function:

void double_conversion::Bignum::AssignHexString ( Vector< const char >  value  ) 

Definition at line 131 of file bignum.cc.

References double_conversion::Vector< T >::length().

Here is the call graph for this function:

void double_conversion::Bignum::AssignPowerUInt16 ( uint16_t  base,
int  exponent 
)

Definition at line 412 of file bignum.cc.

References ASSERT, AssignUInt16(), AssignUInt64(), MultiplyByUInt32(), ShiftLeft(), and Square().

Here is the call graph for this function:

void double_conversion::Bignum::AssignUInt16 ( uint16_t  value  ) 

Definition at line 47 of file bignum.cc.

References ASSERT.

Referenced by AssignPowerUInt16().

Here is the caller graph for this function:

void double_conversion::Bignum::AssignUInt64 ( uint64_t  value  ) 

Definition at line 58 of file bignum.cc.

Referenced by AddUInt64(), and AssignPowerUInt16().

Here is the caller graph for this function:

int double_conversion::Bignum::Compare ( const Bignum a,
const Bignum b 
) [static]

Definition at line 615 of file bignum.cc.

References ASSERT.

Referenced by Equal(), Less(), and LessEqual().

Here is the caller graph for this function:

uint16_t double_conversion::Bignum::DivideModuloIntBignum ( const Bignum other  ) 

Definition at line 486 of file bignum.cc.

References ASSERT, LessEqual(), and SubtractBignum().

Here is the call graph for this function:

static bool double_conversion::Bignum::Equal ( const Bignum a,
const Bignum b 
) [inline, static]

Definition at line 77 of file bignum.h.

References Compare().

Here is the call graph for this function:

static bool double_conversion::Bignum::Less ( const Bignum a,
const Bignum b 
) [inline, static]

Definition at line 83 of file bignum.h.

References Compare().

Here is the call graph for this function:

static bool double_conversion::Bignum::LessEqual ( const Bignum a,
const Bignum b 
) [inline, static]

Definition at line 80 of file bignum.h.

References Compare().

Referenced by DivideModuloIntBignum(), and SubtractBignum().

Here is the call graph for this function:

Here is the caller graph for this function:

void double_conversion::Bignum::MultiplyByPowerOfTen ( int  exponent  ) 

Definition at line 300 of file bignum.cc.

References ASSERT, MultiplyByUInt32(), MultiplyByUInt64(), ShiftLeft(), and UINT64_2PART_C.

Referenced by AssignDecimalString().

Here is the call graph for this function:

Here is the caller graph for this function:

void double_conversion::Bignum::MultiplyByUInt32 ( uint32_t  factor  ) 

Definition at line 247 of file bignum.cc.

References ASSERT.

Referenced by AssignPowerUInt16(), MultiplyByPowerOfTen(), and Times10().

Here is the caller graph for this function:

void double_conversion::Bignum::MultiplyByUInt64 ( uint64_t  factor  ) 

Definition at line 273 of file bignum.cc.

References ASSERT.

Referenced by MultiplyByPowerOfTen().

Here is the caller graph for this function:

int double_conversion::Bignum::PlusCompare ( const Bignum a,
const Bignum b,
const Bignum c 
) [static]

Definition at line 633 of file bignum.cc.

References ASSERT.

Referenced by PlusEqual(), PlusLess(), and PlusLessEqual().

Here is the caller graph for this function:

static bool double_conversion::Bignum::PlusEqual ( const Bignum a,
const Bignum b,
const Bignum c 
) [inline, static]

Definition at line 89 of file bignum.h.

References PlusCompare().

Here is the call graph for this function:

static bool double_conversion::Bignum::PlusLess ( const Bignum a,
const Bignum b,
const Bignum c 
) [inline, static]

Definition at line 97 of file bignum.h.

References PlusCompare().

Here is the call graph for this function:

static bool double_conversion::Bignum::PlusLessEqual ( const Bignum a,
const Bignum b,
const Bignum c 
) [inline, static]

Definition at line 93 of file bignum.h.

References PlusCompare().

Here is the call graph for this function:

void double_conversion::Bignum::ShiftLeft ( int  shift_amount  ) 

Definition at line 238 of file bignum.cc.

Referenced by AssignPowerUInt16(), and MultiplyByPowerOfTen().

Here is the caller graph for this function:

void double_conversion::Bignum::Square (  ) 

Definition at line 340 of file bignum.cc.

References ASSERT, and UNIMPLEMENTED.

Referenced by AssignPowerUInt16().

Here is the caller graph for this function:

void double_conversion::Bignum::SubtractBignum ( const Bignum other  ) 

Definition at line 211 of file bignum.cc.

References ASSERT, and LessEqual().

Referenced by DivideModuloIntBignum().

Here is the call graph for this function:

Here is the caller graph for this function:

void double_conversion::Bignum::Times10 (  )  [inline]

Definition at line 63 of file bignum.h.

References MultiplyByUInt32().

Here is the call graph for this function:

bool double_conversion::Bignum::ToHexString ( char *  buffer,
int  buffer_size 
) const

Definition at line 568 of file bignum.cc.

References ASSERT.


Member Data Documentation

Definition at line 40 of file bignum.h.

Referenced by double_conversion::BignumDtoa().


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

Generated on Thu Jul 6 00:32:37 2017 for Moses by  doxygen 1.5.9