spdlog
Loading...
Searching...
No Matches
Classes | Functions
detail::dragonbox Namespace Reference

Classes

struct  cache_accessor
 
struct  cache_accessor< double >
 
struct  cache_accessor< float >
 
struct  divtest_table_entry
 

Functions

uint128_wrapper umul128 (uint64_t x, uint64_t y) FMT_NOEXCEPT
 
uint64_t umul128_upper64 (uint64_t x, uint64_t y) FMT_NOEXCEPT
 
uint64_t umul192_upper64 (uint64_t x, uint128_wrapper y) FMT_NOEXCEPT
 
uint32_t umul96_upper32 (uint32_t x, uint64_t y) FMT_NOEXCEPT
 
uint64_t umul192_middle64 (uint64_t x, uint128_wrapper y) FMT_NOEXCEPT
 
uint64_t umul96_lower64 (uint32_t x, uint64_t y) FMT_NOEXCEPT
 
int floor_log10_pow2 (int e) FMT_NOEXCEPT
 
int floor_log2_pow10 (int e) FMT_NOEXCEPT
 
int floor_log10_pow2_minus_log10_4_over_3 (int e) FMT_NOEXCEPT
 
bool divisible_by_power_of_2 (uint32_t x, int exp) FMT_NOEXCEPT
 
bool divisible_by_power_of_2 (uint64_t x, int exp) FMT_NOEXCEPT
 
bool divisible_by_power_of_5 (uint32_t x, int exp) FMT_NOEXCEPT
 
bool divisible_by_power_of_5 (uint64_t x, int exp) FMT_NOEXCEPT
 
template<int N>
bool check_divisibility_and_divide_by_pow5 (uint32_t &n) FMT_NOEXCEPT
 
template<int N>
uint32_t small_division_by_pow10 (uint32_t n) FMT_NOEXCEPT
 
uint32_t divide_by_10_to_kappa_plus_1 (uint32_t n) FMT_NOEXCEPT
 
uint64_t divide_by_10_to_kappa_plus_1 (uint64_t n) FMT_NOEXCEPT
 
template<class T >
bool is_left_endpoint_integer_shorter_interval (int exponent) FMT_NOEXCEPT
 
template<class T >
bool is_endpoint_integer (typename float_info< T >::carrier_uint two_f, int exponent, int minus_k) FMT_NOEXCEPT
 
template<class T >
bool is_center_integer (typename float_info< T >::carrier_uint two_f, int exponent, int minus_k) FMT_NOEXCEPT
 
FMT_INLINE int remove_trailing_zeros (uint32_t &n) FMT_NOEXCEPT
 
FMT_INLINE int remove_trailing_zeros (uint64_t &n) FMT_NOEXCEPT
 
template<class T >
FMT_INLINE decimal_fp< Tshorter_interval_case (int exponent) FMT_NOEXCEPT
 
template<typename T >
decimal_fp< Tto_decimal (T x) FMT_NOEXCEPT
 

Function Documentation

◆ check_divisibility_and_divide_by_pow5()

template<int N>
bool detail::dragonbox::check_divisibility_and_divide_by_pow5 ( uint32_t &  n)

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

◆ divide_by_10_to_kappa_plus_1() [1/2]

uint32_t detail::dragonbox::divide_by_10_to_kappa_plus_1 ( uint32_t  n)
inline

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

◆ divide_by_10_to_kappa_plus_1() [2/2]

uint64_t detail::dragonbox::divide_by_10_to_kappa_plus_1 ( uint64_t  n)
inline

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

◆ divisible_by_power_of_2() [1/2]

bool detail::dragonbox::divisible_by_power_of_2 ( uint32_t  x,
int  exp 
)
inline

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

◆ divisible_by_power_of_2() [2/2]

bool detail::dragonbox::divisible_by_power_of_2 ( uint64_t  x,
int  exp 
)
inline

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

◆ divisible_by_power_of_5() [1/2]

bool detail::dragonbox::divisible_by_power_of_5 ( uint32_t  x,
int  exp 
)
inline

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

◆ divisible_by_power_of_5() [2/2]

bool detail::dragonbox::divisible_by_power_of_5 ( uint64_t  x,
int  exp 
)
inline

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

◆ floor_log10_pow2()

int detail::dragonbox::floor_log10_pow2 ( int  e)
inline

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

◆ floor_log10_pow2_minus_log10_4_over_3()

int detail::dragonbox::floor_log10_pow2_minus_log10_4_over_3 ( int  e)
inline

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

◆ floor_log2_pow10()

int detail::dragonbox::floor_log2_pow10 ( int  e)
inline

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

◆ is_center_integer()

template<class T >
bool detail::dragonbox::is_center_integer ( typename float_info< T >::carrier_uint  two_f,
int  exponent,
int  minus_k 
)

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

◆ is_endpoint_integer()

template<class T >
bool detail::dragonbox::is_endpoint_integer ( typename float_info< T >::carrier_uint  two_f,
int  exponent,
int  minus_k 
)

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

◆ is_left_endpoint_integer_shorter_interval()

template<class T >
bool detail::dragonbox::is_left_endpoint_integer_shorter_interval ( int  exponent)

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

◆ remove_trailing_zeros() [1/2]

FMT_INLINE int detail::dragonbox::remove_trailing_zeros ( uint32_t &  n)

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

◆ remove_trailing_zeros() [2/2]

FMT_INLINE int detail::dragonbox::remove_trailing_zeros ( uint64_t &  n)

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

◆ shorter_interval_case()

template<class T >
FMT_INLINE decimal_fp< T > detail::dragonbox::shorter_interval_case ( int  exponent)

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

◆ small_division_by_pow10()

template<int N>
uint32_t detail::dragonbox::small_division_by_pow10 ( uint32_t  n)

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

◆ to_decimal()

template<typename T >
decimal_fp< T > detail::dragonbox::to_decimal ( T  x)

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

◆ umul128()

uint128_wrapper detail::dragonbox::umul128 ( uint64_t  x,
uint64_t  y 
)
inline

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

◆ umul128_upper64()

uint64_t detail::dragonbox::umul128_upper64 ( uint64_t  x,
uint64_t  y 
)
inline

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

◆ umul192_middle64()

uint64_t detail::dragonbox::umul192_middle64 ( uint64_t  x,
uint128_wrapper  y 
)
inline

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

◆ umul192_upper64()

uint64_t detail::dragonbox::umul192_upper64 ( uint64_t  x,
uint128_wrapper  y 
)
inline

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

◆ umul96_lower64()

uint64_t detail::dragonbox::umul96_lower64 ( uint32_t  x,
uint64_t  y 
)
inline

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

◆ umul96_upper32()

uint32_t detail::dragonbox::umul96_upper32 ( uint32_t  x,
uint64_t  y 
)
inline

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