PTT推薦

[問卦] 快速平方根倒數算法 也太神了8?

看板Gossiping標題[問卦] 快速平方根倒數算法 也太神了8?作者
dzwei
(Args&&... args)
時間推噓22 推:24 噓:2 →:15

如此扣:
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留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.156.199 (臺灣)
PTT 網址

frommr 04/12 13:49程序之神

gama 04/12 13:49WTF

chubby31190 04/12 13:49跟我想的一樣

spirit119 04/12 13:49原本資工就一堆在研究數學的

spirit119 04/12 13:49現在就...碩論都跟說明書沒兩樣

jazzcai 04/12 13:50跟我想的一樣

JackYiyo 04/12 13:50經典

garry5566 04/12 13:50幹 看不懂

Pheromone 04/12 13:51=)=。= =D =="

vowpool 04/12 13:51所以寫程式也要鑽研數學阿

clh960524 04/12 13:51你是不是在寫 jserv 作業

dou0228 04/12 13:52www.matrix67.com/data/InvSqrt.pdf

jim543000 04/12 13:52算是數學與資工的結合吧 真的很厲害

AgentSkye56 04/12 13:53我覺得不錯 跟我想的差不多

jim543000 04/12 13:54現在大部分線代都是考古題寫過去就完

jim543000 04/12 13:54事 臺灣也很少人會在工作面上使用工數

LinkMiguel 04/12 13:54但這方法最早不是quake用的

jim543000 04/12 13:54解決問題 真的很可惜

MK47 04/12 13:54一開始想到奇怪的算法真的都天才

ayeae 04/12 13:54其實我十前也這麼寫過

gmoz 04/12 13:57每幾年就會有人拿出來問一次

em4 04/12 13:57看不懂 直式開方?

ericthree 04/12 13:58嗯嗯跟我想的一樣

mrsmalllin 04/12 14:01蛤?

fakon 04/12 14:03另類的捷徑,減少大量的運算

ntnuljg 04/12 14:03這超神 哪像現在一堆垃圾代碼,效率極

ntnuljg 04/12 14:03爛 只好不斷堆機器性能

ActionII 04/12 14:04阿就碰到問題要解決啊,你那部片我也看

ActionII 04/12 14:04過,推測的發明人不是就在解決硬體規格

ActionII 04/12 14:04推不動的問題嗎

octangus07 04/12 14:07經典魔術數字

firemothra 04/12 14:07牛頓拉弗森是什麼

henry1234562 04/12 14:08寫那行WTF的就是也看不懂那行

SolomonTab 04/12 14:16其實認識學數學的程式都還不錯! 只是

SolomonTab 04/12 14:17硬體跟電物 偏弱

Expend 04/12 14:20牛頓法 老梗了 這東西數值運算已經用爛了

basslife 04/12 14:32感謝GPT幫我解釋 根本看不懂

kingstongyu 04/12 14:56如果平方根是無理數你的處理器可能燒

kingstongyu 04/12 14:56壞,陷入無限LOOP然後燒壞

shikemurajy 04/12 15:03古董

vvrr 04/12 15:27https://reurl.cc/Ke6xy9 有維基不看…