diff options
| author | Jun T <takimoto-j@kba.biglobe.ne.jp> | 2013-10-27 00:41:03 +0900 |
|---|---|---|
| committer | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2013-10-27 00:00:56 +0100 |
| commit | ef4d20ad6fde1ca519a19ad60f2c31d86f5b1d98 (patch) | |
| tree | e328dcbb8127ce13408d57af693e1a386b84fb6f /Src/Modules/mathfunc.c | |
| parent | 31890 + 31891: Add NEWS for new features since 5.0.2 (diff) | |
| download | zsh-ef4d20ad6fde1ca519a19ad60f2c31d86f5b1d98.tar zsh-ef4d20ad6fde1ca519a19ad60f2c31d86f5b1d98.tar.gz zsh-ef4d20ad6fde1ca519a19ad60f2c31d86f5b1d98.tar.bz2 zsh-ef4d20ad6fde1ca519a19ad60f2c31d86f5b1d98.tar.lz zsh-ef4d20ad6fde1ca519a19ad60f2c31d86f5b1d98.tar.xz zsh-ef4d20ad6fde1ca519a19ad60f2c31d86f5b1d98.tar.zst zsh-ef4d20ad6fde1ca519a19ad60f2c31d86f5b1d98.zip | |
31902: rationalise use of gamma function.
Make zsh/mathfunc consistent across systems and use tgamma() where
available
Diffstat (limited to 'Src/Modules/mathfunc.c')
| -rw-r--r-- | Src/Modules/mathfunc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Src/Modules/mathfunc.c b/Src/Modules/mathfunc.c index 04483b555..efadd86ff 100644 --- a/Src/Modules/mathfunc.c +++ b/Src/Modules/mathfunc.c @@ -340,7 +340,16 @@ math_func(char *name, int argc, mnumber *argv, int id) break; case MF_GAMMA: +#ifdef HAVE_TGAMMA + retd = tgamma(argd); +#else +#ifdef HAVE_SIGNGAM + retd = lgamma(argd); + retd = signgam*exp(retd); +#else /*XXX assume gamma(x) returns Gamma(x), not log(|Gamma(x)|) */ retd = gamma(argd); +#endif +#endif break; case MF_HYPOT: |
