CVSROOT: /cvs
Module name: src
Changes by: [EMAIL PROTECTED] 2008/12/09 13:00:35
Modified files:
lib/libm : Makefile shlib_version
lib/libm/arch/alpha: s_copysign.S
lib/libm/arch/hppa: e_sqrt.c s_rint.c
lib/libm/arch/vax: n_atan2.S n_sincos.S n_sqrt.S n_support.S
n_tan.S
lib/libm/noieee_src: n_asincos.c n_atan.c n_atan2.c n_fdim.c
n_floor.c n_fmax.c n_fmin.c n_sincos.c
n_support.c n_tan.c
lib/libm/src : e_acos.c e_asin.c e_atan2.c e_rem_pio2.c
e_sqrt.c k_rem_pio2.c math_private.h s_atan.c
s_copysign.c s_cos.c s_exp2.c s_fabs.c s_fdim.c
s_fmax.c s_fmin.c s_frexp.c s_ilogb.c s_ldexp.c
s_nan.c s_rint.c s_scalbn.c s_sin.c s_tan.c
Added files:
lib/libm/arch/amd64: invtrig.c
lib/libm/arch/i387: invtrig.c
lib/libm/src : e_acosl.c e_asinl.c e_atan2l.c e_sqrtl.c
s_atanl.c s_copysignl.c s_cosl.c s_fabsl.c
s_fmaxl.c s_fminl.c s_frexpl.c s_ilogbl.c
s_logbl.c s_rintl.c s_scalbnl.c s_sinl.c
s_tanl.c
lib/libm/src/ld128: invtrig.c invtrig.h k_cosl.c k_sinl.c
k_tanl.c s_exp2l.c s_nanl.c
lib/libm/src/ld80: invtrig.c invtrig.h k_cosl.c k_sinl.c
k_tanl.c s_exp2l.c s_nanl.c
Removed files:
lib/libm/arch/amd64: s_finite.S s_finitef.S
lib/libm/arch/i387: s_finite.S s_finitef.S
lib/libm/arch/mc68881: s_finite.S
lib/libm/src : s_finite.c s_finitef.c s_infinity.c
Log message:
- 80-bit and quad precision trigonometric and other most
important functions: acosl, asinl, atanl, atan2l, cosl,
sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl,
fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml,
fmaxl, fminl. mostly taken from freebsd, needed alot of
changes to adapt. note, these are all c versions; and are
quite slow when architectures have, e.g. sqrt. assembly
versions will be added afterwards
- make them .weak/__weak_alias to the double precision
versions on other archs
- no need to have two finites. finite() and finitef() are
non-standard 3BSD obsolete versions of isfinite. remove
from libm. make them weak_alias in libc to __isfinite and
__isfinitef instead. similarly make 3BSD obsolete versions
of isinf, isinff, isnan, isnanf weak_aliases to C99's
__isinf, __isinff, __isnan, __isnanf
- remove unused infinity.c. the c library has infinities
for each supported platform
- use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that
the double version has a chance of working on i386 with
extra precision
- avoid storing multiple copies of the pi/2 array, since
it won't vary
- bump major due to removed finite/finitef. although they
will be in libc, which anything is linked to, minor bump
might be enough
ok [EMAIL PROTECTED] tested by sthen@, jsg@, ajacoutot@, kili@, naddy@