00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _FL_MATH_H_
00023 #define _FL_MATH_H_
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #include <math.h>
00034
00035 #ifdef _WIN32
00036
00037 # include <float.h>
00038
00039 # ifndef M_PI
00040 # define M_PI 3.14159265358979323846
00041 # define M_PI_2 1.57079632679489661923
00042 # define M_PI_4 0.78539816339744830962
00043 # define M_1_PI 0.31830988618379067154
00044 # define M_2_PI 0.63661977236758134308
00045 # define M_SQRT2 1.41421356237309504880
00046 # define M_SQRT1_2 0.70710678118654752440
00047 # endif
00048
00049 # define rint(v) floor((v)+.5)
00050 # define copysign _copysign
00051 # define drand48() ((double)rand()/RAND_MAX)
00052 # define srand48(n) srand((n));
00053
00054 #endif
00055
00056 #ifdef __EMX__
00057 # include <float.h>
00058 #endif
00059
00060 #ifndef M_PI
00061 # define M_PI 3.14159265358979323846
00062 #endif
00063
00064 #define rintf(v) floorf((v)+.5f)
00065
00066 #ifdef __alpha // powf is broken on alphas, at least in gcc
00067 # define powf(a,b) pow(a,b)
00068 #endif
00069 #ifdef _WIN32
00070 # define expm1f(a) expm1(a)
00071 # define log1pf(a) log1p(a)
00072 #endif
00073
00074 #endif