谜题

作者: Isy | 来源:发表于2016-07-30 09:57 被阅读21次
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;
}

//
// 计算参数x的平方根的倒数
//
float InvSqrt (float x)
{
float xhalf = 0.5f*x;
int i = *(int*)&x;
i = 0x5f3759df - (i >> 1); // 计算第一个近似根
x = *(float*)&i;
x = x*(1.5f - xhalf*x*x); // 牛顿迭代法
return x;
}

//
// Carmack在QUAKE3中使用的计算平方根的函数
//
float CarmSqrt(float x){
union{
int intPart;
float floatPart;
} convertor;
union{
int intPart;
float floatPart;
} convertor2;
convertor.floatPart = x;
convertor2.floatPart = x;
convertor.intPart = 0x1FBCF800 + (convertor.intPart >> 1);
convertor2.intPart = 0x5f3759df - (convertor2.intPart >> 1);
return 0.5f*(convertor.floatPart + (x * convertor2.floatPart));
}



相关文章

  • 世界上最难的数学谜题,快发给你的数学老师吧

    马丁加德纳的“不可能的谜题” 由世界著名的数学游戏和谜题创造者马丁加德纳创造的“不可能的谜题”,以下谜题通常被认为...

  • 12月,献上的12本Java架构师必读书籍

    经典算法谜题的合集Google、Facebook等一流IT公司算法面试必备 《算法谜题》是经典算法谜题的集结。它列...

  • 谜题

    一切都还是老样子天是蓝的 水是清的日子是一天一天的 当一切回归初始谜题也就不再是一个谜 你纤巧的心思是一把没有刻度...

  • 谜题

    狮身人面带上魔鬼的面具,它在出个小花招算计人类,最熟视无睹的无知糊弄谁,只不过是小孩知晓的答案,人畏惧死亡不畏惧不...

  • 谜题

    这么多个 日日夜夜 都牵牵连连的 过去了 连墙角 爬行的蜘蛛 也习惯了接纳了 沉默 为何 你留下的谜题 还会萦...

  • 谜题

    清风,明月,蝉鸣 一场雨带走风花雪月的别离 你的手温润如玉 像是这炎炎夏日中的暗香一缕 细雨,骄阳,鸟啼 这肆意的...

  • 谜题

    当我猜到谜底,才发现筵席已散,一切都已过去。 筵席已散,众人一走远,而你在众人之中,暮色深农,无法再辨认,不会在相...

  • 谜题

    大雨过后的屋檐更适合风铃 而我的情绪莫名拉起 丢了过去模糊了回忆 而你在遥远的哪个场景 是我反复思考不出的谜题

  • 谜题

    清风,明月,蝉鸣 一场雨带走风花雪月的别离 你的手温润如玉 像是这炎炎夏日中的暗香一缕 细雨,骄阳,鸟啼 这肆意的...

  • 谜题

    我听说两个人间的凡人 不小心成为天上两颗明星 相望亿万年之久 我听说两颗天上的星星 为相守褪尽光芒 相逢于尘世的卦...

网友评论

      本文标题:谜题

      本文链接:https://www.haomeiwen.com/subject/exxtsttx.html