Lines Matching refs:zExp
177 INLINE float32 packFloat32( flag zSign, int16 zExp, bits32 zSig ) in packFloat32() argument
186 : "g" (f), "g" (zSign), "g" (zExp), "g" (zSig) in packFloat32()
190 return ( ( (bits32) zSign )<<31 ) + ( ( (bits32) zExp )<<23 ) + zSig; in packFloat32()
217 static float32 roundAndPackFloat32( struct roundingData *roundData, flag zSign, int16 zExp, bits32 … in roundAndPackFloat32() argument
242 if ( 0xFD <= (bits16) zExp ) { in roundAndPackFloat32()
243 if ( ( 0xFD < zExp ) in roundAndPackFloat32()
244 || ( ( zExp == 0xFD ) in roundAndPackFloat32()
250 if ( zExp < 0 ) { in roundAndPackFloat32()
253 || ( zExp < -1 ) in roundAndPackFloat32()
255 shift32RightJamming( zSig, - zExp, &zSig ); in roundAndPackFloat32()
256 zExp = 0; in roundAndPackFloat32()
264 if ( zSig == 0 ) zExp = 0; in roundAndPackFloat32()
265 return packFloat32( zSign, zExp, zSig ); in roundAndPackFloat32()
280 normalizeRoundAndPackFloat32( struct roundingData *roundData, flag zSign, int16 zExp, bits32 zSig ) in normalizeRoundAndPackFloat32() argument
285 return roundAndPackFloat32( roundData, zSign, zExp - shiftCount, zSig<<shiftCount ); in normalizeRoundAndPackFloat32()
358 INLINE float64 packFloat64( flag zSign, int16 zExp, bits64 zSig ) in packFloat64() argument
361 return ( ( (bits64) zSign )<<63 ) + ( ( (bits64) zExp )<<52 ) + zSig; in packFloat64()
388 static float64 roundAndPackFloat64( struct roundingData *roundData, flag zSign, int16 zExp, bits64 … in roundAndPackFloat64() argument
413 if ( 0x7FD <= (bits16) zExp ) { in roundAndPackFloat64()
414 if ( ( 0x7FD < zExp ) in roundAndPackFloat64()
415 || ( ( zExp == 0x7FD ) in roundAndPackFloat64()
423 if ( zExp < 0 ) { in roundAndPackFloat64()
426 || ( zExp < -1 ) in roundAndPackFloat64()
428 shift64RightJamming( zSig, - zExp, &zSig ); in roundAndPackFloat64()
429 zExp = 0; in roundAndPackFloat64()
437 if ( zSig == 0 ) zExp = 0; in roundAndPackFloat64()
438 return packFloat64( zSign, zExp, zSig ); in roundAndPackFloat64()
453 normalizeRoundAndPackFloat64( struct roundingData *roundData, flag zSign, int16 zExp, bits64 zSig ) in normalizeRoundAndPackFloat64() argument
458 return roundAndPackFloat64( roundData, zSign, zExp - shiftCount, zSig<<shiftCount ); in normalizeRoundAndPackFloat64()
528 INLINE floatx80 packFloatx80( flag zSign, int32 zExp, bits64 zSig ) in packFloatx80() argument
533 z.high = ( ( (bits16) zSign )<<15 ) + zExp; in packFloatx80()
566 struct roundingData *roundData, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 in roundAndPackFloatx80() argument
604 if ( 0x7FFD <= (bits32) ( zExp - 1 ) ) { in roundAndPackFloatx80()
605 if ( ( 0x7FFE < zExp ) in roundAndPackFloatx80()
606 || ( ( zExp == 0x7FFE ) && ( zSig0 + roundIncrement < zSig0 ) ) in roundAndPackFloatx80()
610 if ( zExp <= 0 ) { in roundAndPackFloatx80()
613 || ( zExp < 0 ) in roundAndPackFloatx80()
615 shift64RightJamming( zSig0, 1 - zExp, &zSig0 ); in roundAndPackFloatx80()
616 zExp = 0; in roundAndPackFloatx80()
621 if ( (sbits64) zSig0 < 0 ) zExp = 1; in roundAndPackFloatx80()
627 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
633 ++zExp; in roundAndPackFloatx80()
641 if ( zSig0 == 0 ) zExp = 0; in roundAndPackFloatx80()
642 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
658 if ( 0x7FFD <= (bits32) ( zExp - 1 ) ) { in roundAndPackFloatx80()
659 if ( ( 0x7FFE < zExp ) in roundAndPackFloatx80()
660 || ( ( zExp == 0x7FFE ) in roundAndPackFloatx80()
676 if ( zExp <= 0 ) { in roundAndPackFloatx80()
679 || ( zExp < 0 ) in roundAndPackFloatx80()
682 shift64ExtraRightJamming( zSig0, zSig1, 1 - zExp, &zSig0, &zSig1 ); in roundAndPackFloatx80()
683 zExp = 0; in roundAndPackFloatx80()
700 if ( (sbits64) zSig0 < 0 ) zExp = 1; in roundAndPackFloatx80()
702 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
709 ++zExp; in roundAndPackFloatx80()
717 if ( zSig0 == 0 ) zExp = 0; in roundAndPackFloatx80()
720 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
735 struct roundingData *roundData, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 in normalizeRoundAndPackFloatx80() argument
743 zExp -= 64; in normalizeRoundAndPackFloatx80()
747 zExp -= shiftCount; in normalizeRoundAndPackFloatx80()
749 roundAndPackFloatx80( roundData, zSign, zExp, zSig0, zSig1 ); in normalizeRoundAndPackFloatx80()
1031 int16 aExp, bExp, zExp; in addFloat32Sigs() local
1054 zExp = aExp; in addFloat32Sigs()
1068 zExp = bExp; in addFloat32Sigs()
1077 zExp = aExp; in addFloat32Sigs()
1082 --zExp; in addFloat32Sigs()
1085 ++zExp; in addFloat32Sigs()
1088 return roundAndPackFloat32( roundData, zSign, zExp, zSig ); in addFloat32Sigs()
1103 int16 aExp, bExp, zExp; in subFloat32Sigs() local
1143 zExp = bExp; in subFloat32Sigs()
1161 zExp = aExp; in subFloat32Sigs()
1163 --zExp; in subFloat32Sigs()
1164 return normalizeRoundAndPackFloat32( roundData, zSign, zExp, zSig ); in subFloat32Sigs()
1222 int16 aExp, bExp, zExp; in float32_mul() local
1260 zExp = aExp + bExp - 0x7F; in float32_mul()
1267 --zExp; in float32_mul()
1269 return roundAndPackFloat32( roundData, zSign, zExp, zSig ); in float32_mul()
1283 int16 aExp, bExp, zExp; in float32_div() local
1321 zExp = aExp - bExp + 0x7D; in float32_div()
1326 ++zExp; in float32_div()
1336 return roundAndPackFloat32( roundData, zSign, zExp, zSig ); in float32_div()
1453 int16 aExp, zExp; in float32_sqrt() local
1475 zExp = ( ( aExp - 0x7F )>>1 ) + 0x7E; in float32_sqrt()
1494 return roundAndPackFloat32( roundData, 0, zExp, zSig ); in float32_sqrt()
1927 int16 aExp, bExp, zExp; in addFloat64Sigs() local
1950 zExp = aExp; in addFloat64Sigs()
1964 zExp = bExp; in addFloat64Sigs()
1973 zExp = aExp; in addFloat64Sigs()
1978 --zExp; in addFloat64Sigs()
1981 ++zExp; in addFloat64Sigs()
1984 return roundAndPackFloat64( roundData, zSign, zExp, zSig ); in addFloat64Sigs()
1999 int16 aExp, bExp, zExp; in subFloat64Sigs() local
2039 zExp = bExp; in subFloat64Sigs()
2057 zExp = aExp; in subFloat64Sigs()
2059 --zExp; in subFloat64Sigs()
2060 return normalizeRoundAndPackFloat64( roundData, zSign, zExp, zSig ); in subFloat64Sigs()
2118 int16 aExp, bExp, zExp; in float64_mul() local
2154 zExp = aExp + bExp - 0x3FF; in float64_mul()
2161 --zExp; in float64_mul()
2163 return roundAndPackFloat64( roundData, zSign, zExp, zSig0 ); in float64_mul()
2177 int16 aExp, bExp, zExp; in float64_div() local
2217 zExp = aExp - bExp + 0x3FD; in float64_div()
2222 ++zExp; in float64_div()
2234 return roundAndPackFloat64( roundData, zSign, zExp, zSig ); in float64_div()
2334 int16 aExp, zExp; in float64_sqrt() local
2357 zExp = ( ( aExp - 0x3FF )>>1 ) + 0x3FE; in float64_sqrt()
2381 return roundAndPackFloat64( roundData, 0, zExp, zSig ); in float64_sqrt()
2747 int32 aExp, bExp, zExp; in addFloatx80Sigs() local
2763 zExp = aExp; in addFloatx80Sigs()
2772 zExp = bExp; in addFloatx80Sigs()
2784 normalizeFloatx80Subnormal( zSig0, &zExp, &zSig0 ); in addFloatx80Sigs()
2787 zExp = aExp; in addFloatx80Sigs()
2797 ++zExp; in addFloatx80Sigs()
2801 roundData, zSign, zExp, zSig0, zSig1 ); in addFloatx80Sigs()
2816 int32 aExp, bExp, zExp; in subFloatx80Sigs() local
2855 zExp = bExp; in subFloatx80Sigs()
2867 zExp = aExp; in subFloatx80Sigs()
2871 roundData, zSign, zExp, zSig0, zSig1 ); in subFloatx80Sigs()
2929 int32 aExp, bExp, zExp; in floatx80_mul() local
2968 zExp = aExp + bExp - 0x3FFE; in floatx80_mul()
2972 --zExp; in floatx80_mul()
2976 roundData, zSign, zExp, zSig0, zSig1 ); in floatx80_mul()
2990 int32 aExp, bExp, zExp; in floatx80_div() local
3033 zExp = aExp - bExp + 0x3FFE; in floatx80_div()
3037 ++zExp; in floatx80_div()
3058 roundData, zSign, zExp, zSig0, zSig1 ); in floatx80_div()
3172 int32 aExp, zExp; in floatx80_sqrt() local
3199 zExp = ( ( aExp - 0x3FFF )>>1 ) + 0x3FFF; in floatx80_sqrt()
3235 roundData, 0, zExp, zSig0, zSig1 ); in floatx80_sqrt()