RandLib 2.0.0
Probability distributions, fitting, and heavy-tail tools for C++20
Loading...
Searching...
No Matches
constants.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <climits>
4#include <cmath>
5#include <numbers>
6#include <string>
7
9
10namespace randlib
11{
12
13namespace consts
14{
15inline constexpr long double e = std::numbers::e_v<long double>;
16inline constexpr long double log2e = std::numbers::log2e_v<long double>;
17inline constexpr long double log10e = std::numbers::log10e_v<long double>;
18inline constexpr long double ln2 = std::numbers::ln2_v<long double>;
19inline constexpr long double ln3 = 1.09861228866810969139524523692252570l;
20inline constexpr long double ln10 = std::numbers::ln10_v<long double>;
21inline constexpr long double lnpi = 1.14472988584940017414342735135305871l;
22inline constexpr long double pi = std::numbers::pi_v<long double>;
23inline constexpr long double half_pi = 1.57079632679489661923132169163975144l;
24inline constexpr long double inv_pi = std::numbers::inv_pi_v<long double>;
25inline constexpr long double two_inv_pi = 0.636619772367581343075535053490057448l;
26inline constexpr long double two_inv_sqrtpi = 1.12837916709551257389615890312154517l;
27inline constexpr long double sqrt2 = std::numbers::sqrt2_v<long double>;
28inline constexpr long double inv_sqrt2 = 0.707106781186547524400844362104849039l;
29inline constexpr long double sqrt3 = std::numbers::sqrt3_v<long double>;
30inline constexpr long double sqrt5 = 2.23606797749978969640917366873127624l;
31inline constexpr long double sqrtpi = 1.77245385090551602729816748334114518l;
32inline constexpr long double sqrt2pi = 2.50662827463100050241576528481104525l;
33inline constexpr long double inv_sqrtpi = std::numbers::inv_sqrtpi_v<long double>;
34inline constexpr long double inv_sqrt2pi = 0.398942280401432677939946059934381868l;
35inline constexpr long double inv_e = 0.367879441171442321595523770161460867l;
36inline constexpr long double egamma = std::numbers::egamma_v<long double>;
37inline constexpr long double apery = 1.20205690315959428539973816151144999l;
38inline constexpr long double catalan = 0.915965594177219015054603514932384111l;
39inline constexpr long double pi_sq = 9.86960440108935861883449099987615114l;
40} // namespace consts
41
42namespace math::detail
43{
44inline constexpr long double minimumTolerance = 1e-21L;
45} // namespace math::detail
46
47} // namespace randlib
constexpr long double inv_pi
Definition constants.hpp:24
constexpr long double ln2
Definition constants.hpp:18
constexpr long double egamma
Definition constants.hpp:36
constexpr long double half_pi
Definition constants.hpp:23
constexpr long double apery
Definition constants.hpp:37
constexpr long double sqrt5
Definition constants.hpp:30
constexpr long double catalan
Definition constants.hpp:38
constexpr long double sqrtpi
Definition constants.hpp:31
constexpr long double log2e
Definition constants.hpp:16
constexpr long double pi
Definition constants.hpp:22
constexpr long double two_inv_sqrtpi
Definition constants.hpp:26
constexpr long double inv_sqrt2pi
Definition constants.hpp:34
constexpr long double two_inv_pi
Definition constants.hpp:25
constexpr long double inv_sqrt2
Definition constants.hpp:28
constexpr long double inv_sqrtpi
Definition constants.hpp:33
constexpr long double pi_sq
Definition constants.hpp:39
constexpr long double ln10
Definition constants.hpp:20
constexpr long double sqrt2
Definition constants.hpp:27
constexpr long double ln3
Definition constants.hpp:19
constexpr long double e
Definition constants.hpp:15
constexpr long double sqrt2pi
Definition constants.hpp:32
constexpr long double sqrt3
Definition constants.hpp:29
constexpr long double inv_e
Definition constants.hpp:35
constexpr long double log10e
Definition constants.hpp:17
constexpr long double lnpi
Definition constants.hpp:21
constexpr long double minimumTolerance
Definition constants.hpp:44
Definition bivariate_normal.hpp:10