// 计算参数x的平方根的倒数! G; H, ^/ V k; y3 N, t
//5 y) n& a2 M/ r
float InvSqrt (float x)
{
float xhalf = 0.5f*x;
int i = *(int*)&x;" R1 v+ b' l7 [$ i9 M# d
i = 0x5f3759df - (i >> 1); // 计算第一个近似根' i# T$ ]" ?! D7 U. |
x = *(float*)&i;
x = x*(1.5f - xhalf*x*x); // 牛顿迭代法
return x;0 w; p- Y' a: _8 ~: J, Z
}
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |