Lines Matching defs:zSig0
625 | and extended significand formed by the concatenation of `zSig0' and `zSig1',
649 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1
670 zSig0 |= ( zSig1 != 0 );
685 roundBits = zSig0 & roundMask;
688 || ( ( zExp == 0x7FFE ) && ( zSig0 + roundIncrement < zSig0 ) )
696 || ( zSig0 <= zSig0 + roundIncrement );
697 shift64RightJamming( zSig0, 1 - zExp, &zSig0 );
699 roundBits = zSig0 & roundMask;
702 zSig0 += roundIncrement;
703 if ( (sbits64) zSig0 < 0 ) zExp = 1;
708 zSig0 &= ~ roundMask;
709 return packFloatx80( zSign, zExp, zSig0 );
713 zSig0 += roundIncrement;
714 if ( zSig0 < roundIncrement ) {
716 zSig0 = LIT64( 0x8000000000000000 );
722 zSig0 &= ~ roundMask;
723 if ( zSig0 == 0 ) zExp = 0;
724 return packFloatx80( zSign, zExp, zSig0 );
743 && ( zSig0 == LIT64( 0xFFFFFFFFFFFFFFFF ) )
763 || ( zSig0 < LIT64( 0xFFFFFFFFFFFFFFFF ) );
764 shift64ExtraRightJamming( zSig0, zSig1, 1 - zExp, &zSig0, &zSig1 );
780 ++zSig0;
781 zSig0 &=
783 if ( (sbits64) zSig0 < 0 ) zExp = 1;
785 return packFloatx80( zSign, zExp, zSig0 );
790 ++zSig0;
791 if ( zSig0 == 0 ) {
793 zSig0 = LIT64( 0x8000000000000000 );
796 zSig0 &= ~ ( ( (bits64) ( zSig1<<1 ) == 0 ) & roundNearestEven );
800 if ( zSig0 == 0 ) zExp = 0;
802 return packFloatx80( zSign, zExp, zSig0 );
808 | `zExp', and significand formed by the concatenation of `zSig0' and `zSig1',
817 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1
822 if ( zSig0 == 0 ) {
823 zSig0 = zSig1;
827 shiftCount = countLeadingZeros64( zSig0 );
828 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 );
831 roundAndPackFloatx80( roundingPrecision, zSign, zExp, zSig0, zSig1 );
929 | by the concatenation of `zSig0' and `zSig1' into a quadruple-precision
931 | proper positions, the three fields `zSign', `zExp', and `zSig0' are simply
933 | means that any integer portion of `zSig0' will be added into the exponent.
936 | whenever `zSig0' and `zSig1' concatenated form a complete, normalized
941 packFloat128( flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 )
946 z.high = ( ( (bits64) zSign )<<63 ) + ( ( (bits64) zExp )<<48 ) + zSig0;
953 | and extended significand formed by the concatenation of `zSig0', `zSig1',
974 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1, bits64 zSig2 )
1001 zSig0,
1028 zSig0,
1034 zSig0, zSig1, zSig2, - zExp, &zSig0, &zSig1, &zSig2 );
1052 add128( zSig0, zSig1, 0, 1, &zSig0, &zSig1 );
1056 if ( ( zSig0 | zSig1 ) == 0 ) zExp = 0;
1058 return packFloat128( zSign, zExp, zSig0, zSig1 );
1064 | and significand formed by the concatenation of `zSig0' and `zSig1', and
1074 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 )
1079 if ( zSig0 == 0 ) {
1080 zSig0 = zSig1;
1084 shiftCount = countLeadingZeros64( zSig0 ) - 15;
1087 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 );
1091 zSig0, zSig1, 0, - shiftCount, &zSig0, &zSig1, &zSig2 );
1094 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 );
1179 bits64 zSig0;
1185 zSig0 = absA;
1186 return packFloat128( zSign, 0x402E - shiftCount, zSig0<<shiftCount, 0 );
1283 bits64 zSig0, zSig1;
1292 zSig0 = absA;
1297 zSig0 = 0;
1299 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 );
1300 return packFloat128( zSign, zExp, zSig0, zSig1 );
2519 bits64 aSig, zSig0, zSig1;
2533 shift128Right( aSig, 0, 4, &zSig0, &zSig1 );
2534 return packFloat128( aSign, aExp + 0x3C00, zSig0, zSig1 );
2800 bits64 aSig, bSig, zSig0, zSig1;
2838 mul64To128( aSig, bSig, &zSig0, &zSig1 );
2839 zSig0 |= ( zSig1 != 0 );
2840 if ( 0 <= (sbits64) ( zSig0<<1 ) ) {
2841 zSig0 <<= 1;
2844 return roundAndPackFloat64( zSign, zExp, zSig0 );
3425 bits64 aSig, zSig0, zSig1;
3433 shift128Right( aSig<<1, 0, 16, &zSig0, &zSig1 );
3434 return packFloat128( aSign, aExp, zSig0, zSig1 );
3524 bits64 aSig, bSig, zSig0, zSig1;
3558 zSig0 = aSig + bSig;
3560 normalizeFloatx80Subnormal( zSig0, &zExp, &zSig0 );
3566 zSig0 = aSig + bSig;
3567 if ( (sbits64) zSig0 < 0 ) goto roundAndPack;
3569 shift64ExtraRightJamming( zSig0, zSig1, 1, &zSig0, &zSig1 );
3570 zSig0 |= LIT64( 0x8000000000000000 );
3575 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 );
3590 bits64 aSig, bSig, zSig0, zSig1;
3626 sub128( bSig, 0, aSig, zSig1, &zSig0, &zSig1 );
3638 sub128( aSig, 0, bSig, zSig1, &zSig0, &zSig1 );
3643 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 );
3699 bits64 aSig, bSig, zSig0, zSig1;
3737 mul64To128( aSig, bSig, &zSig0, &zSig1 );
3738 if ( 0 < (sbits64) zSig0 ) {
3739 shortShift128Left( zSig0, zSig1, 1, &zSig0, &zSig1 );
3744 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 );
3758 bits64 aSig, bSig, zSig0, zSig1;
3805 zSig0 = estimateDiv128To64( aSig, rem1, bSig );
3806 mul64To128( bSig, zSig0, &term0, &term1 );
3809 --zSig0;
3824 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 );
3935 bits64 aSig0, aSig1, zSig0, zSig1, doubleZSig0;
3960 zSig0 = estimateSqrt32( aExp, aSig0>>32 );
3962 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
3963 doubleZSig0 = zSig0<<1;
3964 mul64To128( zSig0, zSig0, &term0, &term1 );
3967 --zSig0;
3969 add128( rem0, rem1, zSig0>>63, doubleZSig0 | 1, &rem0, &rem1 );
3987 shortShift128Left( 0, zSig1, 1, &zSig0, &zSig1 );
3988 zSig0 |= doubleZSig0;
3991 floatx80_rounding_precision, 0, zExp, zSig0, zSig1 );
4596 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
4643 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4644 if ( aExp == 0 ) return packFloat128( zSign, 0, zSig0, zSig1 );
4646 zSig0 |= LIT64( 0x0002000000000000 );
4651 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4653 if ( zSig0 < LIT64( 0x0002000000000000 ) ) goto roundAndPack;
4657 zSig0, zSig1, zSig2, 1, &zSig0, &zSig1, &zSig2 );
4659 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 );
4674 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1;
4721 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 );
4739 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4743 return normalizeRoundAndPackFloat128( zSign, zExp - 14, zSig0, zSig1 );
4799 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3;
4841 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 );
4842 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 );
4844 if ( LIT64( 0x0002000000000000 ) <= zSig0 ) {
4846 zSig0, zSig1, zSig2, 1, &zSig0, &zSig1, &zSig2 );
4849 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 );
4863 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
4915 zSig0 = estimateDiv128To64( aSig0, aSig1, bSig0 );
4916 mul128By64To192( bSig0, bSig1, zSig0, &term0, &term1, &term2 );
4919 --zSig0;
4932 shift128ExtraRightJamming( zSig0, zSig1, 0, 15, &zSig0, &zSig1, &zSig2 );
4933 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 );
5057 bits64 aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0;
5084 zSig0 = estimateSqrt32( aExp, aSig0>>17 );
5086 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
5087 doubleZSig0 = zSig0<<1;
5088 mul64To128( zSig0, zSig0, &term0, &term1 );
5091 --zSig0;
5093 add128( rem0, rem1, zSig0>>63, doubleZSig0 | 1, &rem0, &rem1 );
5111 shift128ExtraRightJamming( zSig0, zSig1, 0, 14, &zSig0, &zSig1, &zSig2 );
5112 return roundAndPackFloat128( 0, zExp, zSig0, zSig1, zSig2 );