mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 21:29:20 +00:00
Clean up variable names in operator*.
Attempt #3 for getting a portable INFINITY value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34454 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
580546a82b
commit
61eb180a53
@ -17,7 +17,6 @@
|
|||||||
#include "llvm/Support/MathExtras.h"
|
#include "llvm/Support/MathExtras.h"
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <cmath>
|
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
// A utility function for allocating memory, checking for allocation failures,
|
// A utility function for allocating memory, checking for allocation failures,
|
||||||
@ -331,7 +330,8 @@ static void mul(uint64_t dest[], uint64_t x[], uint32_t xlen,
|
|||||||
/// given APInt& RHS and assigns the result to this APInt.
|
/// given APInt& RHS and assigns the result to this APInt.
|
||||||
APInt& APInt::operator*=(const APInt& RHS) {
|
APInt& APInt::operator*=(const APInt& RHS) {
|
||||||
assert(BitWidth == RHS.BitWidth && "Bit widths must be the same");
|
assert(BitWidth == RHS.BitWidth && "Bit widths must be the same");
|
||||||
if (isSingleWord()) VAL *= RHS.isSingleWord() ? RHS.VAL : RHS.pVal[0];
|
if (isSingleWord())
|
||||||
|
VAL *= RHS.VAL;
|
||||||
else {
|
else {
|
||||||
// one-based first non-zero bit position.
|
// one-based first non-zero bit position.
|
||||||
uint32_t first = getActiveBits();
|
uint32_t first = getActiveBits();
|
||||||
@ -456,10 +456,10 @@ bool APInt::operator !() const {
|
|||||||
/// RHS.
|
/// RHS.
|
||||||
APInt APInt::operator*(const APInt& RHS) const {
|
APInt APInt::operator*(const APInt& RHS) const {
|
||||||
assert(BitWidth == RHS.BitWidth && "Bit widths must be the same");
|
assert(BitWidth == RHS.BitWidth && "Bit widths must be the same");
|
||||||
APInt API(RHS);
|
APInt Result(*this);
|
||||||
API *= *this;
|
Result *= RHS;
|
||||||
API.clearUnusedBits();
|
Result.clearUnusedBits();
|
||||||
return API;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @brief Addition operator. Adds this APInt by the given APInt& RHS.
|
/// @brief Addition operator. Adds this APInt by the given APInt& RHS.
|
||||||
@ -838,9 +838,9 @@ double APInt::roundToDouble(bool isSigned) const {
|
|||||||
// Return infinity for exponent overflow
|
// Return infinity for exponent overflow
|
||||||
if (exp > 1023) {
|
if (exp > 1023) {
|
||||||
if (!isSigned || !isNeg)
|
if (!isSigned || !isNeg)
|
||||||
return double(INFINITY); // positive infinity
|
return double(1.0E300 * 1.0E300); // positive infinity
|
||||||
else
|
else
|
||||||
return double(-INFINITY); // negative infinity
|
return double(-1.0E300 * 1.0E300); // negative infinity
|
||||||
}
|
}
|
||||||
exp += 1023; // Increment for 1023 bias
|
exp += 1023; // Increment for 1023 bias
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user