Showing posts with label bit hacks. Show all posts
Showing posts with label bit hacks. Show all posts

20 November 2010

Bit Hacks are Awesome

What does this code do?

float super_mario_bros(float number)
{
   long i;
   float x2, y;
   const float threehalfs = 1.5F;
 
   x2 = number * 0.5F;
   y  = number;
   i  = * ( long * ) &y;                       
   i  = 0x5f3759df - ( i >> 1 );               
   y  = * ( float * ) &i;
   y  = y * ( threehalfs - ( x2 * y * y ) );   
// y  = y * ( threehalfs - ( x2 * y * y ) );   
 
   return y;
}