Lines Matching refs:APInt
361 lsb = APInt::tcLSB(parts, partCount); in lostFractionThroughTruncation()
369 APInt::tcExtractBit(parts, bits - 1)) in lostFractionThroughTruncation()
383 APInt::tcShiftRight(dst, parts, bits); in shiftRight()
499 APInt::tcFullMultiply(pow5, pow5 - pc, pow5 - pc, pc, pc); in powerOf5()
509 APInt::tcFullMultiply(p2, p1, pow5, result, pc); in powerOf5()
523 APInt::tcAssign(dst, p1, result); in powerOf5()
627 APInt::tcAssign(significandParts(), rhs.significandParts(), in copySignificand()
634 void APFloat::makeNaN(bool SNaN, bool Negative, const APInt *fill) in makeNaN()
644 APInt::tcSet(significand, 0, numParts); in makeNaN()
646 APInt::tcAssign(significand, fill->getRawData(), in makeNaN()
662 APInt::tcClearBit(significand, QNaNBit); in makeNaN()
667 if (APInt::tcIsZero(significand, numParts)) in makeNaN()
668 APInt::tcSetBit(significand, QNaNBit - 1); in makeNaN()
671 APInt::tcSetBit(significand, QNaNBit); in makeNaN()
678 APInt::tcSetBit(significand, QNaNBit + 1); in makeNaN()
682 const APInt *fill) { in makeNaN()
825 APInt::tcSet(significandParts(), 0, partCount()); in zeroSignificand()
834 carry = APInt::tcIncrement(significandParts(), partCount()); in incrementSignificand()
852 return APInt::tcAdd(parts, rhs.significandParts(), 0, partCount()); in addSignificand()
867 return APInt::tcSubtract(parts, rhs.significandParts(), borrow, in subtractSignificand()
898 APInt::tcFullMultiply(fullSignificand, lhsSignificand, in multiplySignificand()
902 omsb = APInt::tcMSB(fullSignificand, newPartsCount) + 1; in multiplySignificand()
915 APInt::tcShiftLeft(fullSignificand, newPartsCount, in multiplySignificand()
942 omsb = APInt::tcMSB(fullSignificand, newPartsCount) + 1; in multiplySignificand()
958 APInt::tcAssign(lhsSignificand, fullSignificand, partsCount); in multiplySignificand()
1001 bit = precision - APInt::tcMSB(divisor, partsCount) - 1; in divideSignificand()
1004 APInt::tcShiftLeft(divisor, partsCount, bit); in divideSignificand()
1008 bit = precision - APInt::tcMSB(dividend, partsCount) - 1; in divideSignificand()
1011 APInt::tcShiftLeft(dividend, partsCount, bit); in divideSignificand()
1017 if (APInt::tcCompare(dividend, divisor, partsCount) < 0) { in divideSignificand()
1019 APInt::tcShiftLeft(dividend, partsCount, 1); in divideSignificand()
1020 assert(APInt::tcCompare(dividend, divisor, partsCount) >= 0); in divideSignificand()
1025 if (APInt::tcCompare(dividend, divisor, partsCount) >= 0) { in divideSignificand()
1026 APInt::tcSubtract(dividend, divisor, 0, partsCount); in divideSignificand()
1027 APInt::tcSetBit(lhsSignificand, bit - 1); in divideSignificand()
1030 APInt::tcShiftLeft(dividend, partsCount, 1); in divideSignificand()
1034 int cmp = APInt::tcCompare(dividend, divisor, partsCount); in divideSignificand()
1040 else if (APInt::tcIsZero(dividend, partsCount)) in divideSignificand()
1054 return APInt::tcMSB(significandParts(), partCount()); in significandMSB()
1060 return APInt::tcLSB(significandParts(), partCount()); in significandLSB()
1084 APInt::tcShiftLeft(significandParts(), partsCount, bits); in shiftSignificandLeft()
1087 assert(!APInt::tcIsZero(significandParts(), partsCount)); in shiftSignificandLeft()
1105 compare = APInt::tcCompare(significandParts(), rhs.significandParts(), in compareAbsoluteValue()
1133 APInt::tcSetLeastSignificantBits(significandParts(), partCount(), in handleOverflow()
1165 return APInt::tcExtractBit(significandParts(), bit); in roundAwayFromZero()
1787 APInt IntegerConstant(NextPowerOf2(semanticsPrecision(*semantics)), 1); in roundToIntegral()
1931 APInt::tcSet(newParts, 0, newPartCount); in convert()
1933 APInt::tcAssign(newParts, significandParts(), oldPartCount); in convert()
1951 APInt::tcShiftLeft(significandParts(), newPartCount, shift); in convert()
2002 APInt::tcSet(parts, 0, dstPartsCount); in convertToSignExtendedInteger()
2014 APInt::tcSet(parts, 0, dstPartsCount); in convertToSignExtendedInteger()
2030 APInt::tcExtract(parts, dstPartsCount, src, bits, truncatedBits); in convertToSignExtendedInteger()
2033 APInt::tcExtract(parts, dstPartsCount, src, semantics->precision, 0); in convertToSignExtendedInteger()
2034 APInt::tcShiftLeft(parts, dstPartsCount, bits - semantics->precision); in convertToSignExtendedInteger()
2046 if (APInt::tcIncrement(parts, dstPartsCount)) in convertToSignExtendedInteger()
2054 unsigned int omsb = APInt::tcMSB(parts, dstPartsCount) + 1; in convertToSignExtendedInteger()
2065 if (omsb == width && APInt::tcLSB(parts, dstPartsCount) + 1 != omsb) in convertToSignExtendedInteger()
2073 APInt::tcNegate (parts, dstPartsCount); in convertToSignExtendedInteger()
2117 APInt::tcSetLeastSignificantBits(parts, dstPartsCount, bits); in convertToInteger()
2119 APInt::tcShiftLeft(parts, dstPartsCount, width - 1); in convertToInteger()
2138 result = APInt(bitWidth, parts); in convertToInteger()
2156 omsb = APInt::tcMSB(src, srcCount) + 1; in convertFromUnsignedParts()
2167 APInt::tcExtract(dst, dstCount, src, precision, omsb - precision); in convertFromUnsignedParts()
2171 APInt::tcExtract(dst, dstCount, src, omsb, 0); in convertFromUnsignedParts()
2178 APFloat::convertFromAPInt(const APInt &Val, in convertFromAPInt()
2183 APInt api = Val; in convertFromAPInt()
2207 APInt::tcExtractBit(src, srcCount * integerPartWidth - 1)) { in convertFromSignExtendedInteger()
2213 APInt::tcAssign(copy, src, srcCount); in convertFromSignExtendedInteger()
2214 APInt::tcNegate(copy, srcCount); in convertFromSignExtendedInteger()
2232 APInt api = APInt(width, makeArrayRef(parts, partCount)); in convertFromZeroExtendedInteger()
2235 if (isSigned && APInt::tcExtractBit(parts, width - 1)) { in convertFromZeroExtendedInteger()
2392 assert(APInt::tcExtractBit in roundSignificandWithExponent()
2402 APInt::tcExtract(significandParts(), partCount(), decSig.significandParts(), in roundSignificandWithExponent()
2509 APInt::tcMultiplyPart(decSignificand, decSignificand, multiplier, val, in convertFromDecimalString()
2755 APInt
2784 return APInt(80, words); in convertF80LongDoubleAPFloatToAPInt()
2787 APInt
2829 return APInt(128, words); in convertPPCDoubleDoubleAPFloatToAPInt()
2832 APInt
2865 return APInt(128, words); in convertQuadrupleAPFloatToAPInt()
2868 APInt
2893 return APInt(64, ((((uint64_t)(sign & 1) << 63) | in convertDoubleAPFloatToAPInt()
2898 APInt
2923 return APInt(32, (((sign&1) << 31) | ((myexponent&0xff) << 23) | in convertFloatAPFloatToAPInt()
2927 APInt
2952 return APInt(16, (((sign&1) << 15) | ((myexponent&0x1f) << 10) | in convertHalfAPFloatToAPInt()
2960 APInt
2988 APInt api = bitcastToAPInt(); in convertToFloat()
2997 APInt api = bitcastToAPInt(); in convertToDouble()
3009 APFloat::initFromF80LongDoubleAPInt(const APInt &api) in initFromF80LongDoubleAPInt()
3043 APFloat::initFromPPCDoubleDoubleAPInt(const APInt &api) in initFromPPCDoubleDoubleAPInt()
3093 APFloat::initFromQuadrupleAPInt(const APInt &api) in initFromQuadrupleAPInt()
3133 APFloat::initFromDoubleAPInt(const APInt &api) in initFromDoubleAPInt()
3166 APFloat::initFromFloatAPInt(const APInt & api) in initFromFloatAPInt()
3199 APFloat::initFromHalfAPInt(const APInt & api) in initFromHalfAPInt()
3236 APFloat::initFromAPInt(const APInt& api, bool isIEEE) in initFromAPInt()
3256 return APFloat(APInt::getAllOnesValue(BitWidth), isIEEE); in getAllOnesValue()
3314 APFloat::APFloat(const APInt& api, bool isIEEE) : exponent2(0), sign2(0) { in APFloat()
3319 initFromAPInt(APInt::floatToBits(f)); in APFloat()
3323 initFromAPInt(APInt::doubleToBits(d)); in APFloat()
3333 void AdjustToPrecision(APInt &significand, in AdjustToPrecision()
3347 APInt divisor(significand.getBitWidth(), 1); in AdjustToPrecision()
3348 APInt powten(significand.getBitWidth(), 10); in AdjustToPrecision()
3443 APInt significand(semantics->precision, in toString()
3487 APInt five_to_the_i(precision, 5); in toString()
3503 APInt ten(precision, 10); in toString()
3504 APInt digit(precision, 0); in toString()
3510 APInt::udivrem(significand, ten, significand, digit); in toString()