Lines Matching refs:zSig0

627 and extended significand formed by the concatenation of `zSig0' and `zSig1',
651 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1
672 zSig0 |= ( zSig1 != 0 );
687 roundBits = zSig0 & roundMask;
690 || ( ( zExp == 0x7FFE ) && ( zSig0 + roundIncrement < zSig0 ) )
698 || ( zSig0 <= zSig0 + roundIncrement );
699 shift64RightJamming( zSig0, 1 - zExp, &zSig0 );
701 roundBits = zSig0 & roundMask;
704 zSig0 += roundIncrement;
705 if ( (sbits64) zSig0 < 0 ) zExp = 1;
710 zSig0 &= ~ roundMask;
711 return packFloatx80( zSign, zExp, zSig0 );
715 zSig0 += roundIncrement;
716 if ( zSig0 < roundIncrement ) {
718 zSig0 = LIT64( 0x8000000000000000 );
724 zSig0 &= ~ roundMask;
725 if ( zSig0 == 0 ) zExp = 0;
726 return packFloatx80( zSign, zExp, zSig0 );
745 && ( zSig0 == LIT64( 0xFFFFFFFFFFFFFFFF ) )
765 || ( zSig0 < LIT64( 0xFFFFFFFFFFFFFFFF ) );
766 shift64ExtraRightJamming( zSig0, zSig1, 1 - zExp, &zSig0, &zSig1 );
782 ++zSig0;
783 zSig0 &=
785 if ( (sbits64) zSig0 < 0 ) zExp = 1;
787 return packFloatx80( zSign, zExp, zSig0 );
792 ++zSig0;
793 if ( zSig0 == 0 ) {
795 zSig0 = LIT64( 0x8000000000000000 );
798 zSig0 &= ~ ( ( (bits64) ( zSig1<<1 ) == 0 ) & roundNearestEven );
802 if ( zSig0 == 0 ) zExp = 0;
804 return packFloatx80( zSign, zExp, zSig0 );
811 `zExp', and significand formed by the concatenation of `zSig0' and `zSig1',
820 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1
825 if ( zSig0 == 0 ) {
826 zSig0 = zSig1;
830 shiftCount = countLeadingZeros64( zSig0 );
831 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 );
834 roundAndPackFloatx80( roundingPrecision, zSign, zExp, zSig0, zSig1 );
938 by the concatenation of `zSig0' and `zSig1' into a quadruple-precision
940 proper positions, the three fields `zSign', `zExp', and `zSig0' are simply
942 means that any integer portion of `zSig0' will be added into the exponent.
945 whenever `zSig0' and `zSig1' concatenated form a complete, normalized
950 packFloat128( flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 )
955 z.high = ( ( (bits64) zSign )<<63 ) + ( ( (bits64) zExp )<<48 ) + zSig0;
963 and extended significand formed by the concatenation of `zSig0', `zSig1',
984 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1, bits64 zSig2 )
1011 zSig0,
1038 zSig0,
1044 zSig0, zSig1, zSig2, - zExp, &zSig0, &zSig1, &zSig2 );
1062 add128( zSig0, zSig1, 0, 1, &zSig0, &zSig1 );
1066 if ( ( zSig0 | zSig1 ) == 0 ) zExp = 0;
1068 return packFloat128( zSign, zExp, zSig0, zSig1 );
1075 and significand formed by the concatenation of `zSig0' and `zSig1', and
1085 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 )
1090 if ( zSig0 == 0 ) {
1091 zSig0 = zSig1;
1095 shiftCount = countLeadingZeros64( zSig0 ) - 15;
1098 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 );
1102 zSig0, zSig1, 0, - shiftCount, &zSig0, &zSig1, &zSig2 );
1105 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 );
1229 bits64 zSig0;
1235 zSig0 = absA;
1236 return packFloat128( zSign, 0x402E - shiftCount, zSig0<<shiftCount, 0 );
1243 bits64 zSig0 = a;
1247 return packFloat128( 0, 0x402E - shiftCount, zSig0<<shiftCount, 0 );
1350 bits64 zSig0, zSig1;
1359 zSig0 = absA;
1364 zSig0 = 0;
1366 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 );
1367 return packFloat128( zSign, zExp, zSig0, zSig1 );
2577 bits64 aSig, zSig0, zSig1;
2591 shift128Right( aSig, 0, 4, &zSig0, &zSig1 );
2592 return packFloat128( aSign, aExp + 0x3C00, zSig0, zSig1 );
2866 bits64 aSig, bSig, zSig0, zSig1;
2904 mul64To128( aSig, bSig, &zSig0, &zSig1 );
2905 zSig0 |= ( zSig1 != 0 );
2906 if ( 0 <= (sbits64) ( zSig0<<1 ) ) {
2907 zSig0 <<= 1;
2910 return roundAndPackFloat64( zSign, zExp, zSig0 );
3516 bits64 aSig, zSig0, zSig1;
3524 shift128Right( aSig<<1, 0, 16, &zSig0, &zSig1 );
3525 return packFloat128( aSign, aExp, zSig0, zSig1 );
3619 bits64 aSig, bSig, zSig0, zSig1;
3653 zSig0 = aSig + bSig;
3655 normalizeFloatx80Subnormal( zSig0, &zExp, &zSig0 );
3661 zSig0 = aSig + bSig;
3662 if ( (sbits64) zSig0 < 0 ) goto roundAndPack;
3664 shift64ExtraRightJamming( zSig0, zSig1, 1, &zSig0, &zSig1 );
3665 zSig0 |= LIT64( 0x8000000000000000 );
3670 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 );
3686 bits64 aSig, bSig, zSig0, zSig1;
3722 sub128( bSig, 0, aSig, zSig1, &zSig0, &zSig1 );
3734 sub128( aSig, 0, bSig, zSig1, &zSig0, &zSig1 );
3739 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 );
3798 bits64 aSig, bSig, zSig0, zSig1;
3836 mul64To128( aSig, bSig, &zSig0, &zSig1 );
3837 if ( 0 < (sbits64) zSig0 ) {
3838 shortShift128Left( zSig0, zSig1, 1, &zSig0, &zSig1 );
3843 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 );
3858 bits64 aSig, bSig, zSig0, zSig1;
3905 zSig0 = estimateDiv128To64( aSig, rem1, bSig );
3906 mul64To128( bSig, zSig0, &term0, &term1 );
3909 --zSig0;
3924 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 );
4037 bits64 aSig0, aSig1, zSig0, zSig1, doubleZSig0;
4062 zSig0 = estimateSqrt32( aExp, aSig0>>32 );
4064 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
4065 doubleZSig0 = zSig0<<1;
4066 mul64To128( zSig0, zSig0, &term0, &term1 );
4069 --zSig0;
4071 add128( rem0, rem1, zSig0>>63, doubleZSig0 | 1, &rem0, &rem1 );
4089 shortShift128Left( 0, zSig1, 1, &zSig0, &zSig1 );
4090 zSig0 |= doubleZSig0;
4093 floatx80_rounding_precision, 0, zExp, zSig0, zSig1 );
4768 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
4815 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4816 if ( aExp == 0 ) return packFloat128( zSign, 0, zSig0, zSig1 );
4818 zSig0 |= LIT64( 0x0002000000000000 );
4823 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4825 if ( zSig0 < LIT64( 0x0002000000000000 ) ) goto roundAndPack;
4829 zSig0, zSig1, zSig2, 1, &zSig0, &zSig1, &zSig2 );
4831 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 );
4847 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1;
4894 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 );
4912 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4916 return normalizeRoundAndPackFloat128( zSign, zExp - 14, zSig0, zSig1 );
4975 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3;
5017 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 );
5018 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 );
5020 if ( LIT64( 0x0002000000000000 ) <= zSig0 ) {
5022 zSig0, zSig1, zSig2, 1, &zSig0, &zSig1, &zSig2 );
5025 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 );
5040 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
5092 zSig0 = estimateDiv128To64( aSig0, aSig1, bSig0 );
5093 mul128By64To192( bSig0, bSig1, zSig0, &term0, &term1, &term2 );
5096 --zSig0;
5109 shift128ExtraRightJamming( zSig0, zSig1, 0, 15, &zSig0, &zSig1, &zSig2 );
5110 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 );
5236 bits64 aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0;
5263 zSig0 = estimateSqrt32( aExp, aSig0>>17 );
5265 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
5266 doubleZSig0 = zSig0<<1;
5267 mul64To128( zSig0, zSig0, &term0, &term1 );
5270 --zSig0;
5272 add128( rem0, rem1, zSig0>>63, doubleZSig0 | 1, &rem0, &rem1 );
5290 shift128ExtraRightJamming( zSig0, zSig1, 0, 14, &zSig0, &zSig1, &zSig2 );
5291 return roundAndPackFloat128( 0, zExp, zSig0, zSig1, zSig2 );