Home | History | Annotate | Download | only in bits64

Lines Matching defs:bSig

1716     bits32 aSig, bSig, zSig;
1721 bSig = extractFloat32Frac( b );
1725 bSig <<= 6;
1735 bSig |= 0x20000000;
1737 shift32RightJamming( bSig, expDiff, &bSig );
1742 if ( bSig ) return propagateFloat32NaN( a, b );
1756 if ( aSig | bSig ) return propagateFloat32NaN( a, b );
1759 if ( aExp == 0 ) return packFloat32( zSign, 0, ( aSig + bSig )>>6 );
1760 zSig = 0x40000000 + aSig + bSig;
1765 zSig = ( aSig + bSig )<<1;
1768 zSig = aSig + bSig;
1788 bits32 aSig, bSig, zSig;
1793 bSig = extractFloat32Frac( b );
1797 bSig <<= 7;
1801 if ( aSig | bSig ) return propagateFloat32NaN( a, b );
1809 if ( bSig < aSig ) goto aBigger;
1810 if ( aSig < bSig ) goto bBigger;
1814 if ( bSig ) return propagateFloat32NaN( a, b );
1824 bSig |= 0x40000000;
1826 zSig = bSig - aSig;
1839 bSig |= 0x40000000;
1841 shift32RightJamming( bSig, expDiff, &bSig );
1844 zSig = aSig - bSig;
1907 bits32 aSig, bSig;
1914 bSig = extractFloat32Frac( b );
1919 if ( aSig || ( ( bExp == 0xFF ) && bSig ) ) {
1922 if ( ( bExp | bSig ) == 0 ) {
1929 if ( bSig ) return propagateFloat32NaN( a, b );
1941 if ( bSig == 0 ) return packFloat32( zSign, 0, 0 );
1942 normalizeFloat32Subnormal( bSig, &bExp, &bSig );
1946 bSig = ( bSig | 0x00800000 )<<8;
1947 shift64RightJamming( ( (bits64) aSig ) * bSig, 32, &zSig64 );
1968 bits32 aSig, bSig, zSig;
1973 bSig = extractFloat32Frac( b );
1980 if ( bSig ) return propagateFloat32NaN( a, b );
1987 if ( bSig ) return propagateFloat32NaN( a, b );
1991 if ( bSig == 0 ) {
1999 normalizeFloat32Subnormal( bSig, &bExp, &bSig );
2007 bSig = ( bSig | 0x00800000 )<<8;
2008 if ( bSig <= ( aSig + aSig ) ) {
2012 zSig = (bits32)((((bits64) aSig) << 32) / bSig);
2014 zSig |= ( (bits64) bSig * zSig != ( (bits64) aSig )<<32 );
2032 bits32 aSig, bSig;
2041 bSig = extractFloat32Frac( b );
2045 if ( aSig || ( ( bExp == 0xFF ) && bSig ) ) {
2052 if ( bSig ) return propagateFloat32NaN( a, b );
2056 if ( bSig == 0 ) {
2060 normalizeFloat32Subnormal( bSig, &bExp, &bSig );
2068 bSig |= 0x00800000;
2071 bSig <<= 8;
2076 q = ( bSig <= aSig );
2077 if ( q ) aSig -= bSig;
2079 q = ( ( (bits64) aSig )<<32 ) / bSig;
2081 bSig >>= 2;
2082 aSig = ( ( aSig>>1 )<<( expDiff - 1 ) ) - bSig * q;
2086 bSig >>= 2;
2090 if ( bSig <= aSig ) aSig -= bSig;
2092 bSig64 = ( (bits64) bSig )<<40;
2097 aSig64 = - ( ( bSig * q64 )<<38 );
2104 bSig <<= 6;
2105 aSig = ( ( aSig64>>33 )<<( expDiff - 1 ) ) - bSig * q;
2110 aSig -= bSig;
2682 bits64 aSig, bSig, zSig;
2687 bSig = extractFloat64Frac( b );
2691 bSig <<= 9;
2701 bSig |= LIT64( 0x2000000000000000 );
2703 shift64RightJamming( bSig, expDiff, &bSig );
2708 if ( bSig ) return propagateFloat64NaN( a, b );
2722 if ( aSig | bSig ) return propagateFloat64NaN( a, b );
2725 if ( aExp == 0 ) return packFloat64( zSign, 0, ( aSig + bSig )>>9 );
2726 zSig = LIT64( 0x4000000000000000 ) + aSig + bSig;
2731 zSig = ( aSig + bSig )<<1;
2734 zSig = aSig + bSig;
2754 bits64 aSig, bSig, zSig;
2759 bSig = extractFloat64Frac( b );
2763 bSig <<= 10;
2767 if ( aSig | bSig ) return propagateFloat64NaN( a, b );
2775 if ( bSig < aSig ) goto aBigger;
2776 if ( aSig < bSig ) goto bBigger;
2780 if ( bSig ) return propagateFloat64NaN( a, b );
2790 bSig |= LIT64( 0x4000000000000000 );
2792 zSig = bSig - aSig;
2805 bSig |= LIT64( 0x4000000000000000 );
2807 shift64RightJamming( bSig, expDiff, &bSig );
2810 zSig = aSig - bSig;
2873 bits64 aSig, bSig, zSig0, zSig1;
2878 bSig = extractFloat64Frac( b );
2883 if ( aSig || ( ( bExp == 0x7FF ) && bSig ) ) {
2886 if ( ( bExp | bSig ) == 0 ) {
2893 if ( bSig ) return propagateFloat64NaN( a, b );
2905 if ( bSig == 0 ) return packFloat64( zSign, 0, 0 );
2906 normalizeFloat64Subnormal( bSig, &bExp, &bSig );
2910 bSig = ( bSig | LIT64( 0x0010000000000000 ) )<<11;
2911 mul64To128( aSig, bSig, &zSig0, &zSig1 );
2932 bits64 aSig, bSig, zSig;
2939 bSig = extractFloat64Frac( b );
2946 if ( bSig ) return propagateFloat64NaN( a, b );
2953 if ( bSig ) return propagateFloat64NaN( a, b );
2957 if ( bSig == 0 ) {
2965 normalizeFloat64Subnormal( bSig, &bExp, &bSig );
2973 bSig = ( bSig | LIT64( 0x0010000000000000 ) )<<11;
2974 if ( bSig <= ( aSig + aSig ) ) {
2978 zSig = estimateDiv128To64( aSig, 0, bSig );
2980 mul64To128( bSig, zSig, &term0, &term1 );
2984 add128( rem0, rem1, 0, bSig, &rem0, &rem1 );
3004 bits64 aSig, bSig;
3011 bSig = extractFloat64Frac( b );
3015 if ( aSig || ( ( bExp == 0x7FF ) && bSig ) ) {
3022 if ( bSig ) return propagateFloat64NaN( a, b );
3026 if ( bSig == 0 ) {
3030 normalizeFloat64Subnormal( bSig, &bExp, &bSig );
3038 bSig = ( bSig | LIT64( 0x0010000000000000 ) )<<11;
3043 q = ( bSig <= aSig );
3044 if ( q ) aSig -= bSig;
3047 q = estimateDiv128To64( aSig, 0, bSig );
3049 aSig = - ( ( bSig>>2 ) * q );
3054 q = estimateDiv128To64( aSig, 0, bSig );
3057 bSig >>= 2;
3058 aSig = ( ( aSig>>1 )<<( expDiff - 1 ) ) - bSig * q;
3062 bSig >>= 2;
3067 aSig -= bSig;
3667 bits64 aSig, bSig, zSig0, zSig1;
3672 bSig = extractFloatx80Frac( b );
3681 shift64ExtraRightJamming( bSig, 0, expDiff, &bSig, &zSig1 );
3686 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b );
3695 if ( (bits64) ( ( aSig | bSig )<<1 ) ) {
3701 zSig0 = aSig + bSig;
3709 zSig0 = aSig + bSig;
3734 bits64 aSig, bSig, zSig0, zSig1;
3740 bSig = extractFloatx80Frac( b );
3746 if ( (bits64) ( ( aSig | bSig )<<1 ) ) {
3759 if ( bSig < aSig ) goto aBigger;
3760 if ( aSig < bSig ) goto bBigger;
3764 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b );
3770 sub128( bSig, 0, aSig, zSig1, &zSig0, &zSig1 );
3780 shift128RightJamming( bSig, 0, expDiff, &bSig, &zSig1 );
3782 sub128( aSig, 0, bSig, zSig1, &zSig0, &zSig1 );
3846 bits64 aSig, bSig, zSig0, zSig1;
3852 bSig = extractFloatx80Frac( b );
3858 || ( ( bExp == 0x7FFF ) && (bits64) ( bSig<<1 ) ) ) {
3861 if ( ( bExp | bSig ) == 0 ) goto invalid;
3865 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b );
3880 if ( bSig == 0 ) return packFloatx80( zSign, 0, 0 );
3881 normalizeFloatx80Subnormal( bSig, &bExp, &bSig );
3884 mul64To128( aSig, bSig, &zSig0, &zSig1 );
3906 bits64 aSig, bSig, zSig0, zSig1;
3913 bSig = extractFloatx80Frac( b );
3920 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b );
3926 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b );
3930 if ( bSig == 0 ) {
3941 normalizeFloatx80Subnormal( bSig, &bExp, &bSig );
3949 if ( bSig <= aSig ) {
3953 zSig0 = estimateDiv128To64( aSig, rem1, bSig );
3954 mul64To128( bSig, zSig0, &term0, &term1 );
3958 add128( rem0, rem1, 0, bSig, &rem0, &rem1 );
3960 zSig1 = estimateDiv128To64( rem1, 0, bSig );
3962 mul64To128( bSig, zSig1, &term1, &term2 );
3966 add128( rem1, rem2, 0, bSig, &rem1, &rem2 );
3987 bits64 aSig0, aSig1, bSig;
3994 bSig = extractFloatx80Frac( b );
3999 || ( ( bExp == 0x7FFF ) && (bits64) ( bSig<<1 ) ) ) {
4005 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b );
4009 if ( bSig == 0 ) {
4016 normalizeFloatx80Subnormal( bSig, &bExp, &bSig );
4022 bSig |= LIT64( 0x8000000000000000 );
4031 q = ( bSig <= aSig0 );
4032 if ( q ) aSig0 -= bSig;
4035 q = estimateDiv128To64( aSig0, aSig1, bSig );
4037 mul64To128( bSig, q, &term0, &term1 );
4044 q = estimateDiv128To64( aSig0, aSig1, bSig );
4047 mul64To128( bSig, q<<( 64 - expDiff ), &term0, &term1 );
4049 shortShift128Left( 0, bSig, 64 - expDiff, &term0, &term1 );
4057 term0 = bSig;