Definition at line 207 of file wined3d_private.h.
Referenced by convert_s8_uint_d24_float().
{
const float sgn = in & 0x800000 ? -1.0f : 1.0f;
const unsigned short e = (in & 0x780000) >> 19;
const unsigned int m = in & 0x7ffff;
if (e == 0)
{
if (m == 0) return sgn * 0.0f;
else return sgn * powf(2, -6.0f) * ((float)m / 524288.0f);
}
else if (e < 15)
{
return sgn * powf(2, (float)e - 7.0f) * (1.0f + ((float)m / 524288.0f));
}
else
{
if (m == 0) return sgn * INFINITY;
else return NAN;
}
}