RFFGen
 All Classes Namespaces Files Functions Typedefs Enumerations Groups
third.hh
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of the C++-library RFFGen. */
4 /* Copyright 2015 Lars Lubkoll */
5 /* */
6 /* RFFGen is free software: you can redistribute it and/or modify */
7 /* it under the terms of the GNU General Public License as published by */
8 /* the Free Software Foundation, either version 3 of the License, or */
9 /* (at your option) any later version. */
10 /* */
11 /* RFFGen is distributed in the hope that it will be useful, */
12 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
13 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
14 /* GNU General Public License for more details. */
15 /* */
16 /* You should have received a copy of the GNU General Public License */
17 /* along with RFFGen. If not, see <http://www.gnu.org/licenses/>. */
18 /* */
19 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
20 
21 #ifndef RFFGEN_THIRD_HH
22 #define RFFGEN_THIRD_HH
23 
24 #define HAVE_BOOST
25 
26 #ifdef HAVE_BOOST
27 #include <boost/math/constants/constants.hpp>
28 #endif
29 
33 namespace RFFGen
34 {
35 #ifdef HAVE_BOOST
36  constexpr double third() noexcept { return boost::math::constants::third<double>(); }
37  constexpr double twothirds() noexcept { return boost::math::constants::twothirds<double>(); }
38 #else
39  constexpr double third() noexcept { return 1./3.; }
40  constexpr double twothirds() noexcept { return 2*third(); }
41 #endif
42 }
47 #endif // RFFGEN_THIRD_HH