#ifndef _MATH_H #define _MATH_H #include #if FLT_EVAL_METHOD == 1 typedef double float_t; typedef double double_t; #elseif FLT_EVAL_METHOD == 2 typedef long double float_t; typedef long double double_t; #else typedef float float_t; typedef double double_t; #endif #define M_E 2.718281828 #define M_PI 3.14159265 #define PI 3.14159265 #define M_PI_2 1.5707963268 #define M_PI_4 0.7853981634 #define M_1_PI 0.318309886184 #define M_2_PI 0.636619772368 #define M_2_SQRTPI 1.1283791671 #define M_SQRT2 1.41421856237 #define M_SQRT1_2 0.707106781187 #define M_LOG2E 1.44269504089 #define M_LOG10E 0.4342944819 #define M_LN2 0.69314718056 #define M_LN10 2.302585093 double acos(double); float acosf(float); long double acosl(long double); double asin(double); float asinf(float); long double asinl(long double); double atan(double); float atanf(float); long double atanl(long double); double atan2(double); float atan2f(float); long double atan2l(long double); double cos(double); float cosf(float); long double cosl(long double); double sin(double); float sinf(float); long double sinl(long double); double tan(double); float tanf(float); long double tanl(long double); double acosh(double); float acoshf(float); long double acoshl(long double); double asinh(double); float asinhf(float); long double asinhl(long double); double atanh(double); float atanhf(float); long double atanhl(long double); double cosh(double); float coshf(float); long double coshl(long double); double sinh(double); float sinhf(float); long double sinhl(long double); double tanh(double); float tanhf(float); long double tanhl(long double); double exp(double); float expf(float); long double expl(double); double exp2(double); float exp2f(float); long double exp2l(double); double expm1(double); float expm1f(float); long double expm1l(double); double frexp(double, int *); float frexpf(float, int *); long double frexpl(double, int *); #endif