1 #ifndef GIM_MATH_H_INCLUDED     2 #define GIM_MATH_H_INCLUDED    39 #define GREAL btScalar    42 #define GUINT unsigned int    44 #define GUSHORT unsigned short    45 #define GINT64 long long    46 #define GUINT64 unsigned long long    50 #define G_PI 3.14159265358979f    51 #define G_HALF_PI 1.5707963f    53 #define G_TWO_PI 6.28318530f    55 #define G_ROOT3 1.73205f    56 #define G_ROOT2 1.41421f    57 #define G_UINT_INFINITY 0xffffffff     58 #define G_REAL_INFINITY FLT_MAX    59 #define G_SIGN_BITMASK                  0x80000000    60 #define G_EPSILON SIMD_EPSILON    78 #define G_DEGTORAD(X) ((X)*3.1415926f/180.0f)    79 #define G_RADTODEG(X) ((X)*180.0f/3.1415926f)    82 #define GIM_IR(x)                                       ((GUINT&)(x))    85 #define GIM_SIR(x)                                      ((GINT&)(x))    88 #define GIM_AIR(x)                                      (GIM_IR(x)&0x7fffffff)    91 #define GIM_FR(x)                                       ((GREAL&)(x))    93 #define GIM_MAX(a,b) (a<b?b:a)    94 #define GIM_MIN(a,b) (a>b?b:a)    96 #define GIM_MAX3(a,b,c) GIM_MAX(a,GIM_MAX(b,c))    97 #define GIM_MIN3(a,b,c) GIM_MIN(a,GIM_MIN(b,c))    99 #define GIM_IS_ZERO(value) (value < G_EPSILON &&  value > -G_EPSILON)   101 #define GIM_IS_NEGATIVE(value) (value <= -G_EPSILON)   103 #define GIM_IS_POSISITVE(value) (value >= G_EPSILON)   105 #define GIM_NEAR_EQUAL(v1,v2) GIM_IS_ZERO((v1-v2))   108 #define GIM_CLAMP(number,minval,maxval) (number<minval?minval:(number>maxval?maxval:number))   110 #define GIM_GREATER(x, y)       btFabs(x) > (y)   113 #define GIM_SWAP_NUMBERS(a,b){ \   119 #define GIM_INV_SQRT(va,isva)\   123         isva = G_REAL_INFINITY;\   127         GREAL _x = va * 0.5f;\   128         GUINT _y = 0x5f3759df - ( GIM_IR(va) >> 1);\   130         isva  = isva * ( 1.5f - ( _x * isva * isva ) );\   134 #define GIM_SQRT(va,sva)\   136     GIM_INV_SQRT(va,sva);\   157 #endif // GIM_MATH_H_INCLUDED 
#define GIM_INV_SQRT(va, isva)
#define GIM_SQRT(va, sva)
GREAL gim_inv_sqrt(GREAL f)
Computes 1.0f / sqrtf(x). Comes from Quake3. See http://www.magic-software.com/3DGEDInvSqrt.html.