|
Mundy: Multibody Nonlocal Dynamics Version of the Day
|
A double-double scalar hi + lo, normalized so that |lo| <= ulp(hi) / 2.
#include <DoubleDouble.hpp>
Public Member Functions | |
Constructors | |
| constexpr | DoubleDouble ()=default |
| Zero. | |
| constexpr | DoubleDouble (double value) |
| The given double, exactly. | |
| template<std::integral Integer> | |
| constexpr | DoubleDouble (Integer value) |
| The given integer, exactly (64-bit integers beyond 2^53 included). | |
| constexpr | DoubleDouble (double hi, double lo) |
| The pair hi + lo, which must already be normalized (|lo| <= ulp(hi) / 2). | |
Accessors and conversion | |
| constexpr double | hi () const |
| The leading double, which is the value rounded to double. | |
| constexpr double | lo () const |
| The trailing double: the rounding error of hi(). | |
| constexpr | operator double () const |
| The value rounded to double. Explicit, so a DoubleDouble never silently loses its low part. | |
Compound assignment | |
| constexpr DoubleDouble & | operator+= (const DoubleDouble &other) |
| constexpr DoubleDouble & | operator-= (const DoubleDouble &other) |
| constexpr DoubleDouble & | operator*= (const DoubleDouble &other) |
| constexpr DoubleDouble & | operator/= (const DoubleDouble &other) |
|
constexprdefault |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineexplicitconstexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |