• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Support/

Lines Matching defs:parts

82      Therefore it has two 53-bit mantissa parts that aren't necessarily adjacent
188 /* A tight upper bound on number of parts required to hold the value
193 However, whilst the result may require only this many parts,
197 requires two parts to hold the single-part result). So we add an
485 lostFractionThroughTruncation(const APFloatBase::integerPart *parts,
491 lsb = APInt::tcLSB(parts, partCount);
499 APInt::tcExtractBit(parts, bits - 1))
507 shiftRight(APFloatBase::integerPart *dst, unsigned int parts, unsigned int bits)
511 lost_fraction = lostFractionThroughTruncation(dst, parts, bits);
513 APInt::tcShiftRight(dst, parts, bits);
555 ulpsFromBoundary(const APFloatBase::integerPart *parts, unsigned int bits,
566 part = parts[count] & (~(APFloatBase::integerPart) 0 >> (APFloatBase::integerPartWidth - partBits));
582 if (parts[count])
585 return parts[0];
588 if (~parts[count])
591 return -parts[0];
597 /* Place pow(5, power) in DST, and return the number of parts used.
642 /* Now result is in p1 with partsCount parts and p2 is scratch
726 significand.parts = new integerPart[count];
731 delete [] significand.parts;
958 return significand.parts;
980 integerPart *parts;
982 parts = significandParts();
987 return APInt::tcAdd(parts, rhs.significandParts(), 0, partCount());
994 integerPart *parts;
996 parts = significandParts();
1001 return APInt::tcSubtract(parts, rhs.significandParts(), borrow,
1079 significand.parts = fullSignificand;
2216 significand.parts = newParts;
2276 destination parts are unspecified. If the rounded value is in
2284 MutableArrayRef<integerPart> parts, unsigned int width, bool isSigned,
2297 assert(dstPartsCount <= parts.size() && "Integer too big");
2300 APInt::tcSet(parts.data(), 0, dstPartsCount);
2312 APInt::tcSet(parts.data(), 0, dstPartsCount);
2328 APInt::tcExtract(parts.data(), dstPartsCount, src, bits, truncatedBits);
2331 APInt::tcExtract(parts.data(), dstPartsCount, src, semantics->precision,
2333 APInt::tcShiftLeft(parts.data(), dstPartsCount,
2346 if (APInt::tcIncrement(parts.data(), dstPartsCount))
2354 unsigned int omsb = APInt::tcMSB(parts.data(), dstPartsCount) + 1;
2366 APInt::tcLSB(parts.data(), dstPartsCount) + 1 != omsb)
2374 APInt::tcNegate (parts.data(), dstPartsCount);
2397 IEEEFloat::convertToInteger(MutableArrayRef<integerPart> parts,
2402 fs = convertToSignExtendedInteger(parts, width, isSigned, rounding_mode,
2409 assert(dstPartsCount <= parts.size() && "Integer too big");
2418 APInt::tcSetLeastSignificantBits(parts.data(), dstPartsCount, bits);
2420 APInt::tcShiftLeft(parts.data(), dstPartsCount, width - 1);
2501 IEEEFloat::convertFromZeroExtendedInteger(const integerPart *parts,
2505 APInt api = APInt(width, makeArrayRef(parts, partCount));
2508 if (isSigned && APInt::tcExtractBit(parts, width - 1)) {
2614 unsigned int parts, pow5PartCount;
2622 parts = partCountForBits(semantics->precision + 11);
2627 for (;; parts *= 2) {
2631 calcSemantics.precision = parts * integerPartWidth - 1;
4879 SmallVector<uint64_t, 4> parts(result.getNumWords());
4880 opStatus status = convertToInteger(parts, bitWidth, result.isSigned(),
4883 result = APInt(bitWidth, parts);