Kirjaudu
Google-sovellukset
Päävalikko
張貼意見於:
JoStudio
"Note: InvSqrt"
尚未有任何意見。 -
1 – 0 (共 0 個)
前幾天在
Solidot
看到這一篇
新聞
有快速的InvSqrt (開根號倒數)方法
還有人
大費周章去追這段Code是誰寫的
,甚至有人寫了一篇
Paper去分析這段Code
然後今天
在這也看到了一些討論
以及
有人以前用SSE指令
寫的另一種加速方式
說實在話 能寫出這種Code真的是要有一點天份吧...
下面有一個神奇的數字
0x5f3759df
在Paper中有分析並解釋這數字如何求得
並且導出 0x5f375a86可以得到更好的近似值...
馬上把他加到自己的Code當中 XD
float InvSqrt(float x)
{
float xhalf = 0.5f*x;
int i = *(int*)&x;
i = 0x5f375a86- (i>>1);
x = *(float*)&i;
x = x*(1.5f-xhalf*x*x);
return x;
}
由 Josh 在 2006年12月9日 的
下午4:20
所張貼
留下您的意見
您可以使用一些 HTML 標記,例如
<b>, <i>, <a>
此網誌允許匿名意見。
Google 帳戶
提交意見後,系統會要求您登入。
請回答人機驗證問題
"Note: InvSqrt"
尚未有任何意見。 -