مجذور معکوس سریع

مجذور معکوس سریع که با Fast InvSqrt یا ثابت 0x5F3759DF در دستگاه اعداد پایه ۱۶ نیز شناخته می‌شود الگوریتمی است که وارون ضربی ریشه دوم یک عدد را در IEEE 754 floating-point format محاسبه می‌کند.

محاسبات نورپردازی و انعکاس از جمله در یک بازی ویدیویی برای نمونه OpenArena از مجذور معکوس برای محاسبات زوایای برخورد و انعکاس استفاده می‌کند.
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

	return y;
}

جستارهای وابسته

ویرایش

منابع

ویرایش

پیوند به بیرون

ویرایش