Himalaya
Li2.hpp
Go to the documentation of this file.
1 // ====================================================================
2 // This file is part of GM2Calc.
3 //
4 // GM2Calc is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published
6 // by the Free Software Foundation, either version 3 of the License,
7 // or (at your option) any later version.
8 //
9 // GM2Calc is distributed in the hope that it will be useful, but
10 // WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with GM2Calc. If not, see
16 // <http://www.gnu.org/licenses/>.
17 // ====================================================================
18 
19 #pragma once
20 
21 #include <complex>
22 
23 /**
24  * @file Li2.hpp
25  * @brief Declaration of the dilogarithm function
26  * @note The file has been taken from GM2Calc.
27  */
28 
29 #ifdef __GNUC__
30 # define ATTR(x) __attribute__ ((x))
31 #else
32 # define ATTR(x)
33 #endif
34 
35 namespace himalaya {
36 
37 /// real dilogarithm
38 double dilog(double) noexcept ATTR(const);
39 
40 /// complex dilogarithm
41 std::complex<double> dilog(const std::complex<double>&) noexcept ATTR(const);
42 
43 /// Clausen function Cl_2(x)
44 double clausen_2(double) noexcept ATTR(const);
45 
46 } // namespace himalaya
47 
48 #undef ATTR
Definition: H3.cpp:14
double clausen_2(double x) noexcept
Clausen function .
Definition: Li2.cpp:214
double dilog(double x) noexcept
Real dilogarithm .
Definition: Li2.cpp:62
#define ATTR(x)
Definition: Li2.hpp:32