#include "LinearMath/btScalar.h"
Go to the source code of this file.
Defines | |
#define | G_DEGTORAD(X) ((X)*3.1415926f/180.0f) |
#define | G_EPSILON SIMD_EPSILON |
#define | G_HALF_PI 1.5707963f |
#define | G_PI 3.14159265358979f |
#define | G_RADTODEG(X) ((X)*180.0f/3.1415926f) |
#define | G_REAL_INFINITY FLT_MAX |
#define | G_ROOT2 1.41421f |
#define | G_ROOT3 1.73205f |
#define | G_SIGN_BITMASK 0x80000000 |
#define | G_TWO_PI 6.28318530f |
#define | G_UINT_INFINITY 0xffffffff |
A very very high value. | |
#define | GIM_AIR(x) (GIM_IR(x)&0x7fffffff) |
Absolute integer representation of a floating-point value. | |
#define | GIM_CLAMP(number, minval, maxval) (number<minval?minval:(number>maxval?maxval:number)) |
returns a clamped number | |
#define | GIM_FR(x) ((GREAL&)(x)) |
Floating-point representation of an integer value. | |
#define | GIM_GREATER(x, y) btFabs(x) > (y) |
#define | GIM_INV_SQRT(va, isva) |
#define | GIM_IR(x) ((GUINT&)(x)) |
Integer representation of a floating-point value. | |
#define | GIM_IS_NEGATIVE(value) (value <= -G_EPSILON) |
#define | GIM_IS_POSISITVE(value) (value >= G_EPSILON) |
#define | GIM_IS_ZERO(value) (value < G_EPSILON && value > -G_EPSILON) |
#define | GIM_MAX(a, b) (a<b?b:a) |
#define | GIM_MAX3(a, b, c) GIM_MAX(a,GIM_MAX(b,c)) |
#define | GIM_MIN(a, b) (a>b?b:a) |
#define | GIM_MIN3(a, b, c) GIM_MIN(a,GIM_MIN(b,c)) |
#define | GIM_NEAR_EQUAL(v1, v2) GIM_IS_ZERO((v1-v2)) |
#define | GIM_SIR(x) ((GINT&)(x)) |
Signed integer representation of a floating-point value. | |
#define | GIM_SQRT(va, sva) |
#define | GIM_SWAP_NUMBERS(a, b) |
Swap numbers. | |
#define | GINT int |
#define | GINT64 long long |
#define | GREAL btScalar |
#define | GREAL2 double |
#define | GSHORT short |
#define | GUINT unsigned int |
#define | GUINT64 unsigned long long |
#define | GUSHORT unsigned short |
Enumerations | |
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 } |
Functions | |
GREAL | gim_inv_sqrt (GREAL f) |
Computes 1.0f / sqrtf(x). Comes from Quake3. See http://www.magic-software.com/3DGEDInvSqrt.html. | |
GREAL | gim_sqrt (GREAL f) |
Definition in file gim_math.h.
#define G_DEGTORAD | ( | X | ) | ((X)*3.1415926f/180.0f) |
Definition at line 78 of file gim_math.h.
#define G_EPSILON SIMD_EPSILON |
Definition at line 60 of file gim_math.h.
#define G_HALF_PI 1.5707963f |
Definition at line 51 of file gim_math.h.
#define G_PI 3.14159265358979f |
Definition at line 50 of file gim_math.h.
#define G_RADTODEG | ( | X | ) | ((X)*180.0f/3.1415926f) |
Definition at line 79 of file gim_math.h.
#define G_REAL_INFINITY FLT_MAX |
Definition at line 58 of file gim_math.h.
#define G_ROOT2 1.41421f |
Definition at line 56 of file gim_math.h.
#define G_ROOT3 1.73205f |
Definition at line 55 of file gim_math.h.
#define G_SIGN_BITMASK 0x80000000 |
Definition at line 59 of file gim_math.h.
#define G_TWO_PI 6.28318530f |
Definition at line 53 of file gim_math.h.
#define G_UINT_INFINITY 0xffffffff |
A very very high value.
Definition at line 57 of file gim_math.h.
Absolute integer representation of a floating-point value.
Definition at line 88 of file gim_math.h.
#define GIM_CLAMP | ( | number, | |
minval, | |||
maxval | |||
) | (number<minval?minval:(number>maxval?maxval:number)) |
returns a clamped number
Definition at line 108 of file gim_math.h.
Floating-point representation of an integer value.
Definition at line 91 of file gim_math.h.
#define GIM_GREATER | ( | x, | |
y | |||
) | btFabs(x) > (y) |
Definition at line 110 of file gim_math.h.
#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 ) );\ }\ }\
Definition at line 119 of file gim_math.h.
Integer representation of a floating-point value.
Definition at line 82 of file gim_math.h.
#define GIM_IS_NEGATIVE | ( | value | ) | (value <= -G_EPSILON) |
Definition at line 101 of file gim_math.h.
#define GIM_IS_POSISITVE | ( | value | ) | (value >= G_EPSILON) |
Definition at line 103 of file gim_math.h.
#define GIM_IS_ZERO | ( | value | ) | (value < G_EPSILON && value > -G_EPSILON) |
Definition at line 99 of file gim_math.h.
#define GIM_MAX | ( | a, | |
b | |||
) | (a<b?b:a) |
Definition at line 93 of file gim_math.h.
Definition at line 96 of file gim_math.h.
#define GIM_MIN | ( | a, | |
b | |||
) | (a>b?b:a) |
Definition at line 94 of file gim_math.h.
Definition at line 97 of file gim_math.h.
#define GIM_NEAR_EQUAL | ( | v1, | |
v2 | |||
) | GIM_IS_ZERO((v1-v2)) |
Definition at line 105 of file gim_math.h.
Signed integer representation of a floating-point value.
Definition at line 85 of file gim_math.h.
#define GIM_SQRT | ( | va, | |
sva | |||
) |
{\ GIM_INV_SQRT(va,sva);\ sva = 1.0f/sva;\ }\
Definition at line 134 of file gim_math.h.
#define GIM_SWAP_NUMBERS | ( | a, | |
b | |||
) |
{ \ a = a+b; \ b = a-b; \ a = a-b; \ }\
Swap numbers.
Definition at line 113 of file gim_math.h.
#define GINT int |
Definition at line 41 of file gim_math.h.
#define GINT64 long long |
Definition at line 45 of file gim_math.h.
Definition at line 39 of file gim_math.h.
#define GREAL2 double |
Definition at line 40 of file gim_math.h.
#define GSHORT short |
Definition at line 43 of file gim_math.h.
#define GUINT unsigned int |
Definition at line 42 of file gim_math.h.
#define GUINT64 unsigned long long |
Definition at line 46 of file gim_math.h.
#define GUSHORT unsigned short |
Definition at line 44 of file gim_math.h.
enum GIM_SCALAR_TYPES |
G_STYPE_REAL | |
G_STYPE_REAL2 | |
G_STYPE_SHORT | |
G_STYPE_USHORT | |
G_STYPE_INT | |
G_STYPE_UINT | |
G_STYPE_INT64 | |
G_STYPE_UINT64 |
Definition at line 64 of file gim_math.h.
GREAL gim_inv_sqrt | ( | GREAL | f | ) | [inline] |
Computes 1.0f / sqrtf(x). Comes from Quake3. See http://www.magic-software.com/3DGEDInvSqrt.html.
Definition at line 141 of file gim_math.h.
Definition at line 148 of file gim_math.h.