FLANG
Fortran::evaluate::value::Real< WORD, PREC > Class Template Reference

Public Types

using Word = WORD
using Fraction = Integer<binaryPrecision>

Public Member Functions

constexpr Real (const Real &)=default
constexpr Real (Real &&)=default
constexpr Real (const Word &bits)
constexpr Realoperator= (const Real &)=default
constexpr Realoperator= (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< RealAdd (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< RealSubtract (const Real &y, Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< RealMultiply (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< RealDivide (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< RealSQRT (Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< RealNEAREST (bool upward) const
ValueWithRealFlags< RealHYPOT (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< RealDIM (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< RealMOD (const Real &, Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< RealMODULO (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< RealSCALE (const INT &by, Rounding rounding=TargetCharacteristics::defaultRounding) const
constexpr Real FlushSubnormalToZero () const
ValueWithRealFlags< RealToWholeNumber (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
std::string AsFortran (int kind, bool minimal=false) const

Static Public Member Functions

static constexpr Real EPSILON ()
static constexpr Real HUGE ()
static constexpr Real TINY ()
static constexpr Real NotANumber ()
static constexpr Real PositiveZero ()
static constexpr Real NegativeZero ()
static constexpr Real Infinity (bool negative)
template<typename INT>
static ValueWithRealFlags< RealFromInteger (const INT &n, bool isUnsigned=false, Rounding rounding=TargetCharacteristics::defaultRounding)
template<typename A>
static ValueWithRealFlags< RealConvert (const A &x, Rounding rounding=TargetCharacteristics::defaultRounding)
static ValueWithRealFlags< RealRead (const char *&, Rounding rounding=TargetCharacteristics::defaultRounding)

Static Public Attributes

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}

The documentation for this class was generated from the following files: