CPP C++ logo

В статье Origin of Quake3’s Fast InvSqrt() идет речь о быстром InvSqrt():

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;
}

Почитайте в статье про “магическую” константу 0x5f3759df и про приведение к int.

Так же в статье приводится письмо John Carmack, который подтверждает, что этот код принадлежит не ему.