Home | History | Annotate | Download | only in bits64

Lines Matching refs:zSig0

638 and extended significand formed by the concatenation of `zSig0' and `zSig1',
662 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1
683 zSig0 |= ( zSig1 != 0 );
698 roundBits = zSig0 & roundMask;
701 || ( ( zExp == 0x7FFE ) && ( zSig0 + roundIncrement < zSig0 ) )
709 || ( zSig0 <= zSig0 + roundIncrement );
710 shift64RightJamming( zSig0, 1 - zExp, &zSig0 );
712 roundBits = zSig0 & roundMask;
715 zSig0 += roundIncrement;
716 if ( (sbits64) zSig0 < 0 ) zExp = 1;
721 zSig0 &= ~ roundMask;
722 return packFloatx80( zSign, zExp, zSig0 );
726 zSig0 += roundIncrement;
727 if ( zSig0 < roundIncrement ) {
729 zSig0 = LIT64( 0x8000000000000000 );
735 zSig0 &= ~ roundMask;
736 if ( zSig0 == 0 ) zExp = 0;
737 return packFloatx80( zSign, zExp, zSig0 );
756 && ( zSig0 == LIT64( 0xFFFFFFFFFFFFFFFF ) )
776 || ( zSig0 < LIT64( 0xFFFFFFFFFFFFFFFF ) );
777 shift64ExtraRightJamming( zSig0, zSig1, 1 - zExp, &zSig0, &zSig1 );
793 ++zSig0;
794 zSig0 &=
796 if ( (sbits64) zSig0 < 0 ) zExp = 1;
798 return packFloatx80( zSign, zExp, zSig0 );
803 ++zSig0;
804 if ( zSig0 == 0 ) {
806 zSig0 = LIT64( 0x8000000000000000 );
809 zSig0 &= ~ ( ( (bits64) ( zSig1<<1 ) == 0 ) & roundNearestEven );
813 if ( zSig0 == 0 ) zExp = 0;
815 return packFloatx80( zSign, zExp, zSig0 );
822 `zExp', and significand formed by the concatenation of `zSig0' and `zSig1',
831 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1
836 if ( zSig0 == 0 ) {
837 zSig0 = zSig1;
841 shiftCount = countLeadingZeros64( zSig0 );
842 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 );
845 roundAndPackFloatx80( roundingPrecision, zSign, zExp, zSig0, zSig1 );
949 by the concatenation of `zSig0' and `zSig1' into a quadruple-precision
951 proper positions, the three fields `zSign', `zExp', and `zSig0' are simply
953 means that any integer portion of `zSig0' will be added into the exponent.
956 whenever `zSig0' and `zSig1' concatenated form a complete, normalized
961 packFloat128( flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 )
966 z.high = ( ( (bits64) zSign )<<63 ) + ( ( (bits64) zExp )<<48 ) + zSig0;
974 and extended significand formed by the concatenation of `zSig0', `zSig1',
995 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1, bits64 zSig2 )
1022 zSig0,
1049 zSig0,
1055 zSig0, zSig1, zSig2, - zExp, &zSig0, &zSig1, &zSig2 );
1073 add128( zSig0, zSig1, 0, 1, &zSig0, &zSig1 );
1077 if ( ( zSig0 | zSig1 ) == 0 ) zExp = 0;
1079 return packFloat128( zSign, zExp, zSig0, zSig1 );
1086 and significand formed by the concatenation of `zSig0' and `zSig1', and
1096 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 )
1101 if ( zSig0 == 0 ) {
1102 zSig0 = zSig1;
1106 shiftCount = countLeadingZeros64( zSig0 ) - 15;
1109 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 );
1113 zSig0, zSig1, 0, - shiftCount, &zSig0, &zSig1, &zSig2 );
1116 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 );
1236 bits64 zSig0;
1242 zSig0 = absA;
1243 return packFloat128( zSign, 0x402E - shiftCount, zSig0<<shiftCount, 0 );
1250 bits64 zSig0 = a;
1254 return packFloat128( 0, 0x402E - shiftCount, zSig0<<shiftCount, 0 );
1357 bits64 zSig0, zSig1;
1366 zSig0 = absA;
1371 zSig0 = 0;
1373 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 );
1374 return packFloat128( zSign, zExp, zSig0, zSig1 );
2584 bits64 aSig, zSig0, zSig1;
2598 shift128Right( aSig, 0, 4, &zSig0, &zSig1 );
2599 return packFloat128( aSign, aExp + 0x3C00, zSig0, zSig1 );
2873 bits64 aSig, bSig, zSig0, zSig1;
2911 mul64To128( aSig, bSig, &zSig0, &zSig1 );
2912 zSig0 |= ( zSig1 != 0 );
2913 if ( 0 <= (sbits64) ( zSig0<<1 ) ) {
2914 zSig0 <<= 1;
2917 return roundAndPackFloat64( zSign, zExp, zSig0 );
3563 bits64 aSig, zSig0, zSig1;
3571 shift128Right( aSig<<1, 0, 16, &zSig0, &zSig1 );
3572 return packFloat128( aSign, aExp, zSig0, zSig1 );
3668 bits64 aSig, bSig, zSig0, zSig1;
3702 zSig0 = aSig + bSig;
3704 normalizeFloatx80Subnormal( zSig0, &zExp, &zSig0 );
3710 zSig0 = aSig + bSig;
3711 if ( (sbits64) zSig0 < 0 ) goto roundAndPack;
3713 shift64ExtraRightJamming( zSig0, zSig1, 1, &zSig0, &zSig1 );
3714 zSig0 |= LIT64( 0x8000000000000000 );
3719 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 );
3735 bits64 aSig, bSig, zSig0, zSig1;
3771 sub128( bSig, 0, aSig, zSig1, &zSig0, &zSig1 );
3783 sub128( aSig, 0, bSig, zSig1, &zSig0, &zSig1 );
3788 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 );
3847 bits64 aSig, bSig, zSig0, zSig1;
3885 mul64To128( aSig, bSig, &zSig0, &zSig1 );
3886 if ( 0 < (sbits64) zSig0 ) {
3887 shortShift128Left( zSig0, zSig1, 1, &zSig0, &zSig1 );
3892 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 );
3907 bits64 aSig, bSig, zSig0, zSig1;
3954 zSig0 = estimateDiv128To64( aSig, rem1, bSig );
3955 mul64To128( bSig, zSig0, &term0, &term1 );
3958 --zSig0;
3973 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 );
4086 bits64 aSig0, aSig1, zSig0, zSig1, doubleZSig0;
4111 zSig0 = estimateSqrt32( aExp, aSig0>>32 );
4113 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
4114 doubleZSig0 = zSig0<<1;
4115 mul64To128( zSig0, zSig0, &term0, &term1 );
4118 --zSig0;
4120 add128( rem0, rem1, zSig0>>63, doubleZSig0 | 1, &rem0, &rem1 );
4138 shortShift128Left( 0, zSig1, 1, &zSig0, &zSig1 );
4139 zSig0 |= doubleZSig0;
4142 floatx80_rounding_precision, 0, zExp, zSig0, zSig1 );
4817 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
4864 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4865 if ( aExp == 0 ) return packFloat128( zSign, 0, zSig0, zSig1 );
4867 zSig0 |= LIT64( 0x0002000000000000 );
4872 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4874 if ( zSig0 < LIT64( 0x0002000000000000 ) ) goto roundAndPack;
4878 zSig0, zSig1, zSig2, 1, &zSig0, &zSig1, &zSig2 );
4880 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 );
4896 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1;
4943 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 );
4961 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4965 return normalizeRoundAndPackFloat128( zSign, zExp - 14, zSig0, zSig1 );
5024 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3;
5066 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 );
5067 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 );
5069 if ( LIT64( 0x0002000000000000 ) <= zSig0 ) {
5071 zSig0, zSig1, zSig2, 1, &zSig0, &zSig1, &zSig2 );
5074 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 );
5089 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
5141 zSig0 = estimateDiv128To64( aSig0, aSig1, bSig0 );
5142 mul128By64To192( bSig0, bSig1, zSig0, &term0, &term1, &term2 );
5145 --zSig0;
5158 shift128ExtraRightJamming( zSig0, zSig1, 0, 15, &zSig0, &zSig1, &zSig2 );
5159 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 );
5284 bits64 aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0;
5311 zSig0 = estimateSqrt32((int16)aExp, (bits32)(aSig0>>17));
5313 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
5314 doubleZSig0 = zSig0<<1;
5315 mul64To128( zSig0, zSig0, &term0, &term1 );
5318 --zSig0;
5320 add128( rem0, rem1, zSig0>>63, doubleZSig0 | 1, &rem0, &rem1 );
5338 shift128ExtraRightJamming( zSig0, zSig1, 0, 14, &zSig0, &zSig1, &zSig2 );
5339 return roundAndPackFloat128( 0, zExp, zSig0, zSig1, zSig2 );