diff options
Diffstat (limited to 'firmware/libc/include/math.h')
-rw-r--r-- | firmware/libc/include/math.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/firmware/libc/include/math.h b/firmware/libc/include/math.h new file mode 100644 index 0000000000..07f1f2d686 --- /dev/null +++ b/firmware/libc/include/math.h | |||
@@ -0,0 +1,53 @@ | |||
1 | /* math.h -- Definitions for the math floating point package. */ | ||
2 | |||
3 | #ifndef _MATH_H_ | ||
4 | #ifdef __cplusplus | ||
5 | extern "C" { | ||
6 | #endif | ||
7 | #define _MATH_H_ | ||
8 | |||
9 | #include "_ansi.h" | ||
10 | |||
11 | #ifndef __STRICT_ANSI__ | ||
12 | |||
13 | #define __signgam_r(ptr) ((ptr)->_new._reent._gamma_signgam) | ||
14 | |||
15 | /* Values for the type field of struct exception. */ | ||
16 | |||
17 | #define DOMAIN 1 | ||
18 | #define SING 2 | ||
19 | #define OVERFLOW 3 | ||
20 | #define UNDERFLOW 4 | ||
21 | #define TLOSS 5 | ||
22 | #define PLOSS 6 | ||
23 | |||
24 | /* Useful constants. */ | ||
25 | |||
26 | #define M_E 2.7182818284590452354 | ||
27 | #define M_LOG2E 1.4426950408889634074 | ||
28 | #define M_LOG10E 0.43429448190325182765 | ||
29 | #define M_LN2 0.69314718055994530942 | ||
30 | #define M_LN10 2.30258509299404568402 | ||
31 | #define M_PI 3.14159265358979323846 | ||
32 | #define M_PI_2 1.57079632679489661923 | ||
33 | #define M_PI_4 0.78539816339744830962 | ||
34 | #define M_3PI_4 2.3561944901923448370E0 | ||
35 | #define M_SQRTPI 1.77245385090551602792981 | ||
36 | #define M_1_PI 0.31830988618379067154 | ||
37 | #define M_2_PI 0.63661977236758134308 | ||
38 | #define M_2_SQRTPI 1.12837916709551257390 | ||
39 | #define M_SQRT2 1.41421356237309504880 | ||
40 | #define M_SQRT1_2 0.70710678118654752440 | ||
41 | #define M_LN2LO 1.9082149292705877000E-10 | ||
42 | #define M_LN2HI 6.9314718036912381649E-1 | ||
43 | #define M_SQRT3 1.73205080756887719000 | ||
44 | #define M_IVLN10 0.43429448190325182765 /* 1 / log(10) */ | ||
45 | #define M_LOG2_E 0.693147180559945309417 | ||
46 | #define M_INVLN2 1.4426950408889633870E0 /* 1 / log(2) */ | ||
47 | |||
48 | #endif /* ! defined (__STRICT_ANSI__) */ | ||
49 | |||
50 | #ifdef __cplusplus | ||
51 | } | ||
52 | #endif | ||
53 | #endif /* _MATH_H_ */ | ||