more fixed point work

This commit is contained in:
Tomas Frydrych
2007-01-23 11:48:04 +00:00
parent b8b0d01c91
commit 685c583d51
4 changed files with 56 additions and 7 deletions

View File

@ -538,8 +538,15 @@ const double _magic = 68719476736.0*1.5;
ClutterFixed
_clutter_double_to_fixed (double val)
{
val = val + _magic;
return ((gint32*)&val)[_CFX_MAN];
union
{
double d;
unsigned int i[2];
} dbl;
dbl.d = val;
dbl.d = dbl.d + _magic;
return dbl.i[0];
}
/*
@ -556,8 +563,15 @@ _clutter_double_to_fixed (double val)
ClutterFixed
_clutter_double_to_int (double val)
{
val = val + _magic;
return ((gint32*)&val)[_CFX_MAN] >> 16;
union
{
double d;
unsigned int i[2];
} dbl;
dbl.d = val;
dbl.d = dbl.d + _magic;
return dbl.i[0] >> 16;
}
#undef _CFX_MAN