Lines Matching refs:zSig
171 INLINE float32 packFloat32( flag zSign, int16 zExp, bits32 zSig ) in packFloat32() argument
174 return ( ( (bits32) zSign )<<31 ) + ( ( (bits32) zExp )<<23 ) + zSig; in packFloat32()
201 static float32 roundAndPackFloat32( flag zSign, int16 zExp, bits32 zSig ) in roundAndPackFloat32() argument
225 roundBits = zSig & 0x7F; in roundAndPackFloat32()
229 && ( (sbits32) ( zSig + roundIncrement ) < 0 ) ) in roundAndPackFloat32()
238 || ( zSig + roundIncrement < 0x80000000 ); in roundAndPackFloat32()
239 shift32RightJamming( zSig, - zExp, &zSig ); in roundAndPackFloat32()
241 roundBits = zSig & 0x7F; in roundAndPackFloat32()
246 zSig = ( zSig + roundIncrement )>>7; in roundAndPackFloat32()
247 zSig &= ~ ( ( ( roundBits ^ 0x40 ) == 0 ) & roundNearestEven ); in roundAndPackFloat32()
248 if ( zSig == 0 ) zExp = 0; in roundAndPackFloat32()
249 return packFloat32( zSign, zExp, zSig ); in roundAndPackFloat32()
264 normalizeRoundAndPackFloat32( flag zSign, int16 zExp, bits32 zSig ) in normalizeRoundAndPackFloat32() argument
268 shiftCount = countLeadingZeros32( zSig ) - 1; in normalizeRoundAndPackFloat32()
269 return roundAndPackFloat32( zSign, zExp - shiftCount, zSig<<shiftCount ); in normalizeRoundAndPackFloat32()
791 bits32 aSig, bSig, zSig; in addFloat32Sigs() local
835 zSig = 0x40000000 + aSig + bSig; in addFloat32Sigs()
840 zSig = ( aSig + bSig )<<1; in addFloat32Sigs()
842 if ( (sbits32) zSig < 0 ) { in addFloat32Sigs()
843 zSig = aSig + bSig; in addFloat32Sigs()
847 return roundAndPackFloat32( zSign, zExp, zSig ); in addFloat32Sigs()
863 bits32 aSig, bSig, zSig; in subFloat32Sigs() local
901 zSig = bSig - aSig; in subFloat32Sigs()
919 zSig = aSig - bSig; in subFloat32Sigs()
923 return normalizeRoundAndPackFloat32( zSign, zExp, zSig ); in subFloat32Sigs()
1041 bits32 aSig, bSig, zSig, rem0, rem1, term0, term1; in float32_div() local
1085 zSig = estimateDiv64To32( aSig, 0, bSig ); in float32_div()
1086 if ( ( zSig & 0x3F ) <= 2 ) { in float32_div()
1087 mul32To64( bSig, zSig, &term0, &term1 ); in float32_div()
1090 --zSig; in float32_div()
1093 zSig |= ( rem1 != 0 ); in float32_div()
1095 return roundAndPackFloat32( zSign, zExp, zSig ); in float32_div()
1198 bits32 aSig, zSig, rem0, rem1, term0, term1; in float32_sqrt() local
1220 zSig = estimateSqrt32( aExp, aSig ) + 2; in float32_sqrt()
1221 if ( ( zSig & 0x7F ) <= 5 ) { in float32_sqrt()
1222 if ( zSig < 2 ) { in float32_sqrt()
1223 zSig = 0x7FFFFFFF; in float32_sqrt()
1228 mul32To64( zSig, zSig, &term0, &term1 ); in float32_sqrt()
1231 --zSig; in float32_sqrt()
1232 shortShift64Left( 0, zSig, 1, &term0, &term1 ); in float32_sqrt()
1236 zSig |= ( ( rem0 | rem1 ) != 0 ); in float32_sqrt()
1239 shift32RightJamming( zSig, 1, &zSig ); in float32_sqrt()
1241 return roundAndPackFloat32( 0, zExp, zSig ); in float32_sqrt()
1535 bits32 aSig0, aSig1, zSig; in float64_to_float32() local
1548 shift64RightJamming( aSig0, aSig1, 22, &allZero, &zSig ); in float64_to_float32()
1549 if ( aExp ) zSig |= 0x40000000; in float64_to_float32()
1550 return roundAndPackFloat32( aSign, aExp - 0x381, zSig ); in float64_to_float32()