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

#include <format-inl.h>

Public Member Functions

 fp ()
 
 fp (uint64_t f_val, int e_val)
 
template<typename Double >
 fp (Double d)
 
template<typename Float , FMT_ENABLE_IF(is_supported_float< Float >::value) >
bool assign (Float d)
 
template<typename Float , FMT_ENABLE_IF(!is_supported_float< Float >::value) >
bool assign (Float)
 

Public Attributes

significand_type f
 
int e
 

Static Public Attributes

static FMT_CONSTEXPR_DECL const int double_significand_size
 
static FMT_CONSTEXPR_DECL const uint64_t implicit_bit
 
static FMT_CONSTEXPR_DECL const int significand_size
 

Private Types

using significand_type = uint64_t
 
template<typename Float >
using is_supported_float = bool_constant< sizeof(Float)==sizeof(uint64_t)||sizeof(Float)==sizeof(uint32_t)>
 

Member Typedef Documentation

◆ is_supported_float

template<typename Float >
using detail::fp::is_supported_float = bool_constant<sizeof(Float) == sizeof(uint64_t) || sizeof(Float) == sizeof(uint32_t)>
private

◆ significand_type

Constructor & Destructor Documentation

◆ fp() [1/3]

detail::fp::fp ( )
inline

Referenced by assign().

◆ fp() [2/3]

detail::fp::fp ( uint64_t  f_val,
int  e_val 
)
inline

◆ fp() [3/3]

template<typename Double >
detail::fp::fp ( Double  d)
inlineexplicit

References assign().

Member Function Documentation

◆ assign() [1/2]

template<typename Float , FMT_ENABLE_IF(is_supported_float< Float >::value) >
bool detail::fp::assign ( Float  d)
inline

◆ assign() [2/2]

template<typename Float , FMT_ENABLE_IF(!is_supported_float< Float >::value) >
bool detail::fp::assign ( Float  )
inline

References fp().

Member Data Documentation

◆ double_significand_size

FMT_CONSTEXPR_DECL const int detail::fp::double_significand_size
static
Initial value:
=
std::numeric_limits<double>::digits - 1

Referenced by detail::normalize().

◆ e

int detail::fp::e

Referenced by assign(), and detail::format_float().

◆ f

significand_type detail::fp::f

Referenced by assign().

◆ implicit_bit

FMT_CONSTEXPR_DECL const uint64_t detail::fp::implicit_bit
static
Initial value:
=
static FMT_CONSTEXPR_DECL const int double_significand_size
Definition: format-inl.h:1110

Referenced by detail::normalize().

◆ significand_size

FMT_CONSTEXPR_DECL const int detail::fp::significand_size
static
Initial value:
=
static FMT_CONSTEXPR_DECL const int value
Definition: format-inl.h:1079

Referenced by detail::format_float(), detail::get_cached_power(), detail::get_significand_size(), and detail::normalize().


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