Thermal-FIST 1.5
Package for hadron resonance gas model applications
Loading...
Searching...
No Matches
xMath.h
Go to the documentation of this file.
1/*
2 * Thermal-FIST package
3 *
4 * Copyright (c) 2014-2019 Volodymyr Vovchenko
5 *
6 * GNU General Public License (GPLv3 or later)
7 */
8#ifndef THERMALFIST_XMATH_H
9#define THERMALFIST_XMATH_H
16
17
18namespace thermalfist {
19
20 namespace xMath {
21
23 constexpr double Pi() { return 3.14159265358979323846; }
25 constexpr double GeVtoifm() { return 5.06773; }
26
28 constexpr double GeVtoifm2() { return GeVtoifm() * GeVtoifm(); }
29
31 constexpr double GeVtoifm3() { return GeVtoifm() * GeVtoifm() * GeVtoifm(); }
32
34 constexpr double mnucleon() { return 0.938; }
35
37 constexpr double mpion() { return 0.138; }
38
40
43
50 double BesselI(int n, double x);
51
59 double BesselK(int n, double x);
60
67 double BesselI0(double x);
68
75 double BesselK0(double x);
76
83 double BesselI1(double x);
84
91 double BesselK1(double x);
92
99 double BesselJ0(double x);
100
107 double BesselJ1(double x);
108
115 double BesselY0(double x);
116
123 double BesselY1(double x);
124
131 double StruveH0(double x);
132
139 double StruveH1(double x);
140
147 double StruveL0(double x);
148
155 double StruveL1(double x);
156
163 double BesselK0exp(double x);
164
171 double BesselK1exp(double x);
172
180 double BesselKexp(int n, double x);
181
188 double BesselI0exp(double x);
189
196 double BesselI1exp(double x);
197
205 double BesselIexp(int n, double x);
206
215 double LogGamma(double x);
216
223 double Gamma(double x);
225
237 template<typename T> T LambertW0(T z);
238 }
239
240} // namespace thermalfist
241
242// Implementation of template functions
243#include "xMath.tcc"
244
245#endif // THERMALFIST_XMATH_H
double BesselK0exp(double x)
Modified Bessel function K_0(x), divided by exponential factor.
Definition xMath.cpp:623
double BesselK(int n, double x)
Integer order modified Bessel function K_n(x)
Definition xMath.cpp:162
double BesselI1exp(double x)
Modified Bessel function I_1(x), divided by exponential factor.
Definition xMath.cpp:755
double BesselI0(double x)
Modified Bessel function I_0(x)
Definition xMath.cpp:23
double BesselY0(double x)
Bessel function Y0(x) for positive x.
Definition xMath.cpp:308
constexpr double Pi()
Pi constant.
Definition xMath.h:23
double BesselI0exp(double x)
Modified Bessel function I_0(x), divided by exponential factor.
Definition xMath.cpp:723
double BesselY1(double x)
Bessel function Y1(x) for positive x.
Definition xMath.cpp:343
double StruveL0(double x)
Modified Struve function of order 0.
Definition xMath.cpp:531
constexpr double GeVtoifm()
A constant to transform GeV into fm .
Definition xMath.h:25
double BesselJ0(double x)
Bessel function J0(x) for any real x.
Definition xMath.cpp:235
double BesselKexp(int n, double x)
Modified Bessel function K_n(x), divided by exponential factor.
Definition xMath.cpp:693
double StruveL1(double x)
Modified Struve function of order 1.
Definition xMath.cpp:578
double Gamma(double x)
Computes the Gamma function.
Definition xMath.cpp:835
double BesselJ1(double x)
Bessel function J1(x) for any real x.
Definition xMath.cpp:271
double BesselK1exp(double x)
Modified Bessel function K_1(x), divided by exponential factor.
Definition xMath.cpp:657
double BesselIexp(int n, double x)
Modified Bessel function I_n(x), divided by exponential factor.
Definition xMath.cpp:791
double BesselK1(double x)
Modified Bessel function K_1(x)
Definition xMath.cpp:127
double LogGamma(double x)
Computes the logarithm of the Gamma function.
Definition xMath.cpp:955
double StruveH0(double x)
Struve function of order 0.
Definition xMath.cpp:380
constexpr double GeVtoifm3()
A constant to transform GeV into fm .
Definition xMath.h:31
constexpr double GeVtoifm2()
A constant to transform GeV into fm .
Definition xMath.h:28
T LambertW0(T z)
Computes the Lambert W function (0-branch) using Halley's method.
constexpr double mpion()
Pion's mass. Value as in UrQMD.
Definition xMath.h:37
double BesselI(int n, double x)
Integer order modified Bessel function I_n(x)
Definition xMath.cpp:192
double BesselI1(double x)
Modified Bessel function I_1(x)
Definition xMath.cpp:91
double BesselK0(double x)
Modified Bessel function K_0(x)
Definition xMath.cpp:55
constexpr double mnucleon()
Nucleon's mass. Value as in UrQMD.
Definition xMath.h:34
double StruveH1(double x)
Struve function of order 1.
Definition xMath.cpp:450
The main namespace where all classes and functions of the Thermal-FIST library reside.
Definition CosmicEoS.h:9