|
constexpr | Real (const Real &)=default |
|
constexpr | Real (Real &&)=default |
|
constexpr | Real (const Word &bits) |
|
constexpr Real & | operator= (const Real &)=default |
|
constexpr Real & | operator= (Real &&)=default |
|
constexpr bool | operator== (const Real &that) const |
|
constexpr bool | IsSignBitSet () const |
|
constexpr bool | IsNegative () const |
|
constexpr bool | IsNotANumber () const |
|
constexpr bool | IsQuietNaN () const |
|
constexpr bool | IsSignalingNaN () const |
|
constexpr bool | IsInfinite () const |
|
constexpr bool | IsFinite () const |
|
constexpr bool | IsZero () const |
|
constexpr bool | IsSubnormal () const |
|
constexpr bool | IsNormal () const |
|
constexpr Real | ABS () const |
|
constexpr Real | SetSign (bool toNegative) const |
|
constexpr Real | SIGN (const Real &x) const |
|
constexpr Real | Negate () const |
|
Relation | Compare (const Real &) const |
|
ValueWithRealFlags< Real > | Add (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const |
|
ValueWithRealFlags< Real > | Subtract (const Real &y, Rounding rounding=TargetCharacteristics::defaultRounding) const |
|
ValueWithRealFlags< Real > | Multiply (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const |
|
ValueWithRealFlags< Real > | Divide (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const |
|
ValueWithRealFlags< Real > | SQRT (Rounding rounding=TargetCharacteristics::defaultRounding) const |
|
ValueWithRealFlags< Real > | NEAREST (bool upward) const |
|
ValueWithRealFlags< Real > | HYPOT (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const |
|
ValueWithRealFlags< Real > | DIM (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const |
|
ValueWithRealFlags< Real > | MOD (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const |
|
ValueWithRealFlags< Real > | MODULO (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const |
|
template<typename INT > |
constexpr INT | EXPONENT () const |
|
Real | RRSPACING () const |
|
Real | SPACING () const |
|
Real | SET_EXPONENT (std::int64_t) const |
|
Real | FRACTION () const |
|
template<typename INT > |
ValueWithRealFlags< Real > | SCALE (const INT &by, Rounding rounding=TargetCharacteristics::defaultRounding) const |
|
constexpr Real | FlushSubnormalToZero () const |
|
ValueWithRealFlags< Real > | ToWholeNumber (common::RoundingMode=common::RoundingMode::ToZero) const |
|
template<typename INT > |
constexpr ValueWithRealFlags< INT > | ToInteger (common::RoundingMode mode=common::RoundingMode::ToZero) const |
|
constexpr Word | RawBits () const |
|
constexpr int | Exponent () const |
|
constexpr Fraction | GetFraction () const |
|
constexpr int | UnbiasedExponent () const |
|
std::string | DumpHexadecimal () const |
|
llvm::raw_ostream & | AsFortran (llvm::raw_ostream &, int kind, bool minimal=false) const |
|
|
static constexpr int | binaryPrecision {PREC} |
|
static constexpr common::RealCharacteristics | realChars {PREC} |
|
static constexpr int | exponentBias {realChars.exponentBias} |
|
static constexpr int | exponentBits {realChars.exponentBits} |
|
static constexpr int | isImplicitMSB {realChars.isImplicitMSB} |
|
static constexpr int | maxExponent {realChars.maxExponent} |
|
static constexpr int | significandBits {realChars.significandBits} |
|
static constexpr int | bits {Word::bits} |
|
static constexpr int | DIGITS {binaryPrecision} |
|
static constexpr int | PRECISION {realChars.decimalPrecision} |
|
static constexpr int | RANGE {realChars.decimalRange} |
|
static constexpr int | MAXEXPONENT {maxExponent - exponentBias} |
|
static constexpr int | MINEXPONENT {2 - exponentBias} |
|