LLVM: include/llvm/ADT/APFloat.h File Reference (original) (raw)

This file declares a class to represent arbitrary precision floating point values and provide a variety of arithmetic operations on them. More...

Go to the source code of this file.

Classes
struct llvm::APFloatBase
A self-contained host- and target-independent arbitrary-precision floating-point software implementation. More...
class llvm::detail::IEEEFloat
class llvm::detail::DoubleAPFloat
class llvm::APFloat
Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
namespace llvm::detail
These are wrappers over isa* function that allow them to be used in generic algorithms such as llvm:all_of, llvm::none_of, etc.
Typedefs
using llvm::detail::integerPart = APFloatBase::integerPart
using llvm::detail::uninitializedTag = APFloatBase::uninitializedTag
using llvm::detail::roundingMode = APFloatBase::roundingMode
using llvm::detail::opStatus = APFloatBase::opStatus
using llvm::detail::cmpResult = APFloatBase::cmpResult
using llvm::detail::fltCategory = APFloatBase::fltCategory
using llvm::detail::ExponentType = APFloatBase::ExponentType
Functions
hash_code llvm::detail::hash_value (const IEEEFloat &Arg)
int llvm::detail::ilogb (const IEEEFloat &Arg)
IEEEFloat llvm::detail::scalbn (IEEEFloat X, int Exp, roundingMode)
IEEEFloat llvm::detail::frexp (const IEEEFloat &Val, int &Exp, roundingMode RM)
hash_code llvm::detail::hash_value (const DoubleAPFloat &Arg)
DoubleAPFloat llvm::detail::scalbn (const DoubleAPFloat &Arg, int Exp, roundingMode RM)
DoubleAPFloat llvm::detail::frexp (const DoubleAPFloat &X, int &Exp, roundingMode)
hash_code llvm::hash_value (const APFloat &Arg)
See friend declarations above.
APFloat llvm::scalbn (APFloat X, int Exp, APFloat::roundingMode RM)
APFloat llvm::frexp (const APFloat &X, int &Exp, APFloat::roundingMode RM)
Equivalent of C standard library function.
APFloat llvm::abs (APFloat X)
Returns the absolute value of the argument.
APFloat llvm::neg (APFloat X)
Returns the negated value of the argument.
LLVM_READONLY APFloat llvm::minnum (const APFloat &A, const APFloat &B)
Implements IEEE-754 2019 minimumNumber semantics.
LLVM_READONLY APFloat llvm::maxnum (const APFloat &A, const APFloat &B)
Implements IEEE-754 2019 maximumNumber semantics.
LLVM_READONLY APFloat llvm::minimum (const APFloat &A, const APFloat &B)
Implements IEEE 754-2019 minimum semantics.
LLVM_READONLY APFloat llvm::minimumnum (const APFloat &A, const APFloat &B)
Implements IEEE 754-2019 minimumNumber semantics.
LLVM_READONLY APFloat llvm::maximum (const APFloat &A, const APFloat &B)
Implements IEEE 754-2019 maximum semantics.
LLVM_READONLY APFloat llvm::maximumnum (const APFloat &A, const APFloat &B)
Implements IEEE 754-2019 maximumNumber semantics.
raw_ostream & llvm::operator<< (raw_ostream &OS, const APFloat &V)
Variables
static constexpr uninitializedTag llvm::detail::uninitialized = APFloatBase::uninitialized
static constexpr roundingMode llvm::detail::rmNearestTiesToEven
static constexpr roundingMode llvm::detail::rmNearestTiesToAway
static constexpr roundingMode llvm::detail::rmTowardNegative = APFloatBase::rmTowardNegative
static constexpr roundingMode llvm::detail::rmTowardPositive = APFloatBase::rmTowardPositive
static constexpr roundingMode llvm::detail::rmTowardZero = APFloatBase::rmTowardZero
static constexpr unsigned llvm::detail::integerPartWidth = APFloatBase::integerPartWidth
static constexpr cmpResult llvm::detail::cmpEqual = APFloatBase::cmpEqual
static constexpr cmpResult llvm::detail::cmpLessThan = APFloatBase::cmpLessThan
static constexpr cmpResult llvm::detail::cmpGreaterThan = APFloatBase::cmpGreaterThan
static constexpr cmpResult llvm::detail::cmpUnordered = APFloatBase::cmpUnordered
static constexpr opStatus llvm::detail::opOK = APFloatBase::opOK
static constexpr opStatus llvm::detail::opInvalidOp = APFloatBase::opInvalidOp
static constexpr opStatus llvm::detail::opDivByZero = APFloatBase::opDivByZero
static constexpr opStatus llvm::detail::opOverflow = APFloatBase::opOverflow
static constexpr opStatus llvm::detail::opUnderflow = APFloatBase::opUnderflow
static constexpr opStatus llvm::detail::opInexact = APFloatBase::opInexact
static constexpr fltCategory llvm::detail::fcInfinity = APFloatBase::fcInfinity
static constexpr fltCategory llvm::detail::fcNaN = APFloatBase::fcNaN
static constexpr fltCategory llvm::detail::fcNormal = APFloatBase::fcNormal
static constexpr fltCategory llvm::detail::fcZero = APFloatBase::fcZero

This file declares a class to represent arbitrary precision floating point values and provide a variety of arithmetic operations on them.

Definition in file APFloat.h.

APFLOAT_DISPATCH_ON_SEMANTICS

| #define APFLOAT_DISPATCH_ON_SEMANTICS | ( | | METHOD_CALL | ) | | ---------------------------------------- | - | | ------------ | - |

Value:

do { \

if (usesLayout(getSemantics())) \

return U.IEEE.METHOD_CALL; \

if (usesLayout(getSemantics())) \

return U.Double.METHOD_CALL; \

llvm_unreachable("Unexpected semantics"); \

} while (false)

Definition at line 25 of file APFloat.h.