4#if defined(__cplusplus)
11#define M_PI 3.14159265358979323846
12#define M_PI_2 1.57079632679489661923
13#define M_PI_4 0.78539816339744830962
15#define HUGE_VALF (1.0f / 0.0f)
16#define HUGE_VAL (1.0 / 0.0)
17#define HUGE_VALL (1.0L / 0.0L)
19#define INFINITY (1.0f / 0.0f)
20#define NAN (-(0.0f / 0.0f))
26#define FP_ILOGB0 INT_MIN
27#define FP_ILOGBNAN INT_MAX
30#define MATH_ERREXCEPT 2
33#define math_errhandling (MATH_ERRNO)
35#define isfinite(x) __builtin_isfinite(x)
37#define isinf(x) __builtin_isinf(x)
39#define isnan(x) __builtin_isnan(x)
41#define isnormal(x) __builtin_isnormal(x)
43#define signbit(x) __builtin_signbit(x)
45#define fpclassify(x) __builtin_fpclassify(FP_INFINITE, FP_NAN, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, x)
47#define isgreater(x, y) __builtin_isgreater(x, y)
49#define isgreaterequal(x, y) __builtin_isgreaterequal(x, y)
51#define isless(x, y) __builtin_isless(x, y)
53#define islessequal(x, y) __builtin_islessequal(x, y)
55#define islessgreater(x, y) __builtin_islessgreater(x, y)
57#define isunordered(x, y) __builtin_isunordered(x, y)
77double atan2(
double y,
double x);
79long double atan2l(
long double y,
long double x);
161double modf(
double value,
double* iptr);
162float modff(
float value,
float* iptr);
163long double modfl(
long double value,
long double* iptr);
177double fabs(
double x);
187long double powl(
long double x,
long double y);
209double ceil(
double x);
247double fmod(
double x,
double y);
249long double fmodl(
long double x,
long double y);
263double nan(
const char* tagp);
265long double nanl(
const char* tagp);
277long double fdiml(
long double x,
long double y);
281long double fmaxl(
long double x,
long double y);
285long double fminl(
long double x,
long double y);
287double fma(
double x,
double y,
double z);
289long double fmal(
long double x,
long double y,
long double z);
291#if defined(__cplusplus)
long int lroundf(float x)
float frexpf(float value, int *exp)
double scalbn(double x, int n)
long double fmaxl(long double x, long double y)
long double acoshl(long double x)
long long int llrintl(long double x)
long double floorl(long double x)
long double tanl(long double x)
double modf(double value, double *iptr)
long double log1pl(long double x)
long double powl(long double x, long double y)
long double logbl(long double x)
long long int llrintf(float x)
double atan2(double y, double x)
float scalbnf(float x, int n)
double fmax(double x, double y)
float remainderf(float x, float y)
long double nextafterl(long double x, long double y)
long double nexttowardl(long double x, long double y)
long double asinl(long double x)
long long int llround(double x)
long double fabsl(long double x)
long double ldexpl(long double x, int exp)
long double exp2l(long double x)
long double nearbyintl(long double x)
long double lgammal(long double x)
long double ilogbl(long double x)
long double cbrtl(long double x)
double fmod(double x, double y)
float modff(float value, float *iptr)
long double coshl(long double x)
float nextafterf(float x, float y)
long int lround(double x)
double scalbln(double x, long int *n)
double nearbyint(double x)
long long int llrint(double x)
long double atanl(long double x)
long double roundl(long double x)
long double cosl(long double x)
long double erfl(long double x)
double hypot(double x, double y)
long double expm1l(long double x)
float nanf(const char *tagp)
double fdim(double x, double y)
long long int llroundf(float x)
long long int llroundl(long double x)
float fmaxf(float x, float y)
long double fminl(long double x, long double y)
long double erfcl(long double x)
long double tgammal(long double x)
float scalblnf(float x, long int *n)
long double truncl(long double x)
long double hypotl(long double x, long double y)
long double tanhl(long double x)
long double asinhl(long double x)
double rmquo(double x, double y)
float fminf(float x, float y)
long double sqrtl(long double x)
float hypotf(float x, float y)
long double log2l(long double x)
double nan(const char *tagp)
double pow(double x, double y)
float fmaf(float x, float y, float z)
long double fmodl(long double x, long double y)
long double atan2l(long double y, long double x)
float ldexpf(float x, int exp)
double nexttoward(double x, double y)
long double atanhl(long double x)
double ldexp(double x, int exp)
float nearbyintf(float x)
long double rmquol(long double x, long double y)
long double fdiml(long double x, long double y)
long double remainderl(long double x, long double y)
double nextafter(double x, double y)
long double modfl(long double value, long double *iptr)
float powf(float x, float y)
long int lrintl(long double x)
double fma(double x, double y, double z)
long double nanl(const char *tagp)
double frexp(double value, int *exp)
long double sinhl(long double x)
long double scalbnl(long double x, int n)
double copysign(double x, double y)
float rmquof(float x, float y)
long double ceill(long double x)
long double copysignl(long double x, long double y)
float nexttowardf(float x, float y)
long double log10l(long double x)
long double acosl(long double x)
long double frexpl(long double value, int *exp)
long double sinl(long double x)
long double expl(long double x)
long double rintl(long double x)
float fdimf(float x, float y)
long double scalblnl(long double x, long int *n)
double fmin(double x, double y)
float fmodf(float x, float y)
long double fmal(long double x, long double y, long double z)
long double logl(long double x)
double remainder(double x, double y)
float copysignf(float x, float y)
float atan2f(float y, float x)
long int lroundl(long double x)