nlohmann::detail::dtoa_impl::diyfp
json.hpp
constexpr int constexpr int nlohmann::detail::dtoa_impl::diyfp::kPrecision kPrecision = 64
std::uint64_t std::uint64_t nlohmann::detail::dtoa_impl::diyfp::f f = 0 nlohmann::detail::dtoa_impl::compute_boundaries nlohmann::detail::dtoa_impl::grisu2 nlohmann::detail::dtoa_impl::grisu2_digit_gen
int int nlohmann::detail::dtoa_impl::diyfp::e e = 0 nlohmann::detail::dtoa_impl::compute_boundaries nlohmann::detail::dtoa_impl::grisu2 nlohmann::detail::dtoa_impl::grisu2_digit_gen normalize_to
constexpr constexpr nlohmann::detail::dtoa_impl::diyfp::diyfp (std::uint64_t f_, int e_) noexcept diyfp std::uint64_t f_ int e_
diyfp static diyfp nlohmann::detail::dtoa_impl::diyfp::sub (const diyfp &x, const diyfp &y) noexcept sub const diyfp & x const diyfp & y

returns x - y

x.e == y.e and x.f >= y.f

JSON_ASSERT
diyfp static diyfp nlohmann::detail::dtoa_impl::diyfp::mul (const diyfp &x, const diyfp &y) noexcept mul const diyfp & x const diyfp & y

returns x * y

The result is rounded. (Only the upper q bits are returned.)

diyfp static diyfp nlohmann::detail::dtoa_impl::diyfp::normalize (diyfp x) noexcept normalize diyfp x

normalize x such that the significand is >= 2^(q-1)

x.f != 0

JSON_ASSERT
diyfp static diyfp nlohmann::detail::dtoa_impl::diyfp::normalize_to (const diyfp &x, const int target_exponent) noexcept normalize_to const diyfp & x const int target_exponent

normalize x such that the result has the exponent E

e >= x.e and the upper e - x.e bits of x.f must be zero.

e
JSON_ASSERT
static constexpr int
nlohmann::detail::dtoa_impl::diyfp
+kPrecision
+f
+e
uint64_t
int
- nlohmann::detail::dtoa_impl::diyfp
  diyfp
- nlohmann::detail::dtoa_impl::diyfp
  e
- nlohmann::detail::dtoa_impl::diyfp
  f
- nlohmann::detail::dtoa_impl::diyfp
  kPrecision
- nlohmann::detail::dtoa_impl::diyfp
  mul
- nlohmann::detail::dtoa_impl::diyfp
  normalize
- nlohmann::detail::dtoa_impl::diyfp
  normalize_to
- nlohmann::detail::dtoa_impl::diyfp
  sub