Mercurial > octave-nkf
changeset 20490:951019b7afd4
use different approach to avoid gnulib warning
* lo-specfun.cc (xlog): New static inline template with float and
double specializations.
(Lanczos_approximation_psi): Call xlog instead of gnulib::log.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 19 Aug 2015 16:18:45 -0400 |
parents | 1a22083b5929 |
children | 642ce72cf1ab |
files | liboctave/numeric/lo-specfun.cc |
diffstat | 1 files changed, 22 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/liboctave/numeric/lo-specfun.cc Wed Aug 19 16:09:06 2015 -0400 +++ b/liboctave/numeric/lo-specfun.cc Wed Aug 19 16:18:45 2015 -0400 @@ -3743,6 +3743,27 @@ static const double pi = 3.14159265358979323846; +template <class T> +static inline T +xlog (const T& x) +{ + return log (x); +} + +template <> +inline double +xlog (const double& x) +{ + return gnulib::log (x); +} + +template <> +inline float +xlog (const float& x) +{ + return gnulib::logf (x); +} + template<class T> static T Lanczos_approximation_psi (const T zc) @@ -3765,7 +3786,7 @@ T p = 0; for (octave_idx_type k = 0; k < 10; k++, overz2k *= overz2) p += dg_coeff[k] * overz2k; - p += gnulib::log (zc) - T (0.5) / zc; + p += xlog (zc) - T (0.5) / zc; return p; }