|
// 预定义函数
inline f32 Mulfx(f32 x, f32 y)
{
return ((y) * (x)) >> 12;
}
inline f32 Divfx(f32 x, f32 y)
{
return (((x) << 12) / (y)); // Divide a fixed by a fixed
}
inline f32 inttof32(int n)
{
return (n) << 12;
}
inline int f32toint(f32 n)
{
return ((n) >> 12);
}
inline float f32tofloat(f32 n)
{
return (((float)(n)) / (float)(1<<12));
}
inline f32 floattof32(float f)
{
return (int(4096.0*f));
}
inline f32 divf32(f32 num1, f32 num2)
{
return (num1 << 12) / num2;
}
inline f32 f32floor(f32 xv)
{
return (xv>>12)<<12;
}
inline f32 f32ceiling(f32 xv)
{
if ((xv - f32floor(xv)) > 0)
{
return inttof32(f32toint(xv)+1);
}
else
{
return inttof32(f32toint(xv));
}
}
上面这些函数是我用c写的,可是在执行的时候发现效率不佳,希望可以汇编花,各位大侠有没有做过,或者帮忙写几个,写着有分,谢谢
|
|