Home | History | Annotate | Download | only in Support

Lines Matching full: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;
705 const integerPart *Parts = significandParts();
708 if (~Parts[i])
718 if (~(Parts[PartCount - 1] | HighBitFill))
727 const integerPart *Parts = significandParts();
731 if (Parts[i])
740 if (Parts[PartCount - 1] & HighBitMask)
841 return significand.parts;
869 integerPart *parts;
871 parts = significandParts();
876 return APInt::tcAdd(parts, rhs.significandParts(), 0, partCount());
884 integerPart *parts;
886 parts = significandParts();
891 return APInt::tcSubtract(parts, rhs.significandParts(), borrow,
966 significand.parts = fullSignificand;
1704 int parts = partCount();
1705 integerPart *x = new integerPart[parts];
1707 fs = V.convertToInteger(x, parts * integerPartWidth, true,
1712 fs = V.convertFromZeroExtendedInteger(x, parts * integerPartWidth, true,
1744 int parts = partCount();
1745 integerPart *x = new integerPart[parts];
1747 fs = V.convertToInteger(x, parts * integerPartWidth, true,
1752 fs = V.convertFromZeroExtendedInteger(x, parts * integerPartWidth, true,
1992 significand.parts = newParts;
2037 destination parts are unspecified. If the rounded value is in
2045 APFloat::convertToSignExtendedInteger(integerPart *parts, unsigned int width,
2063 APInt::tcSet(parts, 0, dstPartsCount);
2075 APInt::tcSet(parts, 0, dstPartsCount);
2091 APInt::tcExtract(parts, dstPartsCount, src, bits, truncatedBits);
2094 APInt::tcExtract(parts, dstPartsCount, src, semantics->precision, 0);
2095 APInt::tcShiftLeft(parts, dstPartsCount, bits - semantics->precision);
2107 if (APInt::tcIncrement(parts, dstPartsCount))
2115 unsigned int omsb = APInt::tcMSB(parts, dstPartsCount) + 1;
2126 if (omsb == width && APInt::tcLSB(parts, dstPartsCount) + 1 != omsb)
2134 APInt::tcNegate (parts, dstPartsCount);
2157 APFloat::convertToInteger(integerPart *parts, unsigned int width,
2163 fs = convertToSignExtendedInteger(parts, width, isSigned, rounding_mode,
2178 APInt::tcSetLeastSignificantBits(parts, dstPartsCount, bits);
2180 APInt::tcShiftLeft(parts, dstPartsCount, width - 1);
2195 SmallVector<uint64_t, 4> parts(result.getNumWords());
2197 parts.data(), bitWidth, result.isSigned(), rounding_mode, isExact);
2199 result = APInt(bitWidth, parts);
2286 APFloat::convertFromZeroExtendedInteger(const integerPart *parts,
2291 APInt api = APInt(width, makeArrayRef(parts, partCount));
2294 if (isSigned && APInt::tcExtractBit(parts, width - 1)) {
2387 unsigned int parts, pow5PartCount;
2395 parts = partCountForBits(semantics->precision + 11);
2400 for (;; parts *= 2) {
2404 calcSemantics.precision = parts * integerPartWidth - 1;
3826 integerPart *Parts = significandParts();
3827 APInt::tcDecrement(Parts, partCount());
3833 APInt::tcSetBit(Parts, semantics->precision - 1);
3848 integerPart *Parts = significandParts();
3849 APInt::tcSet(Parts, 0, partCount());
3850 APInt::tcSetBit(Parts, semantics->precision - 1);