changeset 23463:5296657cde44

use lgamma if lgamma_r is not available (bug #50919) * lo-specfun.cc (rc_lgamma): Use lgamma (or lgammaf) if lgamma_r (or lgammaf_r) is not available. Only fall back to DLGAMS and ALGAMS from SLATEC if both are missing.
author John W. Eaton <jwe@octave.org>
date Wed, 03 May 2017 09:32:56 -0400
parents 314d980bee93
children 342e485c796d
files liboctave/numeric/lo-specfun.cc
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/numeric/lo-specfun.cc	Tue May 02 16:01:14 2017 -0700
+++ b/liboctave/numeric/lo-specfun.cc	Wed May 03 09:32:56 2017 -0400
@@ -377,6 +377,9 @@
 #if defined (HAVE_LGAMMA_R)
       int sgngam;
       result = lgamma_r (x, &sgngam);
+#elif defined (HAVE_LGAMMA)
+      result = lgamma (x);
+      int sgngam = signgam;
 #else
       double sgngam = 0.0;
 
@@ -451,6 +454,9 @@
 #if defined (HAVE_LGAMMAF_R)
       int sgngam;
       result = lgammaf_r (x, &sgngam);
+#elif defined (HAVE_LGAMMAF)
+      result = lgammaf (x);
+      int sgngam = signgam;
 #else
       float sgngam = 0.0f;