ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nlohmann::detail::dtoa_impl::diyfp Struct Reference

#include <acts/blob/master/thirdparty/nlohmann_json/single_include/nlohmann/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 12699 of file json.hpp.

View newest version in sPHENIX GitHub at line 12699 of file json.hpp

Constructor & Destructor Documentation

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

Definition at line 12706 of file json.hpp.

View newest version in sPHENIX GitHub at line 12706 of file json.hpp

Member Function Documentation

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

returns x * y

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

Definition at line 12724 of file json.hpp.

View newest version in sPHENIX GitHub at line 12724 of file json.hpp

References Acts::UnitConstants::h, Q, Acts::UnitConstants::u, x, and y.

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

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

Precondition
x.f != 0

Definition at line 12789 of file json.hpp.

View newest version in sPHENIX GitHub at line 12789 of file json.hpp

References Acts::UnitConstants::u, and x.

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

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 12806 of file json.hpp.

View newest version in sPHENIX GitHub at line 12806 of file json.hpp

References Acts::Test::delta, and x.

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

returns x - y

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

Definition at line 12712 of file json.hpp.

View newest version in sPHENIX GitHub at line 12712 of file json.hpp

References x, and y.

Member Data Documentation

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

Definition at line 12704 of file json.hpp.

View newest version in sPHENIX GitHub at line 12704 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().

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

Definition at line 12703 of file json.hpp.

View newest version in sPHENIX GitHub at line 12703 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().

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

Definition at line 12701 of file json.hpp.

View newest version in sPHENIX GitHub at line 12701 of file json.hpp


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