Lines Matching defs:zSig

77 float64 packFloat64(flag zSign, int16 zExp, bits64 zSig);
79 float32 packFloat32(flag zSign, int16 zExp, bits32 zSig);
99 bits64 zSig);
102 static float32 roundAndPackFloat32(flag zSign, int16 zExp, bits32 zSig);
104 bits32 zSig);
105 static float64 roundAndPackFloat64(flag zSign, int16 zExp, bits64 zSig);
144 float64 packFloat64(flag zSign, int16 zExp, bits64 zSig)
146 return (((bits64) zSign) << 63) + (((bits64) zExp) << 52) + zSig;
214 static float64 normalizeRoundAndPackFloat64(flag zSign, int16 zExp, bits64 zSig)
218 shiftCount = countLeadingZeros64(zSig) - 1;
220 zSig << shiftCount);
227 bits64 aSig, bSig, zSig;
262 zSig = bSig - aSig;
278 zSig = aSig - bSig;
282 return normalizeRoundAndPackFloat64(zSign, zExp, zSig);
288 bits64 aSig, bSig, zSig;
326 zSig = LIT64(0x4000000000000000) + aSig + bSig;
331 zSig = (aSig + bSig) << 1;
333 if ((sbits64) zSig < 0) {
334 zSig = aSig + bSig;
338 return roundAndPackFloat64(zSign, zExp, zSig);
342 float32 packFloat32(flag zSign, int16 zExp, bits32 zSig)
344 return (((bits32) zSign) << 31) + (((bits32) zExp) << 23) + zSig;
360 static float32 roundAndPackFloat32(flag zSign, int16 zExp, bits32 zSig)
372 roundBits = zSig & 0x7F;
376 && ((sbits32) (zSig + roundIncrement) < 0))
384 || (zSig + roundIncrement < 0x80000000);
385 shift32RightJamming(zSig, -zExp, &zSig);
387 roundBits = zSig & 0x7F;
394 zSig = (zSig + roundIncrement) >> 7;
395 zSig &= ~(((roundBits ^ 0x40) == 0) & roundNearestEven);
396 if (zSig == 0)
398 return packFloat32(zSign, zExp, zSig);
402 static float32 normalizeRoundAndPackFloat32(flag zSign, int16 zExp, bits32 zSig)
406 shiftCount = countLeadingZeros32(zSig) - 1;
408 zSig << shiftCount);
411 static float64 roundAndPackFloat64(flag zSign, int16 zExp, bits64 zSig)
423 roundBits = zSig & 0x3FF;
427 && ((sbits64) (zSig + roundIncrement) < 0))
435 || (zSig + roundIncrement <
437 shift64RightJamming(zSig, -zExp, &zSig);
439 roundBits = zSig & 0x3FF;
446 zSig = (zSig + roundIncrement) >> 10;
447 zSig &= ~(((roundBits ^ 0x200) == 0) & roundNearestEven);
448 if (zSig == 0)
450 return packFloat64(zSign, zExp, zSig);
457 bits32 aSig, bSig, zSig;
492 zSig = bSig - aSig;
508 zSig = aSig - bSig;
512 return normalizeRoundAndPackFloat32(zSign, zExp, zSig);
519 bits32 aSig, bSig, zSig;
557 zSig = 0x40000000 + aSig + bSig;
562 zSig = (aSig + bSig) << 1;
564 if ((sbits32) zSig < 0) {
565 zSig = aSig + bSig;
569 return roundAndPackFloat32(zSign, zExp, zSig);
720 bits64 aSig, bSig, zSig;
760 zSig = estimateDiv128To64(aSig, 0, bSig);
761 if ((zSig & 0x1FF) <= 2) {
762 mul64To128(bSig, zSig, &term0, &term1);
765 --zSig;
768 zSig |= (rem1 != 0);
770 return roundAndPackFloat64(zSign, zExp, zSig);
779 uint64_t zSig;
814 zSig = (((bits64) aSig) << 32);
815 do_div(zSig, bSig);
817 if ((zSig & 0x3F) == 0) {
818 zSig |= (((bits64) bSig) * zSig != ((bits64) aSig) << 32);
820 return roundAndPackFloat32(zSign, zExp, (bits32)zSig);
830 unsigned int zSig;
856 zSig = zSig64;
857 if (0 <= (signed int)(zSig << 1)) {
858 zSig <<= 1;
861 return roundAndPackFloat32(zSign, zExp, zSig);
917 bits32 zSig;
924 zSig = aSig;
925 if ( aExp || zSig ) {
926 zSig |= 0x40000000;
929 return roundAndPackFloat32(aSign, aExp, zSig);