1 // (C) Copyright John Maddock 2006.
2 // Use, modification and distribution are subject to the
3 // Boost Software License, Version 1.0. (See accompanying file
4 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #ifndef BOOST_MATH_TEST_ZETA_OTHER_HOOKS_HPP
7 #define BOOST_MATH_TEST_ZETA_OTHER_HOOKS_HPP
13 double expn(int, double);
14 float expnf(int, float);
15 long double expnl(int, long double);
17 inline float expint(unsigned n, float a)
18 { return expnf(n, a); }
19 inline double expint(unsigned n, double a)
20 { return expn(n, a); }
21 inline long double expint(unsigned n, long double a)
24 return expn(n, (double)a);
29 // Ei is not supported:
31 inline T expint(T){ return 0; }
37 #include <gsl/gsl_sf_expint.h>
40 inline float expint(float a)
41 { return (float)gsl_sf_expint_Ei(a); }
42 inline double expint(double a)
43 { return gsl_sf_expint_Ei(a); }
44 inline long double expint(long double a)
45 { return gsl_sf_expint_Ei(a); }
46 // En is not supported:
48 inline T expint(unsigned, T){ return 0; }
55 extern "C" int calcei_(double *arg, double *result, int*);
56 inline float expint(float a)
63 inline double expint(double a)
70 inline long double expint(long double a)
77 // En is not supported:
79 inline T expint(unsigned, T){ return 0; }
86 boost::math::concepts::real_concept expint(unsigned, boost::math::concepts::real_concept){ return 0; }
87 boost::math::concepts::real_concept expint(boost::math::concepts::real_concept){ return 0; }