30const double PI = 3.14159265358979323846;
31const double PI_2 = 1.57079632679489661923;
32const double PI_4 = 0.78539816339744830962;
33const double LN_2 = 0.69314718055994530942;
36const float PIf = 3.14159265358979323846f;
37const float PI_2f = 1.57079632679489661923f;
38const float PI_4f = 0.78539816339744830962f;
39const float LN_2f = 0.69314718055994530942f;
63inline bool equivalent(
float lhs,
float rhs,
float epsilon=1e-6)
64 {
float delta = rhs-lhs;
return delta<0.0f?delta>=-epsilon:delta<=epsilon; }
70inline bool equivalent(
double lhs,
double rhs,
double epsilon=1e-6)
71 {
double delta = rhs-lhs;
return delta<0.0?delta>=-epsilon:delta<=epsilon; }
78inline T
minimum(T lhs,T rhs) {
return lhs<rhs?lhs:rhs; }
85inline T
maximum(T lhs,T rhs) {
return lhs>rhs?lhs:rhs; }
101inline T
sign(T v) {
return v<(T)0?(T)-1:(T)1; }
104inline T
signOrZero(T v) {
return v<(T)0 ? (T)-1 : ( v>(T)0 ? (T)1 : 0 ); }
112inline float inDegrees(
float angle) {
return angle*(float)
PI/180.0f; }
124inline float round(
float v) {
return v>=0.0f?floorf(v+0.5f):ceilf(v-0.5f); }
125inline double round(
double v) {
return v>=0.0?floor(v+0.5):ceil(v-0.5); }
128 inline bool isNaN(
double v) {
return _isnan(v)!=0; }
129#elif defined(__ANDROID__)
130 inline bool isNaN(
float v) {
return isnan(v); }
131 inline bool isNaN(
double v) {
return isnan(v); }
133 inline bool isNaN(
float v) {
return std::isnan(v); }
134 inline bool isNaN(
double v) {
return std::isnan(v); }
142 return fabsf(((b-c)^(a-b))*(d-b));
148 const T& b1,
const T& b2,
const T& b3)
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
T clampBelow(T v, T maximum)
Definition Math:94
const double LN_2
Definition Math:33
T signedSquare(T v)
Definition Math:110
float default_value< float >()
Definition Math:46
const double PI_2
Definition Math:31
const float INVLN_2f
Definition Math:40
T clampBetween(T v, T minimum, T maximum)
Definition Math:97
const float PI_4f
Definition Math:38
T inRadians(T angle)
Definition Math:116
OSG_EXPORT double findAsciiToDouble(const char *str)
unsigned short default_value< unsigned short >()
Definition Math:51
bool equivalent(float lhs, float rhs, float epsilon=1e-6)
Definition Math:63
char default_value< char >()
Definition Math:48
int default_value< int >()
Definition Math:52
float asciiToFloat(const char *str)
Definition Math:159
float RadiansToDegrees(float angle)
Definition Math:121
float inDegrees(float angle)
Definition Math:112
bool isNaN(float v)
Definition Math:133
T signOrZero(T v)
Definition Math:104
float DegreesToRadians(float angle)
Definition Math:118
T clampTo(T v, T minimum, T maximum)
Definition Math:88
T absolute(T v)
Definition Math:57
const double PI_4
Definition Math:32
T square(T v)
Definition Math:107
unsigned char default_value< unsigned char >()
Definition Math:49
T sign(T v)
Definition Math:101
unsigned int default_value< unsigned int >()
Definition Math:53
const float PI_2f
Definition Math:37
float computeVolume(const T &a, const T &b, const T &c, const T &d)
Definition Math:140
OSG_EXPORT double asciiToDouble(const char *str)
T clampAbove(T v, T minimum)
Definition Math:91
const double PI
Definition Math:30
T maximum(T lhs, T rhs)
Definition Math:85
double default_value< double >()
Definition Math:47
T default_value()
Definition Math:44
float round(float v)
Definition Math:124
T minimum(T lhs, T rhs)
Definition Math:78
float findAsciiToFloat(const char *str)
Definition Math:165
const float PIf
Definition Math:36
const float LN_2f
Definition Math:39
const double INVLN_2
Definition Math:34
short default_value< short >()
Definition Math:50
#define OSG_EXPORT
Definition osg/Export:39