about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2013-10-26 16:19:12 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2013-10-26 16:19:12 -0700
commiteec5140dde1c211454590536a7b43370d07f3bb6 (patch)
tree79faf71850f823c8e01b4c76ced00159ed59a492 /Src
parentc3114a7735c85b79771e08bd156470bde1a36950 (diff)
parentef4d20ad6fde1ca519a19ad60f2c31d86f5b1d98 (diff)
downloadzsh-eec5140dde1c211454590536a7b43370d07f3bb6.tar.gz
zsh-eec5140dde1c211454590536a7b43370d07f3bb6.tar.xz
zsh-eec5140dde1c211454590536a7b43370d07f3bb6.zip
Merge overlapping ChangeLog entries
Diffstat (limited to 'Src')
-rw-r--r--Src/Modules/mathfunc.c9
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: