Lines Matching refs:zSig0

574 | and extended significand formed by the concatenation of `zSig0' and `zSig1',
598 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1
619 zSig0 |= ( zSig1 != 0 );
634 roundBits = zSig0 & roundMask;
637 || ( ( zExp == 0x7FFE ) && ( zSig0 + roundIncrement < zSig0 ) )
646 || ( zSig0 <= zSig0 + roundIncrement );
647 shift64RightJamming( zSig0, 1 - zExp, &zSig0 );
649 roundBits = zSig0 & roundMask;
652 zSig0 += roundIncrement;
653 if ( (sbits64) zSig0 < 0 ) zExp = 1;
658 zSig0 &= ~ roundMask;
659 return packFloatx80( zSign, zExp, zSig0 );
663 zSig0 += roundIncrement;
664 if ( zSig0 < roundIncrement ) {
666 zSig0 = LIT64( 0x8000000000000000 );
672 zSig0 &= ~ roundMask;
673 if ( zSig0 == 0 ) zExp = 0;
674 return packFloatx80( zSign, zExp, zSig0 );
693 && ( zSig0 == LIT64( 0xFFFFFFFFFFFFFFFF ) )
713 || ( zSig0 < LIT64( 0xFFFFFFFFFFFFFFFF ) );
714 shift64ExtraRightJamming( zSig0, zSig1, 1 - zExp, &zSig0, &zSig1 );
730 ++zSig0;
731 zSig0 &=
733 if ( (sbits64) zSig0 < 0 ) zExp = 1;
735 return packFloatx80( zSign, zExp, zSig0 );
740 ++zSig0;
741 if ( zSig0 == 0 ) {
743 zSig0 = LIT64( 0x8000000000000000 );
746 zSig0 &= ~ ( ( (bits64) ( zSig1<<1 ) == 0 ) & roundNearestEven );
750 if ( zSig0 == 0 ) zExp = 0;
752 return packFloatx80( zSign, zExp, zSig0 );
758 | `zExp', and significand formed by the concatenation of `zSig0' and `zSig1',
767 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1
772 if ( zSig0 == 0 ) {
773 zSig0 = zSig1;
777 shiftCount = countLeadingZeros64( zSig0 );
778 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 );
781 roundAndPackFloatx80( roundingPrecision, zSign, zExp, zSig0, zSig1 STATUS_VAR);
879 | by the concatenation of `zSig0' and `zSig1' into a quadruple-precision
881 | proper positions, the three fields `zSign', `zExp', and `zSig0' are simply
883 | means that any integer portion of `zSig0' will be added into the exponent.
886 | whenever `zSig0' and `zSig1' concatenated form a complete, normalized
891 packFloat128( flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 )
896 z.high = ( ( (bits64) zSign )<<63 ) + ( ( (bits64) zExp )<<48 ) + zSig0;
903 | and extended significand formed by the concatenation of `zSig0', `zSig1',
924 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1, bits64 zSig2 STATUS_PARAM)
951 zSig0,
979 zSig0,
985 zSig0, zSig1, zSig2, - zExp, &zSig0, &zSig1, &zSig2 );
1003 add128( zSig0, zSig1, 0, 1, &zSig0, &zSig1 );
1007 if ( ( zSig0 | zSig1 ) == 0 ) zExp = 0;
1009 return packFloat128( zSign, zExp, zSig0, zSig1 );
1015 | and significand formed by the concatenation of `zSig0' and `zSig1', and
1025 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 STATUS_PARAM)
1030 if ( zSig0 == 0 ) {
1031 zSig0 = zSig1;
1035 shiftCount = countLeadingZeros64( zSig0 ) - 15;
1038 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 );
1042 zSig0, zSig1, 0, - shiftCount, &zSig0, &zSig1, &zSig2 );
1045 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 STATUS_VAR);
1130 bits64 zSig0;
1136 zSig0 = absA;
1137 return packFloat128( zSign, 0x402E - shiftCount, zSig0<<shiftCount, 0 );
1261 bits64 zSig0, zSig1;
1270 zSig0 = absA;
1275 zSig0 = 0;
1277 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 );
1278 return packFloat128( zSign, zExp, zSig0, zSig1 );
2723 bits64 aSig, zSig0, zSig1;
2737 shift128Right( aSig, 0, 4, &zSig0, &zSig1 );
2738 return packFloat128( aSign, aExp + 0x3C00, zSig0, zSig1 );
3017 bits64 aSig, bSig, zSig0, zSig1;
3055 mul64To128( aSig, bSig, &zSig0, &zSig1 );
3056 zSig0 |= ( zSig1 != 0 );
3057 if ( 0 <= (sbits64) ( zSig0<<1 ) ) {
3058 zSig0 <<= 1;
3061 return roundAndPackFloat64( zSign, zExp, zSig0 STATUS_VAR );
3701 bits64 aSig, zSig0, zSig1;
3709 shift128Right( aSig<<1, 0, 16, &zSig0, &zSig1 );
3710 return packFloat128( aSign, aExp, zSig0, zSig1 );
3800 bits64 aSig, bSig, zSig0, zSig1;
3834 zSig0 = aSig + bSig;
3836 normalizeFloatx80Subnormal( zSig0, &zExp, &zSig0 );
3842 zSig0 = aSig + bSig;
3843 if ( (sbits64) zSig0 < 0 ) goto roundAndPack;
3845 shift64ExtraRightJamming( zSig0, zSig1, 1, &zSig0, &zSig1 );
3846 zSig0 |= LIT64( 0x8000000000000000 );
3851 STATUS(floatx80_rounding_precision), zSign, zExp, zSig0, zSig1 STATUS_VAR );
3866 bits64 aSig, bSig, zSig0, zSig1;
3902 sub128( bSig, 0, aSig, zSig1, &zSig0, &zSig1 );
3914 sub128( aSig, 0, bSig, zSig1, &zSig0, &zSig1 );
3919 STATUS(floatx80_rounding_precision), zSign, zExp, zSig0, zSig1 STATUS_VAR );
3975 bits64 aSig, bSig, zSig0, zSig1;
4013 mul64To128( aSig, bSig, &zSig0, &zSig1 );
4014 if ( 0 < (sbits64) zSig0 ) {
4015 shortShift128Left( zSig0, zSig1, 1, &zSig0, &zSig1 );
4020 STATUS(floatx80_rounding_precision), zSign, zExp, zSig0, zSig1 STATUS_VAR );
4034 bits64 aSig, bSig, zSig0, zSig1;
4081 zSig0 = estimateDiv128To64( aSig, rem1, bSig );
4082 mul64To128( bSig, zSig0, &term0, &term1 );
4085 --zSig0;
4100 STATUS(floatx80_rounding_precision), zSign, zExp, zSig0, zSig1 STATUS_VAR );
4210 bits64 aSig0, aSig1, zSig0, zSig1, doubleZSig0;
4235 zSig0 = estimateSqrt32( aExp, aSig0>>32 );
4237 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
4238 doubleZSig0 = zSig0<<1;
4239 mul64To128( zSig0, zSig0, &term0, &term1 );
4242 --zSig0;
4244 add128( rem0, rem1, zSig0>>63, doubleZSig0 | 1, &rem0, &rem1 );
4262 shortShift128Left( 0, zSig1, 1, &zSig0, &zSig1 );
4263 zSig0 |= doubleZSig0;
4266 STATUS(floatx80_rounding_precision), 0, zExp, zSig0, zSig1 STATUS_VAR );
4871 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
4918 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4921 return packFloat128( zSign, 0, zSig0, zSig1 );
4924 zSig0 |= LIT64( 0x0002000000000000 );
4929 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4931 if ( zSig0 < LIT64( 0x0002000000000000 ) ) goto roundAndPack;
4935 zSig0, zSig1, zSig2, 1, &zSig0, &zSig1, &zSig2 );
4937 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 STATUS_VAR );
4952 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1;
4999 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 );
5017 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
5021 return normalizeRoundAndPackFloat128( zSign, zExp - 14, zSig0, zSig1 STATUS_VAR );
5077 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3;
5119 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 );
5120 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 );
5122 if ( LIT64( 0x0002000000000000 ) <= zSig0 ) {
5124 zSig0, zSig1, zSig2, 1, &zSig0, &zSig1, &zSig2 );
5127 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 STATUS_VAR );
5141 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
5193 zSig0 = estimateDiv128To64( aSig0, aSig1, bSig0 );
5194 mul128By64To192( bSig0, bSig1, zSig0, &term0, &term1, &term2 );
5197 --zSig0;
5210 shift128ExtraRightJamming( zSig0, zSig1, 0, 15, &zSig0, &zSig1, &zSig2 );
5211 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 STATUS_VAR );
5334 bits64 aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0;
5361 zSig0 = estimateSqrt32( aExp, aSig0>>17 );
5363 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
5364 doubleZSig0 = zSig0<<1;
5365 mul64To128( zSig0, zSig0, &term0, &term1 );
5368 --zSig0;
5370 add128( rem0, rem1, zSig0>>63, doubleZSig0 | 1, &rem0, &rem1 );
5388 shift128ExtraRightJamming( zSig0, zSig1, 0, 14, &zSig0, &zSig1, &zSig2 );
5389 return roundAndPackFloat128( 0, zExp, zSig0, zSig1, zSig2 STATUS_VAR );