Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 696 → Rev 697

/uspace/trunk/softfloat/generic/comparison.c
34,21 → 34,41
return ((f.parts.exp==0xFF)&&(f.parts.mantisa));
};
 
inline int isFloat64NaN(float64 d)
{ /* NaN : exp = 0x7ff and nonzero mantisa */
return ((d.parts.exp==0x7FF)&&(d.parts.mantisa));
};
 
inline int isFloat32SigNaN(float32 f)
{ /* SigNaN : exp = 0xff mantisa = 1xxxxx..x (binary), where at least one x is nonzero */
return ((f.parts.exp==0xFF)&&(f.parts.mantisa>0x400000));
};
 
inline int isFloat64SigNaN(float64 d)
{ /* SigNaN : exp = 0x7ff mantisa = 1xxxxx..x (binary), where at least one x is nonzero */
return ((d.parts.exp==0x7FF)&&(d.parts.mantisa>0x8000000000000ll));
};
 
inline int isFloat32Infinity(float32 f)
{
return ((f.parts.exp==0xFF)&&(f.parts.mantisa==0x0));
};
 
inline int isFloat64Infinity(float64 d)
{
return ((d.parts.exp==0x7FF)&&(d.parts.mantisa==0x0));
};
 
inline int isFloat32Zero(float32 f)
{
return (((f.binary) & 0x7FFFFFFF) == 0);
}
 
inline int isFloat64Zero(float64 d)
{
return (((d.binary) & 0x7FFFFFFFFFFFFFFFll) == 0);
}
 
/**
* @return 1, if both floats are equal - but NaNs are not recognized
*/
100,3 → 120,4
}