• Home
  • Raw
  • Download

Lines Matching refs:aSig0

917      uint64_t aSig0,  in normalizeFloat128Subnormal()  argument
926 if ( aSig0 == 0 ) { in normalizeFloat128Subnormal()
939 shiftCount = countLeadingZeros64( aSig0 ) - 15; in normalizeFloat128Subnormal()
940 shortShift128Left( aSig0, aSig1, shiftCount, zSig0Ptr, zSig1Ptr ); in normalizeFloat128Subnormal()
3565 uint64_t aSig, aSig0, aSig1, zSig, i; in float64_log2() local
3590 mul64To128( aSig, aSig, &aSig0, &aSig1 ); in float64_log2()
3591 aSig = ( aSig0 << 12 ) | ( aSig1 >> 52 ); in float64_log2()
4459 uint64_t aSig0, aSig1, bSig; in floatx80_rem() local
4463 aSig0 = extractFloatx80Frac( a ); in floatx80_rem()
4469 if ( (uint64_t) ( aSig0<<1 ) in floatx80_rem()
4490 if ( (uint64_t) ( aSig0<<1 ) == 0 ) return a; in floatx80_rem()
4491 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); in floatx80_rem()
4499 shift128Right( aSig0, 0, 1, &aSig0, &aSig1 ); in floatx80_rem()
4502 q = ( bSig <= aSig0 ); in floatx80_rem()
4503 if ( q ) aSig0 -= bSig; in floatx80_rem()
4506 q = estimateDiv128To64( aSig0, aSig1, bSig ); in floatx80_rem()
4509 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 ); in floatx80_rem()
4510 shortShift128Left( aSig0, aSig1, 62, &aSig0, &aSig1 ); in floatx80_rem()
4515 q = estimateDiv128To64( aSig0, aSig1, bSig ); in floatx80_rem()
4519 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 ); in floatx80_rem()
4521 while ( le128( term0, term1, aSig0, aSig1 ) ) { in floatx80_rem()
4523 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 ); in floatx80_rem()
4530 sub128( term0, term1, aSig0, aSig1, &alternateASig0, &alternateASig1 ); in floatx80_rem()
4531 if ( lt128( alternateASig0, alternateASig1, aSig0, aSig1 ) in floatx80_rem()
4532 || ( eq128( alternateASig0, alternateASig1, aSig0, aSig1 ) in floatx80_rem()
4535 aSig0 = alternateASig0; in floatx80_rem()
4541 80, zSign, bExp + expDiff, aSig0, aSig1 STATUS_VAR ); in floatx80_rem()
4555 uint64_t aSig0, aSig1, zSig0, zSig1, doubleZSig0; in floatx80_sqrt() local
4559 aSig0 = extractFloatx80Frac( a ); in floatx80_sqrt()
4563 if ( (uint64_t) ( aSig0<<1 ) ) return propagateFloatx80NaN( a, a STATUS_VAR ); in floatx80_sqrt()
4568 if ( ( aExp | aSig0 ) == 0 ) return a; in floatx80_sqrt()
4576 if ( aSig0 == 0 ) return packFloatx80( 0, 0, 0 ); in floatx80_sqrt()
4577 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); in floatx80_sqrt()
4580 zSig0 = estimateSqrt32( aExp, aSig0>>32 ); in floatx80_sqrt()
4581 shift128Right( aSig0, 0, 2 + ( aExp & 1 ), &aSig0, &aSig1 ); in floatx80_sqrt()
4582 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 ); in floatx80_sqrt()
4585 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 ); in floatx80_sqrt()
4870 uint64_t aSig0, aSig1; in float128_to_int32() local
4873 aSig0 = extractFloat128Frac0( a ); in float128_to_int32()
4876 if ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) aSign = 0; in float128_to_int32()
4877 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int32()
4878 aSig0 |= ( aSig1 != 0 ); in float128_to_int32()
4880 if ( 0 < shiftCount ) shift64RightJamming( aSig0, shiftCount, &aSig0 ); in float128_to_int32()
4881 return roundAndPackInt32( aSign, aSig0 STATUS_VAR ); in float128_to_int32()
4899 uint64_t aSig0, aSig1, savedASig; in float128_to_int32_round_to_zero() local
4903 aSig0 = extractFloat128Frac0( a ); in float128_to_int32_round_to_zero()
4906 aSig0 |= ( aSig1 != 0 ); in float128_to_int32_round_to_zero()
4908 if ( ( aExp == 0x7FFF ) && aSig0 ) aSign = 0; in float128_to_int32_round_to_zero()
4912 if ( aExp || aSig0 ) STATUS(float_exception_flags) |= float_flag_inexact; in float128_to_int32_round_to_zero()
4915 aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int32_round_to_zero()
4917 savedASig = aSig0; in float128_to_int32_round_to_zero()
4918 aSig0 >>= shiftCount; in float128_to_int32_round_to_zero()
4919 z = aSig0; in float128_to_int32_round_to_zero()
4926 if ( ( aSig0<<shiftCount ) != savedASig ) { in float128_to_int32_round_to_zero()
4947 uint64_t aSig0, aSig1; in float128_to_int64() local
4950 aSig0 = extractFloat128Frac0( a ); in float128_to_int64()
4953 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int64()
4960 && ( aSig1 || ( aSig0 != LIT64( 0x0001000000000000 ) ) ) in float128_to_int64()
4967 shortShift128Left( aSig0, aSig1, - shiftCount, &aSig0, &aSig1 ); in float128_to_int64()
4970 shift64ExtraRightJamming( aSig0, aSig1, shiftCount, &aSig0, &aSig1 ); in float128_to_int64()
4972 return roundAndPackInt64( aSign, aSig0, aSig1 STATUS_VAR ); in float128_to_int64()
4990 uint64_t aSig0, aSig1; in float128_to_int64_round_to_zero() local
4994 aSig0 = extractFloat128Frac0( a ); in float128_to_int64_round_to_zero()
4997 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int64_round_to_zero()
5001 aSig0 &= LIT64( 0x0000FFFFFFFFFFFF ); in float128_to_int64_round_to_zero()
5008 if ( ! aSign || ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) ) { in float128_to_int64_round_to_zero()
5014 z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) ); in float128_to_int64_round_to_zero()
5021 if ( aExp | aSig0 | aSig1 ) { in float128_to_int64_round_to_zero()
5026 z = aSig0>>( - shiftCount ); in float128_to_int64_round_to_zero()
5028 || ( shiftCount && (uint64_t) ( aSig0<<( shiftCount & 63 ) ) ) ) { in float128_to_int64_round_to_zero()
5048 uint64_t aSig0, aSig1; in float128_to_float32() local
5052 aSig0 = extractFloat128Frac0( a ); in float128_to_float32()
5056 if ( aSig0 | aSig1 ) { in float128_to_float32()
5061 aSig0 |= ( aSig1 != 0 ); in float128_to_float32()
5062 shift64RightJamming( aSig0, 18, &aSig0 ); in float128_to_float32()
5063 zSig = aSig0; in float128_to_float32()
5083 uint64_t aSig0, aSig1; in float128_to_float64() local
5086 aSig0 = extractFloat128Frac0( a ); in float128_to_float64()
5090 if ( aSig0 | aSig1 ) { in float128_to_float64()
5095 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 ); in float128_to_float64()
5096 aSig0 |= ( aSig1 != 0 ); in float128_to_float64()
5097 if ( aExp || aSig0 ) { in float128_to_float64()
5098 aSig0 |= LIT64( 0x4000000000000000 ); in float128_to_float64()
5101 return roundAndPackFloat64( aSign, aExp, aSig0 STATUS_VAR ); in float128_to_float64()
5118 uint64_t aSig0, aSig1; in float128_to_floatx80() local
5121 aSig0 = extractFloat128Frac0( a ); in float128_to_floatx80()
5125 if ( aSig0 | aSig1 ) { in float128_to_floatx80()
5131 if ( ( aSig0 | aSig1 ) == 0 ) return packFloatx80( aSign, 0, 0 ); in float128_to_floatx80()
5132 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_to_floatx80()
5135 aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_floatx80()
5137 shortShift128Left( aSig0, aSig1, 15, &aSig0, &aSig1 ); in float128_to_floatx80()
5138 return roundAndPackFloatx80( 80, aSign, aExp, aSig0, aSig1 STATUS_VAR ); in float128_to_floatx80()
5258 uint64_t aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2; in addFloat128Sigs() local
5262 aSig0 = extractFloat128Frac0( a ); in addFloat128Sigs()
5270 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b STATUS_VAR ); in addFloat128Sigs()
5292 aSig0 |= LIT64( 0x0001000000000000 ); in addFloat128Sigs()
5295 aSig0, aSig1, 0, - expDiff, &aSig0, &aSig1, &zSig2 ); in addFloat128Sigs()
5300 if ( aSig0 | aSig1 | bSig0 | bSig1 ) { in addFloat128Sigs()
5305 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in addFloat128Sigs()
5320 aSig0 |= LIT64( 0x0001000000000000 ); in addFloat128Sigs()
5321 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in addFloat128Sigs()
5344 uint64_t aSig0, aSig1, bSig0, bSig1, zSig0, zSig1; in subFloat128Sigs() local
5349 aSig0 = extractFloat128Frac0( a ); in subFloat128Sigs()
5355 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 ); in subFloat128Sigs()
5360 if ( aSig0 | aSig1 | bSig0 | bSig1 ) { in subFloat128Sigs()
5372 if ( bSig0 < aSig0 ) goto aBigger; in subFloat128Sigs()
5373 if ( aSig0 < bSig0 ) goto bBigger; in subFloat128Sigs()
5386 aSig0 |= LIT64( 0x4000000000000000 ); in subFloat128Sigs()
5388 shift128RightJamming( aSig0, aSig1, - expDiff, &aSig0, &aSig1 ); in subFloat128Sigs()
5391 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 ); in subFloat128Sigs()
5397 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b STATUS_VAR ); in subFloat128Sigs()
5407 aSig0 |= LIT64( 0x4000000000000000 ); in subFloat128Sigs()
5409 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in subFloat128Sigs()
5469 uint64_t aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3; in float128_mul() local
5473 aSig0 = extractFloat128Frac0( a ); in float128_mul()
5482 if ( ( aSig0 | aSig1 ) in float128_mul()
5491 if ( ( aExp | aSig0 | aSig1 ) == 0 ) { in float128_mul()
5501 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 ); in float128_mul()
5502 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_mul()
5509 aSig0 |= LIT64( 0x0001000000000000 ); in float128_mul()
5511 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 ); in float128_mul()
5512 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 ); in float128_mul()
5533 uint64_t aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2; in float128_div() local
5538 aSig0 = extractFloat128Frac0( a ); in float128_div()
5547 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b STATUS_VAR ); in float128_div()
5560 if ( ( aExp | aSig0 | aSig1 ) == 0 ) { in float128_div()
5573 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 ); in float128_div()
5574 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_div()
5578 aSig0 | LIT64( 0x0001000000000000 ), aSig1, 15, &aSig0, &aSig1 ); in float128_div()
5581 if ( le128( bSig0, bSig1, aSig0, aSig1 ) ) { in float128_div()
5582 shift128Right( aSig0, aSig1, 1, &aSig0, &aSig1 ); in float128_div()
5585 zSig0 = estimateDiv128To64( aSig0, aSig1, bSig0 ); in float128_div()
5587 sub192( aSig0, aSig1, 0, term0, term1, term2, &rem0, &rem1, &rem2 ); in float128_div()
5617 uint64_t aSig0, aSig1, bSig0, bSig1, q, term0, term1, term2; in float128_rem() local
5623 aSig0 = extractFloat128Frac0( a ); in float128_rem()
5630 if ( ( aSig0 | aSig1 ) in float128_rem()
5651 if ( ( aSig0 | aSig1 ) == 0 ) return a; in float128_rem()
5652 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_rem()
5657 aSig0 | LIT64( 0x0001000000000000 ), in float128_rem()
5660 &aSig0, in float128_rem()
5665 q = le128( bSig0, bSig1, aSig0, aSig1 ); in float128_rem()
5666 if ( q ) sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 ); in float128_rem()
5669 q = estimateDiv128To64( aSig0, aSig1, bSig0 ); in float128_rem()
5673 shortShift128Left( aSig0, aSig1, 61, &aSig0, &allZero ); in float128_rem()
5674 sub128( aSig0, 0, term1, term2, &aSig0, &aSig1 ); in float128_rem()
5678 q = estimateDiv128To64( aSig0, aSig1, bSig0 ); in float128_rem()
5684 shift128Right( aSig0, aSig1, - expDiff, &aSig0, &aSig1 ); in float128_rem()
5687 shortShift128Left( aSig0, aSig1, expDiff, &aSig0, &aSig1 ); in float128_rem()
5690 sub128( aSig0, aSig1, term1, term2, &aSig0, &aSig1 ); in float128_rem()
5693 shift128Right( aSig0, aSig1, 12, &aSig0, &aSig1 ); in float128_rem()
5697 alternateASig0 = aSig0; in float128_rem()
5700 sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 ); in float128_rem()
5701 } while ( 0 <= (int64_t) aSig0 ); in float128_rem()
5703 aSig0, aSig1, alternateASig0, alternateASig1, (uint64_t *)&sigMean0, &sigMean1 ); in float128_rem()
5706 aSig0 = alternateASig0; in float128_rem()
5709 zSign = ( (int64_t) aSig0 < 0 ); in float128_rem()
5710 if ( zSign ) sub128( 0, 0, aSig0, aSig1, &aSig0, &aSig1 ); in float128_rem()
5712 normalizeRoundAndPackFloat128( aSign ^ zSign, bExp - 4, aSig0, aSig1 STATUS_VAR ); in float128_rem()
5726 uint64_t aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0; in float128_sqrt() local
5731 aSig0 = extractFloat128Frac0( a ); in float128_sqrt()
5735 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, a STATUS_VAR ); in float128_sqrt()
5740 if ( ( aExp | aSig0 | aSig1 ) == 0 ) return a; in float128_sqrt()
5748 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( 0, 0, 0, 0 ); in float128_sqrt()
5749 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_sqrt()
5752 aSig0 |= LIT64( 0x0001000000000000 ); in float128_sqrt()
5753 zSig0 = estimateSqrt32( aExp, aSig0>>17 ); in float128_sqrt()
5754 shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 ); in float128_sqrt()
5755 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 ); in float128_sqrt()
5758 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 ); in float128_sqrt()
6464 uint64_t aSig0, aSig1; in float128_scalbn() local
6467 aSig0 = extractFloat128Frac0( a ); in float128_scalbn()
6471 if ( aSig0 | aSig1 ) { in float128_scalbn()
6477 aSig0 |= LIT64( 0x0001000000000000 ); in float128_scalbn()
6478 else if ( aSig0 == 0 && aSig1 == 0 ) in float128_scalbn()
6488 return normalizeRoundAndPackFloat128( aSign, aExp, aSig0, aSig1 in float128_scalbn()