Lines Matching defs:zExp
169 Packs the sign `zSign', exponent `zExp', and significand `zSig' into a
174 will have an integer portion equal to 1, the `zExp' input should be 1 less
179 INLINE float32 packFloat32( flag zSign, int16 zExp, bits32 zSig )
182 return ( ( (bits32) zSign )<<31 ) + ( ( (bits32) zExp )<<23 ) + zSig;
188 Takes an abstract floating-point value having sign `zSign', exponent `zExp',
202 `zExp' must be 0; in that case, the result returned is a subnormal number,
204 normalized, `zExp' must be 1 less than the ``true'' floating-point exponent.
209 static float32 roundAndPackFloat32( flag zSign, int16 zExp, bits32 zSig )
234 if ( 0xFD <= (bits16) zExp ) {
235 if ( ( 0xFD < zExp )
236 || ( ( zExp == 0xFD )
242 if ( zExp < 0 ) {
245 || ( zExp < -1 )
247 shift32RightJamming( zSig, - zExp, &zSig );
248 zExp = 0;
256 if ( zSig == 0 ) zExp = 0;
257 return packFloat32( zSign, zExp, zSig );
263 Takes an abstract floating-point value having sign `zSign', exponent `zExp',
267 Bit 31 of `zSig' must be zero, and `zExp' must be 1 less than the ``true''
272 normalizeRoundAndPackFloat32( flag zSign, int16 zExp, bits32 zSig )
277 return roundAndPackFloat32( zSign, zExp - shiftCount, zSig<<shiftCount );
375 Packs the sign `zSign', the exponent `zExp', and the significand formed by
378 positions, the three fields `zSign', `zExp', and `zSig0' are simply added
382 the `zExp' input should be 1 less than the desired result exponent whenever
387 packFloat64( flag zSign, int16 zExp, bits32 zSig0, bits32 zSig1 )
391 ( ( (bits64) zExp )<<52 ) +
399 Takes an abstract floating-point value having sign `zSign', exponent `zExp',
412 significand is not normalized, `zExp' must be 0; in that case, the result
414 usual case that the input significand is normalized, `zExp' must be 1 less
421 flag zSign, int16 zExp, bits32 zSig0, bits32 zSig1, bits32 zSig2 )
442 if ( 0x7FD <= (bits16) zExp ) {
443 if ( ( 0x7FD < zExp )
444 || ( ( zExp == 0x7FD )
458 if ( zExp < 0 ) {
461 || ( zExp < -1 )
465 zSig0, zSig1, zSig2, - zExp, &zSig0, &zSig1, &zSig2 );
466 zExp = 0;
487 if ( ( zSig0 | zSig1 ) == 0 ) zExp = 0;
489 return packFloat64( zSign, zExp, zSig0, zSig1 );
495 Takes an abstract floating-point value having sign `zSign', exponent `zExp',
500 normalized. In all cases, `zExp' must be 1 less than the ``true'' floating-
506 flag zSign, int16 zExp, bits32 zSig0, bits32 zSig1 )
514 zExp -= 32;
525 zExp -= shiftCount;
526 return roundAndPackFloat64( zSign, zExp, zSig0, zSig1, zSig2 );
798 int16 aExp, bExp, zExp;
821 zExp = aExp;
835 zExp = bExp;
844 zExp = aExp;
849 --zExp;
852 ++zExp;
855 return roundAndPackFloat32( zSign, zExp, zSig );
870 int16 aExp, bExp, zExp;
910 zExp = bExp;
928 zExp = aExp;
930 --zExp;
931 return normalizeRoundAndPackFloat32( zSign, zExp, zSig );
989 int16 aExp, bExp, zExp;
1025 zExp = aExp + bExp - 0x7F;
1032 --zExp;
1034 return roundAndPackFloat32( zSign, zExp, zSig0 );
1048 int16 aExp, bExp, zExp;
1086 zExp = aExp - bExp + 0x7D;
1091 ++zExp;
1103 return roundAndPackFloat32( zSign, zExp, zSig );
1205 int16 aExp, zExp;
1226 zExp = ( ( aExp - 0x7F )>>1 ) + 0x7E;
1249 return roundAndPackFloat32( 0, zExp, zSig );
1677 int16 aExp, bExp, zExp;
1701 zExp = aExp;
1716 zExp = bExp;
1729 zExp = aExp;
1734 --zExp;
1736 ++zExp;
1740 return roundAndPackFloat64( zSign, zExp, zSig0, zSig1, zSig2 );
1755 int16 aExp, bExp, zExp;
1801 zExp = bExp;
1819 zExp = aExp;
1821 --zExp;
1822 return normalizeRoundAndPackFloat64( zSign, zExp - 10, zSig0, zSig1 );
1880 int16 aExp, bExp, zExp;
1917 zExp = aExp + bExp - 0x400;
1926 ++zExp;
1928 return roundAndPackFloat64( zSign, zExp, zSig0, zSig1, zSig2 );
1942 int16 aExp, bExp, zExp;
1983 zExp = aExp - bExp + 0x3FD;
1988 ++zExp;
2008 return roundAndPackFloat64( zSign, zExp, zSig0, zSig1, zSig2 );
2128 int16 aExp, zExp;
2152 zExp = ( ( aExp - 0x3FF )>>1 ) + 0x3FE;
2183 return roundAndPackFloat64( 0, zExp, zSig0, zSig1, zSig2 );