Skip to content

Commit eece770

Browse files
committed
[libc][math] Add POSIX math constants to math.h header.
1 parent 55b417a commit eece770

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

libc/include/llvm-libc-macros/math-macros.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,25 @@
5050
#define math_errhandling (MATH_ERRNO | MATH_ERREXCEPT)
5151
#endif
5252

53+
// POSIX math constants
54+
// https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/math.h.html
55+
#define M_E (__extension__ 0x1.5bf0a8b145769p1)
56+
#define M_EGAMMA (__extension__ 0x1.2788cfc6fb619p-1)
57+
#define M_LOG2E (__extension__ 0x1.71547652b82fep0)
58+
#define M_LOG10E (__extension__ 0x1.bcb7b1526e50ep-2)
59+
#define M_LN2 (__extension__ 0x1.62e42fefa39efp-1)
60+
#define M_LN10 (__extension__ 0x1.26bb1bbb55516p1)
61+
#define M_PHI (__extension__ 0x1.9e3779b97f4a8p0)
62+
#define M_PI (__extension__ 0x1.921fb54442d18p1)
63+
#define M_PI_2 (__extension__ 0x1.921fb54442d18p0)
64+
#define M_PI_4 (__extension__ 0x1.921fb54442d18p-1)
65+
#define M_1_PI (__extension__ 0x1.45f306dc9c883p-2)
66+
#define M_1_SQRTPI (__extension__ 0x1.20dd750429b6dp-1)
67+
#define M_2_PI (__extension__ 0x1.45f306dc9c883p-1)
68+
#define M_2_SQRTPI (__extension__ 0x1.20dd750429b6dp0)
69+
#define M_SQRT2 (__extension__ 0x1.6a09e667f3bcdp0)
70+
#define M_SQRT3 (__extension__ 0x1.bb67ae8584caap0)
71+
#define M_SQRT1_2 (__extension__ 0x1.6a09e667f3bcdp-1)
72+
#define M_SQRT1_3 (__extension__ 0x1.279a74590331cp-1)
73+
5374
#endif // LLVM_LIBC_MACROS_MATH_MACROS_H

0 commit comments

Comments
 (0)