• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)
5 
6 #ifndef BOOST_MATH_TEST_ZETA_OTHER_HOOKS_HPP
7 #define BOOST_MATH_TEST_ZETA_OTHER_HOOKS_HPP
8 
9 
10 #ifdef TEST_CEPHES
11 namespace other{
12 extern "C" {
13    double zetac(double);
14    float zetacf(float);
15    long double zetacl(long double);
16 }
zeta(float a)17 inline float zeta(float a)
18 { return 1 + zetac(a); }
zeta(double a)19 inline double zeta(double a)
20 { return 1 + zetac(a); }
zeta(long double a)21 inline long double zeta(long double a)
22 {
23 #ifdef BOOST_MSVC
24    return 1 + zetac((double)a);
25 #else
26    return zetacl(a);
27 #endif
28 }
29 }
30 #define TEST_OTHER
31 #endif
32 
33 #ifdef TEST_GSL
34 #include <gsl/gsl_sf_zeta.h>
35 
36 namespace other{
zeta(float a)37 inline float zeta(float a)
38 { return (float)gsl_sf_zeta(a); }
zeta(double a)39 inline double zeta(double a)
40 { return gsl_sf_zeta(a); }
zeta(long double a)41 inline long double zeta(long double a)
42 { return gsl_sf_zeta(a); }
43 }
44 #define TEST_OTHER
45 #endif
46 
47 #ifdef TEST_OTHER
48 namespace other{
zeta(boost::math::concepts::real_concept)49    boost::math::concepts::real_concept zeta(boost::math::concepts::real_concept){ return 0; }
50 }
51 #endif
52 
53 
54 #endif
55 
56 
57