71#define M_E 2.7182818284590452354
74#define M_LOG2E 1.4426950408889634074
77#define M_LOG10E 0.43429448190325182765
80#define M_LN2 0.69314718055994530942
83#define M_LN10 2.30258509299404568402
86#define M_PI 3.14159265358979323846
89#define M_PI_2 1.57079632679489661923
92#define M_PI_4 0.78539816339744830962
95#define M_1_PI 0.31830988618379067154
98#define M_2_PI 0.63661977236758134308
101#define M_2_SQRTPI 1.12837916709551257390
104#define M_SQRT2 1.41421356237309504880
107#define M_SQRT1_2 0.70710678118654752440
110#define NAN __builtin_nan("")
113#define INFINITY __builtin_inf()
116#ifndef __ATTR_CONST__
117# define __ATTR_CONST__ __attribute__((__const__))
127extern double cos(
double __x) __ATTR_CONST__;
133extern double sin(
double __x) __ATTR_CONST__;
139extern double tan(
double __x) __ATTR_CONST__;
146extern double fabs(
double __x) __ATTR_CONST__;
153extern double fmod(
double __x,
double __y) __ATTR_CONST__;
168extern double modf(
double __x,
double *__iptr);
171extern float modff (
float __x,
float *__iptr);
176extern double sqrt(
double __x) __ATTR_CONST__;
179extern float sqrtf (
float) __ATTR_CONST__;
184extern double cbrt(
double __x) __ATTR_CONST__;
195extern double hypot (
double __x,
double __y) __ATTR_CONST__;
203extern double square(
double __x) __ATTR_CONST__;
204#define squaref square
210extern double floor(
double __x) __ATTR_CONST__;
217extern double ceil(
double __x) __ATTR_CONST__;
235extern double frexp(
double __x,
int *__pexp);
243extern double ldexp(
double __x,
int __exp) __ATTR_CONST__;
249extern double exp(
double __x) __ATTR_CONST__;
255extern double cosh(
double __x) __ATTR_CONST__;
261extern double sinh(
double __x) __ATTR_CONST__;
267extern double tanh(
double __x) __ATTR_CONST__;
275extern double acos(
double __x) __ATTR_CONST__;
283extern double asin(
double __x) __ATTR_CONST__;
290extern double atan(
double __x) __ATTR_CONST__;
299extern double atan2(
double __y,
double __x) __ATTR_CONST__;
305extern double log(
double __x) __ATTR_CONST__;
311extern double log10(
double __x) __ATTR_CONST__;
317extern double pow(
double __x,
double __y) __ATTR_CONST__;
324extern int isnan(
double __x) __ATTR_CONST__;
334extern int isinf(
double __x) __ATTR_CONST__;
341__ATTR_CONST__
static inline int isfinite (
double __x)
351 return __exp != 0xff;
353#define isfinitef isfinite
359__ATTR_CONST__
static inline double copysign (
double __x,
double __y)
365 :
"0" (__x),
"r" (__y) );
368#define copysignf copysign
377extern int signbit (
double __x) __ATTR_CONST__;
378#define signbitf signbit
384extern double fdim (
double __x,
double __y) __ATTR_CONST__;
393extern double fma (
double __x,
double __y,
double __z) __ATTR_CONST__;
401extern double fmax (
double __x,
double __y) __ATTR_CONST__;
409extern double fmin (
double __x,
double __y) __ATTR_CONST__;
416extern double trunc (
double __x) __ATTR_CONST__;
427extern double round (
double __x) __ATTR_CONST__;
440extern long lround (
double __x) __ATTR_CONST__;
441#define lroundf lround
454extern long lrint (
double __x) __ATTR_CONST__;
double atan2(double __y, double __x)
double pow(double __x, double __y)
double fmin(double __x, double __y)
double fdim(double __x, double __y)
double hypot(double __x, double __y)
double modf(double __x, double *__iptr)
double frexp(double __x, int *__pexp)
double ldexp(double __x, int __exp)
static double copysign(double __x, double __y)
Definition: math.h:359
double square(double __x)
float modff(float __x, float *__iptr)
double fmod(double __x, double __y)
double fma(double __x, double __y, double __z)
static int isfinite(double __x)
Definition: math.h:341
double fmax(double __x, double __y)