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).
This commit is contained in:
Bruce Evans 1997-02-15 05:21:16 +00:00
parent c8ab81b886
commit ec7d3a3282
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=22731

View File

@ -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