Lines Matching refs:zExp
274 INLINE float32 packFloat32( flag zSign, int16 zExp, bits32 zSig ) in packFloat32() argument
277 return ( ( (bits32) zSign )<<31 ) + ( ( (bits32) zExp )<<23 ) + zSig; in packFloat32()
304 static float32 roundAndPackFloat32( flag zSign, int16 zExp, bits32 zSig ) in roundAndPackFloat32() argument
329 if ( 0xFD <= (bits16) zExp ) { in roundAndPackFloat32()
330 if ( ( 0xFD < zExp ) in roundAndPackFloat32()
331 || ( ( zExp == 0xFD ) in roundAndPackFloat32()
337 if ( zExp < 0 ) { in roundAndPackFloat32()
340 || ( zExp < -1 ) in roundAndPackFloat32()
342 shift32RightJamming( zSig, - zExp, &zSig ); in roundAndPackFloat32()
343 zExp = 0; in roundAndPackFloat32()
351 if ( zSig == 0 ) zExp = 0; in roundAndPackFloat32()
352 return packFloat32( zSign, zExp, zSig ); in roundAndPackFloat32()
367 normalizeRoundAndPackFloat32( flag zSign, int16 zExp, bits32 zSig ) in normalizeRoundAndPackFloat32() argument
372 return roundAndPackFloat32( zSign, zExp - shiftCount, zSig<<shiftCount ); in normalizeRoundAndPackFloat32()
443 INLINE float64 packFloat64( flag zSign, int16 zExp, bits64 zSig ) in packFloat64() argument
447 ( ( (bits64) zExp )<<52 ) + zSig ); in packFloat64()
474 static float64 roundAndPackFloat64( flag zSign, int16 zExp, bits64 zSig ) in roundAndPackFloat64() argument
499 if ( 0x7FD <= (bits16) zExp ) { in roundAndPackFloat64()
500 if ( ( 0x7FD < zExp ) in roundAndPackFloat64()
501 || ( ( zExp == 0x7FD ) in roundAndPackFloat64()
509 if ( zExp < 0 ) { in roundAndPackFloat64()
512 || ( zExp < -1 ) in roundAndPackFloat64()
514 shift64RightJamming( zSig, - zExp, &zSig ); in roundAndPackFloat64()
515 zExp = 0; in roundAndPackFloat64()
523 if ( zSig == 0 ) zExp = 0; in roundAndPackFloat64()
524 return packFloat64( zSign, zExp, zSig ); in roundAndPackFloat64()
539 normalizeRoundAndPackFloat64( flag zSign, int16 zExp, bits64 zSig ) in normalizeRoundAndPackFloat64() argument
544 return roundAndPackFloat64( zSign, zExp - shiftCount, zSig<<shiftCount ); in normalizeRoundAndPackFloat64()
614 INLINE floatx80 packFloatx80( flag zSign, int32 zExp, bits64 zSig ) in packFloatx80() argument
619 z.high = ( ( (bits16) zSign )<<15 ) + zExp; in packFloatx80()
651 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 in roundAndPackFloatx80() argument
688 if ( 0x7FFD <= (bits32) ( zExp - 1 ) ) { in roundAndPackFloatx80()
689 if ( ( 0x7FFE < zExp ) in roundAndPackFloatx80()
690 || ( ( zExp == 0x7FFE ) && ( zSig0 + roundIncrement < zSig0 ) ) in roundAndPackFloatx80()
694 if ( zExp <= 0 ) { in roundAndPackFloatx80()
697 || ( zExp < 0 ) in roundAndPackFloatx80()
699 shift64RightJamming( zSig0, 1 - zExp, &zSig0 ); in roundAndPackFloatx80()
700 zExp = 0; in roundAndPackFloatx80()
705 if ( (sbits64) zSig0 < 0 ) zExp = 1; in roundAndPackFloatx80()
711 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
717 ++zExp; in roundAndPackFloatx80()
725 if ( zSig0 == 0 ) zExp = 0; in roundAndPackFloatx80()
726 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
742 if ( 0x7FFD <= (bits32) ( zExp - 1 ) ) { in roundAndPackFloatx80()
743 if ( ( 0x7FFE < zExp ) in roundAndPackFloatx80()
744 || ( ( zExp == 0x7FFE ) in roundAndPackFloatx80()
760 if ( zExp <= 0 ) { in roundAndPackFloatx80()
763 || ( zExp < 0 ) in roundAndPackFloatx80()
766 shift64ExtraRightJamming( zSig0, zSig1, 1 - zExp, &zSig0, &zSig1 ); in roundAndPackFloatx80()
767 zExp = 0; in roundAndPackFloatx80()
785 if ( (sbits64) zSig0 < 0 ) zExp = 1; in roundAndPackFloatx80()
787 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
794 ++zExp; in roundAndPackFloatx80()
802 if ( zSig0 == 0 ) zExp = 0; in roundAndPackFloatx80()
804 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
820 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 in normalizeRoundAndPackFloatx80() argument
828 zExp -= 64; in normalizeRoundAndPackFloatx80()
832 zExp -= shiftCount; in normalizeRoundAndPackFloatx80()
834 roundAndPackFloatx80( roundingPrecision, zSign, zExp, zSig0, zSig1 ); in normalizeRoundAndPackFloatx80()
950 packFloat128( flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 ) in packFloat128() argument
955 z.high = ( ( (bits64) zSign )<<63 ) + ( ( (bits64) zExp )<<48 ) + zSig0; in packFloat128()
984 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1, bits64 zSig2 ) in roundAndPackFloat128() argument
1005 if ( 0x7FFD <= (bits32) zExp ) { in roundAndPackFloat128()
1006 if ( ( 0x7FFD < zExp ) in roundAndPackFloat128()
1007 || ( ( zExp == 0x7FFD ) in roundAndPackFloat128()
1032 if ( zExp < 0 ) { in roundAndPackFloat128()
1035 || ( zExp < -1 ) in roundAndPackFloat128()
1044 zSig0, zSig1, zSig2, - zExp, &zSig0, &zSig1, &zSig2 ); in roundAndPackFloat128()
1045 zExp = 0; in roundAndPackFloat128()
1066 if ( ( zSig0 | zSig1 ) == 0 ) zExp = 0; in roundAndPackFloat128()
1068 return packFloat128( zSign, zExp, zSig0, zSig1 ); in roundAndPackFloat128()
1085 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 ) in normalizeRoundAndPackFloat128() argument
1093 zExp -= 64; in normalizeRoundAndPackFloat128()
1104 zExp -= shiftCount; in normalizeRoundAndPackFloat128()
1105 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 ); in normalizeRoundAndPackFloat128()
1349 int32 zExp; in int64_to_float128() local
1356 zExp = 0x406E - shiftCount; in int64_to_float128()
1367 return packFloat128( zSign, zExp, zSig0, zSig1 ); in int64_to_float128()
1708 int16 aExp, bExp, zExp; in addFloat32Sigs() local
1731 zExp = aExp; in addFloat32Sigs()
1745 zExp = bExp; in addFloat32Sigs()
1754 zExp = aExp; in addFloat32Sigs()
1759 --zExp; in addFloat32Sigs()
1762 ++zExp; in addFloat32Sigs()
1765 return roundAndPackFloat32( zSign, zExp, zSig ); in addFloat32Sigs()
1780 int16 aExp, bExp, zExp; in subFloat32Sigs() local
1820 zExp = bExp; in subFloat32Sigs()
1838 zExp = aExp; in subFloat32Sigs()
1840 --zExp; in subFloat32Sigs()
1841 return normalizeRoundAndPackFloat32( zSign, zExp, zSig ); in subFloat32Sigs()
1899 int16 aExp, bExp, zExp; in float32_mul() local
1937 zExp = aExp + bExp - 0x7F; in float32_mul()
1944 --zExp; in float32_mul()
1946 return roundAndPackFloat32( zSign, zExp, zSig ); in float32_mul()
1960 int16 aExp, bExp, zExp; in float32_div() local
1998 zExp = aExp - bExp + 0x7D; in float32_div()
2003 ++zExp; in float32_div()
2009 return roundAndPackFloat32( zSign, zExp, zSig ); in float32_div()
2127 int16 aExp, zExp; in float32_sqrt() local
2149 zExp = ( ( aExp - 0x7F )>>1 ) + 0x7E; in float32_sqrt()
2168 return roundAndPackFloat32( 0, zExp, zSig ); in float32_sqrt()
2674 int16 aExp, bExp, zExp; in addFloat64Sigs() local
2697 zExp = aExp; in addFloat64Sigs()
2711 zExp = bExp; in addFloat64Sigs()
2720 zExp = aExp; in addFloat64Sigs()
2725 --zExp; in addFloat64Sigs()
2728 ++zExp; in addFloat64Sigs()
2731 return roundAndPackFloat64( zSign, zExp, zSig ); in addFloat64Sigs()
2746 int16 aExp, bExp, zExp; in subFloat64Sigs() local
2786 zExp = bExp; in subFloat64Sigs()
2804 zExp = aExp; in subFloat64Sigs()
2806 --zExp; in subFloat64Sigs()
2807 return normalizeRoundAndPackFloat64( zSign, zExp, zSig ); in subFloat64Sigs()
2865 int16 aExp, bExp, zExp; in float64_mul() local
2901 zExp = aExp + bExp - 0x3FF; in float64_mul()
2908 --zExp; in float64_mul()
2910 return roundAndPackFloat64( zSign, zExp, zSig0 ); in float64_mul()
2924 int16 aExp, bExp, zExp; in float64_div() local
2964 zExp = aExp - bExp + 0x3FD; in float64_div()
2969 ++zExp; in float64_div()
2981 return roundAndPackFloat64( zSign, zExp, zSig ); in float64_div()
3082 int16 aExp, zExp; in float64_sqrt() local
3104 zExp = ( ( aExp - 0x3FF )>>1 ) + 0x3FE; in float64_sqrt()
3120 return roundAndPackFloat64( 0, zExp, zSig ); in float64_sqrt()
3618 int32 aExp, bExp, zExp; in addFloatx80Sigs() local
3634 zExp = aExp; in addFloatx80Sigs()
3643 zExp = bExp; in addFloatx80Sigs()
3655 normalizeFloatx80Subnormal( zSig0, &zExp, &zSig0 ); in addFloatx80Sigs()
3658 zExp = aExp; in addFloatx80Sigs()
3666 ++zExp; in addFloatx80Sigs()
3670 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 ); in addFloatx80Sigs()
3685 int32 aExp, bExp, zExp; in subFloatx80Sigs() local
3723 zExp = bExp; in subFloatx80Sigs()
3735 zExp = aExp; in subFloatx80Sigs()
3739 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 ); in subFloatx80Sigs()
3797 int32 aExp, bExp, zExp; in floatx80_mul() local
3835 zExp = aExp + bExp - 0x3FFE; in floatx80_mul()
3839 --zExp; in floatx80_mul()
3843 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 ); in floatx80_mul()
3857 int32 aExp, bExp, zExp; in floatx80_div() local
3899 zExp = aExp - bExp + 0x3FFE; in floatx80_div()
3903 ++zExp; in floatx80_div()
3924 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 ); in floatx80_div()
4036 int32 aExp, zExp; in floatx80_sqrt() local
4061 zExp = ( ( aExp - 0x3FFF )>>1 ) + 0x3FFF; in floatx80_sqrt()
4093 floatx80_rounding_precision, 0, zExp, zSig0, zSig1 ); in floatx80_sqrt()
4767 int32 aExp, bExp, zExp; in addFloat128Sigs() local
4791 zExp = aExp; in addFloat128Sigs()
4806 zExp = bExp; in addFloat128Sigs()
4819 zExp = aExp; in addFloat128Sigs()
4824 --zExp; in addFloat128Sigs()
4826 ++zExp; in addFloat128Sigs()
4831 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 ); in addFloat128Sigs()
4846 int32 aExp, bExp, zExp; in subFloat128Sigs() local
4895 zExp = bExp; in subFloat128Sigs()
4913 zExp = aExp; in subFloat128Sigs()
4915 --zExp; in subFloat128Sigs()
4916 return normalizeRoundAndPackFloat128( zSign, zExp - 14, zSig0, zSig1 ); in subFloat128Sigs()
4974 int32 aExp, bExp, zExp; in float128_mul() local
5014 zExp = aExp + bExp - 0x4000; in float128_mul()
5023 ++zExp; in float128_mul()
5025 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 ); in float128_mul()
5039 int32 aExp, bExp, zExp; in float128_div() local
5083 zExp = aExp - bExp + 0x3FFD; in float128_div()
5090 ++zExp; in float128_div()
5110 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 ); in float128_div()
5235 int32 aExp, zExp; in float128_sqrt() local
5261 zExp = ( ( aExp - 0x3FFF )>>1 ) + 0x3FFE; in float128_sqrt()
5291 return roundAndPackFloat128( 0, zExp, zSig0, zSig1, zSig2 ); in float128_sqrt()