NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
bigint.h File Reference
#include <algorithm>
#include <cstdint>
#include <climits>
#include <cstring>
#include "float_common.h"
Include dependency graph for bigint.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fast_float::stackvec< size >
 
struct  fast_float::bigint
 

Namespaces

namespace  fast_float
 

Macros

#define FASTFLOAT_32BIT_LIMB
 

Typedefs

typedef uint32_t fast_float::limb
 
typedef span< limb > fast_float::limb_span
 

Functions

fastfloat_really_inline uint64_t fast_float::empty_hi64 (bool &truncated) noexcept
 
fastfloat_really_inline uint64_t fast_float::uint64_hi64 (uint64_t r0, bool &truncated) noexcept
 
fastfloat_really_inline uint64_t fast_float::uint64_hi64 (uint64_t r0, uint64_t r1, bool &truncated) noexcept
 
fastfloat_really_inline uint64_t fast_float::uint32_hi64 (uint32_t r0, bool &truncated) noexcept
 
fastfloat_really_inline uint64_t fast_float::uint32_hi64 (uint32_t r0, uint32_t r1, bool &truncated) noexcept
 
fastfloat_really_inline uint64_t fast_float::uint32_hi64 (uint32_t r0, uint32_t r1, uint32_t r2, bool &truncated) noexcept
 
fastfloat_really_inline limb fast_float::scalar_add (limb x, limb y, bool &overflow) noexcept
 
fastfloat_really_inline limb fast_float::scalar_mul (limb x, limb y, limb &carry) noexcept
 
template<uint16_t size>
bool fast_float::small_add_from (stackvec< size > &vec, limb y, size_t start) noexcept
 
template<uint16_t size>
fastfloat_really_inline bool fast_float::small_add (stackvec< size > &vec, limb y) noexcept
 
template<uint16_t size>
bool fast_float::small_mul (stackvec< size > &vec, limb y) noexcept
 
template<uint16_t size>
bool fast_float::large_add_from (stackvec< size > &x, limb_span y, size_t start) noexcept
 
template<uint16_t size>
fastfloat_really_inline bool fast_float::large_add_from (stackvec< size > &x, limb_span y) noexcept
 
template<uint16_t size>
bool fast_float::long_mul (stackvec< size > &x, limb_span y) noexcept
 
template<uint16_t size>
bool fast_float::large_mul (stackvec< size > &x, limb_span y) noexcept
 

Variables

constexpr size_t fast_float::limb_bits = 32
 
constexpr size_t fast_float::bigint_bits = 4000
 
constexpr size_t fast_float::bigint_limbs = bigint_bits / limb_bits
 

Macro Definition Documentation

◆ FASTFLOAT_32BIT_LIMB

#define FASTFLOAT_32BIT_LIMB

Definition at line 24 of file bigint.h.