tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
constants.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSL-1.0
2
3#ifndef TETL_NUMBERS_CONSTANTS_HPP
4#define TETL_NUMBERS_CONSTANTS_HPP
5
6#include <etl/_config/all.hpp>
7
8namespace etl::numbers {
9
12
13// clang-format off
14template <typename T> inline constexpr auto e_v = static_cast<T>(2.7182818284590452353602874713526625L);
15template <typename T> inline constexpr auto log2e_v = static_cast<T>(1.4426950408889634073599246810018921L);
16template <typename T> inline constexpr auto log10e_v = static_cast<T>(0.4342944819032518276511289189166051L);
17template <typename T> inline constexpr auto pi_v = static_cast<T>(3.1415926535897932384626433832795028L);
18template <typename T> inline constexpr auto inv_sqrtpi_v = static_cast<T>(0.5641895835477562869480794515607725L);
19template <typename T> inline constexpr auto inv_pi_v = static_cast<T>(0.3183098861837906715377675267450287L);
20template <typename T> inline constexpr auto ln2_v = static_cast<T>(0.6931471805599453094172321214581766L);
21template <typename T> inline constexpr auto ln10_v = static_cast<T>(2.3025850929940456840179914546843642L);
22template <typename T> inline constexpr auto sqrt2_v = static_cast<T>(1.4142135623730950488016887242096981L);
23template <typename T> inline constexpr auto sqrt3_v = static_cast<T>(1.7320508075688772935274463415058724L);
24template <typename T> inline constexpr auto inv_sqrt3_v = static_cast<T>(0.5773502691896257645091487805019574L);
25template <typename T> inline constexpr auto egamma_v = static_cast<T>(0.5772156649015328606065120900824024L);
26template <typename T> inline constexpr auto phi_v = static_cast<T>(1.6180339887498948482045868343656381L);
27// clang-format on
28
29inline constexpr double e = e_v<double>;
30inline constexpr double log2e = log2e_v<double>;
31inline constexpr double log10e = log10e_v<double>;
32inline constexpr double pi = pi_v<double>;
33inline constexpr double inv_pi = inv_pi_v<double>;
34inline constexpr double inv_sqrtpi = inv_sqrtpi_v<double>;
35inline constexpr double ln2 = ln2_v<double>;
36inline constexpr double ln10 = ln10_v<double>;
37inline constexpr double sqrt2 = sqrt2_v<double>;
38inline constexpr double sqrt3 = sqrt3_v<double>;
39inline constexpr double inv_sqrt3 = inv_sqrt3_v<double>;
40inline constexpr double egamma = egamma_v<double>;
41inline constexpr double phi = phi_v<double>;
42
44
45} // namespace etl::numbers
46
47#endif // TETL_NUMBERS_CONSTANTS_HPP
constexpr double sqrt3
Definition constants.hpp:38
constexpr auto log10e_v
Definition constants.hpp:16
constexpr double log2e
Definition constants.hpp:30
constexpr double log10e
Definition constants.hpp:31
constexpr auto log2e_v
Definition constants.hpp:15
constexpr double phi
Definition constants.hpp:41
constexpr auto egamma_v
Definition constants.hpp:25
constexpr auto inv_pi_v
Definition constants.hpp:19
constexpr auto inv_sqrtpi_v
Definition constants.hpp:18
constexpr double ln10
Definition constants.hpp:36
constexpr auto inv_sqrt3_v
Definition constants.hpp:24
constexpr double inv_sqrt3
Definition constants.hpp:39
constexpr auto ln2_v
Definition constants.hpp:20
constexpr auto pi_v
Definition constants.hpp:17
constexpr auto sqrt2_v
Definition constants.hpp:22
constexpr auto sqrt3_v
Definition constants.hpp:23
constexpr double inv_sqrtpi
Definition constants.hpp:34
constexpr double e
Definition constants.hpp:29
constexpr double inv_pi
Definition constants.hpp:33
constexpr double pi
Definition constants.hpp:32
constexpr double egamma
Definition constants.hpp:40
constexpr double sqrt2
Definition constants.hpp:37
constexpr auto phi_v
Definition constants.hpp:26
constexpr double ln2
Definition constants.hpp:35
constexpr auto ln10_v
Definition constants.hpp:21
constexpr auto e_v
Definition constants.hpp:14
Definition constants.hpp:8