summaryrefslogtreecommitdiffstats
path: root/lib/msun
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1997-02-15 05:21:16 +0000
committerbde <bde@FreeBSD.org>1997-02-15 05:21:16 +0000
commit1dd609a3d1987733a003885713fff603b5b3755e (patch)
tree27e60b60dffb76ccd1e7b4380c0f0d768fe40273 /lib/msun
parentc5326ece55d2efa64cd844f653754e81972de0ec (diff)
downloadFreeBSD-src-1dd609a3d1987733a003885713fff603b5b3755e.zip
FreeBSD-src-1dd609a3d1987733a003885713fff603b5b3755e.tar.gz
Disabled the i387 version if log1p(). It just evaluates log(1 + x).
This defeats the point of log1p(). ucbtest reports errors of +-5e+15 ULPs. A correct version would use the i387 fyl2xp1 instruction for small x and maybe scale to small x. The C version does the scaling reasonably efficiently, and fyl2px1 is slow (at least on P5s), so not much is lost by always using the C version (only 25% for small x even with the broken i387 version; 50% for large x).
Diffstat (limited to 'lib/msun')
-rw-r--r--lib/msun/Makefile6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/msun/Makefile b/lib/msun/Makefile
index 9dca94a..ceda3ff 100644
--- a/lib/msun/Makefile
+++ b/lib/msun/Makefile
@@ -46,9 +46,11 @@
.PATH: ${.CURDIR}/i387
ARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_fmod.S e_log.S e_log10.S \
e_remainder.S e_scalb.S e_sqrt.S s_atan.S s_ceil.S s_copysign.S \
- s_cos.S s_finite.S s_floor.S s_ilogb.S s_log1p.S s_logb.S \
+ s_cos.S s_finite.S s_floor.S s_ilogb.S s_logb.S \
s_rint.S s_scalbn.S s_significand.S s_sin.S s_tan.S
-.endif
+
+# Broken
+# ARCH_SRCS+= s_log1p.S
.PATH: ${.CURDIR}/man
.PATH: ${.CURDIR}/src
OpenPOWER on IntegriCloud