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;
 }