Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
detail::bigint Class Reference

#include <format-inl.h>

Public Member Functions

void align (const bigint &other)
 
void assign (const bigint &other)
 
void assign (uint64_t n)
 
void assign_pow10 (int exp)
 
 bigint ()
 
 bigint (uint64_t n)
 
 bigint (const bigint &)=delete
 
int divmod_assign (const bigint &divisor)
 
int num_bigits () const
 
template<typename Int >
bigintoperator*= (Int value)
 
FMT_NOINLINE bigintoperator<<= (int shift)
 
void operator= (const bigint &)=delete
 
void square ()
 
 ~bigint ()
 

Private Types

enum  { bigits_capacity = 32 }
 
using bigit = uint32_t
 
using double_bigit = uint64_t
 

Private Member Functions

void multiply (uint32_t value)
 
void multiply (uint64_t value)
 
bigit operator[] (int index) const
 
bigitoperator[] (int index)
 
void remove_leading_zeros ()
 
void subtract_aligned (const bigint &other)
 
void subtract_bigits (int index, bigit other, bigit &borrow)
 

Private Attributes

basic_memory_buffer< bigit, bigits_capacitybigits_
 
int exp_
 

Static Private Attributes

static FMT_CONSTEXPR_DECL const int bigit_bits = bits<bigit>::value
 

Friends

int add_compare (const bigint &lhs1, const bigint &lhs2, const bigint &rhs)
 
int compare (const bigint &lhs, const bigint &rhs)
 
struct formatter< bigint >
 

Detailed Description

Definition at line 1230 of file format-inl.h.

Member Typedef Documentation

using detail::bigint::bigit = uint32_t
private

Definition at line 1234 of file format-inl.h.

using detail::bigint::double_bigit = uint64_t
private

Definition at line 1235 of file format-inl.h.

Member Enumeration Documentation

anonymous enum
private
Enumerator
bigits_capacity 

Definition at line 1236 of file format-inl.h.

Constructor & Destructor Documentation

detail::bigint::bigint ( )
inline

Definition at line 1300 of file format-inl.h.

detail::bigint::bigint ( uint64_t  n)
inlineexplicit

Definition at line 1301 of file format-inl.h.

detail::bigint::~bigint ( )
inline

Definition at line 1302 of file format-inl.h.

detail::bigint::bigint ( const bigint )
delete

Member Function Documentation

void detail::bigint::align ( const bigint other)
inline

Definition at line 1440 of file format-inl.h.

void detail::bigint::assign ( const bigint other)
inline

Definition at line 1307 of file format-inl.h.

void detail::bigint::assign ( uint64_t  n)
inline

Definition at line 1315 of file format-inl.h.

void detail::bigint::assign_pow10 ( int  exp)
inline

Definition at line 1389 of file format-inl.h.

int detail::bigint::divmod_assign ( const bigint divisor)
inline

Definition at line 1453 of file format-inl.h.

void detail::bigint::multiply ( uint32_t  value)
inlineprivate

Definition at line 1271 of file format-inl.h.

void detail::bigint::multiply ( uint64_t  value)
inlineprivate

Definition at line 1282 of file format-inl.h.

int detail::bigint::num_bigits ( ) const
inline

Definition at line 1325 of file format-inl.h.

template<typename Int >
bigint& detail::bigint::operator*= ( Int  value)
inline

Definition at line 1342 of file format-inl.h.

FMT_NOINLINE bigint& detail::bigint::operator<<= ( int  shift)
inline

Definition at line 1327 of file format-inl.h.

void detail::bigint::operator= ( const bigint )
delete
bigit detail::bigint::operator[] ( int  index) const
inlineprivate

Definition at line 1240 of file format-inl.h.

bigit& detail::bigint::operator[] ( int  index)
inlineprivate

Definition at line 1241 of file format-inl.h.

void detail::bigint::remove_leading_zeros ( )
inlineprivate

Definition at line 1253 of file format-inl.h.

void detail::bigint::square ( )
inline

Definition at line 1408 of file format-inl.h.

void detail::bigint::subtract_aligned ( const bigint other)
inlineprivate

Definition at line 1260 of file format-inl.h.

void detail::bigint::subtract_bigits ( int  index,
bigit  other,
bigit borrow 
)
inlineprivate

Definition at line 1247 of file format-inl.h.

Friends And Related Function Documentation

int add_compare ( const bigint lhs1,
const bigint lhs2,
const bigint rhs 
)
friend

Definition at line 1365 of file format-inl.h.

int compare ( const bigint lhs,
const bigint rhs 
)
friend

Definition at line 1348 of file format-inl.h.

friend struct formatter< bigint >
friend

Definition at line 1245 of file format-inl.h.

Member Data Documentation

FMT_CONSTEXPR_DECL const int detail::bigint::bigit_bits = bits<bigit>::value
staticprivate

Definition at line 1243 of file format-inl.h.

basic_memory_buffer<bigit, bigits_capacity> detail::bigint::bigits_
private

Definition at line 1237 of file format-inl.h.

int detail::bigint::exp_
private

Definition at line 1238 of file format-inl.h.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 04:02:51