diff options
author | bde <bde@FreeBSD.org> | 2002-03-26 11:59:29 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 2002-03-26 11:59:29 +0000 |
commit | 755d0bf04f6bc5a88960b759fbeff6ed789f37b9 (patch) | |
tree | ffda6fa693451722718de741980717e0bef8892b /lib/msun/bsdsrc | |
parent | 5ff751bb8680caf8634643ee5e0c85c8e6904e24 (diff) | |
download | FreeBSD-src-755d0bf04f6bc5a88960b759fbeff6ed789f37b9.zip FreeBSD-src-755d0bf04f6bc5a88960b759fbeff6ed789f37b9.tar.gz |
Resurrect Lite1's gamma() as C99's tgamma(). Minimal changes.
Diffstat (limited to 'lib/msun/bsdsrc')
-rw-r--r-- | lib/msun/bsdsrc/b_exp.c | 2 | ||||
-rw-r--r-- | lib/msun/bsdsrc/b_log.c | 2 | ||||
-rw-r--r-- | lib/msun/bsdsrc/b_tgamma.c | 10 |
3 files changed, 9 insertions, 5 deletions
diff --git a/lib/msun/bsdsrc/b_exp.c b/lib/msun/bsdsrc/b_exp.c index 3804766..64d9a3d 100644 --- a/lib/msun/bsdsrc/b_exp.c +++ b/lib/msun/bsdsrc/b_exp.c @@ -117,6 +117,7 @@ ic(lnhuge, 7.1602103751842355450E2, 9, 1.6602B15B7ECF2) ic(lntiny,-7.5137154372698068983E2, 9, -1.77AF8EBEAE354) ic(invln2, 1.4426950408889633870E0, 0, 1.71547652B82FE) +#if 0 double exp(x) double x; { @@ -159,6 +160,7 @@ double x; /* exp(INF) is INF, exp(+big#) overflows to INF */ return( finite(x) ? scalb(1.0,5000) : x); } +#endif /* returns exp(r = x + c) for |c| < |x| with no overlap. */ diff --git a/lib/msun/bsdsrc/b_log.c b/lib/msun/bsdsrc/b_log.c index 715fce1..101f8b1 100644 --- a/lib/msun/bsdsrc/b_log.c +++ b/lib/msun/bsdsrc/b_log.c @@ -367,6 +367,7 @@ static double logF_tail[N+1] = { -.00000000000017239444525614834 }; +#if 0 double #ifdef _ANSI_SOURCE log(double x) @@ -437,6 +438,7 @@ log(x) double x; u2 += logF_tail[N]*m; return (u1 + u2); } +#endif /* * Extra precision variant, returning struct {double a, b;}; diff --git a/lib/msun/bsdsrc/b_tgamma.c b/lib/msun/bsdsrc/b_tgamma.c index 4859088..6c405df 100644 --- a/lib/msun/bsdsrc/b_tgamma.c +++ b/lib/msun/bsdsrc/b_tgamma.c @@ -34,7 +34,7 @@ #ifndef lint static char sccsid[] = "@(#)gamma.c 8.1 (Berkeley) 6/4/93"; #endif /* not lint */ -include <sys/cdefs.h> +#include <sys/cdefs.h> __FBSDID("$FreeBSD$"); /* @@ -138,7 +138,7 @@ static int endian; #endif double -gamma(x) +tgamma(x) double x; { struct Double u; @@ -225,7 +225,7 @@ small_gam(x) TRUNC(r.a); r.b += (t - r.a); } - /* Return r*gamma(y). */ + /* Return r*tgamma(y). */ yy = ratfun_gam(y - x0, 0); y = r.b*(yy.a + yy.b) + r.a*yy.b; y += yy.a*r.a; @@ -330,9 +330,9 @@ neg_gam(x) } y = one-x; if (one-y == x) - y = gamma(y); + y = tgamma(y); else /* 1-x is inexact */ - y = -x*gamma(-x); + y = -x*tgamma(-x); if (sgn < 0) y = -y; return (M_PI / (y*z)); } |