Home | History | Annotate | Download | only in libkern

Lines Matching defs:aSig0

889 | `aSig0' and `aSig1'.  The normalized exponent is stored at the location
898 bits64 aSig0,
907 if ( aSig0 == 0 ) {
920 shiftCount = countLeadingZeros64( aSig0 ) - 15;
921 shortShift128Left( aSig0, aSig1, shiftCount, zSig0Ptr, zSig1Ptr );
3838 bits64 aSig0, aSig1, bSig;
3842 aSig0 = extractFloatx80Frac( a );
3849 if ( (bits64) ( aSig0<<1 )
3870 if ( (bits64) ( aSig0<<1 ) == 0 ) return a;
3871 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
3879 shift128Right( aSig0, 0, 1, &aSig0, &aSig1 );
3882 q = ( bSig <= aSig0 );
3883 if ( q ) aSig0 -= bSig;
3886 q = estimateDiv128To64( aSig0, aSig1, bSig );
3889 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 );
3890 shortShift128Left( aSig0, aSig1, 62, &aSig0, &aSig1 );
3895 q = estimateDiv128To64( aSig0, aSig1, bSig );
3899 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 );
3901 while ( le128( term0, term1, aSig0, aSig1 ) ) {
3903 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 );
3910 sub128( term0, term1, aSig0, aSig1, &alternateASig0, &alternateASig1 );
3911 if ( lt128( alternateASig0, alternateASig1, aSig0, aSig1 )
3912 || ( eq128( alternateASig0, alternateASig1, aSig0, aSig1 )
3915 aSig0 = alternateASig0;
3921 80, zSign, bExp + expDiff, aSig0, aSig1 );
3935 bits64 aSig0, aSig1, zSig0, zSig1, doubleZSig0;
3939 aSig0 = extractFloatx80Frac( a );
3943 if ( (bits64) ( aSig0<<1 ) ) return propagateFloatx80NaN( a, a );
3948 if ( ( aExp | aSig0 ) == 0 ) return a;
3956 if ( aSig0 == 0 ) return packFloatx80( 0, 0, 0 );
3957 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
3960 zSig0 = estimateSqrt32( aExp, aSig0>>32 );
3961 shift128Right( aSig0, 0, 2 + ( aExp & 1 ), &aSig0, &aSig1 );
3962 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
3965 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 );
4208 bits64 aSig0, aSig1;
4211 aSig0 = extractFloat128Frac0( a );
4214 if ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) aSign = 0;
4215 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4216 aSig0 |= ( aSig1 != 0 );
4218 if ( 0 < shiftCount ) shift64RightJamming( aSig0, shiftCount, &aSig0 );
4219 return roundAndPackInt32( aSign, aSig0 );
4237 bits64 aSig0, aSig1, savedASig;
4241 aSig0 = extractFloat128Frac0( a );
4244 aSig0 |= ( aSig1 != 0 );
4246 if ( ( aExp == 0x7FFF ) && aSig0 ) aSign = 0;
4250 if ( aExp || aSig0 ) float_set_inexact();
4253 aSig0 |= LIT64( 0x0001000000000000 );
4255 savedASig = aSig0;
4256 aSig0 >>= shiftCount;
4257 z = aSig0;
4264 if ( ( aSig0<<shiftCount ) != savedASig ) {
4285 bits64 aSig0, aSig1;
4288 aSig0 = extractFloat128Frac0( a );
4291 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4298 && ( aSig1 || ( aSig0 != LIT64( 0x0001000000000000 ) ) )
4305 shortShift128Left( aSig0, aSig1, - shiftCount, &aSig0, &aSig1 );
4308 shift64ExtraRightJamming( aSig0, aSig1, shiftCount, &aSig0, &aSig1 );
4310 return roundAndPackInt64( aSign, aSig0, aSig1 );
4328 bits64 aSig0, aSig1;
4332 aSig0 = extractFloat128Frac0( a );
4335 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4339 aSig0 &= LIT64( 0x0000FFFFFFFFFFFF );
4346 if ( ! aSign || ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) ) {
4352 z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) );
4359 if ( aExp | aSig0 | aSig1 ) {
4364 z = aSig0>>( - shiftCount );
4366 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) {
4386 bits64 aSig0, aSig1;
4390 aSig0 = extractFloat128Frac0( a );
4394 if ( aSig0 | aSig1 ) {
4399 aSig0 |= ( aSig1 != 0 );
4400 shift64RightJamming( aSig0, 18, &aSig0 );
4401 zSig = aSig0;
4421 bits64 aSig0, aSig1;
4424 aSig0 = extractFloat128Frac0( a );
4428 if ( aSig0 | aSig1 ) {
4433 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 );
4434 aSig0 |= ( aSig1 != 0 );
4435 if ( aExp || aSig0 ) {
4436 aSig0 |= LIT64( 0x4000000000000000 );
4439 return roundAndPackFloat64( aSign, aExp, aSig0 );
4456 bits64 aSig0, aSig1;
4459 aSig0 = extractFloat128Frac0( a );
4463 if ( aSig0 | aSig1 ) {
4469 if ( ( aSig0 | aSig1 ) == 0 ) return packFloatx80( aSign, 0, 0 );
4470 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
4473 aSig0 |= LIT64( 0x0001000000000000 );
4475 shortShift128Left( aSig0, aSig1, 15, &aSig0, &aSig1 );
4476 return roundAndPackFloatx80( 80, aSign, aExp, aSig0, aSig1 );
4596 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
4600 aSig0 = extractFloat128Frac0( a );
4608 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b );
4630 aSig0 |= LIT64( 0x0001000000000000 );
4633 aSig0, aSig1, 0, - expDiff, &aSig0, &aSig1, &zSig2 );
4638 if ( aSig0 | aSig1 | bSig0 | bSig1 ) {
4643 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4650 aSig0 |= LIT64( 0x0001000000000000 );
4651 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4674 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1;
4679 aSig0 = extractFloat128Frac0( a );
4685 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 );
4690 if ( aSig0 | aSig1 | bSig0 | bSig1 ) {
4702 if ( bSig0 < aSig0 ) goto aBigger;
4703 if ( aSig0 < bSig0 ) goto bBigger;
4716 aSig0 |= LIT64( 0x4000000000000000 );
4718 shift128RightJamming( aSig0, aSig1, - expDiff, &aSig0, &aSig1 );
4721 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 );
4727 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b );
4737 aSig0 |= LIT64( 0x4000000000000000 );
4739 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4799 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3;
4803 aSig0 = extractFloat128Frac0( a );
4812 if ( ( aSig0 | aSig1 )
4821 if ( ( aExp | aSig0 | aSig1 ) == 0 ) {
4831 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 );
4832 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
4839 aSig0 |= LIT64( 0x0001000000000000 );
4841 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 );
4842 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 );
4863 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
4868 aSig0 = extractFloat128Frac0( a );
4877 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b );
4890 if ( ( aExp | aSig0 | aSig1 ) == 0 ) {
4903 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 );
4904 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
4908 aSig0 | LIT64( 0x0001000000000000 ), aSig1, 15, &aSig0, &aSig1 );
4911 if ( le128( bSig0, bSig1, aSig0, aSig1 ) ) {
4912 shift128Right( aSig0, aSig1, 1, &aSig0, &aSig1 );
4915 zSig0 = estimateDiv128To64( aSig0, aSig1, bSig0 );
4917 sub192( aSig0, aSig1, 0, term0, term1, term2, &rem0, &rem1, &rem2 );
4947 bits64 aSig0, aSig1, bSig0, bSig1, q, term0, term1, term2;
4953 aSig0 = extractFloat128Frac0( a );
4961 if ( ( aSig0 | aSig1 )
4982 if ( ( aSig0 | aSig1 ) == 0 ) return a;
4983 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
4988 aSig0 | LIT64( 0x0001000000000000 ),
4991 &aSig0,
4996 q = le128( bSig0, bSig1, aSig0, aSig1 );
4997 if ( q ) sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 );
5000 q = estimateDiv128To64( aSig0, aSig1, bSig0 );
5004 shortShift128Left( aSig0, aSig1, 61, &aSig0, &allZero );
5005 sub128( aSig0, 0, term1, term2, &aSig0, &aSig1 );
5009 q = estimateDiv128To64( aSig0, aSig1, bSig0 );
5015 shift128Right( aSig0, aSig1, - expDiff, &aSig0, &aSig1 );
5018 shortShift128Left( aSig0, aSig1, expDiff, &aSig0, &aSig1 );
5021 sub128( aSig0, aSig1, term1, term2, &aSig0, &aSig1 );
5024 shift128Right( aSig0, aSig1, 12, &aSig0, &aSig1 );
5028 alternateASig0 = aSig0;
5031 sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 );
5032 } while ( 0 <= (sbits64) aSig0 );
5034 aSig0, aSig1, alternateASig0, alternateASig1, &sigMean0, &sigMean1 );
5037 aSig0 = alternateASig0;
5040 zSign = ( (sbits64) aSig0 < 0 );
5041 if ( zSign ) sub128( 0, 0, aSig0, aSig1, &aSig0, &aSig1 );
5043 normalizeRoundAndPackFloat128( aSign ^ zSign, bExp - 4, aSig0, aSig1 );
5057 bits64 aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0;
5062 aSig0 = extractFloat128Frac0( a );
5066 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, a );
5071 if ( ( aExp | aSig0 | aSig1 ) == 0 ) return a;
5079 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( 0, 0, 0, 0 );
5080 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5083 aSig0 |= LIT64( 0x0001000000000000 );
5084 zSig0 = estimateSqrt32( aExp, aSig0>>17 );
5085 shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 );
5086 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
5089 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 );