Fix _FLOATOBJ_IsLong (0 - lMant == 0 / lExp == 0 - was not evaluated as TRUE)

svn path=/trunk/; revision=64338
This commit is contained in:
Timo Kreuzer 2014-09-27 12:06:03 +00:00
parent c070855199
commit ae406918bb

View file

@ -33,9 +33,11 @@ BOOL
_FLOATOBJ_IsLong(FLOATOBJ *pf)
{
EFLOAT_S *pef = (EFLOAT_S*)pf;
ULONG Shift = 32 - pef->lExp;
if (Shift > 31) return FALSE;
return (((pef->lMant >> Shift) << Shift) == pef->lMant);
ULONG ulShift = pef->lExp;
if (ulShift < 32)
return ((pef->lMant << ulShift) == 0);
else
return (ulShift == 32);
}
FORCEINLINE