Lines Matching defs:zExp
161 Packs the sign `zSign', exponent `zExp', and significand `zSig' into a
166 will have an integer portion equal to 1, the `zExp' input should be 1 less
171 INLINE float32 packFloat32( flag zSign, int16 zExp, bits32 zSig )
174 return ( ( (bits32) zSign )<<31 ) + ( ( (bits32) zExp )<<23 ) + zSig;
180 Takes an abstract floating-point value having sign `zSign', exponent `zExp',
194 `zExp' must be 0; in that case, the result returned is a subnormal number,
196 normalized, `zExp' must be 1 less than the ``true'' floating-point exponent.
201 static float32 roundAndPackFloat32( flag zSign, int16 zExp, bits32 zSig )
226 if ( 0xFD <= (bits16) zExp ) {
227 if ( ( 0xFD < zExp )
228 || ( ( zExp == 0xFD )
234 if ( zExp < 0 ) {
237 || ( zExp < -1 )
239 shift32RightJamming( zSig, - zExp, &zSig );
240 zExp = 0;
248 if ( zSig == 0 ) zExp = 0;
249 return packFloat32( zSign, zExp, zSig );
255 Takes an abstract floating-point value having sign `zSign', exponent `zExp',
259 Bit 31 of `zSig' must be zero, and `zExp' must be 1 less than the ``true''
264 normalizeRoundAndPackFloat32( flag zSign, int16 zExp, bits32 zSig )
269 return roundAndPackFloat32( zSign, zExp - shiftCount, zSig<<shiftCount );
367 Packs the sign `zSign', the exponent `zExp', and the significand formed by
370 positions, the three fields `zSign', `zExp', and `zSig0' are simply added
374 the `zExp' input should be 1 less than the desired result exponent whenever
379 packFloat64( flag zSign, int16 zExp, bits32 zSig0, bits32 zSig1 )
383 ( ( (bits64) zExp )<<52 ) +
391 Takes an abstract floating-point value having sign `zSign', exponent `zExp',
404 significand is not normalized, `zExp' must be 0; in that case, the result
406 usual case that the input significand is normalized, `zExp' must be 1 less
413 flag zSign, int16 zExp, bits32 zSig0, bits32 zSig1, bits32 zSig2 )
434 if ( 0x7FD <= (bits16) zExp ) {
435 if ( ( 0x7FD < zExp )
436 || ( ( zExp == 0x7FD )
450 if ( zExp < 0 ) {
453 || ( zExp < -1 )
457 zSig0, zSig1, zSig2, - zExp, &zSig0, &zSig1, &zSig2 );
458 zExp = 0;
479 if ( ( zSig0 | zSig1 ) == 0 ) zExp = 0;
481 return packFloat64( zSign, zExp, zSig0, zSig1 );
487 Takes an abstract floating-point value having sign `zSign', exponent `zExp',
492 normalized. In all cases, `zExp' must be 1 less than the ``true'' floating-
498 flag zSign, int16 zExp, bits32 zSig0, bits32 zSig1 )
506 zExp -= 32;
517 zExp -= shiftCount;
518 return roundAndPackFloat64( zSign, zExp, zSig0, zSig1, zSig2 );
790 int16 aExp, bExp, zExp;
813 zExp = aExp;
827 zExp = bExp;
836 zExp = aExp;
841 --zExp;
844 ++zExp;
847 return roundAndPackFloat32( zSign, zExp, zSig );
862 int16 aExp, bExp, zExp;
902 zExp = bExp;
920 zExp = aExp;
922 --zExp;
923 return normalizeRoundAndPackFloat32( zSign, zExp, zSig );
981 int16 aExp, bExp, zExp;
1017 zExp = aExp + bExp - 0x7F;
1024 --zExp;
1026 return roundAndPackFloat32( zSign, zExp, zSig0 );
1040 int16 aExp, bExp, zExp;
1078 zExp = aExp - bExp + 0x7D;
1083 ++zExp;
1095 return roundAndPackFloat32( zSign, zExp, zSig );
1197 int16 aExp, zExp;
1218 zExp = ( ( aExp - 0x7F )>>1 ) + 0x7E;
1241 return roundAndPackFloat32( 0, zExp, zSig );
1669 int16 aExp, bExp, zExp;
1693 zExp = aExp;
1708 zExp = bExp;
1721 zExp = aExp;
1726 --zExp;
1728 ++zExp;
1732 return roundAndPackFloat64( zSign, zExp, zSig0, zSig1, zSig2 );
1747 int16 aExp, bExp, zExp;
1793 zExp = bExp;
1811 zExp = aExp;
1813 --zExp;
1814 return normalizeRoundAndPackFloat64( zSign, zExp - 10, zSig0, zSig1 );
1872 int16 aExp, bExp, zExp;
1909 zExp = aExp + bExp - 0x400;
1918 ++zExp;
1920 return roundAndPackFloat64( zSign, zExp, zSig0, zSig1, zSig2 );
1934 int16 aExp, bExp, zExp;
1975 zExp = aExp - bExp + 0x3FD;
1980 ++zExp;
2000 return roundAndPackFloat64( zSign, zExp, zSig0, zSig1, zSig2 );
2120 int16 aExp, zExp;
2144 zExp = ( ( aExp - 0x3FF )>>1 ) + 0x3FE;
2175 return roundAndPackFloat64( 0, zExp, zSig0, zSig1, zSig2 );