LLVM API Documentation
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include <cstring>
#include <limits.h>
Go to the source code of this file.
#define COMPILE_TIME_ASSERT | ( | cond | ) | extern int CTAssert[(cond) ? 1 : -1] |
Definition at line 38 of file APFloat.cpp.
#define PackCategoriesIntoKey | ( | _lhs, | |
_rhs | |||
) | ((_lhs) * 4 + (_rhs)) |
A macro used to combine two fcCategory enums into one key which can be used in a switch statement to classify how the interaction of two APFloat's categories affects an operation.
TODO: If clang source code is ever allowed to use constexpr in its own codebase, change this into a static inline function.
Definition at line 34 of file APFloat.cpp.
Referenced by llvm::APFloat::compare().
static lostFraction combineLostFractions | ( | lostFraction | moreSignificant, |
lostFraction | lessSignificant | ||
) | [static] |
Definition at line 376 of file APFloat.cpp.
References llvm::lfExactlyHalf, llvm::lfExactlyZero, llvm::lfLessThanHalf, and llvm::lfMoreThanHalf.
COMPILE_TIME_ASSERT | ( | integerPartWidth% | 4 = =0 | ) |
static unsigned int decDigitValue | ( | unsigned int | c | ) | [inline, static] |
Definition at line 106 of file APFloat.cpp.
Referenced by interpretDecimal(), readExponent(), and totalExponent().
static unsigned int HUerrBound | ( | bool | inexactMultiply, |
unsigned int | HUerr1, | ||
unsigned int | HUerr2 | ||
) | [static] |
Definition at line 397 of file APFloat.cpp.
static void interpretDecimal | ( | StringRef::iterator | begin, |
StringRef::iterator | end, | ||
decimalInfo * | D | ||
) | [static] |
Definition at line 251 of file APFloat.cpp.
References decDigitValue(), llvm::sys::path::end(), decimalInfo::exponent, decimalInfo::firstSigDigit, decimalInfo::lastSigDigit, decimalInfo::normalizedExponent, readExponent(), and skipLeadingZeroesAndAnyDot().
static lostFraction lostFractionThroughTruncation | ( | const integerPart * | parts, |
unsigned int | partCount, | ||
unsigned int | bits | ||
) | [static] |
Definition at line 341 of file APFloat.cpp.
References llvm::integerPartWidth, llvm::lfExactlyHalf, llvm::lfExactlyZero, llvm::lfLessThanHalf, llvm::lfMoreThanHalf, llvm::APInt::tcExtractBit(), and llvm::APInt::tcLSB().
Referenced by shiftRight().
static unsigned int partAsHex | ( | char * | dst, |
integerPart | part, | ||
unsigned int | count, | ||
const char * | hexDigitChars | ||
) | [static] |
Definition at line 527 of file APFloat.cpp.
References llvm::integerPartWidth.
static unsigned int partCountForBits | ( | unsigned int | bits | ) | [inline, static] |
Definition at line 99 of file APFloat.cpp.
References llvm::integerPartWidth.
Referenced by llvm::APFloat::convert(), llvm::APFloat::convertFromZeroExtendedInteger(), llvm::APFloat::convertToInteger(), llvm::APFloat::getSmallestNormalized(), and llvm::APFloat::toString().
Definition at line 456 of file APFloat.cpp.
References llvm::maxExponent, llvm::maxPowerOfFiveParts, llvm::APInt::tcAssign(), and llvm::APInt::tcFullMultiply().
static int readExponent | ( | StringRef::iterator | begin, |
StringRef::iterator | end | ||
) | [static] |
Definition at line 117 of file APFloat.cpp.
References llvm::sys::path::begin(), decDigitValue(), and llvm::sys::path::end().
Referenced by interpretDecimal().
static lostFraction shiftRight | ( | integerPart * | dst, |
unsigned int | parts, | ||
unsigned int | bits | ||
) | [static] |
Definition at line 363 of file APFloat.cpp.
References lostFractionThroughTruncation(), and llvm::APInt::tcShiftRight().
Referenced by llvm::APFloat::convert().
static StringRef::iterator skipLeadingZeroesAndAnyDot | ( | StringRef::iterator | begin, |
StringRef::iterator | end, | ||
StringRef::iterator * | dot | ||
) | [static] |
Definition at line 210 of file APFloat.cpp.
References llvm::sys::path::begin(), and llvm::sys::path::end().
Referenced by interpretDecimal().
static int totalExponent | ( | StringRef::iterator | p, |
StringRef::iterator | end, | ||
int | exponentAdjustment | ||
) | [static] |
Definition at line 161 of file APFloat.cpp.
References decDigitValue(), and llvm::sys::path::end().
static lostFraction trailingHexadecimalFraction | ( | StringRef::iterator | p, |
StringRef::iterator | end, | ||
unsigned int | digitValue | ||
) | [static] |
Definition at line 310 of file APFloat.cpp.
References llvm::hexDigitValue(), llvm::lfExactlyHalf, llvm::lfExactlyZero, llvm::lfLessThanHalf, and llvm::lfMoreThanHalf.
static integerPart ulpsFromBoundary | ( | const integerPart * | parts, |
unsigned int | bits, | ||
bool | isNearest | ||
) | [static] |
Definition at line 411 of file APFloat.cpp.
References llvm::integerPartWidth.
static char* writeSignedDecimal | ( | char * | dst, |
int | value | ||
) | [static] |
Definition at line 563 of file APFloat.cpp.
References writeUnsignedDecimal().
static char* writeUnsignedDecimal | ( | char * | dst, |
unsigned int | n | ||
) | [static] |
Definition at line 545 of file APFloat.cpp.
Referenced by writeSignedDecimal().
const char hexDigitsLower[] = "0123456789abcdef0" [static] |
Definition at line 516 of file APFloat.cpp.
const char hexDigitsUpper[] = "0123456789ABCDEF0" [static] |
Definition at line 517 of file APFloat.cpp.
Definition at line 518 of file APFloat.cpp.
Referenced by llvm::APFloat::convertToHexString().
Definition at line 519 of file APFloat.cpp.
Referenced by llvm::APFloat::convertToHexString().
Definition at line 520 of file APFloat.cpp.
Referenced by llvm::APFloat::convertToHexString().
Definition at line 521 of file APFloat.cpp.
Referenced by llvm::APFloat::convertToHexString().