Mercurial > hg > octave-nkf
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 +++ b/liboctave/lo-specfun.cc @@ -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);