6 const static unsigned int OneFloat = 0x3f800000;
7 const static unsigned int FSignMask = 0x80000000;
8 const static unsigned int FExponentMask = 0x7f800000;
9 const static unsigned int FMantissaMask = 0x007fffff;
12 inline long int iRound(
float f) {
return long int(f); }
13 inline long int iRound(
double f) {
return long int(f); }
15 inline long int iRound(
float f) {
return lrintf(f); }
16 inline long int iRound(
double f) {
return lrint(f); }
19 inline long int iFloor(
float f) {
return iRound(floorf(f)); }
20 inline long int iFloor(
double f) {
return iRound(floor(f)); }
22 inline long int iCeil(
float f) {
return iRound(ceilf(f)); }
23 inline long int iCeil(
double f) {
return iRound(ceil(f)); }
25 inline long int iTrunc(
float f) {
return (
long int)f; }
26 inline long int iTrunc(
double f) {
return (
long int)f; }
30 inline float FixedByteToFloat(
unsigned char x)
32 static const float scale = 1.0f/255.0f;
33 return float(x)*scale;
37 inline unsigned char FloatToFixedByte(
float x)
44 int i = int(x*255.0f);
49 inline float FixedByteToFloat_Exclusive(
unsigned char x)
51 unsigned int tmp = OneFloat | (x << 15);
52 return (*(
float*)&tmp) - 1.0f;
56 inline float FixedIntToFloat_Exclusive(
unsigned long i)
58 unsigned int tmp = OneFloat | (i >> 9);
59 return (*(
float*)&tmp) - 1.0f;
Common math typedefs, constants, functions.