nlohmann::detail::dtoa_impl::diyfp Struct Reference

`#include <json.hpp>`

Collaboration diagram for nlohmann::detail::dtoa_impl::diyfp:

## 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 More...
static diyfp | mul (const diyfp &x, const diyfp &y) noexcept
| returns x * y More...
static diyfp | normalize (diyfp x) noexcept
| normalize x such that the significand is >= 2^(q-1) More...
static diyfp | normalize_to (const diyfp &x, const int target_exponent) noexcept
| normalize x such that the result has the exponent E More...

## Public Attributes

std::uint64_t | f = 0
int | e = 0

## Static Public Attributes

static constexpr int | kPrecision = 64

## Detailed Description

Definition at line 14897 of file json.hpp.

## Constructor & Destructor Documentation

## diyfp()

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

inline noexcept

Definition at line 14904 of file json.hpp.

## Member Function Documentation

## mul()

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

inline static noexcept

returns x * y

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

Definition at line 14922 of file json.hpp.

## normalize()

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

inline static noexcept

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

Precondition
  x.f != 0

Definition at line 14987 of file json.hpp.

References JSON_ASSERT.

## normalize_to()

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

inline static noexcept

normalize x such that the result has the exponent E

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

Definition at line 15004 of file json.hpp.

References e, and JSON_ASSERT.

## sub()

static diyfp nlohmann::detail::dtoa_impl::diyfp::sub | ( | const diyfp & | x,
|  | const diyfp & | y
| ) |  |

inline static noexcept

returns x - y

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

Definition at line 14910 of file json.hpp.

References JSON_ASSERT.

## Member Data Documentation

## e

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

Definition at line 14902 of file json.hpp.

Referenced by nlohmann::detail::dtoa_impl::compute_boundaries(), nlohmann::detail::dtoa_impl::grisu2(), nlohmann::detail::dtoa_impl::grisu2_digit_gen(), and normalize_to().

## f

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

Definition at line 14901 of file json.hpp.

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

## kPrecision

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

static

Definition at line 14899 of file json.hpp.

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

- json.hpp