Home | History | Annotate | Download | only in Support

Lines Matching refs:parts

81   /* A tight upper bound on number of parts required to hold the value
86 However, whilst the result may require only this many parts,
90 requires two parts to hold the single-part result). So we add an
344 lostFractionThroughTruncation(const integerPart *parts,
350 lsb = APInt::tcLSB(parts, partCount);
358 APInt::tcExtractBit(parts, bits - 1))
366 shiftRight(integerPart *dst, unsigned int parts, unsigned int bits)
370 lost_fraction = lostFractionThroughTruncation(dst, parts, bits);
372 APInt::tcShiftRight(dst, parts, bits);
414 ulpsFromBoundary(const integerPart *parts, unsigned int bits, bool isNearest)
425 part = parts[count] & (~(integerPart) 0 >> (integerPartWidth - partBits));
441 if (parts[count])
444 return parts[0];
447 if (~parts[count])
450 return -parts[0];
456 /* Place pow(5, power) in DST, and return the number of parts used.
503 /* Now result is in p1 with partsCount parts and p2 is scratch
588 significand.parts = new integerPart[count];
595 delete [] significand.parts;
724 const integerPart *Parts = significandParts();
727 if (~Parts[i])
737 if (~(Parts[PartCount - 1] | HighBitFill))
746 const integerPart *Parts = significandParts();
750 if (Parts[i])
759 if (Parts[PartCount - 1] & HighBitMask)
882 return significand.parts;
910 integerPart *parts;
912 parts = significandParts();
917 return APInt::tcAdd(parts, rhs.significandParts(), 0, partCount());
925 integerPart *parts;
927 parts = significandParts();
932 return APInt::tcSubtract(parts, rhs.significandParts(), borrow,
1011 significand.parts = fullSignificand;
1759 int parts = partCount();
1760 integerPart *x = new integerPart[parts];
1762 fs = V.convertToInteger(x, parts * integerPartWidth, true,
1767 fs = V.convertFromZeroExtendedInteger(x, parts * integerPartWidth, true,
1799 int parts = partCount();
1800 integerPart *x = new integerPart[parts];
1802 fs = V.convertToInteger(x, parts * integerPartWidth, true,
1807 fs = V.convertFromZeroExtendedInteger(x, parts * integerPartWidth, true,
2047 significand.parts = newParts;
2092 destination parts are unspecified. If the rounded value is in
2100 APFloat::convertToSignExtendedInteger(integerPart *parts, unsigned int width,
2118 APInt::tcSet(parts, 0, dstPartsCount);
2130 APInt::tcSet(parts, 0, dstPartsCount);
2146 APInt::tcExtract(parts, dstPartsCount, src, bits, truncatedBits);
2149 APInt::tcExtract(parts, dstPartsCount, src, semantics->precision, 0);
2150 APInt::tcShiftLeft(parts, dstPartsCount, bits - semantics->precision);
2162 if (APInt::tcIncrement(parts, dstPartsCount))
2170 unsigned int omsb = APInt::tcMSB(parts, dstPartsCount) + 1;
2181 if (omsb == width && APInt::tcLSB(parts, dstPartsCount) + 1 != omsb)
2189 APInt::tcNegate (parts, dstPartsCount);
2212 APFloat::convertToInteger(integerPart *parts, unsigned int width,
2218 fs = convertToSignExtendedInteger(parts, width, isSigned, rounding_mode,
2233 APInt::tcSetLeastSignificantBits(parts, dstPartsCount, bits);
2235 APInt::tcShiftLeft(parts, dstPartsCount, width - 1);
2250 SmallVector<uint64_t, 4> parts(result.getNumWords());
2252 parts.data(), bitWidth, result.isSigned(), rounding_mode, isExact);
2254 result = APInt(bitWidth, parts);
2341 APFloat::convertFromZeroExtendedInteger(const integerPart *parts,
2346 APInt api = APInt(width, makeArrayRef(parts, partCount));
2349 if (isSigned && APInt::tcExtractBit(parts, width - 1)) {
2442 unsigned int parts, pow5PartCount;
2450 parts = partCountForBits(semantics->precision + 11);
2455 for (;; parts *= 2) {
2459 calcSemantics.precision = parts * integerPartWidth - 1;
3890 integerPart *Parts = significandParts();
3891 APInt::tcDecrement(Parts, partCount());
3897 APInt::tcSetBit(Parts, semantics->precision - 1);
3912 integerPart *Parts = significandParts();
3913 APInt::tcSet(Parts, 0, partCount());
3914 APInt::tcSetBit(Parts, semantics->precision - 1);