NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
fast_float::stackvec< size > Struct Template Reference

#include <bigint.h>

Collaboration diagram for fast_float::stackvec< size >:

Public Member Functions

 stackvec ()=default
 
 stackvec (const stackvec &)=delete
 
stackvecoperator= (const stackvec &)=delete
 
 stackvec (stackvec &&)=delete
 
stackvecoperator= (stackvec &&other)=delete
 
 stackvec (limb_span s)
 
limboperator[] (size_t index) noexcept
 
const limboperator[] (size_t index) const noexcept
 
const limbrindex (size_t index) const noexcept
 
void set_len (size_t len) noexcept
 
constexpr size_t len () const noexcept
 
constexpr bool is_empty () const noexcept
 
constexpr size_t capacity () const noexcept
 
void push_unchecked (limb value) noexcept
 
bool try_push (limb value) noexcept
 
void extend_unchecked (limb_span s) noexcept
 
bool try_extend (limb_span s) noexcept
 
void resize_unchecked (size_t new_len, limb value) noexcept
 
bool try_resize (size_t new_len, limb value) noexcept
 
bool nonzero (size_t index) const noexcept
 
void normalize () noexcept
 

Public Attributes

limb data [size]
 
uint16_t length {0}
 

Detailed Description

template<uint16_t size>
struct fast_float::stackvec< size >

Definition at line 41 of file bigint.h.

Constructor & Destructor Documentation

◆ stackvec() [1/4]

template<uint16_t size>
fast_float::stackvec< size >::stackvec ( )
default

◆ stackvec() [2/4]

template<uint16_t size>
fast_float::stackvec< size >::stackvec ( const stackvec< size > &  )
delete

◆ stackvec() [3/4]

template<uint16_t size>
fast_float::stackvec< size >::stackvec ( stackvec< size > &&  )
delete

◆ stackvec() [4/4]

template<uint16_t size>
fast_float::stackvec< size >::stackvec ( limb_span  s)
inline

Definition at line 53 of file bigint.h.

References FASTFLOAT_ASSERT, and fast_float::stackvec< size >::try_extend().

Here is the call graph for this function:

Member Function Documentation

◆ capacity()

template<uint16_t size>
constexpr size_t fast_float::stackvec< size >::capacity ( ) const
inlineconstexprnoexcept

◆ extend_unchecked()

template<uint16_t size>
void fast_float::stackvec< size >::extend_unchecked ( limb_span  s)
inlinenoexcept

Definition at line 100 of file bigint.h.

References fast_float::stackvec< size >::data, fast_float::stackvec< size >::len(), fast_float::stackvec< size >::length, and fast_float::stackvec< size >::set_len().

Referenced by fast_float::stackvec< size >::try_extend().

Here is the call graph for this function:

◆ is_empty()

template<uint16_t size>
constexpr bool fast_float::stackvec< size >::is_empty ( ) const
inlineconstexprnoexcept

◆ len()

◆ nonzero()

template<uint16_t size>
bool fast_float::stackvec< size >::nonzero ( size_t  index) const
inlinenoexcept

Definition at line 140 of file bigint.h.

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

Referenced by fast_float::bigint::hi64().

Here is the call graph for this function:

◆ normalize()

template<uint16_t size>
void fast_float::stackvec< size >::normalize ( )
inlinenoexcept

Definition at line 150 of file bigint.h.

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

Referenced by fast_float::bigint::bigint().

Here is the call graph for this function:

◆ operator=() [1/2]

template<uint16_t size>
stackvec & fast_float::stackvec< size >::operator= ( const stackvec< size > &  )
delete

◆ operator=() [2/2]

template<uint16_t size>
stackvec & fast_float::stackvec< size >::operator= ( stackvec< size > &&  other)
delete

◆ operator[]() [1/2]

template<uint16_t size>
const limb & fast_float::stackvec< size >::operator[] ( size_t  index) const
inlinenoexcept

◆ operator[]() [2/2]

template<uint16_t size>
limb & fast_float::stackvec< size >::operator[] ( size_t  index)
inlinenoexcept

◆ push_unchecked()

template<uint16_t size>
void fast_float::stackvec< size >::push_unchecked ( limb  value)
inlinenoexcept

◆ resize_unchecked()

template<uint16_t size>
void fast_float::stackvec< size >::resize_unchecked ( size_t  new_len,
limb  value 
)
inlinenoexcept

Definition at line 117 of file bigint.h.

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

Referenced by fast_float::stackvec< size >::try_resize().

Here is the call graph for this function:

◆ rindex()

template<uint16_t size>
const limb & fast_float::stackvec< size >::rindex ( size_t  index) const
inlinenoexcept

Definition at line 66 of file bigint.h.

References fast_float::stackvec< size >::data, FASTFLOAT_DEBUG_ASSERT, fast_float::stackvec< size >::length, and fast_float::stackvec< size >::rindex().

Referenced by fast_float::bigint::ctlz(), fast_float::bigint::hi64(), fast_float::stackvec< size >::nonzero(), fast_float::stackvec< size >::normalize(), and fast_float::stackvec< size >::rindex().

Here is the call graph for this function:

◆ set_len()

template<uint16_t size>
void fast_float::stackvec< size >::set_len ( size_t  len)
inlinenoexcept

Definition at line 73 of file bigint.h.

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

Referenced by fast_float::stackvec< size >::extend_unchecked(), fast_float::long_mul(), fast_float::stackvec< size >::resize_unchecked(), and fast_float::bigint::shl_limbs().

Here is the call graph for this function:

◆ try_extend()

template<uint16_t size>
bool fast_float::stackvec< size >::try_extend ( limb_span  s)
inlinenoexcept

Definition at line 106 of file bigint.h.

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

Referenced by fast_float::long_mul(), and fast_float::stackvec< size >::stackvec().

Here is the call graph for this function:

◆ try_push()

template<uint16_t size>
bool fast_float::stackvec< size >::try_push ( limb  value)
inlinenoexcept

Definition at line 91 of file bigint.h.

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

Referenced by fast_float::bigint::shl_bits().

Here is the call graph for this function:

◆ try_resize()

template<uint16_t size>
bool fast_float::stackvec< size >::try_resize ( size_t  new_len,
limb  value 
)
inlinenoexcept

Definition at line 129 of file bigint.h.

References fast_float::stackvec< size >::capacity(), and fast_float::stackvec< size >::resize_unchecked().

Here is the call graph for this function:

Member Data Documentation

◆ data

◆ length


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