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)17inline float zeta(float a) 18 { return 1 + zetac(a); } zeta(double a)19inline double zeta(double a) 20 { return 1 + zetac(a); } zeta(long double a)21inline 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)37inline float zeta(float a) 38 { return (float)gsl_sf_zeta(a); } zeta(double a)39inline double zeta(double a) 40 { return gsl_sf_zeta(a); } zeta(long double a)41inline 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