float SquareRoot( float number) |
{ |
long i; |
float x, y; |
const float f = 1.5F; |
x = number * 0.5F; |
y = number; |
i = * ( long * ) &y; |
i = 0x5f3759df - ( i >> 1 ); // magic constant value..... |
y = * ( float * ) &i; |
y = y * ( f - ( x * y * y ) ); |
y = y * ( f - ( x * y * y ) ); |
return number * y; |
} |