solidot新版网站常见问题,请点击这里查看。
您搜索的信息无法查阅,可能的原因包括:内容不符合收录要求;内容已被置入冷存储;内容已被作者、编辑删除等。
您可以发送链接至 solidot@zhiding.cn ,进行确认。
「星期四」 Hello Thursday

源自Quake3的快速求InvSqrt()函数

matrix 写道 "人们很早就在Quake3源代码中发现了如下的C代码,它可以快速的求1/sqrt(x),在3D图形向量计算方面应用很广。 float InvSqrt(float x){     float xhalf=0.5f*x;     long i=*(long*)&x;     i=0x5f3759df - (i>>1);     x=*(float *)&i;     x=x*(1.5f-xhalf*x*x);     return x; } Beyond3D.com的Ryszard Sommefeldt一直在想到底是哪个家伙写了这些神奇的代码?2003年Chris Lomont还写了一篇文章(PDF)对这些代码进行了分析。毫无疑问写出这些代码的人绝对是天才。" 是John Carmack?Michael Abrash?John Carmack在邮件回复中明确表示不是他,也不是Michael,可能是Terje Matheson。于是侦探Ryszard又向Terje Mathisen寻求答案。Terje说他写过类似的高效代码,但上面的不是。他猜测可能在MIT的旧文档中可以找到。Ryszard的求证之路显然无止境。

matrix 发表于

1970年01月01日 08时00分