1 // --------------------------------------------------------------------- 2 // 3 // Copyright (C) 2018 - 2019 by the deal.II authors 4 // 5 // This file is part of the deal.II library. 6 // 7 // The deal.II library is free software; you can use it, redistribute 8 // it, and/or modify it under the terms of the GNU Lesser General 9 // Public License as published by the Free Software Foundation; either 10 // version 2.1 of the License, or (at your option) any later version. 11 // The full text of the license can be found in the file LICENSE.md at 12 // the top level directory of deal.II. 13 // 14 // --------------------------------------------------------------------- 15 #ifndef dealii_cxx17_cmath_h 16 #define dealii_cxx17_cmath_h 17 18 #include <deal.II/base/config.h> 19 20 #ifdef DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS 21 # include <cmath> 22 #else 23 # include <boost/math/special_functions/bessel.hpp> 24 #endif 25 26 27 DEAL_II_NAMESPACE_OPEN 28 namespace std_cxx17 29 { 30 #ifndef DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS 31 double (&cyl_bessel_j)(double, 32 double) = boost::math::cyl_bessel_j<double, double>; 33 float (&cyl_bessel_jf)(float, 34 float) = boost::math::cyl_bessel_j<float, float>; 35 #ifndef __DragonFly__ 36 long double (&cyl_bessel_jl)(long double, long double) = 37 boost::math::cyl_bessel_j<long double, long double>; 38 #endif 39 #else 40 using std::cyl_bessel_j; 41 using std::cyl_bessel_jf; 42 using std::cyl_bessel_jl; 43 #endif 44 } // namespace std_cxx17 45 DEAL_II_NAMESPACE_CLOSE 46 47 #endif // dealii_cxx17_cmath_h 48