summaryrefslogtreecommitdiff
path: root/thirdparty/bullet/BulletCollision/Gimpact/gim_math.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/bullet/BulletCollision/Gimpact/gim_math.h')
-rw-r--r--thirdparty/bullet/BulletCollision/Gimpact/gim_math.h148
1 files changed, 0 insertions, 148 deletions
diff --git a/thirdparty/bullet/BulletCollision/Gimpact/gim_math.h b/thirdparty/bullet/BulletCollision/Gimpact/gim_math.h
deleted file mode 100644
index 3c4f821a72..0000000000
--- a/thirdparty/bullet/BulletCollision/Gimpact/gim_math.h
+++ /dev/null
@@ -1,148 +0,0 @@
-#ifndef GIM_MATH_H_INCLUDED
-#define GIM_MATH_H_INCLUDED
-/*! \file gim_math.h
-\author Francisco Leon Najera
-*/
-/*
------------------------------------------------------------------------------
-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