23#ifdef __cpp_lib_math_constants
24 inline constexpr double e = std::numbers::e;
25 inline constexpr double log2e = std::numbers::log2e;
26 inline constexpr double log10e = std::numbers::log10e;
27 inline constexpr double pi = std::numbers::pi;
28 inline constexpr double inv_pi = std::numbers::inv_pi;
29 inline constexpr double ln2 = std::numbers::ln2;
30 inline constexpr double ln10 = std::numbers::ln10;
31 inline constexpr double sqrt2 = std::numbers::sqrt2;
34 inline constexpr T
e_v = std::numbers::e_v<T>;
37 inline constexpr T
log2e_v = std::numbers::log2e_v<T>;
40 inline constexpr T
log10e_v = std::numbers::log10e_v<T>;
43 inline constexpr T
pi_v = std::numbers::pi_v<T>;
46 inline constexpr T
inv_pi_v = std::numbers::inv_pi_v<T>;
49 inline constexpr T
ln2_v = std::numbers::ln2_v<T>;
52 inline constexpr T
ln10_v = std::numbers::ln10_v<T>;
55 inline constexpr T
sqrt2_v = std::numbers::sqrt2_v<T>;
57 inline constexpr double e = M_E;
58 inline constexpr double log2e = M_LOG2E;
59 inline constexpr double log10e = M_LOG10E;
60 inline constexpr double pi = M_PI;
61 inline constexpr double inv_pi = M_1_PI;
62 inline constexpr double ln2 = M_LN2;
63 inline constexpr double ln10 = M_LN10;
64 inline constexpr double sqrt2 = M_SQRT2;
67 inline constexpr T
e_v =
static_cast<T
>(
e);
76 inline constexpr T
pi_v =
static_cast<T
>(
pi);
82 inline constexpr T
ln2_v =
static_cast<T
>(
ln2);
101# if defined(M_LOG10Ef)
126# if defined(M_SQRT2f)