// 计算参数x的平方根的倒数( T% R; C) K$ G6 O' \, m. f/ r
/// k+ Y0 d2 ^+ ?
float InvSqrt (float x)
{
float xhalf = 0.5f*x;% J: w# b7 ?! c* q0 c
int i = *(int*)&x;: C6 R8 N! W3 y# K7 e5 C# X
i = 0x5f3759df - (i >> 1); // 计算第一个近似根
x = *(float*)&i;: x* [; K8 o/ `! C" K
x = x*(1.5f - xhalf*x*x); // 牛顿迭代法
return x;
}
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |