// 计算参数x的平方根的倒数
//2 j3 ]) a! H7 H) Z+ g# L
float InvSqrt (float x)
{- b$ r9 U3 f4 W; p# X* R; _
float xhalf = 0.5f*x;
int i = *(int*)&x;
i = 0x5f3759df - (i >> 1); // 计算第一个近似根
x = *(float*)&i;
x = x*(1.5f - xhalf*x*x); // 牛顿迭代法0 x4 A6 W' M6 W. n8 m1 G/ p5 q
return x;
}
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |