[問卦] 快速平方根倒數算法 也太神了8?
如此扣:
float Q_rsqrt(float number)
{
long i;
float x2, y;
const float threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
// evil floating point bit level hacking
i = * ( long * ) &y;
i = 0x5f3759df - ( i >> 1 ); // what the fuck?
y = * ( float * ) &i;
// 1st iteration
y = y * ( threehalfs - ( x2 * y * y ) );
// 2nd iteration, this can be removed
// y = y * ( threehalfs - ( x2 * y * y ) );
return y;
}
說明影片:
https://youtu.be/g1r3iLejTw0?si=RQjiaRF6lFOGeC0e
return前最後兩行看的出來是牛頓法
但那個WTF那行看不懂
剛剛看了YT
才知道那句WTF
原來有那麼大的意義
一次疊代誤差就可以<1%
這個算法被用在遊戲
想出這種計算的方式的人
也太神了吧
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.156.199 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1712900893.A.255.html
→
04/12 13:49,
2周前
, 1F
04/12 13:49, 1F
推
04/12 13:49,
2周前
, 2F
04/12 13:49, 2F
推
04/12 13:49,
2周前
, 3F
04/12 13:49, 3F
推
04/12 13:49,
2周前
, 4F
04/12 13:49, 4F
→
04/12 13:49,
2周前
, 5F
04/12 13:49, 5F
推
04/12 13:50,
2周前
, 6F
04/12 13:50, 6F
推
04/12 13:50,
2周前
, 7F
04/12 13:50, 7F
推
04/12 13:50,
2周前
, 8F
04/12 13:50, 8F
推
04/12 13:51,
2周前
, 9F
04/12 13:51, 9F
→
04/12 13:51,
2周前
, 10F
04/12 13:51, 10F
推
04/12 13:51,
2周前
, 11F
04/12 13:51, 11F
推
04/12 13:52,
2周前
, 12F
04/12 13:52, 12F
推
04/12 13:52,
2周前
, 13F
04/12 13:52, 13F
→
04/12 13:53,
2周前
, 14F
04/12 13:53, 14F
→
04/12 13:54,
2周前
, 15F
04/12 13:54, 15F
→
04/12 13:54,
2周前
, 16F
04/12 13:54, 16F
噓
04/12 13:54,
2周前
, 17F
04/12 13:54, 17F
→
04/12 13:54,
2周前
, 18F
04/12 13:54, 18F
→
04/12 13:54,
2周前
, 19F
04/12 13:54, 19F
推
04/12 13:54,
2周前
, 20F
04/12 13:54, 20F
推
04/12 13:57,
2周前
, 21F
04/12 13:57, 21F
推
04/12 13:57,
2周前
, 22F
04/12 13:57, 22F
→
04/12 13:58,
2周前
, 23F
04/12 13:58, 23F
推
04/12 14:01,
2周前
, 24F
04/12 14:01, 24F
推
04/12 14:03,
2周前
, 25F
04/12 14:03, 25F
推
04/12 14:03,
2周前
, 26F
04/12 14:03, 26F
→
04/12 14:03,
2周前
, 27F
04/12 14:03, 27F
→
04/12 14:04,
2周前
, 28F
04/12 14:04, 28F
→
04/12 14:04,
2周前
, 29F
04/12 14:04, 29F
→
04/12 14:04,
2周前
, 30F
04/12 14:04, 30F
推
04/12 14:07,
2周前
, 31F
04/12 14:07, 31F
推
04/12 14:07,
2周前
, 32F
04/12 14:07, 32F
推
04/12 14:08,
2周前
, 33F
04/12 14:08, 33F
推
04/12 14:16,
2周前
, 34F
04/12 14:16, 34F
→
04/12 14:17,
2周前
, 35F
04/12 14:17, 35F
噓
04/12 14:20,
2周前
, 36F
04/12 14:20, 36F
推
04/12 14:32,
2周前
, 37F
04/12 14:32, 37F
推
04/12 14:56,
2周前
, 38F
04/12 14:56, 38F
→
04/12 14:56,
2周前
, 39F
04/12 14:56, 39F
推
04/12 15:03,
2周前
, 40F
04/12 15:03, 40F
推
04/12 15:27,
2周前
, 41F
04/12 15:27, 41F