aboutsummaryrefslogtreecommitdiffstats
path: root/code/qcommon/cm_trace.c
diff options
context:
space:
mode:
Diffstat (limited to 'code/qcommon/cm_trace.c')
-rwxr-xr-xcode/qcommon/cm_trace.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/code/qcommon/cm_trace.c b/code/qcommon/cm_trace.c
index 6eb9931..eb9b14f 100755
--- a/code/qcommon/cm_trace.c
+++ b/code/qcommon/cm_trace.c
@@ -131,15 +131,17 @@ SquareRootFloat
================
*/
float SquareRootFloat(float number) {
- long i;
+ union {
+ float f;
+ int i;
+ } t;
float x, y;
const float f = 1.5F;
x = number * 0.5F;
- y = number;
- i = * ( long * ) &y;
- i = 0x5f3759df - ( i >> 1 );
- y = * ( float * ) &i;
+ t.f = number;
+ t.i = 0x5f3759df - ( t.i >> 1 );
+ y = t.f;
y = y * ( f - ( x * y * y ) );
y = y * ( f - ( x * y * y ) );
return number * y;