BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
nlohmann::detail::dtoa_impl::diyfp Struct Reference

#include <json.hpp>

Public Member Functions

constexpr diyfp (std::uint64_t f_, int e_) noexcept

Static Public Member Functions

static diyfp sub (const diyfp &x, const diyfp &y) noexcept
 returns x - y
static diyfp mul (const diyfp &x, const diyfp &y) noexcept
 returns x * y
static diyfp normalize (diyfp x) noexcept
 normalize x such that the significand is >= 2^(q-1)
static diyfp normalize_to (const diyfp &x, const int target_exponent) noexcept
 normalize x such that the result has the exponent E

Public Attributes

std::uint64_t f = 0
int e = 0

Static Public Attributes

static constexpr int kPrecision = 64

Detailed Description

Definition at line 14107 of file json.hpp.

Constructor & Destructor Documentation

◆ diyfp()

nlohmann::detail::dtoa_impl::diyfp::diyfp ( std::uint64_t f_,
int e_ )
inlineconstexprnoexcept

Definition at line 14114 of file json.hpp.

Referenced by mul(), normalize(), normalize_to(), and sub().

Here is the caller graph for this function:

Member Function Documentation

◆ mul()

diyfp nlohmann::detail::dtoa_impl::diyfp::mul ( const diyfp & x,
const diyfp & y )
inlinestaticnoexcept
Note
The result is rounded. (Only the upper q bits are returned.)

Definition at line 14135 of file json.hpp.

References diyfp(), kPrecision, x, and y.

Referenced by nlohmann::detail::dtoa_impl::grisu2().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ normalize()

diyfp nlohmann::detail::dtoa_impl::diyfp::normalize ( diyfp x)
inlinestaticnoexcept
Precondition
x.f != 0

Definition at line 14200 of file json.hpp.

References diyfp(), JSON_ASSERT, and x.

Referenced by nlohmann::detail::dtoa_impl::compute_boundaries().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ normalize_to()

diyfp nlohmann::detail::dtoa_impl::diyfp::normalize_to ( const diyfp & x,
const int target_exponent )
inlinestaticnoexcept
Precondition
e >= x.e and the upper e - x.e bits of x.f must be zero.

Definition at line 14216 of file json.hpp.

References diyfp(), delta, JSON_ASSERT, and x.

Referenced by nlohmann::detail::dtoa_impl::compute_boundaries().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sub()

diyfp nlohmann::detail::dtoa_impl::diyfp::sub ( const diyfp & x,
const diyfp & y )
inlinestaticnoexcept
Precondition
x.e == y.e and x.f >= y.f

Definition at line 14123 of file json.hpp.

References diyfp(), JSON_ASSERT, x, and y.

Referenced by nlohmann::detail::dtoa_impl::grisu2_digit_gen().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ e

int nlohmann::detail::dtoa_impl::diyfp::e = 0

◆ f

std::uint64_t nlohmann::detail::dtoa_impl::diyfp::f = 0

◆ kPrecision

int nlohmann::detail::dtoa_impl::diyfp::kPrecision = 64
staticconstexpr

Definition at line 14109 of file json.hpp.

Referenced by nlohmann::detail::dtoa_impl::grisu2(), and mul().


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