summaryrefslogtreecommitdiff
path: root/libm/w_tgamma.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-12-28 22:15:07 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-12-28 22:15:07 +0000
commit30bd4a6cc3a093fdb32db26ee8bc30cd7ef47622 (patch)
tree01723c9bffa22959927c97216fa24ff1107bfd46 /libm/w_tgamma.c
parentde87f81d41ef95772db9e0616e6ae31f5894eda7 (diff)
remove many functions which just call __ieee754_<function>,
define them as aliases instead. text data bss dec hex filename - 45402 180 4 45586 b212 lib/libm-0.9.30-svn.so + 45302 180 4 45486 b1ae lib/libm-0.9.30-svn.so
Diffstat (limited to 'libm/w_tgamma.c')
-rw-r--r--libm/w_tgamma.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/libm/w_tgamma.c b/libm/w_tgamma.c
index 15723c5d6..3ad473b2f 100644
--- a/libm/w_tgamma.c
+++ b/libm/w_tgamma.c
@@ -17,25 +17,23 @@
#include "math.h"
#include "math_private.h"
-libm_hidden_proto(signgam)
double tgamma(double x)
{
double y;
int local_signgam;
- y = __ieee754_gamma_r(x,&local_signgam);
- if (local_signgam < 0) y = -y;
-#ifdef _IEEE_LIBM
- return y;
-#else
- if(_LIB_VERSION == _IEEE_) return y;
- if(!isfinite(y)&&isfinite(x)) {
- if(floor(x)==x&&x<=0.0)
- return __kernel_standard(x,x,41); /* tgamma pole */
- else
- return __kernel_standard(x,x,40); /* tgamma overflow */
+ y = __ieee754_gamma_r(x, &local_signgam);
+ if (local_signgam < 0)
+ y = -y;
+#ifndef _IEEE_LIBM
+ if (_LIB_VERSION == _IEEE_)
+ return y;
+ if (!isfinite(y) && isfinite(x)) {
+ if (floor(x) == x && x <= 0.0)
+ return __kernel_standard(x, x, 41); /* tgamma pole */
+ return __kernel_standard(x, x, 40); /* tgamma overflow */
}
- return y;
#endif
+ return y;
}
libm_hidden_def(tgamma)