CVSROOT: /cvs
Module name: src
Changes by: [EMAIL PROTECTED] 2008/09/07 14:36:10
Modified files:
sys/arch/alpha/include: ieee.h
sys/arch/amd64/include: ieee.h
sys/arch/arm/include: ieee.h
sys/arch/hppa/include: ieee.h
sys/arch/hppa64/include: ieee.h
sys/arch/i386/include: ieee.h
sys/arch/m68k/include: float.h ieee.h
sys/arch/m88k/include: float.h ieee.h
sys/arch/mips64/include: float.h ieee.h
sys/arch/powerpc/include: ieee.h
sys/arch/sh/include: ieee.h
sys/arch/sparc/include: ieee.h
sys/arch/sparc64/include: ieee.h
include : Makefile math.h stdlib.h
lib/libc : Makefile.inc
lib/libc/arch/amd64/gen: Makefile.inc
lib/libc/arch/hppa64/gen: Makefile.inc
lib/libc/arch/i386/gen: Makefile.inc
lib/libc/arch/m68k/gen: Makefile.inc
lib/libc/arch/m88k/gen: Makefile.inc
lib/libc/arch/mips64/gen: Makefile.inc nan.c
lib/libc/arch/sparc/gen: Makefile.inc
lib/libc/arch/sparc64/gen: Makefile.inc
lib/libc/gen : fpclassify.c isfinite.c isinf.c isnan.c
isnormal.c
lib/libc/stdio : floatio.h vfprintf.c
lib/libc/stdlib: Makefile.inc
lib/libm : Makefile shlib_version
lib/libm/arch/amd64: e_acos.S e_asin.S e_atan2.S e_atan2f.S
e_exp.S e_fmod.S e_log.S e_log10.S
e_remainder.S e_remainderf.S e_scalb.S
e_sqrt.S e_sqrtf.S
lib/libm/arch/hppa: e_remainder.c e_remainderf.c e_sqrt.c
e_sqrtf.c
lib/libm/arch/i387: e_acos.S e_asin.S e_atan2.S e_atan2f.S
e_exp.S e_fmod.S e_log.S e_log10.S
e_remainder.S e_remainderf.S e_scalb.S
e_sqrt.S e_sqrtf.S
lib/libm/arch/mc68881: e_acos.S e_asin.S e_atanh.S e_cosh.S
e_exp.S e_log.S e_log10.S e_remainder.S
e_scalb.S e_sinh.S e_sqrt.S
lib/libm/src : e_acos.c e_acosf.c e_acosh.c e_acoshf.c
e_asin.c e_asinf.c e_atan2.c e_atan2f.c
e_atanh.c e_atanhf.c e_cosh.c e_coshf.c e_exp.c
e_expf.c e_fmod.c e_fmodf.c e_hypot.c
e_hypotf.c e_j0.c e_j0f.c e_j1.c e_j1f.c e_jn.c
e_jnf.c e_lgamma_r.c e_lgammaf_r.c e_log.c
e_log10.c e_log10f.c e_logf.c e_pow.c e_powf.c
e_remainder.c e_remainderf.c e_scalb.c
e_scalbf.c e_sinh.c e_sinhf.c e_sqrt.c
e_sqrtf.c math_private.h s_asinh.c s_asinhf.c
s_erf.c s_erff.c s_nan.c s_significand.c
s_significandf.c w_gamma.c w_gamma_r.c
regress/lib/libc: Makefile
regress/lib/libm/tgamma: tgamma.c
Added files:
include : complex.h
lib/libc/arch/alpha/gdtoa: Makefile.inc arith.h gd_qnan.h
lib/libc/arch/amd64/gdtoa: Makefile.inc arith.h gd_qnan.h
strtold.c
lib/libc/arch/amd64/gen: fpclassifyl.c isfinitel.c isinfl.c
isnanl.c isnormall.c
lib/libc/arch/arm/gdtoa: Makefile.inc arith.h gd_qnan.h
lib/libc/arch/hppa/gdtoa: Makefile.inc arith.h gd_qnan.h
lib/libc/arch/hppa64/gdtoa: Makefile.inc arith.h gd_qnan.h
strtold.c
lib/libc/arch/hppa64/gen: fpclassifyl.c isfinitel.c isinfl.c
isnanl.c isnormall.c
lib/libc/arch/i386/gdtoa: Makefile.inc arith.h gd_qnan.h
strtold.c
lib/libc/arch/i386/gen: fpclassifyl.c isfinitel.c isinfl.c
isnanl.c isnormall.c
lib/libc/arch/m68k/gdtoa: Makefile.inc arith.h gd_qnan.h
strtold.c
lib/libc/arch/m68k/gen: fpclassifyl.c isfinitel.c isinfl.c
isnanl.c isnormall.c
lib/libc/arch/m88k/gdtoa: Makefile.inc arith.h gd_qnan.h
strtold.c
lib/libc/arch/m88k/gen: fpclassifyl.c isfinitel.c isinfl.c
isnanl.c isnormall.c
lib/libc/arch/mips64/gdtoa: Makefile.inc arith.h gd_qnan.h
strtold.c
lib/libc/arch/mips64/gen: fpclassifyl.c isfinitel.c isinfl.c
isnanl.c isnormall.c
lib/libc/arch/powerpc/gdtoa: Makefile.inc arith.h gd_qnan.h
lib/libc/arch/sh/gdtoa: Makefile.inc arith.h gd_qnan.h
lib/libc/arch/sparc/gdtoa: Makefile.inc arith.h gd_qnan.h
strtold.c
lib/libc/arch/sparc/gen: fpclassifyl.c isfinitel.c isinfl.c
isnanl.c isnormall.c
lib/libc/arch/sparc64/gdtoa: Makefile.inc arith.h gd_qnan.h
strtold.c
lib/libc/arch/sparc64/gen: fpclassifyl.c isfinitel.c isinfl.c
isnanl.c isnormall.c
lib/libc/arch/vax/gdtoa: Makefile.inc arith.h gd_qnan.h hdtoa.c
strtof.c
lib/libc/gdtoa : Makefile.inc arithchk.c dmisc.c dtoa.c g_Qfmt.c
g__fmt.c g_ddfmt.c g_dfmt.c g_ffmt.c g_xLfmt.c
g_xfmt.c gdtoa.c gdtoa.h gdtoaimp.h gethex.c
gmisc.c hd_init.c hdtoa.c hexnan.c ldtoa.c
locks.c misc.c qnan.c smisc.c strtoIQ.c
strtoId.c strtoIdd.c strtoIf.c strtoIg.c
strtoIx.c strtoIxL.c strtod.c strtodI.c
strtodg.c strtodnrp.c strtof.c strtold.c
strtopQ.c strtopd.c strtopdd.c strtopf.c
strtopx.c strtopxL.c strtorQ.c strtord.c
strtordd.c strtorf.c strtorx.c strtorxL.c sum.c
ulp.c
lib/libm/src : e_log2.c e_log2f.c s_cabs.c s_cabsf.c s_cacos.c
s_cacosf.c s_cacosh.c s_cacoshf.c s_carg.c
s_cargf.c s_casin.c s_casinf.c s_casinh.c
s_casinhf.c s_catan.c s_catanf.c s_catanh.c
s_catanhf.c s_ccos.c s_ccosf.c s_ccosh.c
s_ccoshf.c s_cexp.c s_cexpf.c s_cimag.c
s_cimagf.c s_clog.c s_clogf.c s_conj.c
s_conjf.c s_cpow.c s_cpowf.c s_cproj.c
s_cprojf.c s_creal.c s_crealf.c s_csin.c
s_csinf.c s_csinh.c s_csinhf.c s_csqrt.c
s_csqrtf.c s_ctan.c s_ctanf.c s_ctanh.c
s_ctanhf.c s_fdim.c s_fmax.c s_fmaxf.c s_fmin.c
s_fminf.c
regress/lib/libc/fpclassify: Makefile fpclassify.c
regress/lib/libc/printf: Makefile fp.c
Removed files:
lib/libc/stdlib: strtod.c strtof.c
lib/libm/src : k_standard.c s_lib_version.c s_matherr.c
w_acos.c w_acosf.c w_acosh.c w_acoshf.c
w_asin.c w_asinf.c w_atan2.c w_atan2f.c
w_atanh.c w_atanhf.c w_cabs.c w_cabsf.c
w_cosh.c w_coshf.c w_exp.c w_expf.c w_fmod.c
w_fmodf.c w_gammaf.c w_gammaf_r.c w_hypot.c
w_hypotf.c w_j0.c w_j0f.c w_j1.c w_j1f.c w_jn.c
w_jnf.c w_lgamma.c w_lgamma_r.c w_lgammaf.c
w_lgammaf_r.c w_log.c w_log10.c w_log10f.c
w_logf.c w_pow.c w_powf.c w_remainder.c
w_remainderf.c w_scalb.c w_scalbf.c w_sinh.c
w_sinhf.c w_sqrt.c w_sqrtf.c
Log message:
- replace dtoa w/ David's gdtoa, version 2008-03-15
- provide proper dtoa locks
- use the real strtof implementation
- add strtold, __hdtoa, __hldtoa
- add %a/%A support
- don't lose precision in printf, don't round to double anymore
- implement extended-precision versions of libc functions: fpclassify,
isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is
fixed
- separate vax versions of strtof, and __hdtoa
- add complex math support. added functions: cacos, casin, catan,
ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp,
clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf,
casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf,
ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf,
cimagf, conjf, cprojf, crealf
- add fdim, fmax, fmin
- add log2. (adapted implementation e_log.c. could be more acruate
& faster, but it's good enough for now)
- remove wrappers & cruft in libm, supposed to work-around mistakes
in SVID, etc.; use ieee versions. fixes issues in python 2.6 for
djm@
- make _digittoint static
- proper definitions for i386, and amd64 in ieee.h
- sh, powerpc don't really have extended-precision
- add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h
for LDBL_*
- merge lead to frac for m{6,8}k, for gdtoa to work properly
- add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa
to use
- add EXT_IMPLICIT_NBIT definition, which indicates implicit
normalization bit
- add regression tests for libc: fpclassify and printf
- arith.h & gd_qnan.h definitions
- update ieee.h: hppa doesn't have quad-precision, hppa64 does
- add missing prototypes to gdtoaimp
- on 64-bit platforms make sure gdtoa doesn't use a long when it
really wants an int
- etc., what i may have forgotten...
- bump libm major, due to removed&changed symbols
- no libc bump, since this is riding on djm's libc major crank from
a day ago
discussed with / requested by / testing theo, sthen@, djm@, jsg@,
merdely@, jsing@, tedu@, brad@, jakemsr@, and others.
looks good to millert@
parts of the diff ok kettenis@
this commit does not include:
- man page changes