From 8243a35a5e8ee04b8a005eb6ea741a2c8f919ab6 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 15 Jun 2013 08:04:54 +0000 Subject: [PATCH] Don't mix literal and non-literal initializers in one table - it causes the PGI compiler to generate incorrect code. Refs #8621. [SVN r84789] --- include/boost/math/special_functions/detail/lgamma_small.hpp | 4 ++-- include/boost/math/special_functions/zeta.hpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/boost/math/special_functions/detail/lgamma_small.hpp b/include/boost/math/special_functions/detail/lgamma_small.hpp index 25850aaaa..82b5d159e 100644 --- a/include/boost/math/special_functions/detail/lgamma_small.hpp +++ b/include/boost/math/special_functions/detail/lgamma_small.hpp @@ -87,7 +87,7 @@ T lgamma_small_imp(T z, T zm1, T zm2, const mpl::int_<64>&, const Policy& /* l * static_cast(BOOST_MATH_BIG_CONSTANT(T, 64, -0.324588649825948492091e-4)) }; static const T Q[] = { - static_cast(0.1e1), + static_cast(BOOST_MATH_BIG_CONSTANT(T, 64, 0.1e1)), static_cast(BOOST_MATH_BIG_CONSTANT(T, 64, 0.196202987197795200688e1)), static_cast(BOOST_MATH_BIG_CONSTANT(T, 64, 0.148019669424231326694e1)), static_cast(BOOST_MATH_BIG_CONSTANT(T, 64, 0.541391432071720958364e0)), @@ -198,7 +198,7 @@ T lgamma_small_imp(T z, T zm1, T zm2, const mpl::int_<64>&, const Policy& /* l * static_cast(BOOST_MATH_BIG_CONSTANT(T, 64, 0.431171342679297331241e-3)) }; static const T Q[] = { - static_cast(0.1e1), + static_cast(BOOST_MATH_BIG_CONSTANT(T, 64, 0.1e1)), static_cast(BOOST_MATH_BIG_CONSTANT(T, 64, -0.150169356054485044494e1)), static_cast(BOOST_MATH_BIG_CONSTANT(T, 64, 0.846973248876495016101e0)), static_cast(BOOST_MATH_BIG_CONSTANT(T, 64, -0.220095151814995745555e0)), diff --git a/include/boost/math/special_functions/zeta.hpp b/include/boost/math/special_functions/zeta.hpp index ababc62d5..6c82fa4e3 100644 --- a/include/boost/math/special_functions/zeta.hpp +++ b/include/boost/math/special_functions/zeta.hpp @@ -432,7 +432,7 @@ T zeta_imp_prec(T s, T sc, const Policy&, const mpl::int_<64>&) BOOST_MATH_BIG_CONSTANT(T, 64, 0.540319769113543934483e-7), }; static const T Q[8] = { - 1, + BOOST_MATH_BIG_CONSTANT(T, 64, 1.0), BOOST_MATH_BIG_CONSTANT(T, 64, 0.286577739726542730421), BOOST_MATH_BIG_CONSTANT(T, 64, 0.0447355811517733225843), BOOST_MATH_BIG_CONSTANT(T, 64, 0.00430125107610252363302), @@ -458,7 +458,7 @@ T zeta_imp_prec(T s, T sc, const Policy&, const mpl::int_<64>&) BOOST_MATH_BIG_CONSTANT(T, 64, -0.252884970740994069582e-5), }; static const T Q[9] = { - 1, + BOOST_MATH_BIG_CONSTANT(T, 64, 1.0), BOOST_MATH_BIG_CONSTANT(T, 64, 1.01300131390690459085), BOOST_MATH_BIG_CONSTANT(T, 64, 0.387898115758643503827), BOOST_MATH_BIG_CONSTANT(T, 64, 0.0695071490045701135188),