首页 > 代码库 > 高效求解平方根的倒数的函数实现

高效求解平方根的倒数的函数实现

/*** float q_rsqrt( float number )*/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#ifdef __linux__	assert( !isnan(y) ); // bk010122 - FPE?#endif	return y;}

 

高效求解平方根的倒数的函数实现