《雷神之锤III》里求平方根的函数
日期:2007年5月16日 作者: 查看:[大字体 中字体 小字体]-
从这里看来的。QuakeIII自然就是传奇高手卡马克的杰作之一了。在有的CPU上,这个函数比普通的(float)(1.0/sqrt(x)快4倍!快的原因之一是用了一个神秘常数,0x5f3759df。普渡大学的Chris Lomont在这篇论文里讨论了这个常数的意义,尝试用严格的方法推导出这个常数(他还提到有人认为这个函数是在NVidia工作过的Gary Tarolli写的)。Chris推出的常数是0x5f37642f),和Q_rsqrt里的稍有不同,而且实际表现也稍有不如。卡马克到底怎么推出这个常数的就是谜了。这种高手不写书,实在可惜。
float Q_rsqrt( float number )
{
long i;
float x2, y;
const float threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // evil floating point bit level hacking
i = 0x5f3759df - ( i >> 1 ); // what the fuck?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed
#ifndef Q3_VM
#ifdef __linux__
assert( !isnan(y) ); // bk010122 - FPE?
#endif
#endif
return y;
}(出处:急速软件下载学院)
-
- 《雷神之锤III》里求平方根的函数 相关文章:
- ·用迅雷Thunder批量下载电骡资源的方法集锦
- ·迅雷实现BT和电骡异地下载
- ·用迅雷也能“踏网无痕” 预防隐私泄漏
- ·迅雷批量下载方法揭秘
- ·迅雷把好关 通过下载传播病毒难上加难
- ·王峰:没什么可以改变我与雷军的十年友情
- ·与时俱进 给迅雷插上Vista的翅膀
- ·跟我来: 迅雷三招搞定隐私保护
- ·更新布局 提升任务 新版迅雷5发布
- ·使迅雷速度翻倍的六个超级技巧
- 《雷神之锤III》里求平方根的函数 相关软件
- ·科林麦克雷拉力赛之尘埃V1.1升级档免CD补丁
- ·空战类街机游戏《雷电》模拟器
- ·GBA《雷曼疯狂的兔子》模拟器
- ·N64《雷曼2》模拟器
- ·《雷电超激版》游戏试玩
- ·《雷神之锤4》v1.3到v1.4.2升级补丁(Windows系统专用)
- ·《魔影哈雷》试玩
- ·空战《雷鸟之翼》美版模拟器
- ·《科林麦克雷拉力赛:尘埃》试玩
- ·空战街机《雷霆战机3》模拟器
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:数值计算程序大放送-特殊函数
精品推荐
热点TOP10
- ·图象处理中的边缘检测------canny算子
- ·EZ-USB 68013A开发指南
- ·数值计算程序大放送-特征值和特征向量
- ·ARM的嵌入式Linux移植体验之BootLoader
- ·Visual C++ ADO数据库编程入门
- ·智能手机Smartphone开发导语
- ·利用 wordXP 实现自动排班
- ·[分形]DLA团簇模型的摸拟
- ·DENX U-Boot及Linux使用手册
- ·Static和Final修饰类属性变量及初始化
- ·BPEL的异常管理
- ·看Vue 5 Esprit函数的节点与链接详情
- ·初学者全面接触学习jquery(译文)
- ·LinQ学习之旅 从整型数组中找出偶数
- ·Enterprise Library 快速入门
- ·CVS源代码库服务器建立和权限配置
- ·Visual FoxPro 9.0 SP2正式版下载
- ·VS2005控件的问题解决办法
- ·Cookie是什么?用法是怎样?与SESSION有什么区别?
- ·J2SE API读取Properties文件的六种方法
