Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe internal::BigInteger
+ Graphe de collaboration de internal::BigInteger:

Types publics

typedef uint64_t Type
 

Fonctions membres publiques

 BigInteger (const BigInteger &rhs)
 
 BigInteger (uint64_t u)
 
 BigInteger (const char *decimals, size_t length)
 
BigIntegeroperator= (const BigInteger &rhs)
 
BigIntegeroperator= (uint64_t u)
 
BigIntegeroperator+= (uint64_t u)
 
BigIntegeroperator*= (uint64_t u)
 
BigIntegeroperator*= (uint32_t u)
 
BigIntegeroperator<<= (size_t shift)
 
bool operator== (const BigInteger &rhs) const
 
bool operator== (const Type rhs) const
 
BigIntegerMultiplyPow5 (unsigned exp)
 
bool Difference (const BigInteger &rhs, BigInteger *out) const
 
int Compare (const BigInteger &rhs) const
 
size_t GetCount () const
 
Type GetDigit (size_t index) const
 
bool IsZero () const
 

Fonctions membres privées

void AppendDecimal64 (const char *begin, const char *end)
 
void PushBack (Type digit)
 

Fonctions membres privées statiques

static uint64_t ParseUint64 (const char *begin, const char *end)
 
static uint64_t MulAdd64 (uint64_t a, uint64_t b, uint64_t k, uint64_t *outHigh)
 

Attributs privés

Type digits_ [kCapacity]
 
size_t count_
 

Attributs privés statiques

static const size_t kBitCount = 3328
 
static const size_t kCapacity = kBitCount / sizeof(Type)
 
static const size_t kTypeBit = sizeof(Type) * 8
 

Description détaillée

Définition à la ligne 29 du fichier biginteger.h.

Documentation des définitions de type membres

◆ Type

Définition à la ligne 31 du fichier biginteger.h.

Documentation des constructeurs et destructeur

◆ BigInteger() [1/3]

internal::BigInteger::BigInteger ( const BigInteger rhs)
inline

Définition à la ligne 33 du fichier biginteger.h.

◆ BigInteger() [2/3]

internal::BigInteger::BigInteger ( uint64_t  u)
inlineexplicit

Définition à la ligne 37 du fichier biginteger.h.

◆ BigInteger() [3/3]

internal::BigInteger::BigInteger ( const char *  decimals,
size_t  length 
)
inline

Définition à la ligne 41 du fichier biginteger.h.

Documentation des fonctions membres

◆ AppendDecimal64()

void internal::BigInteger::AppendDecimal64 ( const char *  begin,
const char *  end 
)
inlineprivate

Définition à la ligne 225 du fichier biginteger.h.

◆ Compare()

int internal::BigInteger::Compare ( const BigInteger rhs) const
inline

Définition à la ligne 209 du fichier biginteger.h.

◆ Difference()

bool internal::BigInteger::Difference ( const BigInteger rhs,
BigInteger out 
) const
inline

Définition à la ligne 187 du fichier biginteger.h.

◆ GetCount()

size_t internal::BigInteger::GetCount ( ) const
inline

Définition à la ligne 220 du fichier biginteger.h.

◆ GetDigit()

Type internal::BigInteger::GetDigit ( size_t  index) const
inline

Définition à la ligne 221 du fichier biginteger.h.

◆ IsZero()

bool internal::BigInteger::IsZero ( ) const
inline

Définition à la ligne 222 du fichier biginteger.h.

◆ MulAdd64()

static uint64_t internal::BigInteger::MulAdd64 ( uint64_t  a,
uint64_t  b,
uint64_t  k,
uint64_t outHigh 
)
inlinestaticprivate

Définition à la ligne 250 du fichier biginteger.h.

◆ MultiplyPow5()

BigInteger & internal::BigInteger::MultiplyPow5 ( unsigned  exp)
inline

Définition à la ligne 163 du fichier biginteger.h.

◆ operator*=() [1/2]

BigInteger & internal::BigInteger::operator*= ( uint32_t  u)
inline

Définition à la ligne 106 du fichier biginteger.h.

◆ operator*=() [2/2]

BigInteger & internal::BigInteger::operator*= ( uint64_t  u)
inline

Définition à la ligne 88 du fichier biginteger.h.

◆ operator+=()

BigInteger & internal::BigInteger::operator+= ( uint64_t  u)
inline

Définition à la ligne 71 du fichier biginteger.h.

◆ operator<<=()

BigInteger & internal::BigInteger::operator<<= ( size_t  shift)
inline

Définition à la ligne 129 du fichier biginteger.h.

◆ operator=() [1/2]

BigInteger & internal::BigInteger::operator= ( const BigInteger rhs)
inline

Définition à la ligne 56 du fichier biginteger.h.

◆ operator=() [2/2]

BigInteger & internal::BigInteger::operator= ( uint64_t  u)
inline

Définition à la ligne 65 du fichier biginteger.h.

◆ operator==() [1/2]

bool internal::BigInteger::operator== ( const BigInteger rhs) const
inline

Définition à la ligne 155 du fichier biginteger.h.

◆ operator==() [2/2]

bool internal::BigInteger::operator== ( const Type  rhs) const
inline

Définition à la ligne 159 du fichier biginteger.h.

◆ ParseUint64()

static uint64_t internal::BigInteger::ParseUint64 ( const char *  begin,
const char *  end 
)
inlinestaticprivate

Définition à la ligne 240 du fichier biginteger.h.

◆ PushBack()

void internal::BigInteger::PushBack ( Type  digit)
inlineprivate

Définition à la ligne 235 du fichier biginteger.h.

Documentation des données membres

◆ count_

size_t internal::BigInteger::count_
private

Définition à la ligne 285 du fichier biginteger.h.

◆ digits_

Type internal::BigInteger::digits_[kCapacity]
private

Définition à la ligne 284 du fichier biginteger.h.

◆ kBitCount

const size_t internal::BigInteger::kBitCount = 3328
staticprivate

Définition à la ligne 280 du fichier biginteger.h.

◆ kCapacity

const size_t internal::BigInteger::kCapacity = kBitCount / sizeof(Type)
staticprivate

Définition à la ligne 281 du fichier biginteger.h.

◆ kTypeBit

const size_t internal::BigInteger::kTypeBit = sizeof(Type) * 8
staticprivate

Définition à la ligne 282 du fichier biginteger.h.


La documentation de cette classe a été générée à partir du fichier suivant :