diff options
Diffstat (limited to 'extern/bullet2/BulletCollision/Gimpact/gim_math.h')
-rw-r--r-- | extern/bullet2/BulletCollision/Gimpact/gim_math.h | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/extern/bullet2/BulletCollision/Gimpact/gim_math.h b/extern/bullet2/BulletCollision/Gimpact/gim_math.h deleted file mode 100644 index 8b9e6806ef7..00000000000 --- a/extern/bullet2/BulletCollision/Gimpact/gim_math.h +++ /dev/null @@ -1,157 +0,0 @@ -#ifndef GIM_MATH_H_INCLUDED -#define GIM_MATH_H_INCLUDED -/*! \file gim_math.h -\author Francisco Len Nßjera -*/ -/* ------------------------------------------------------------------------------ -This source file is part of GIMPACT Library. - -For the latest info, see http://gimpact.sourceforge.net/ - -Copyright (c) 2006 Francisco Leon Najera. C.C. 80087371. -email: projectileman@yahoo.com - - This library is free software; you can redistribute it and/or - modify it under the terms of EITHER: - (1) The GNU Lesser General Public License as published by the Free - Software Foundation; either version 2.1 of the License, or (at - your option) any later version. The text of the GNU Lesser - General Public License is included with this library in the - file GIMPACT-LICENSE-LGPL.TXT. - (2) The BSD-style license that is included with this library in - the file GIMPACT-LICENSE-BSD.TXT. - (3) The zlib/libpng license that is included with this library in - the file GIMPACT-LICENSE-ZLIB.TXT. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files - GIMPACT-LICENSE-LGPL.TXT, GIMPACT-LICENSE-ZLIB.TXT and GIMPACT-LICENSE-BSD.TXT for more details. - ------------------------------------------------------------------------------ -*/ - -#include "LinearMath/btScalar.h" - - - -#define GREAL btScalar -#define GREAL2 double -#define GINT int -#define GUINT unsigned int -#define GSHORT short -#define GUSHORT unsigned short -#define GINT64 long long -#define GUINT64 unsigned long long - - - -#define G_PI 3.14159265358979f -#define G_HALF_PI 1.5707963f -//267948966 -#define G_TWO_PI 6.28318530f -//71795864 -#define G_ROOT3 1.73205f -#define G_ROOT2 1.41421f -#define G_UINT_INFINITY 0xffffffff //!< A very very high value -#define G_REAL_INFINITY FLT_MAX -#define G_SIGN_BITMASK 0x80000000 -#define G_EPSILON SIMD_EPSILON - - - -enum GIM_SCALAR_TYPES -{ - G_STYPE_REAL =0, - G_STYPE_REAL2, - G_STYPE_SHORT, - G_STYPE_USHORT, - G_STYPE_INT, - G_STYPE_UINT, - G_STYPE_INT64, - G_STYPE_UINT64 -}; - - - -#define G_DEGTORAD(X) ((X)*3.1415926f/180.0f) -#define G_RADTODEG(X) ((X)*180.0f/3.1415926f) - -//! Integer representation of a floating-point value. -#define GIM_IR(x) ((GUINT&)(x)) - -//! Signed integer representation of a floating-point value. -#define GIM_SIR(x) ((GINT&)(x)) - -//! Absolute integer representation of a floating-point value -#define GIM_AIR(x) (GIM_IR(x)&0x7fffffff) - -//! Floating-point representation of an integer value. -#define GIM_FR(x) ((GREAL&)(x)) - -#define GIM_MAX(a,b) (a<b?b:a) -#define GIM_MIN(a,b) (a>b?b:a) - -#define GIM_MAX3(a,b,c) GIM_MAX(a,GIM_MAX(b,c)) -#define GIM_MIN3(a,b,c) GIM_MIN(a,GIM_MIN(b,c)) - -#define GIM_IS_ZERO(value) (value < G_EPSILON && value > -G_EPSILON) - -#define GIM_IS_NEGATIVE(value) (value <= -G_EPSILON) - -#define GIM_IS_POSISITVE(value) (value >= G_EPSILON) - -#define GIM_NEAR_EQUAL(v1,v2) GIM_IS_ZERO((v1-v2)) - -///returns a clamped number -#define GIM_CLAMP(number,minval,maxval) (number<minval?minval:(number>maxval?maxval:number)) - -#define GIM_GREATER(x, y) btFabs(x) > (y) - -///Swap numbers -#define GIM_SWAP_NUMBERS(a,b){ \ - a = a+b; \ - b = a-b; \ - a = a-b; \ -}\ - -#define GIM_INV_SQRT(va,isva)\ -{\ - if(va<=0.0000001f)\ - {\ - isva = G_REAL_INFINITY;\ - }\ - else\ - {\ - GREAL _x = va * 0.5f;\ - GUINT _y = 0x5f3759df - ( GIM_IR(va) >> 1);\ - isva = GIM_FR(_y);\ - isva = isva * ( 1.5f - ( _x * isva * isva ) );\ - }\ -}\ - -#define GIM_SQRT(va,sva)\ -{\ - GIM_INV_SQRT(va,sva);\ - sva = 1.0f/sva;\ -}\ - -//! Computes 1.0f / sqrtf(x). Comes from Quake3. See http://www.magic-software.com/3DGEDInvSqrt.html -inline GREAL gim_inv_sqrt(GREAL f) -{ - GREAL r; - GIM_INV_SQRT(f,r); - return r; -} - -inline GREAL gim_sqrt(GREAL f) -{ - GREAL r; - GIM_SQRT(f,r); - return r; -} - - - -#endif // GIM_MATH_H_INCLUDED |