diff options
author | bde <bde@FreeBSD.org> | 1997-03-09 16:29:29 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1997-03-09 16:29:29 +0000 |
commit | 6dc700613a5a26417b3b8a3b958664e44dd507fe (patch) | |
tree | 328c568ab800325731d7e389e35755b4bacbbfd2 /lib/msun/src/e_acosf.c | |
parent | 154b7d3e6c9eb840b8244cd54446d8bab6e56de1 (diff) | |
download | FreeBSD-src-6dc700613a5a26417b3b8a3b958664e44dd507fe.zip FreeBSD-src-6dc700613a5a26417b3b8a3b958664e44dd507fe.tar.gz |
Use __ieee754_sqrt() instead of sqrt() internally. Similarly for the
float versions. Using sqrt() was inefficient.
Obtained from: NetBSD
Diffstat (limited to 'lib/msun/src/e_acosf.c')
-rw-r--r-- | lib/msun/src/e_acosf.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/msun/src/e_acosf.c b/lib/msun/src/e_acosf.c index 04107dd..f3c6a50 100644 --- a/lib/msun/src/e_acosf.c +++ b/lib/msun/src/e_acosf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: e_acosf.c,v 1.4 1997/02/22 15:09:55 peter Exp $"; #endif #include "math.h" @@ -68,14 +68,14 @@ qS4 = 7.7038154006e-02; /* 0x3d9dc62e */ z = (one+x)*(float)0.5; p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5))))); q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4))); - s = sqrtf(z); + s = __ieee754_sqrtf(z); r = p/q; w = r*s-pio2_lo; return pi - (float)2.0*(s+w); } else { /* x > 0.5 */ int32_t idf; z = (one-x)*(float)0.5; - s = sqrtf(z); + s = __ieee754_sqrtf(z); df = s; GET_FLOAT_WORD(idf,df); SET_FLOAT_WORD(df,idf&0xfffff000); |