Home | History | Annotate | Download | only in libkern

Lines Matching defs:bSig

1632     bits32 aSig, bSig, zSig;
1637 bSig = extractFloat32Frac( b );
1641 bSig <<= 6;
1651 bSig |= 0x20000000;
1653 shift32RightJamming( bSig, expDiff, &bSig );
1658 if ( bSig ) return propagateFloat32NaN( a, b );
1672 if ( aSig | bSig ) return propagateFloat32NaN( a, b );
1675 if ( aExp == 0 ) return packFloat32( zSign, 0, ( aSig + bSig )>>6 );
1676 zSig = 0x40000000 + aSig + bSig;
1681 zSig = ( aSig + bSig )<<1;
1684 zSig = aSig + bSig;
1703 bits32 aSig, bSig, zSig;
1708 bSig = extractFloat32Frac( b );
1712 bSig <<= 7;
1716 if ( aSig | bSig ) return propagateFloat32NaN( a, b );
1724 if ( bSig < aSig ) goto aBigger;
1725 if ( aSig < bSig ) goto bBigger;
1729 if ( bSig ) return propagateFloat32NaN( a, b );
1739 bSig |= 0x40000000;
1741 zSig = bSig - aSig;
1754 bSig |= 0x40000000;
1756 shift32RightJamming( bSig, expDiff, &bSig );
1759 zSig = aSig - bSig;
1819 bits32 aSig, bSig;
1826 bSig = extractFloat32Frac( b );
1831 if ( aSig || ( ( bExp == 0xFF ) && bSig ) ) {
1834 if ( ( bExp | bSig ) == 0 ) {
1841 if ( bSig ) return propagateFloat32NaN( a, b );
1853 if ( bSig == 0 ) return packFloat32( zSign, 0, 0 );
1854 normalizeFloat32Subnormal( bSig, &bExp, &bSig );
1858 bSig = ( bSig | 0x00800000 )<<8;
1859 shift64RightJamming( ( (bits64) aSig ) * bSig, 32, &zSig64 );
1879 bits32 aSig, bSig, zSig;
1884 bSig = extractFloat32Frac( b );
1891 if ( bSig ) return propagateFloat32NaN( a, b );
1898 if ( bSig ) return propagateFloat32NaN( a, b );
1902 if ( bSig == 0 ) {
1910 normalizeFloat32Subnormal( bSig, &bExp, &bSig );
1918 bSig = ( bSig | 0x00800000 )<<8;
1919 if ( bSig <= ( aSig + aSig ) ) {
1923 zSig = ( ( (bits64) aSig )<<32 ) / bSig;
1925 zSig |= ( (bits64) bSig * zSig != ( (bits64) aSig )<<32 );
1942 bits32 aSig, bSig;
1951 bSig = extractFloat32Frac( b );
1955 if ( aSig || ( ( bExp == 0xFF ) && bSig ) ) {
1962 if ( bSig ) return propagateFloat32NaN( a, b );
1966 if ( bSig == 0 ) {
1970 normalizeFloat32Subnormal( bSig, &bExp, &bSig );
1978 bSig |= 0x00800000;
1981 bSig <<= 8;
1986 q = ( bSig <= aSig );
1987 if ( q ) aSig -= bSig;
1989 q = ( ( (bits64) aSig )<<32 ) / bSig;
1991 bSig >>= 2;
1992 aSig = ( ( aSig>>1 )<<( expDiff - 1 ) ) - bSig * q;
1996 bSig >>= 2;
2000 if ( bSig <= aSig ) aSig -= bSig;
2002 bSig64 = ( (bits64) bSig )<<40;
2007 aSig64 = - ( ( bSig * q64 )<<38 );
2014 bSig <<= 6;
2015 aSig = ( ( aSig64>>33 )<<( expDiff - 1 ) ) - bSig * q;
2020 aSig -= bSig;
2613 bits64 aSig, bSig, zSig;
2618 bSig = extractFloat64Frac( b );
2622 bSig <<= 9;
2632 bSig |= LIT64( 0x2000000000000000 );
2634 shift64RightJamming( bSig, expDiff, &bSig );
2639 if ( bSig ) return propagateFloat64NaN( a, b );
2653 if ( aSig | bSig ) return propagateFloat64NaN( a, b );
2656 if ( aExp == 0 ) return packFloat64( zSign, 0, ( aSig + bSig )>>9 );
2657 zSig = LIT64( 0x4000000000000000 ) + aSig + bSig;
2662 zSig = ( aSig + bSig )<<1;
2665 zSig = aSig + bSig;
2684 bits64 aSig, bSig, zSig;
2689 bSig = extractFloat64Frac( b );
2693 bSig <<= 10;
2697 if ( aSig | bSig ) return propagateFloat64NaN( a, b );
2705 if ( bSig < aSig ) goto aBigger;
2706 if ( aSig < bSig ) goto bBigger;
2710 if ( bSig ) return propagateFloat64NaN( a, b );
2720 bSig |= LIT64( 0x4000000000000000 );
2722 zSig = bSig - aSig;
2735 bSig |= LIT64( 0x4000000000000000 );
2737 shift64RightJamming( bSig, expDiff, &bSig );
2740 zSig = aSig - bSig;
2800 bits64 aSig, bSig, zSig0, zSig1;
2805 bSig = extractFloat64Frac( b );
2810 if ( aSig || ( ( bExp == 0x7FF ) && bSig ) ) {
2813 if ( ( bExp | bSig ) == 0 ) {
2820 if ( bSig ) return propagateFloat64NaN( a, b );
2832 if ( bSig == 0 ) return packFloat64( zSign, 0, 0 );
2833 normalizeFloat64Subnormal( bSig, &bExp, &bSig );
2837 bSig = ( bSig | LIT64( 0x0010000000000000 ) )<<11;
2838 mul64To128( aSig, bSig, &zSig0, &zSig1 );
2858 bits64 aSig, bSig, zSig;
2865 bSig = extractFloat64Frac( b );
2872 if ( bSig ) return propagateFloat64NaN( a, b );
2879 if ( bSig ) return propagateFloat64NaN( a, b );
2883 if ( bSig == 0 ) {
2891 normalizeFloat64Subnormal( bSig, &bExp, &bSig );
2899 bSig = ( bSig | LIT64( 0x0010000000000000 ) )<<11;
2900 if ( bSig <= ( aSig + aSig ) ) {
2904 zSig = estimateDiv128To64( aSig, 0, bSig );
2906 mul64To128( bSig, zSig, &term0, &term1 );
2910 add128( rem0, rem1, 0, bSig, &rem0, &rem1 );
2929 bits64 aSig, bSig;
2936 bSig = extractFloat64Frac( b );
2940 if ( aSig || ( ( bExp == 0x7FF ) && bSig ) ) {
2947 if ( bSig ) return propagateFloat64NaN( a, b );
2951 if ( bSig == 0 ) {
2955 normalizeFloat64Subnormal( bSig, &bExp, &bSig );
2963 bSig = ( bSig | LIT64( 0x0010000000000000 ) )<<11;
2968 q = ( bSig <= aSig );
2969 if ( q ) aSig -= bSig;
2972 q = estimateDiv128To64( aSig, 0, bSig );
2974 aSig = - ( ( bSig>>2 ) * q );
2979 q = estimateDiv128To64( aSig, 0, bSig );
2982 bSig >>= 2;
2983 aSig = ( ( aSig>>1 )<<( expDiff - 1 ) ) - bSig * q;
2987 bSig >>= 2;
2992 aSig -= bSig;
3524 bits64 aSig, bSig, zSig0, zSig1;
3529 bSig = extractFloatx80Frac( b );
3538 shift64ExtraRightJamming( bSig, 0, expDiff, &bSig, &zSig1 );
3543 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b );
3552 if ( (bits64) ( ( aSig | bSig )<<1 ) ) {
3558 zSig0 = aSig + bSig;
3566 zSig0 = aSig + bSig;
3590 bits64 aSig, bSig, zSig0, zSig1;
3596 bSig = extractFloatx80Frac( b );
3602 if ( (bits64) ( ( aSig | bSig )<<1 ) ) {
3615 if ( bSig < aSig ) goto aBigger;
3616 if ( aSig < bSig ) goto bBigger;
3620 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b );
3626 sub128( bSig, 0, aSig, zSig1, &zSig0, &zSig1 );
3636 shift128RightJamming( bSig, 0, expDiff, &bSig, &zSig1 );
3638 sub128( aSig, 0, bSig, zSig1, &zSig0, &zSig1 );
3699 bits64 aSig, bSig, zSig0, zSig1;
3705 bSig = extractFloatx80Frac( b );
3711 || ( ( bExp == 0x7FFF ) && (bits64) ( bSig<<1 ) ) ) {
3714 if ( ( bExp | bSig ) == 0 ) goto invalid;
3718 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b );
3733 if ( bSig == 0 ) return packFloatx80( zSign, 0, 0 );
3734 normalizeFloatx80Subnormal( bSig, &bExp, &bSig );
3737 mul64To128( aSig, bSig, &zSig0, &zSig1 );
3758 bits64 aSig, bSig, zSig0, zSig1;
3765 bSig = extractFloatx80Frac( b );
3772 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b );
3778 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b );
3782 if ( bSig == 0 ) {
3793 normalizeFloatx80Subnormal( bSig, &bExp, &bSig );
3801 if ( bSig <= aSig ) {
3805 zSig0 = estimateDiv128To64( aSig, rem1, bSig );
3806 mul64To128( bSig, zSig0, &term0, &term1 );
3810 add128( rem0, rem1, 0, bSig, &rem0, &rem1 );
3812 zSig1 = estimateDiv128To64( rem1, 0, bSig );
3814 mul64To128( bSig, zSig1, &term1, &term2 );
3818 add128( rem1, rem2, 0, bSig, &rem1, &rem2 );
3838 bits64 aSig0, aSig1, bSig;
3845 bSig = extractFloatx80Frac( b );
3850 || ( ( bExp == 0x7FFF ) && (bits64) ( bSig<<1 ) ) ) {
3856 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b );
3860 if ( bSig == 0 ) {
3867 normalizeFloatx80Subnormal( bSig, &bExp, &bSig );
3873 bSig |= LIT64( 0x8000000000000000 );
3882 q = ( bSig <= aSig0 );
3883 if ( q ) aSig0 -= bSig;
3886 q = estimateDiv128To64( aSig0, aSig1, bSig );
3888 mul64To128( bSig, q, &term0, &term1 );
3895 q = estimateDiv128To64( aSig0, aSig1, bSig );
3898 mul64To128( bSig, q<<( 64 - expDiff ), &term0, &term1 );
3900 shortShift128Left( 0, bSig, 64 - expDiff, &term0, &term1 );
3908 term0 = bSig;