Lines Matching refs:aExp
1297 int16 aExp, shiftCount; in float32_to_int32() local
1302 aExp = extractFloat32Exp( a ); in float32_to_int32()
1304 if ( ( aExp == 0xFF ) && aSig ) aSign = 0; in float32_to_int32()
1305 if ( aExp ) aSig |= 0x00800000; in float32_to_int32()
1306 shiftCount = 0xAF - aExp; in float32_to_int32()
1327 int16 aExp, shiftCount; in float32_to_int32_round_to_zero() local
1332 aExp = extractFloat32Exp( a ); in float32_to_int32_round_to_zero()
1334 shiftCount = aExp - 0x9E; in float32_to_int32_round_to_zero()
1338 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) return 0x7FFFFFFF; in float32_to_int32_round_to_zero()
1342 else if ( aExp <= 0x7E ) { in float32_to_int32_round_to_zero()
1343 if ( aExp | aSig ) STATUS(float_exception_flags) |= float_flag_inexact; in float32_to_int32_round_to_zero()
1369 int16 aExp, shiftCount; in float32_to_int64() local
1374 aExp = extractFloat32Exp( a ); in float32_to_int64()
1376 shiftCount = 0xBE - aExp; in float32_to_int64()
1379 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) { in float32_to_int64()
1384 if ( aExp ) aSig |= 0x00800000; in float32_to_int64()
1405 int16 aExp, shiftCount; in float32_to_int64_round_to_zero() local
1411 aExp = extractFloat32Exp( a ); in float32_to_int64_round_to_zero()
1413 shiftCount = aExp - 0xBE; in float32_to_int64_round_to_zero()
1417 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) { in float32_to_int64_round_to_zero()
1423 else if ( aExp <= 0x7E ) { in float32_to_int64_round_to_zero()
1424 if ( aExp | aSig ) STATUS(float_exception_flags) |= float_flag_inexact; in float32_to_int64_round_to_zero()
1448 int16 aExp; in float32_to_float64() local
1452 aExp = extractFloat32Exp( a ); in float32_to_float64()
1454 if ( aExp == 0xFF ) { in float32_to_float64()
1458 if ( aExp == 0 ) { in float32_to_float64()
1460 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_to_float64()
1461 --aExp; in float32_to_float64()
1463 return packFloat64( aSign, aExp + 0x380, ( (bits64) aSig )<<29 ); in float32_to_float64()
1479 int16 aExp; in float32_to_floatx80() local
1483 aExp = extractFloat32Exp( a ); in float32_to_floatx80()
1485 if ( aExp == 0xFF ) { in float32_to_floatx80()
1489 if ( aExp == 0 ) { in float32_to_floatx80()
1491 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_to_floatx80()
1494 return packFloatx80( aSign, aExp + 0x3F80, ( (bits64) aSig )<<40 ); in float32_to_floatx80()
1512 int16 aExp; in float32_to_float128() local
1516 aExp = extractFloat32Exp( a ); in float32_to_float128()
1518 if ( aExp == 0xFF ) { in float32_to_float128()
1522 if ( aExp == 0 ) { in float32_to_float128()
1524 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_to_float128()
1525 --aExp; in float32_to_float128()
1527 return packFloat128( aSign, aExp + 0x3F80, ( (bits64) aSig )<<25, 0 ); in float32_to_float128()
1543 int16 aExp; in float32_round_to_int() local
1548 aExp = extractFloat32Exp( a ); in float32_round_to_int()
1549 if ( 0x96 <= aExp ) { in float32_round_to_int()
1550 if ( ( aExp == 0xFF ) && extractFloat32Frac( a ) ) { in float32_round_to_int()
1555 if ( aExp <= 0x7E ) { in float32_round_to_int()
1561 if ( ( aExp == 0x7E ) && extractFloat32Frac( a ) ) { in float32_round_to_int()
1573 lastBitMask <<= 0x96 - aExp; in float32_round_to_int()
1602 int16 aExp, bExp, zExp; in addFloat32Sigs() local
1607 aExp = extractFloat32Exp( a ); in addFloat32Sigs()
1610 expDiff = aExp - bExp; in addFloat32Sigs()
1614 if ( aExp == 0xFF ) { in addFloat32Sigs()
1625 zExp = aExp; in addFloat32Sigs()
1632 if ( aExp == 0 ) { in addFloat32Sigs()
1642 if ( aExp == 0xFF ) { in addFloat32Sigs()
1646 if ( aExp == 0 ) { in addFloat32Sigs()
1651 zExp = aExp; in addFloat32Sigs()
1676 int16 aExp, bExp, zExp; in subFloat32Sigs() local
1681 aExp = extractFloat32Exp( a ); in subFloat32Sigs()
1684 expDiff = aExp - bExp; in subFloat32Sigs()
1689 if ( aExp == 0xFF ) { in subFloat32Sigs()
1694 if ( aExp == 0 ) { in subFloat32Sigs()
1695 aExp = 1; in subFloat32Sigs()
1706 if ( aExp == 0 ) { in subFloat32Sigs()
1720 if ( aExp == 0xFF ) { in subFloat32Sigs()
1734 zExp = aExp; in subFloat32Sigs()
1792 int16 aExp, bExp, zExp; in float32_mul() local
1798 aExp = extractFloat32Exp( a ); in float32_mul()
1804 if ( aExp == 0xFF ) { in float32_mul()
1816 if ( ( aExp | aSig ) == 0 ) { in float32_mul()
1822 if ( aExp == 0 ) { in float32_mul()
1824 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_mul()
1830 zExp = aExp + bExp - 0x7F; in float32_mul()
1852 int16 aExp, bExp, zExp; in float32_div() local
1856 aExp = extractFloat32Exp( a ); in float32_div()
1862 if ( aExp == 0xFF ) { in float32_div()
1877 if ( ( aExp | aSig ) == 0 ) { in float32_div()
1886 if ( aExp == 0 ) { in float32_div()
1888 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_div()
1890 zExp = aExp - bExp + 0x7D; in float32_div()
1914 int16 aExp, bExp, expDiff; in float32_rem() local
1922 aExp = extractFloat32Exp( a ); in float32_rem()
1927 if ( aExp == 0xFF ) { in float32_rem()
1945 if ( aExp == 0 ) { in float32_rem()
1947 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_rem()
1949 expDiff = aExp - bExp; in float32_rem()
2014 int16 aExp, zExp; in float32_sqrt() local
2019 aExp = extractFloat32Exp( a ); in float32_sqrt()
2021 if ( aExp == 0xFF ) { in float32_sqrt()
2028 if ( ( aExp | aSig ) == 0 ) return a; in float32_sqrt()
2032 if ( aExp == 0 ) { in float32_sqrt()
2034 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_sqrt()
2036 zExp = ( ( aExp - 0x7F )>>1 ) + 0x7E; in float32_sqrt()
2038 zSig = estimateSqrt32( aExp, aSig ) + 2; in float32_sqrt()
2044 aSig >>= aExp & 1; in float32_sqrt()
2067 int16 aExp; in float32_log2() local
2071 aExp = extractFloat32Exp( a ); in float32_log2()
2074 if ( aExp == 0 ) { in float32_log2()
2076 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_log2()
2082 if ( aExp == 0xFF ) { in float32_log2()
2087 aExp -= 0x7F; in float32_log2()
2089 zSign = aExp < 0; in float32_log2()
2090 zSig = aExp << 23; in float32_log2()
2275 int16 aExp, shiftCount; in float64_to_int32() local
2279 aExp = extractFloat64Exp( a ); in float64_to_int32()
2281 if ( ( aExp == 0x7FF ) && aSig ) aSign = 0; in float64_to_int32()
2282 if ( aExp ) aSig |= LIT64( 0x0010000000000000 ); in float64_to_int32()
2283 shiftCount = 0x42C - aExp; in float64_to_int32()
2302 int16 aExp, shiftCount; in float64_to_int32_round_to_zero() local
2307 aExp = extractFloat64Exp( a ); in float64_to_int32_round_to_zero()
2309 if ( 0x41E < aExp ) { in float64_to_int32_round_to_zero()
2310 if ( ( aExp == 0x7FF ) && aSig ) aSign = 0; in float64_to_int32_round_to_zero()
2313 else if ( aExp < 0x3FF ) { in float64_to_int32_round_to_zero()
2314 if ( aExp || aSig ) STATUS(float_exception_flags) |= float_flag_inexact; in float64_to_int32_round_to_zero()
2318 shiftCount = 0x433 - aExp; in float64_to_int32_round_to_zero()
2348 int16 aExp, shiftCount; in float64_to_int64() local
2352 aExp = extractFloat64Exp( a ); in float64_to_int64()
2354 if ( aExp ) aSig |= LIT64( 0x0010000000000000 ); in float64_to_int64()
2355 shiftCount = 0x433 - aExp; in float64_to_int64()
2357 if ( 0x43E < aExp ) { in float64_to_int64()
2360 || ( ( aExp == 0x7FF ) in float64_to_int64()
2390 int16 aExp, shiftCount; in float64_to_int64_round_to_zero() local
2395 aExp = extractFloat64Exp( a ); in float64_to_int64_round_to_zero()
2397 if ( aExp ) aSig |= LIT64( 0x0010000000000000 ); in float64_to_int64_round_to_zero()
2398 shiftCount = aExp - 0x433; in float64_to_int64_round_to_zero()
2400 if ( 0x43E <= aExp ) { in float64_to_int64_round_to_zero()
2404 || ( ( aExp == 0x7FF ) in float64_to_int64_round_to_zero()
2415 if ( aExp < 0x3FE ) { in float64_to_int64_round_to_zero()
2416 if ( aExp | aSig ) STATUS(float_exception_flags) |= float_flag_inexact; in float64_to_int64_round_to_zero()
2439 int16 aExp; in float64_to_float32() local
2444 aExp = extractFloat64Exp( a ); in float64_to_float32()
2446 if ( aExp == 0x7FF ) { in float64_to_float32()
2452 if ( aExp || zSig ) { in float64_to_float32()
2454 aExp -= 0x381; in float64_to_float32()
2456 return roundAndPackFloat32( aSign, aExp, zSig STATUS_VAR ); in float64_to_float32()
2482 int16 aExp; in float16_to_float32() local
2486 aExp = (a >> 10) & 0x1f; in float16_to_float32()
2489 if (aExp == 0x1f && ieee) { in float16_to_float32()
2497 if (aExp == 0) { in float16_to_float32()
2506 aExp = -shiftCount; in float16_to_float32()
2508 return packFloat32( aSign, aExp + 0x70, aSig << 13); in float16_to_float32()
2514 int16 aExp; in float32_to_float16() local
2521 aExp = extractFloat32Exp( a ); in float32_to_float16()
2523 if ( aExp == 0xFF ) { in float32_to_float16()
2531 if (aExp == 0 && aSign == 0) { in float32_to_float16()
2536 aExp -= 0x7f; in float32_to_float16()
2537 if (aExp < -14) { in float32_to_float16()
2539 if (aExp < -24) { in float32_to_float16()
2540 aExp = -25; in float32_to_float16()
2542 mask >>= 24 + aExp; in float32_to_float16()
2570 aExp++; in float32_to_float16()
2572 } else if (aExp < -14 in float32_to_float16()
2578 if (aExp > 15) { in float32_to_float16()
2583 if (aExp > 16) { in float32_to_float16()
2588 if (aExp < -24) { in float32_to_float16()
2591 if (aExp < -14) { in float32_to_float16()
2592 aSig >>= -14 - aExp; in float32_to_float16()
2593 aExp = -14; in float32_to_float16()
2595 return packFloat16(aSign, aExp + 14, aSig >> 13); in float32_to_float16()
2610 int16 aExp; in float64_to_floatx80() local
2614 aExp = extractFloat64Exp( a ); in float64_to_floatx80()
2616 if ( aExp == 0x7FF ) { in float64_to_floatx80()
2620 if ( aExp == 0 ) { in float64_to_floatx80()
2622 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_to_floatx80()
2626 aSign, aExp + 0x3C00, ( aSig | LIT64( 0x0010000000000000 ) )<<11 ); in float64_to_floatx80()
2644 int16 aExp; in float64_to_float128() local
2648 aExp = extractFloat64Exp( a ); in float64_to_float128()
2650 if ( aExp == 0x7FF ) { in float64_to_float128()
2654 if ( aExp == 0 ) { in float64_to_float128()
2656 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_to_float128()
2657 --aExp; in float64_to_float128()
2660 return packFloat128( aSign, aExp + 0x3C00, zSig0, zSig1 ); in float64_to_float128()
2676 int16 aExp; in float64_round_to_int() local
2681 aExp = extractFloat64Exp( a ); in float64_round_to_int()
2682 if ( 0x433 <= aExp ) { in float64_round_to_int()
2683 if ( ( aExp == 0x7FF ) && extractFloat64Frac( a ) ) { in float64_round_to_int()
2688 if ( aExp < 0x3FF ) { in float64_round_to_int()
2694 if ( ( aExp == 0x3FE ) && extractFloat64Frac( a ) ) { in float64_round_to_int()
2707 lastBitMask <<= 0x433 - aExp; in float64_round_to_int()
2748 int16 aExp, bExp, zExp; in addFloat64Sigs() local
2753 aExp = extractFloat64Exp( a ); in addFloat64Sigs()
2756 expDiff = aExp - bExp; in addFloat64Sigs()
2760 if ( aExp == 0x7FF ) { in addFloat64Sigs()
2771 zExp = aExp; in addFloat64Sigs()
2778 if ( aExp == 0 ) { in addFloat64Sigs()
2788 if ( aExp == 0x7FF ) { in addFloat64Sigs()
2792 if ( aExp == 0 ) { in addFloat64Sigs()
2797 zExp = aExp; in addFloat64Sigs()
2822 int16 aExp, bExp, zExp; in subFloat64Sigs() local
2827 aExp = extractFloat64Exp( a ); in subFloat64Sigs()
2830 expDiff = aExp - bExp; in subFloat64Sigs()
2835 if ( aExp == 0x7FF ) { in subFloat64Sigs()
2840 if ( aExp == 0 ) { in subFloat64Sigs()
2841 aExp = 1; in subFloat64Sigs()
2852 if ( aExp == 0 ) { in subFloat64Sigs()
2866 if ( aExp == 0x7FF ) { in subFloat64Sigs()
2880 zExp = aExp; in subFloat64Sigs()
2938 int16 aExp, bExp, zExp; in float64_mul() local
2942 aExp = extractFloat64Exp( a ); in float64_mul()
2948 if ( aExp == 0x7FF ) { in float64_mul()
2960 if ( ( aExp | aSig ) == 0 ) { in float64_mul()
2966 if ( aExp == 0 ) { in float64_mul()
2968 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_mul()
2974 zExp = aExp + bExp - 0x3FF; in float64_mul()
2996 int16 aExp, bExp, zExp; in float64_div() local
3002 aExp = extractFloat64Exp( a ); in float64_div()
3008 if ( aExp == 0x7FF ) { in float64_div()
3023 if ( ( aExp | aSig ) == 0 ) { in float64_div()
3032 if ( aExp == 0 ) { in float64_div()
3034 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_div()
3036 zExp = aExp - bExp + 0x3FD; in float64_div()
3066 int16 aExp, bExp, expDiff; in float64_rem() local
3072 aExp = extractFloat64Exp( a ); in float64_rem()
3077 if ( aExp == 0x7FF ) { in float64_rem()
3095 if ( aExp == 0 ) { in float64_rem()
3097 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_rem()
3099 expDiff = aExp - bExp; in float64_rem()
3151 int16 aExp, zExp; in float64_sqrt() local
3156 aExp = extractFloat64Exp( a ); in float64_sqrt()
3158 if ( aExp == 0x7FF ) { in float64_sqrt()
3165 if ( ( aExp | aSig ) == 0 ) return a; in float64_sqrt()
3169 if ( aExp == 0 ) { in float64_sqrt()
3171 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_sqrt()
3173 zExp = ( ( aExp - 0x3FF )>>1 ) + 0x3FE; in float64_sqrt()
3175 zSig = estimateSqrt32( aExp, aSig>>21 ); in float64_sqrt()
3176 aSig <<= 9 - ( aExp & 1 ); in float64_sqrt()
3201 int16 aExp; in float64_log2() local
3205 aExp = extractFloat64Exp( a ); in float64_log2()
3208 if ( aExp == 0 ) { in float64_log2()
3210 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_log2()
3216 if ( aExp == 0x7FF ) { in float64_log2()
3221 aExp -= 0x3FF; in float64_log2()
3223 zSign = aExp < 0; in float64_log2()
3224 zSig = (bits64)aExp << 52; in float64_log2()
3412 int32 aExp, shiftCount; in floatx80_to_int32() local
3416 aExp = extractFloatx80Exp( a ); in floatx80_to_int32()
3418 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) aSign = 0; in floatx80_to_int32()
3419 shiftCount = 0x4037 - aExp; in floatx80_to_int32()
3439 int32 aExp, shiftCount; in floatx80_to_int32_round_to_zero() local
3444 aExp = extractFloatx80Exp( a ); in floatx80_to_int32_round_to_zero()
3446 if ( 0x401E < aExp ) { in floatx80_to_int32_round_to_zero()
3447 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) aSign = 0; in floatx80_to_int32_round_to_zero()
3450 else if ( aExp < 0x3FFF ) { in floatx80_to_int32_round_to_zero()
3451 if ( aExp || aSig ) STATUS(float_exception_flags) |= float_flag_inexact; in floatx80_to_int32_round_to_zero()
3454 shiftCount = 0x403E - aExp; in floatx80_to_int32_round_to_zero()
3484 int32 aExp, shiftCount; in floatx80_to_int64() local
3488 aExp = extractFloatx80Exp( a ); in floatx80_to_int64()
3490 shiftCount = 0x403E - aExp; in floatx80_to_int64()
3495 || ( ( aExp == 0x7FFF ) in floatx80_to_int64()
3524 int32 aExp, shiftCount; in floatx80_to_int64_round_to_zero() local
3529 aExp = extractFloatx80Exp( a ); in floatx80_to_int64_round_to_zero()
3531 shiftCount = aExp - 0x403E; in floatx80_to_int64_round_to_zero()
3536 if ( ! aSign || ( ( aExp == 0x7FFF ) && aSig ) ) { in floatx80_to_int64_round_to_zero()
3542 else if ( aExp < 0x3FFF ) { in floatx80_to_int64_round_to_zero()
3543 if ( aExp | aSig ) STATUS(float_exception_flags) |= float_flag_inexact; in floatx80_to_int64_round_to_zero()
3565 int32 aExp; in floatx80_to_float32() local
3569 aExp = extractFloatx80Exp( a ); in floatx80_to_float32()
3571 if ( aExp == 0x7FFF ) { in floatx80_to_float32()
3578 if ( aExp || aSig ) aExp -= 0x3F81; in floatx80_to_float32()
3579 return roundAndPackFloat32( aSign, aExp, aSig STATUS_VAR ); in floatx80_to_float32()
3593 int32 aExp; in floatx80_to_float64() local
3597 aExp = extractFloatx80Exp( a ); in floatx80_to_float64()
3599 if ( aExp == 0x7FFF ) { in floatx80_to_float64()
3606 if ( aExp || aSig ) aExp -= 0x3C01; in floatx80_to_float64()
3607 return roundAndPackFloat64( aSign, aExp, zSig STATUS_VAR ); in floatx80_to_float64()
3623 int16 aExp; in floatx80_to_float128() local
3627 aExp = extractFloatx80Exp( a ); in floatx80_to_float128()
3629 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) { in floatx80_to_float128()
3633 return packFloat128( aSign, aExp, zSig0, zSig1 ); in floatx80_to_float128()
3649 int32 aExp; in floatx80_round_to_int() local
3654 aExp = extractFloatx80Exp( a ); in floatx80_round_to_int()
3655 if ( 0x403E <= aExp ) { in floatx80_round_to_int()
3656 if ( ( aExp == 0x7FFF ) && (bits64) ( extractFloatx80Frac( a )<<1 ) ) { in floatx80_round_to_int()
3661 if ( aExp < 0x3FFF ) { in floatx80_round_to_int()
3662 if ( ( aExp == 0 ) in floatx80_round_to_int()
3670 if ( ( aExp == 0x3FFE ) && (bits64) ( extractFloatx80Frac( a )<<1 ) in floatx80_round_to_int()
3689 lastBitMask <<= 0x403E - aExp; in floatx80_round_to_int()
3722 int32 aExp, bExp, zExp; in addFloatx80Sigs() local
3727 aExp = extractFloatx80Exp( a ); in addFloatx80Sigs()
3730 expDiff = aExp - bExp; in addFloatx80Sigs()
3732 if ( aExp == 0x7FFF ) { in addFloatx80Sigs()
3738 zExp = aExp; in addFloatx80Sigs()
3745 if ( aExp == 0 ) ++expDiff; in addFloatx80Sigs()
3750 if ( aExp == 0x7FFF ) { in addFloatx80Sigs()
3758 if ( aExp == 0 ) { in addFloatx80Sigs()
3762 zExp = aExp; in addFloatx80Sigs()
3788 int32 aExp, bExp, zExp; in subFloatx80Sigs() local
3794 aExp = extractFloatx80Exp( a ); in subFloatx80Sigs()
3797 expDiff = aExp - bExp; in subFloatx80Sigs()
3800 if ( aExp == 0x7FFF ) { in subFloatx80Sigs()
3809 if ( aExp == 0 ) { in subFloatx80Sigs()
3810 aExp = 1; in subFloatx80Sigs()
3822 if ( aExp == 0 ) ++expDiff; in subFloatx80Sigs()
3830 if ( aExp == 0x7FFF ) { in subFloatx80Sigs()
3838 zExp = aExp; in subFloatx80Sigs()
3897 int32 aExp, bExp, zExp; in floatx80_mul() local
3902 aExp = extractFloatx80Exp( a ); in floatx80_mul()
3908 if ( aExp == 0x7FFF ) { in floatx80_mul()
3918 if ( ( aExp | aSig ) == 0 ) { in floatx80_mul()
3927 if ( aExp == 0 ) { in floatx80_mul()
3929 normalizeFloatx80Subnormal( aSig, &aExp, &aSig ); in floatx80_mul()
3935 zExp = aExp + bExp - 0x3FFE; in floatx80_mul()
3956 int32 aExp, bExp, zExp; in floatx80_div() local
3962 aExp = extractFloatx80Exp( a ); in floatx80_div()
3968 if ( aExp == 0x7FFF ) { in floatx80_div()
3982 if ( ( aExp | aSig ) == 0 ) { in floatx80_div()
3994 if ( aExp == 0 ) { in floatx80_div()
3996 normalizeFloatx80Subnormal( aSig, &aExp, &aSig ); in floatx80_div()
3998 zExp = aExp - bExp + 0x3FFE; in floatx80_div()
4036 int32 aExp, bExp, expDiff; in floatx80_rem() local
4042 aExp = extractFloatx80Exp( a ); in floatx80_rem()
4047 if ( aExp == 0x7FFF ) { in floatx80_rem()
4068 if ( aExp == 0 ) { in floatx80_rem()
4070 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); in floatx80_rem()
4074 expDiff = aExp - bExp; in floatx80_rem()
4133 int32 aExp, zExp; in floatx80_sqrt() local
4139 aExp = extractFloatx80Exp( a ); in floatx80_sqrt()
4141 if ( aExp == 0x7FFF ) { in floatx80_sqrt()
4147 if ( ( aExp | aSig0 ) == 0 ) return a; in floatx80_sqrt()
4154 if ( aExp == 0 ) { in floatx80_sqrt()
4156 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); in floatx80_sqrt()
4158 zExp = ( ( aExp - 0x3FFF )>>1 ) + 0x3FFF; in floatx80_sqrt()
4159 zSig0 = estimateSqrt32( aExp, aSig0>>32 ); in floatx80_sqrt()
4160 shift128Right( aSig0, 0, 2 + ( aExp & 1 ), &aSig0, &aSig1 ); in floatx80_sqrt()
4406 int32 aExp, shiftCount; in float128_to_int32() local
4411 aExp = extractFloat128Exp( a ); in float128_to_int32()
4413 if ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) aSign = 0; in float128_to_int32()
4414 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int32()
4416 shiftCount = 0x4028 - aExp; in float128_to_int32()
4435 int32 aExp, shiftCount; in float128_to_int32_round_to_zero() local
4441 aExp = extractFloat128Exp( a ); in float128_to_int32_round_to_zero()
4444 if ( 0x401E < aExp ) { in float128_to_int32_round_to_zero()
4445 if ( ( aExp == 0x7FFF ) && aSig0 ) aSign = 0; in float128_to_int32_round_to_zero()
4448 else if ( aExp < 0x3FFF ) { in float128_to_int32_round_to_zero()
4449 if ( aExp || aSig0 ) STATUS(float_exception_flags) |= float_flag_inexact; in float128_to_int32_round_to_zero()
4453 shiftCount = 0x402F - aExp; in float128_to_int32_round_to_zero()
4483 int32 aExp, shiftCount; in float128_to_int64() local
4488 aExp = extractFloat128Exp( a ); in float128_to_int64()
4490 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int64()
4491 shiftCount = 0x402F - aExp; in float128_to_int64()
4493 if ( 0x403E < aExp ) { in float128_to_int64()
4496 || ( ( aExp == 0x7FFF ) in float128_to_int64()
4526 int32 aExp, shiftCount; in float128_to_int64_round_to_zero() local
4532 aExp = extractFloat128Exp( a ); in float128_to_int64_round_to_zero()
4534 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int64_round_to_zero()
4535 shiftCount = aExp - 0x402F; in float128_to_int64_round_to_zero()
4537 if ( 0x403E <= aExp ) { in float128_to_int64_round_to_zero()
4545 if ( ! aSign || ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) ) { in float128_to_int64_round_to_zero()
4557 if ( aExp < 0x3FFF ) { in float128_to_int64_round_to_zero()
4558 if ( aExp | aSig0 | aSig1 ) { in float128_to_int64_round_to_zero()
4584 int32 aExp; in float128_to_float32() local
4590 aExp = extractFloat128Exp( a ); in float128_to_float32()
4592 if ( aExp == 0x7FFF ) { in float128_to_float32()
4601 if ( aExp || zSig ) { in float128_to_float32()
4603 aExp -= 0x3F81; in float128_to_float32()
4605 return roundAndPackFloat32( aSign, aExp, zSig STATUS_VAR ); in float128_to_float32()
4619 int32 aExp; in float128_to_float64() local
4624 aExp = extractFloat128Exp( a ); in float128_to_float64()
4626 if ( aExp == 0x7FFF ) { in float128_to_float64()
4634 if ( aExp || aSig0 ) { in float128_to_float64()
4636 aExp -= 0x3C01; in float128_to_float64()
4638 return roundAndPackFloat64( aSign, aExp, aSig0 STATUS_VAR ); in float128_to_float64()
4654 int32 aExp; in float128_to_floatx80() local
4659 aExp = extractFloat128Exp( a ); in float128_to_floatx80()
4661 if ( aExp == 0x7FFF ) { in float128_to_floatx80()
4667 if ( aExp == 0 ) { in float128_to_floatx80()
4669 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_to_floatx80()
4675 return roundAndPackFloatx80( 80, aSign, aExp, aSig0, aSig1 STATUS_VAR ); in float128_to_floatx80()
4691 int32 aExp; in float128_round_to_int() local
4696 aExp = extractFloat128Exp( a ); in float128_round_to_int()
4697 if ( 0x402F <= aExp ) { in float128_round_to_int()
4698 if ( 0x406F <= aExp ) { in float128_round_to_int()
4699 if ( ( aExp == 0x7FFF ) in float128_round_to_int()
4707 lastBitMask = ( lastBitMask<<( 0x406E - aExp ) )<<1; in float128_round_to_int()
4732 if ( aExp < 0x3FFF ) { in float128_round_to_int()
4738 if ( ( aExp == 0x3FFE ) in float128_round_to_int()
4757 lastBitMask <<= 0x402F - aExp; in float128_round_to_int()
4794 int32 aExp, bExp, zExp; in addFloat128Sigs() local
4800 aExp = extractFloat128Exp( a ); in addFloat128Sigs()
4804 expDiff = aExp - bExp; in addFloat128Sigs()
4806 if ( aExp == 0x7FFF ) { in addFloat128Sigs()
4818 zExp = aExp; in addFloat128Sigs()
4825 if ( aExp == 0 ) { in addFloat128Sigs()
4836 if ( aExp == 0x7FFF ) { in addFloat128Sigs()
4843 if ( aExp == 0 ) { in addFloat128Sigs()
4849 zExp = aExp; in addFloat128Sigs()
4875 int32 aExp, bExp, zExp; in subFloat128Sigs() local
4882 aExp = extractFloat128Exp( a ); in subFloat128Sigs()
4886 expDiff = aExp - bExp; in subFloat128Sigs()
4891 if ( aExp == 0x7FFF ) { in subFloat128Sigs()
4900 if ( aExp == 0 ) { in subFloat128Sigs()
4901 aExp = 1; in subFloat128Sigs()
4914 if ( aExp == 0 ) { in subFloat128Sigs()
4928 if ( aExp == 0x7FFF ) { in subFloat128Sigs()
4942 zExp = aExp; in subFloat128Sigs()
5000 int32 aExp, bExp, zExp; in float128_mul() local
5006 aExp = extractFloat128Exp( a ); in float128_mul()
5013 if ( aExp == 0x7FFF ) { in float128_mul()
5023 if ( ( aExp | aSig0 | aSig1 ) == 0 ) { in float128_mul()
5032 if ( aExp == 0 ) { in float128_mul()
5034 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_mul()
5040 zExp = aExp + bExp - 0x4000; in float128_mul()
5064 int32 aExp, bExp, zExp; in float128_div() local
5071 aExp = extractFloat128Exp( a ); in float128_div()
5078 if ( aExp == 0x7FFF ) { in float128_div()
5092 if ( ( aExp | aSig0 | aSig1 ) == 0 ) { in float128_div()
5104 if ( aExp == 0 ) { in float128_div()
5106 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_div()
5108 zExp = aExp - bExp + 0x3FFD; in float128_div()
5148 int32 aExp, bExp, expDiff; in float128_rem() local
5156 aExp = extractFloat128Exp( a ); in float128_rem()
5162 if ( aExp == 0x7FFF ) { in float128_rem()
5183 if ( aExp == 0 ) { in float128_rem()
5185 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_rem()
5187 expDiff = aExp - bExp; in float128_rem()
5258 int32 aExp, zExp; in float128_sqrt() local
5265 aExp = extractFloat128Exp( a ); in float128_sqrt()
5267 if ( aExp == 0x7FFF ) { in float128_sqrt()
5273 if ( ( aExp | aSig0 | aSig1 ) == 0 ) return a; in float128_sqrt()
5280 if ( aExp == 0 ) { in float128_sqrt()
5282 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_sqrt()
5284 zExp = ( ( aExp - 0x3FFF )>>1 ) + 0x3FFE; in float128_sqrt()
5286 zSig0 = estimateSqrt32( aExp, aSig0>>17 ); in float128_sqrt()
5287 shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 ); in float128_sqrt()
5718 int16 aExp; in float32_scalbn() local
5722 aExp = extractFloat32Exp( a ); in float32_scalbn()
5725 if ( aExp == 0xFF ) { in float32_scalbn()
5728 if ( aExp != 0 ) in float32_scalbn()
5733 aExp += n - 1; in float32_scalbn()
5735 return normalizeRoundAndPackFloat32( aSign, aExp, aSig STATUS_VAR ); in float32_scalbn()
5741 int16 aExp; in float64_scalbn() local
5745 aExp = extractFloat64Exp( a ); in float64_scalbn()
5748 if ( aExp == 0x7FF ) { in float64_scalbn()
5751 if ( aExp != 0 ) in float64_scalbn()
5756 aExp += n - 1; in float64_scalbn()
5758 return normalizeRoundAndPackFloat64( aSign, aExp, aSig STATUS_VAR ); in float64_scalbn()
5765 int16 aExp; in floatx80_scalbn() local
5769 aExp = extractFloatx80Exp( a ); in floatx80_scalbn()
5772 if ( aExp == 0x7FF ) { in floatx80_scalbn()
5775 if (aExp == 0 && aSig == 0) in floatx80_scalbn()
5778 aExp += n; in floatx80_scalbn()
5780 aSign, aExp, aSig, 0 STATUS_VAR ); in floatx80_scalbn()
5788 int32 aExp; in float128_scalbn() local
5793 aExp = extractFloat128Exp( a ); in float128_scalbn()
5795 if ( aExp == 0x7FFF ) { in float128_scalbn()
5798 if ( aExp != 0 ) in float128_scalbn()
5803 aExp += n - 1; in float128_scalbn()
5804 return normalizeRoundAndPackFloat128( aSign, aExp, aSig0, aSig1 in float128_scalbn()