LLVM 22.0.0git
|
#include "llvm/ADT/APFloat.h"
Friends | |
LLVM_ABI friend int | ilogb (const DoubleAPFloat &X) |
LLVM_ABI friend DoubleAPFloat | scalbn (const DoubleAPFloat &X, int Exp, roundingMode RM) |
LLVM_ABI friend DoubleAPFloat | frexp (const DoubleAPFloat &X, int &Exp, roundingMode) |
LLVM_ABI friend hash_code | hash_value (const DoubleAPFloat &Arg) |
llvm::detail::DoubleAPFloat::DoubleAPFloat | ( | const fltSemantics & | S | ) |
Definition at line 4816 of file APFloat.cpp.
References DoubleAPFloat(), and llvm::semIEEEdouble.
Referenced by add(), bitwiseIsEqual(), compare(), compareAbsoluteValue(), convertFromString(), divide(), DoubleAPFloat(), DoubleAPFloat(), DoubleAPFloat(), frexp, fusedMultiplyAdd(), hash_value, ilogb, isLargest(), isSmallest(), isSmallestNormalized(), mod(), multiply(), next(), operator=(), operator=(), remainder(), scalbn, and subtract().
llvm::detail::DoubleAPFloat::DoubleAPFloat | ( | const fltSemantics & | S, |
uninitializedTag | ) |
Definition at line 4822 of file APFloat.cpp.
References llvm::semIEEEdouble, and llvm::detail::uninitialized.
llvm::detail::DoubleAPFloat::DoubleAPFloat | ( | const fltSemantics & | S, |
integerPart | I ) |
Definition at line 4829 of file APFloat.cpp.
References I, and llvm::semIEEEdouble.
llvm::detail::DoubleAPFloat::DoubleAPFloat | ( | const fltSemantics & | S, |
const APInt & | I ) |
Definition at line 4835 of file APFloat.cpp.
References I, and llvm::semIEEEdouble.
llvm::detail::DoubleAPFloat::DoubleAPFloat | ( | const fltSemantics & | S, |
APFloat && | First, | ||
APFloat && | Second ) |
Definition at line 4843 of file APFloat.cpp.
References llvm::First.
llvm::detail::DoubleAPFloat::DoubleAPFloat | ( | const DoubleAPFloat & | RHS | ) |
Definition at line 4852 of file APFloat.cpp.
References DoubleAPFloat().
llvm::detail::DoubleAPFloat::DoubleAPFloat | ( | DoubleAPFloat && | RHS | ) |
Definition at line 4860 of file APFloat.cpp.
References assert(), DoubleAPFloat(), llvm::semBogus, and llvm::semPPCDoubleDouble.
|
inline |
Definition at line 1690 of file APFloat.h.
Referenced by operator=(), and operator=().
APFloat::opStatus llvm::detail::DoubleAPFloat::add | ( | const DoubleAPFloat & | RHS, |
roundingMode | RM ) |
APInt llvm::detail::DoubleAPFloat::bitcastToAPInt | ( | ) | const |
Definition at line 5357 of file APFloat.cpp.
References assert(), llvm::Data, and llvm::semPPCDoubleDouble.
Referenced by convertToHexString(), divide(), fusedMultiplyAdd(), mod(), remainder(), and toString().
bool llvm::detail::DoubleAPFloat::bitwiseIsEqual | ( | const DoubleAPFloat & | RHS | ) | const |
Definition at line 5346 of file APFloat.cpp.
References DoubleAPFloat().
void llvm::detail::DoubleAPFloat::changeSign | ( | ) |
Definition at line 5236 of file APFloat.cpp.
Referenced by convertFromAPInt(), makeLargest(), next(), and subtract().
APFloat::cmpResult llvm::detail::DoubleAPFloat::compare | ( | const DoubleAPFloat & | RHS | ) | const |
Definition at line 5338 of file APFloat.cpp.
References llvm::APFloatBase::cmpEqual, and DoubleAPFloat().
Referenced by isLargest(), isSmallest(), isSmallestNormalized(), and next().
APFloat::cmpResult llvm::detail::DoubleAPFloat::compareAbsoluteValue | ( | const DoubleAPFloat & | RHS | ) | const |
Definition at line 5242 of file APFloat.cpp.
References llvm::detail::cmpEqual, llvm::detail::cmpGreaterThan, llvm::detail::cmpLessThan, DoubleAPFloat(), and isZero().
APFloat::opStatus llvm::detail::DoubleAPFloat::convertFromAPInt | ( | const APInt & | Input, |
bool | IsSigned, | ||
roundingMode | RM ) |
Definition at line 5745 of file APFloat.cpp.
References changeSign(), llvm::APInt::getNumWords(), llvm::APInt::getRawData(), and llvm::APInt::negate().
Expected< APFloat::opStatus > llvm::detail::DoubleAPFloat::convertFromString | ( | StringRef | S, |
roundingMode | RM ) |
Definition at line 5366 of file APFloat.cpp.
References assert(), llvm::APFloat::bitcastToAPInt(), llvm::APFloat::convertFromString(), DoubleAPFloat(), llvm::semPPCDoubleDouble, and llvm::semPPCDoubleDoubleLegacy.
unsigned int llvm::detail::DoubleAPFloat::convertToHexString | ( | char * | DST, |
unsigned int | HexDigits, | ||
bool | UpperCase, | ||
roundingMode | RM ) const |
Definition at line 5760 of file APFloat.cpp.
References assert(), bitcastToAPInt(), llvm::APFloat::convertToHexString(), llvm::semPPCDoubleDouble, and llvm::semPPCDoubleDoubleLegacy.
APFloat::opStatus llvm::detail::DoubleAPFloat::convertToInteger | ( | MutableArrayRef< integerPart > | Input, |
unsigned int | Width, | ||
bool | IsSigned, | ||
roundingMode | RM, | ||
bool * | IsExact ) const |
Definition at line 5580 of file APFloat.cpp.
References assert(), llvm::detail::fcNaN, getCategory(), isNegative(), llvm::detail::opInvalidOp, llvm::partCountForBits(), llvm::detail::tcSetLeastSignificantBits(), and llvm::APInt::tcShiftLeft().
APFloat::opStatus llvm::detail::DoubleAPFloat::divide | ( | const DoubleAPFloat & | RHS, |
APFloat::roundingMode | RM ) |
Definition at line 5120 of file APFloat.cpp.
References assert(), llvm::APFloat::bitcastToAPInt(), bitcastToAPInt(), llvm::APFloat::divide(), DoubleAPFloat(), llvm::semPPCDoubleDouble, and llvm::semPPCDoubleDoubleLegacy.
APFloat::opStatus llvm::detail::DoubleAPFloat::fusedMultiplyAdd | ( | const DoubleAPFloat & | Multiplicand, |
const DoubleAPFloat & | Addend, | ||
APFloat::roundingMode | RM ) |
Definition at line 5148 of file APFloat.cpp.
References assert(), llvm::APFloat::bitcastToAPInt(), bitcastToAPInt(), DoubleAPFloat(), llvm::APFloat::fusedMultiplyAdd(), llvm::semPPCDoubleDouble, and llvm::semPPCDoubleDoubleLegacy.
APFloat::fltCategory llvm::detail::DoubleAPFloat::getCategory | ( | ) | const |
Definition at line 5295 of file APFloat.cpp.
Referenced by convertToInteger(), llvm::detail::frexp(), ilogb, isDenormal(), isLargest(), isSmallest(), isSmallestNormalized(), and next().
int llvm::detail::DoubleAPFloat::getExactLog2Abs | ( | ) | const |
Definition at line 5815 of file APFloat.cpp.
References llvm::APFloat::getExactLog2Abs(), getFirst(), and getSecond().
|
inline |
Definition at line 1685 of file APFloat.h.
Referenced by llvm::detail::frexp(), getExactLog2Abs(), ilogb, next(), and roundToIntegral().
|
inline |
Definition at line 1687 of file APFloat.h.
Referenced by llvm::detail::frexp(), getExactLog2Abs(), ilogb, next(), and roundToIntegral().
bool llvm::detail::DoubleAPFloat::isDenormal | ( | ) | const |
Definition at line 5769 of file APFloat.cpp.
References llvm::detail::fcNormal, getCategory(), and isDenormal().
Referenced by isDenormal().
bool llvm::detail::DoubleAPFloat::isInteger | ( | ) | const |
Definition at line 5801 of file APFloat.cpp.
References assert(), and llvm::semPPCDoubleDouble.
bool llvm::detail::DoubleAPFloat::isLargest | ( | ) | const |
Definition at line 5793 of file APFloat.cpp.
References llvm::detail::cmpEqual, compare(), DoubleAPFloat(), llvm::detail::fcNormal, getCategory(), isNegative(), and makeLargest().
bool llvm::detail::DoubleAPFloat::isNegative | ( | ) | const |
Definition at line 5299 of file APFloat.cpp.
Referenced by convertToInteger(), llvm::detail::frexp(), isLargest(), isSmallest(), isSmallestNormalized(), next(), and roundToIntegral().
bool llvm::detail::DoubleAPFloat::isSmallest | ( | ) | const |
Definition at line 5776 of file APFloat.cpp.
References llvm::detail::cmpEqual, compare(), DoubleAPFloat(), llvm::detail::fcNormal, getCategory(), isNegative(), and makeSmallest().
bool llvm::detail::DoubleAPFloat::isSmallestNormalized | ( | ) | const |
Definition at line 5784 of file APFloat.cpp.
References llvm::detail::cmpEqual, compare(), DoubleAPFloat(), llvm::detail::fcNormal, getCategory(), isNegative(), and makeSmallestNormalized().
void llvm::detail::DoubleAPFloat::makeInf | ( | bool | Neg | ) |
Definition at line 5301 of file APFloat.cpp.
Referenced by next().
void llvm::detail::DoubleAPFloat::makeLargest | ( | bool | Neg | ) |
Definition at line 5311 of file APFloat.cpp.
References assert(), changeSign(), llvm::semIEEEdouble, and llvm::semPPCDoubleDouble.
Referenced by isLargest(), and next().
void llvm::detail::DoubleAPFloat::makeSmallest | ( | bool | Neg | ) |
Definition at line 5319 of file APFloat.cpp.
References assert(), and llvm::semPPCDoubleDouble.
Referenced by isSmallest(), and next().
void llvm::detail::DoubleAPFloat::makeSmallestNormalized | ( | bool | Neg | ) |
Definition at line 5325 of file APFloat.cpp.
References assert(), llvm::semIEEEdouble, and llvm::semPPCDoubleDouble.
Referenced by isSmallestNormalized().
void llvm::detail::DoubleAPFloat::makeZero | ( | bool | Neg | ) |
Definition at line 5306 of file APFloat.cpp.
Referenced by next().
APFloat::opStatus llvm::detail::DoubleAPFloat::mod | ( | const DoubleAPFloat & | RHS | ) |
Definition at line 5139 of file APFloat.cpp.
References assert(), llvm::APFloat::bitcastToAPInt(), bitcastToAPInt(), DoubleAPFloat(), llvm::APFloat::mod(), llvm::semPPCDoubleDouble, and llvm::semPPCDoubleDoubleLegacy.
APFloat::opStatus llvm::detail::DoubleAPFloat::multiply | ( | const DoubleAPFloat & | RHS, |
APFloat::roundingMode | RM ) |
Definition at line 5034 of file APFloat.cpp.
References A(), llvm::APFloat::add(), assert(), B(), llvm::CallingConv::C, D(), DoubleAPFloat(), llvm::detail::fcInfinity, llvm::detail::fcNaN, llvm::detail::fcNormal, llvm::detail::fcZero, llvm::APFloat::fusedMultiplyAdd(), llvm::detail::opOK, and T.
|
inline |
APFloat::opStatus llvm::detail::DoubleAPFloat::next | ( | bool | nextDown | ) |
Definition at line 5381 of file APFloat.cpp.
References assert(), changeSign(), llvm::detail::cmpGreaterThan, compare(), DoubleAPFloat(), llvm::detail::fcInfinity, llvm::detail::fcNaN, llvm::detail::fcNormal, llvm::detail::fcZero, getCategory(), getFirst(), getSecond(), llvm::harrisonUlp(), llvm::Hi, llvm::APFloat::isInfinity(), isNegative(), llvm::APFloat::isZero(), llvm::Lo, makeInf(), makeLargest(), makeNaN(), makeSmallest(), makeZero(), llvm::neg(), llvm::APFloat::next(), next(), llvm::detail::opInvalidOp, llvm::detail::opOK, llvm::detail::rmTowardZero, scalbn, llvm::semPPCDoubleDouble, and llvm::detail::uninitialized.
Referenced by next().
DoubleAPFloat & llvm::detail::DoubleAPFloat::operator= | ( | const DoubleAPFloat & | RHS | ) |
Definition at line 4867 of file APFloat.cpp.
References DoubleAPFloat(), and ~DoubleAPFloat().
|
inline |
Definition at line 1677 of file APFloat.h.
References DoubleAPFloat(), RHS, and ~DoubleAPFloat().
APFloat::opStatus llvm::detail::DoubleAPFloat::remainder | ( | const DoubleAPFloat & | RHS | ) |
Definition at line 5130 of file APFloat.cpp.
References assert(), llvm::APFloat::bitcastToAPInt(), bitcastToAPInt(), DoubleAPFloat(), llvm::APFloat::remainder(), llvm::semPPCDoubleDouble, and llvm::semPPCDoubleDoubleLegacy.
APFloat::opStatus llvm::detail::DoubleAPFloat::roundToIntegral | ( | APFloat::roundingMode | RM | ) |
Definition at line 5160 of file APFloat.cpp.
References llvm::detail::abs(), llvm::APFloat::add(), assert(), llvm::detail::fastTwoSum(), getFirst(), llvm::APFloat::getOne(), getSecond(), llvm::Hi, llvm::APFloat::isNegative(), isNegative(), llvm::Lo, llvm::detail::rmNearestTiesToAway, llvm::detail::rmNearestTiesToEven, llvm::detail::rmTowardNegative, llvm::detail::rmTowardPositive, llvm::detail::rmTowardZero, llvm::APFloat::roundToIntegral(), and llvm::semPPCDoubleDouble.
APFloat::opStatus llvm::detail::DoubleAPFloat::subtract | ( | const DoubleAPFloat & | RHS, |
roundingMode | RM ) |
Definition at line 5026 of file APFloat.cpp.
References add(), changeSign(), and DoubleAPFloat().
void llvm::detail::DoubleAPFloat::toString | ( | SmallVectorImpl< char > & | Str, |
unsigned | FormatPrecision, | ||
unsigned | FormatMaxPadding, | ||
bool | TruncateZero = true ) const |
Definition at line 5806 of file APFloat.cpp.
References assert(), bitcastToAPInt(), llvm::semPPCDoubleDouble, llvm::semPPCDoubleDoubleLegacy, and llvm::APFloat::toString().
|
friend |
References DoubleAPFloat(), LLVM_ABI, and X.
|
friend |
Definition at line 5351 of file APFloat.cpp.
References DoubleAPFloat(), llvm::hash_combine(), hash_value, and llvm::detail::hash_value().
Referenced by hash_value.
|
friend |
Definition at line 5824 of file APFloat.cpp.
References DoubleAPFloat(), llvm::detail::fcNormal, getCategory(), getFirst(), getSecond(), llvm::Hi, llvm::detail::ilogb(), and llvm::Lo.
|
friend |
References DoubleAPFloat(), LLVM_ABI, and X.
Referenced by next().