Home | History | Annotate | Download | only in Support

Lines Matching refs:Parts

78   /* A tight upper bound on number of parts required to hold the value
83 However, whilst the result may require only this many parts,
87 requires two parts to hold the single-part result). So we add an
341 lostFractionThroughTruncation(const integerPart *parts,
347 lsb = APInt::tcLSB(parts, partCount);
355 APInt::tcExtractBit(parts, bits - 1))
363 shiftRight(integerPart *dst, unsigned int parts, unsigned int bits)
367 lost_fraction = lostFractionThroughTruncation(dst, parts, bits);
369 APInt::tcShiftRight(dst, parts, bits);
411 ulpsFromBoundary(const integerPart *parts, unsigned int bits, bool isNearest)
422 part = parts[count] & (~(integerPart) 0 >> (integerPartWidth - partBits));
438 if (parts[count])
441 return parts[0];
444 if (~parts[count])
447 return -parts[0];
453 /* Place pow(5, power) in DST, and return the number of parts used.
500 /* Now result is in p1 with partsCount parts and p2 is scratch
583 significand.parts = new integerPart[count];
590 delete [] significand.parts;
719 const integerPart *Parts = significandParts();
722 if (~Parts[i])
732 if (~(Parts[PartCount - 1] | HighBitFill))
741 const integerPart *Parts = significandParts();
745 if (Parts[i])
754 if (Parts[PartCount - 1] & HighBitMask)
859 return significand.parts;
887 integerPart *parts;
889 parts = significandParts();
894 return APInt::tcAdd(parts, rhs.significandParts(), 0, partCount());
902 integerPart *parts;
904 parts = significandParts();
909 return APInt::tcSubtract(parts, rhs.significandParts(), borrow,
984 significand.parts = fullSignificand;
1724 int parts = partCount();
1725 integerPart *x = new integerPart[parts];
1727 fs = V.convertToInteger(x, parts * integerPartWidth, true,
1732 fs = V.convertFromZeroExtendedInteger(x, parts * integerPartWidth, true,
1764 int parts = partCount();
1765 parts];
1767 fs = V.convertToInteger(x, parts * integerPartWidth, true,
1772 fs = V.convertFromZeroExtendedInteger(x, parts * integerPartWidth, true,
2012 significand.parts = newParts;
2057 destination parts are unspecified. If the rounded value is in
2065 APFloat::convertToSignExtendedInteger(integerPart *parts, unsigned int width,
2083 APInt::tcSet(parts, 0, dstPartsCount);
2095 APInt::tcSet(parts, 0, dstPartsCount);
2111 APInt::tcExtract(parts, dstPartsCount, src, bits, truncatedBits);
2114 APInt::tcExtract(parts, dstPartsCount, src, semantics->precision, 0);
2115 APInt::tcShiftLeft(parts, dstPartsCount, bits - semantics->precision);
2127 if (APInt::tcIncrement(parts, dstPartsCount))
2135 unsigned int omsb = APInt::tcMSB(parts, dstPartsCount) + 1;
2146 if (omsb == width && APInt::tcLSB(parts, dstPartsCount) + 1 != omsb)
2154 APInt::tcNegate (parts, dstPartsCount);
2177 APFloat::convertToInteger(integerPart *parts, unsigned int width,
2183 fs = convertToSignExtendedInteger(parts, width, isSigned, rounding_mode,
2198 APInt::tcSetLeastSignificantBits(parts, dstPartsCount, bits);
2200 APInt::tcShiftLeft(parts, dstPartsCount, width - 1);
2215 SmallVector<uint64_t, 4> parts(result.getNumWords());
2217 parts.data(), bitWidth, result.isSigned(), rounding_mode, isExact);
2219 result = APInt(bitWidth, parts);
2306 APFloat::convertFromZeroExtendedInteger(const integerPart *parts,
2311 APInt api = APInt(width, makeArrayRef(parts, partCount));
2314 if (isSigned && APInt::tcExtractBit(parts, width - 1)) {
2407 unsigned int parts, pow5PartCount;
2415 parts = partCountForBits(semantics->precision + 11);
2420 for (;; parts *= 2) {
2424 calcSemantics.precision = parts * integerPartWidth - 1;
3849 integerPart *Parts = significandParts();
3850 APInt::tcDecrement(Parts, partCount());
3856 APInt::tcSetBit(Parts, semantics->precision - 1);
3871 integerPart *Parts = significandParts();
3872 APInt::tcSet(Parts, 0, partCount());
3873 APInt::tcSetBit(Parts, semantics->precision - 1);