开方运算居然没用迭代,速度是编译器自带的sqrt的四倍,一切源于一个不知从哪里来的常数0x5f3759df,注意后来者写的what the fuck
float Q_rsqrt( float number )
{
long i;
floa
快速平方根倒数算法
在3D图形编程中,经常要求平方根的倒数
这个算法出现之前,要求平方根的倒数可以使用牛顿迭代,精度高,但是非常慢。于是需要一个快速,而又足够高精度的算法。这个算法最早在著名游戏《雷神之锤III》被披露,人们发现了一段用于快速计算平方根倒数的代码。
这个算法的运行效率极高,基本上是直接开根号求倒数程序的4倍。
想了解这个算法原理可以搜一下“快速平方根倒数”。
算法实现