diff liboctave/lo-specfun.cc @ 6961:b559b4bcf51f

[project @ 2007-10-05 19:35:21 by jwe]
author jwe
date Fri, 05 Oct 2007 19:35:22 +0000
parents ace8d8d26933
children 0a64abe792f4
line wrap: on
line diff
--- a/liboctave/lo-specfun.cc	Fri Oct 05 15:03:10 2007 +0000
+++ b/liboctave/lo-specfun.cc	Fri Oct 05 19:35:22 2007 +0000
@@ -187,6 +187,25 @@
   return result;
 }
 
+Complex
+zlgamma (double x)
+{
+  Complex result;
+
+  if (xisnan (x))
+    result = x;
+  else if (x > 0)
+    result = xlgamma (x);
+  else
+    {
+      double tmp = xgamma (x);
+
+      result = tmp < 0 ? std::log (Complex (tmp)) : log (tmp);
+    }
+
+  return result;
+}
+
 static inline Complex
 zbesj (const Complex& z, double alpha, int kode, octave_idx_type& ierr);