NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
fast_float::bigint Struct Reference

#include <bigint.h>

Collaboration diagram for fast_float::bigint:

Public Member Functions

 bigint ()
 
 bigint (const bigint &)=delete
 
bigintoperator= (const bigint &)=delete
 
 bigint (bigint &&)=delete
 
bigintoperator= (bigint &&other)=delete
 
 bigint (uint64_t value)
 
uint64_t hi64 (bool &truncated) const noexcept
 
int compare (const bigint &other) const noexcept
 
bool shl_bits (size_t n) noexcept
 
bool shl_limbs (size_t n) noexcept
 
bool shl (size_t n) noexcept
 
int ctlz () const noexcept
 
int bit_length () const noexcept
 
bool mul (limb y) noexcept
 
bool add (limb y) noexcept
 
bool pow2 (uint32_t exp) noexcept
 
bool pow5 (uint32_t exp) noexcept
 
bool pow10 (uint32_t exp) noexcept
 

Public Attributes

stackvec< bigint_limbsvec
 

Detailed Description

Definition at line 368 of file bigint.h.

Constructor & Destructor Documentation

◆ bigint() [1/4]

fast_float::bigint::bigint ( )
inline

Definition at line 372 of file bigint.h.

◆ bigint() [2/4]

fast_float::bigint::bigint ( const bigint )
delete

◆ bigint() [3/4]

fast_float::bigint::bigint ( bigint &&  )
delete

◆ bigint() [4/4]

fast_float::bigint::bigint ( uint64_t  value)
inline

Definition at line 378 of file bigint.h.

References fast_float::stackvec< size >::normalize(), fast_float::stackvec< size >::push_unchecked(), and vec.

Here is the call graph for this function:

Member Function Documentation

◆ add()

bool fast_float::bigint::add ( limb  y)
inlinenoexcept

Definition at line 527 of file bigint.h.

References fast_float::small_add(), and vec.

Here is the call graph for this function:

◆ bit_length()

int fast_float::bigint::bit_length ( ) const
inlinenoexcept

Definition at line 518 of file bigint.h.

References ctlz(), fast_float::stackvec< size >::len(), fast_float::limb_bits, and vec.

Here is the call graph for this function:

◆ compare()

int fast_float::bigint::compare ( const bigint other) const
inlinenoexcept

Definition at line 422 of file bigint.h.

References fast_float::stackvec< size >::len(), and vec.

Referenced by fast_float::negative_digit_comp().

Here is the call graph for this function:

◆ ctlz()

int fast_float::bigint::ctlz ( ) const
inlinenoexcept

Definition at line 503 of file bigint.h.

References fast_float::stackvec< size >::is_empty(), fast_float::leading_zeroes(), fast_float::stackvec< size >::rindex(), and vec.

Referenced by bit_length().

Here is the call graph for this function:

◆ hi64()

uint64_t fast_float::bigint::hi64 ( bool &  truncated) const
inlinenoexcept

Definition at line 390 of file bigint.h.

References fast_float::empty_hi64(), fast_float::stackvec< size >::len(), fast_float::stackvec< size >::nonzero(), fast_float::stackvec< size >::rindex(), fast_float::uint32_hi64(), fast_float::uint64_hi64(), and vec.

Here is the call graph for this function:

◆ mul()

bool fast_float::bigint::mul ( limb  y)
inlinenoexcept

Definition at line 523 of file bigint.h.

References fast_float::small_mul(), and vec.

Here is the call graph for this function:

◆ operator=() [1/2]

bigint & fast_float::bigint::operator= ( bigint &&  other)
delete

◆ operator=() [2/2]

bigint & fast_float::bigint::operator= ( const bigint )
delete

◆ pow10()

bool fast_float::bigint::pow10 ( uint32_t  exp)
inlinenoexcept

Definition at line 582 of file bigint.h.

References FASTFLOAT_TRY, pow2(), and pow5().

Here is the call graph for this function:

◆ pow2()

bool fast_float::bigint::pow2 ( uint32_t  exp)
inlinenoexcept

Definition at line 532 of file bigint.h.

References shl().

Referenced by fast_float::negative_digit_comp(), and pow10().

Here is the call graph for this function:

◆ pow5()

bool fast_float::bigint::pow5 ( uint32_t  exp)
inlinenoexcept

Definition at line 537 of file bigint.h.

References FASTFLOAT_TRY, fast_float::large_mul(), fast_float::small_mul(), and vec.

Referenced by fast_float::negative_digit_comp(), and pow10().

Here is the call graph for this function:

◆ shl()

bool fast_float::bigint::shl ( size_t  n)
inlinenoexcept

Definition at line 490 of file bigint.h.

References FASTFLOAT_TRY, fast_float::limb_bits, shl_bits(), and shl_limbs().

Referenced by pow2(), and shl_bits().

Here is the call graph for this function:

◆ shl_bits()

bool fast_float::bigint::shl_bits ( size_t  n)
inlinenoexcept

Definition at line 443 of file bigint.h.

References FASTFLOAT_DEBUG_ASSERT, fast_float::stackvec< size >::len(), fast_float::limb_bits, shl(), fast_float::stackvec< size >::try_push(), and vec.

Referenced by shl().

Here is the call graph for this function:

◆ shl_limbs()

bool fast_float::bigint::shl_limbs ( size_t  n)
inlinenoexcept

Definition at line 469 of file bigint.h.

References fast_float::stackvec< size >::capacity(), fast_float::stackvec< size >::data, FASTFLOAT_DEBUG_ASSERT, fast_float::stackvec< size >::is_empty(), fast_float::stackvec< size >::len(), fast_float::stackvec< size >::set_len(), and vec.

Referenced by shl().

Here is the call graph for this function:

Member Data Documentation

◆ vec

stackvec<bigint_limbs> fast_float::bigint::vec

Definition at line 370 of file bigint.h.

Referenced by add(), bigint(), bit_length(), compare(), ctlz(), hi64(), mul(), pow5(), shl_bits(), and shl_limbs().


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