Home | History | Annotate | Download | only in bits64

Lines Matching defs:aSig0

908 `aSig0' and `aSig1'.  The normalized exponent is stored at the location
917 bits64 aSig0,
926 if ( aSig0 == 0 ) {
939 shiftCount = countLeadingZeros64( aSig0 ) - 15;
940 shortShift128Left( aSig0, aSig1, shiftCount, zSig0Ptr, zSig1Ptr );
3987 bits64 aSig0, aSig1, bSig;
3991 aSig0 = extractFloatx80Frac( a );
3998 if ( (bits64) ( aSig0<<1 )
4019 if ( (bits64) ( aSig0<<1 ) == 0 ) return a;
4020 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
4028 shift128Right( aSig0, 0, 1, &aSig0, &aSig1 );
4031 q = ( bSig <= aSig0 );
4032 if ( q ) aSig0 -= bSig;
4035 q = estimateDiv128To64( aSig0, aSig1, bSig );
4038 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 );
4039 shortShift128Left( aSig0, aSig1, 62, &aSig0, &aSig1 );
4044 q = estimateDiv128To64( aSig0, aSig1, bSig );
4048 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 );
4050 while ( le128( term0, term1, aSig0, aSig1 ) ) {
4052 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 );
4059 sub128( term0, term1, aSig0, aSig1, &alternateASig0, &alternateASig1 );
4060 if ( lt128( alternateASig0, alternateASig1, aSig0, aSig1 )
4061 || ( eq128( alternateASig0, alternateASig1, aSig0, aSig1 )
4064 aSig0 = alternateASig0;
4070 80, zSign, bExp + expDiff, aSig0, aSig1 );
4085 bits64 aSig0, aSig1, zSig0, zSig1, doubleZSig0;
4089 aSig0 = extractFloatx80Frac( a );
4093 if ( (bits64) ( aSig0<<1 ) ) return propagateFloatx80NaN( a, a );
4098 if ( ( aExp | aSig0 ) == 0 ) return a;
4106 if ( aSig0 == 0 ) return packFloatx80( 0, 0, 0 );
4107 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
4110 zSig0 = estimateSqrt32( aExp, aSig0>>32 );
4111 shift128Right( aSig0, 0, 2 + ( aExp & 1 ), &aSig0, &aSig1 );
4112 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
4115 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 );
4365 bits64 aSig0, aSig1;
4368 aSig0 = extractFloat128Frac0( a );
4371 if ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) aSign = 0;
4372 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4373 aSig0 |= ( aSig1 != 0 );
4375 if ( 0 < shiftCount ) shift64RightJamming( aSig0, shiftCount, &aSig0 );
4376 return roundAndPackInt32( aSign, aSig0 );
4395 bits64 aSig0, aSig1, savedASig;
4399 aSig0 = extractFloat128Frac0( a );
4402 aSig0 |= ( aSig1 != 0 );
4404 if ( ( aExp == 0x7FFF ) && aSig0 ) aSign = 0;
4408 if ( aExp || aSig0 ) set_float_exception_inexact_flag();
4411 aSig0 |= LIT64( 0x0001000000000000 );
4413 savedASig = aSig0;
4414 aSig0 >>= shiftCount;
4415 z = (int32)aSig0;
4422 if ( ( aSig0<<shiftCount ) != savedASig ) {
4444 bits64 aSig0, aSig1;
4447 aSig0 = extractFloat128Frac0( a );
4450 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4457 && ( aSig1 || ( aSig0 != LIT64( 0x0001000000000000 ) ) )
4464 shortShift128Left( aSig0, aSig1, - shiftCount, &aSig0, &aSig1 );
4467 shift64ExtraRightJamming( aSig0, aSig1, shiftCount, &aSig0, &aSig1 );
4469 return roundAndPackInt64( aSign, aSig0, aSig1 );
4488 bits64 aSig0, aSig1;
4492 aSig0 = extractFloat128Frac0( a );
4495 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4499 aSig0 &= LIT64( 0x0000FFFFFFFFFFFF );
4506 if ( ! aSign || ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) ) {
4512 z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) );
4519 if ( aExp | aSig0 | aSig1 ) {
4524 z = aSig0>>( - shiftCount );
4526 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) {
4544 bits64 aSig0, aSig1;
4548 aSig0 = extractFloat128Frac0( a );
4551 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4555 aSig0 &= LIT64( 0x0000FFFFFFFFFFFF );
4565 z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) );
4572 if ( aExp | aSig0 | aSig1 ) {
4577 z = aSig0>>( - shiftCount );
4578 if (aSig1 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) {
4600 bits64 aSig0, aSig1;
4604 aSig0 = extractFloat128Frac0( a );
4608 if ( aSig0 | aSig1 ) {
4613 aSig0 |= ( aSig1 != 0 );
4614 shift64RightJamming( aSig0, 18, &aSig0 );
4615 zSig = (bits32)aSig0;
4636 bits64 aSig0, aSig1;
4639 aSig0 = extractFloat128Frac0( a );
4643 if ( aSig0 | aSig1 ) {
4648 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 );
4649 aSig0 |= ( aSig1 != 0 );
4650 if ( aExp || aSig0 ) {
4651 aSig0 |= LIT64( 0x4000000000000000 );
4654 return roundAndPackFloat64( aSign, aExp, aSig0 );
4672 bits64 aSig0, aSig1;
4675 aSig0 = extractFloat128Frac0( a );
4679 if ( aSig0 | aSig1 ) {
4685 if ( ( aSig0 | aSig1 ) == 0 ) return packFloatx80( aSign, 0, 0 );
4686 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
4689 aSig0 |= LIT64( 0x0001000000000000 );
4691 shortShift128Left( aSig0, aSig1, 15, &aSig0, &aSig1 );
4692 return roundAndPackFloatx80( 80, aSign, aExp, aSig0, aSig1 );
4816 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
4820 aSig0 = extractFloat128Frac0( a );
4828 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b );
4850 aSig0 |= LIT64( 0x0001000000000000 );
4853 aSig0, aSig1, 0, - expDiff, &aSig0, &aSig1, &zSig2 );
4858 if ( aSig0 | aSig1 | bSig0 | bSig1 ) {
4863 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4870 aSig0 |= LIT64( 0x0001000000000000 );
4871 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4895 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1;
4900 aSig0 = extractFloat128Frac0( a );
4906 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 );
4911 if ( aSig0 | aSig1 | bSig0 | bSig1 ) {
4923 if ( bSig0 < aSig0 ) goto aBigger;
4924 if ( aSig0 < bSig0 ) goto bBigger;
4937 aSig0 |= LIT64( 0x4000000000000000 );
4939 shift128RightJamming( aSig0, aSig1, - expDiff, &aSig0, &aSig1 );
4942 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 );
4948 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b );
4958 aSig0 |= LIT64( 0x4000000000000000 );
4960 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
5023 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3;
5027 aSig0 = extractFloat128Frac0( a );
5036 if ( ( aSig0 | aSig1 )
5045 if ( ( aExp | aSig0 | aSig1 ) == 0 ) {
5055 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 );
5056 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5063 aSig0 |= LIT64( 0x0001000000000000 );
5065 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 );
5066 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 );
5088 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
5093 aSig0 = extractFloat128Frac0( a );
5102 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b );
5115 if ( ( aExp | aSig0 | aSig1 ) == 0 ) {
5128 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 );
5129 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5133 aSig0 | LIT64( 0x0001000000000000 ), aSig1, 15, &aSig0, &aSig1 );
5136 if ( le128( bSig0, bSig1, aSig0, aSig1 ) ) {
5137 shift128Right( aSig0, aSig1, 1, &aSig0, &aSig1 );
5140 zSig0 = estimateDiv128To64( aSig0, aSig1, bSig0 );
5142 sub192( aSig0, aSig1, 0, term0, term1, term2, &rem0, &rem1, &rem2 );
5173 bits64 aSig0, aSig1, bSig0, bSig1, q, term0, term1, term2;
5179 aSig0 = extractFloat128Frac0( a );
5186 if ( ( aSig0 | aSig1 )
5207 if ( ( aSig0 | aSig1 ) == 0 ) return a;
5208 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5213 aSig0 | LIT64( 0x0001000000000000 ),
5216 &aSig0,
5221 q = le128( bSig0, bSig1, aSig0, aSig1 );
5222 if ( q ) sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 );
5225 q = estimateDiv128To64( aSig0, aSig1, bSig0 );
5229 shortShift128Left( aSig0, aSig1, 61, &aSig0, &allZero );
5230 sub128( aSig0, 0, term1, term2, &aSig0, &aSig1 );
5234 q = estimateDiv128To64( aSig0, aSig1, bSig0 );
5240 shift128Right( aSig0, aSig1, - expDiff, &aSig0, &aSig1 );
5243 shortShift128Left( aSig0, aSig1, expDiff, &aSig0, &aSig1 );
5246 sub128( aSig0, aSig1, term1, term2, &aSig0, &aSig1 );
5249 shift128Right( aSig0, aSig1, 12, &aSig0, &aSig1 );
5253 alternateASig0 = aSig0;
5256 sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 );
5257 } while ( 0 <= (sbits64) aSig0 );
5259 aSig0, aSig1, alternateASig0, alternateASig1, (bits64 *)&sigMean0, &sigMean1 );
5262 aSig0 = alternateASig0;
5265 zSign = ( (sbits64) aSig0 < 0 );
5266 if ( zSign ) sub128( 0, 0, aSig0, aSig1, &aSig0, &aSig1 );
5268 normalizeRoundAndPackFloat128( aSign ^ zSign, bExp - 4, aSig0, aSig1 );
5283 bits64 aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0;
5288 aSig0 = extractFloat128Frac0( a );
5292 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, a );
5297 if ( ( aExp | aSig0 | aSig1 ) == 0 ) return a;
5305 if ( ( aSig0
5306 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5309 aSig0 |= LIT64( 0x0001000000000000 );
5310 zSig0 = estimateSqrt32((int16)aExp, (bits32)(aSig0>>17));
5311 shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 );
5312 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
5315 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 );