FreeBSD and NetBSD both use derivates of Sun's math library. On FreeBSD,
authorJoerg Sonnenberger <joerg@dragonflybsd.org>
Tue, 26 Jul 2005 21:15:20 +0000 (21:15 +0000)
committerJoerg Sonnenberger <joerg@dragonflybsd.org>
Tue, 26 Jul 2005 21:15:20 +0000 (21:15 +0000)
commitb34b60bcc821e09a08bcb1f08cb3f214a8117a5b
tree734ffe3d281964d0da70183e2684e8f8bd1da129
parent02d8a449a9e124e6cf325138c100dbed955f5ede
FreeBSD and NetBSD both use derivates of Sun's math library. On FreeBSD,
it's been put into lib/msun, on NetBSD it is under lib/libm. Since
DragonFly misses a lot of the changes which went into both and I
consider the NetBSD version cleaner, switch to that.

Biggest difference to NetBSD is the omission of wrappers for non-IEEE757
floating point support. There's no point in supporting anything but IEEE
757 and that saves at least a function call per math entry point.

Addtionally, important the fpclassify, isinf, isnan and signbit
functions into libc as required for C99.

Remove the support for non-POSIX operation. matherr is pointless and
wasn't really supported anyway.
237 files changed:
Makefile.inc1
gnu/usr.bin/groff/src/libs/libgroff/Makefile
include/Makefile
include/math.h [new file with mode: 0644]
lib/Makefile
lib/libc/gen/Makefile.inc
lib/libc/gen/fpclassify.3 [new file with mode: 0644]
lib/libc/gen/fpclassifyd.c [new file with mode: 0644]
lib/libc/gen/fpclassifyf.c [new file with mode: 0644]
lib/libc/gen/infinity.c [new file with mode: 0644]
lib/libc/gen/infinityf.c [new file with mode: 0644]
lib/libc/gen/infinityl_dbl.c [new file with mode: 0644]
lib/libc/gen/isfinite.3 [new file with mode: 0644]
lib/libc/gen/isfinited.c [new file with mode: 0644]
lib/libc/gen/isfinitef.c [new file with mode: 0644]
lib/libc/gen/isinf.3
lib/libc/gen/isinfd.c [copied from lib/libc/i386/gen/isinf.c with 62% similarity]
lib/libc/gen/isinff.c [copied from lib/libc/i386/gen/isinf.c with 62% similarity]
lib/libc/gen/isnan.3 [copied from lib/libc/gen/isinf.3 with 62% similarity]
lib/libc/gen/isnand.c [copied from lib/libc/i386/gen/isinf.c with 62% similarity]
lib/libc/gen/isnanf.c [copied from lib/libc/i386/gen/isinf.c with 62% similarity]
lib/libc/gen/signbit.3 [new file with mode: 0644]
lib/libc/gen/signbitd.c [new file with mode: 0644]
lib/libc/gen/signbitf.c [new file with mode: 0644]
lib/libc/i386/gen/Makefile.inc
lib/libc/i386/gen/flt_rounds.S [new file with mode: 0644]
lib/libc/i386/gen/fpclassifyl.c [new file with mode: 0644]
lib/libc/i386/gen/fpgetmask.S [new file with mode: 0644]
lib/libc/i386/gen/fpgetround.S [new file with mode: 0644]
lib/libc/i386/gen/fpgetsticky.S [new file with mode: 0644]
lib/libc/i386/gen/fpsetmask.S [new file with mode: 0644]
lib/libc/i386/gen/fpsetround.S [new file with mode: 0644]
lib/libc/i386/gen/fpsetsticky.S [new file with mode: 0644]
lib/libc/i386/gen/infinity.c [deleted file]
lib/libc/i386/gen/infinityl.c [new file with mode: 0644]
lib/libc/i386/gen/isfinitel.c [new file with mode: 0644]
lib/libc/i386/gen/isinfl.c [copied from lib/libc/i386/gen/isinf.c with 62% similarity]
lib/libc/i386/gen/isnanl.c [moved from lib/libc/i386/gen/isinf.c with 62% similarity]
lib/libc/i386/gen/nanf.c [new file with mode: 0644]
lib/libc/i386/gen/signbitl.c [new file with mode: 0644]
lib/libm/Makefile [new file with mode: 0644]
lib/libm/arch/i386/Makefile.inc [new file with mode: 0644]
lib/libm/arch/i386/abi.h [new file with mode: 0644]
lib/libm/arch/i386/e_acos.S [new file with mode: 0644]
lib/libm/arch/i386/e_asin.S [new file with mode: 0644]
lib/libm/arch/i386/e_atan2.S [new file with mode: 0644]
lib/libm/arch/i386/e_atan2f.S [new file with mode: 0644]
lib/libm/arch/i386/e_exp.S [new file with mode: 0644]
lib/libm/arch/i386/e_expf.S [new file with mode: 0644]
lib/libm/arch/i386/e_fmod.S [new file with mode: 0644]
lib/libm/arch/i386/e_log.S [new file with mode: 0644]
lib/libm/arch/i386/e_log10.S [new file with mode: 0644]
lib/libm/arch/i386/e_log10f.S [new file with mode: 0644]
lib/libm/arch/i386/e_logf.S [new file with mode: 0644]
lib/libm/arch/i386/e_remainder.S [new file with mode: 0644]
lib/libm/arch/i386/e_remainderf.S [new file with mode: 0644]
lib/libm/arch/i386/e_scalb.S [new file with mode: 0644]
lib/libm/arch/i386/e_scalbf.S [new file with mode: 0644]
lib/libm/arch/i386/e_sqrt.S [new file with mode: 0644]
lib/libm/arch/i386/e_sqrtf.S [new file with mode: 0644]
lib/libm/arch/i386/lrint.S [new file with mode: 0644]
lib/libm/arch/i386/s_atan.S [new file with mode: 0644]
lib/libm/arch/i386/s_atanf.S [new file with mode: 0644]
lib/libm/arch/i386/s_ceil.S [new file with mode: 0644]
lib/libm/arch/i386/s_ceilf.S [new file with mode: 0644]
lib/libm/arch/i386/s_copysign.S [new file with mode: 0644]
lib/libm/arch/i386/s_copysignf.S [new file with mode: 0644]
lib/libm/arch/i386/s_cos.S [new file with mode: 0644]
lib/libm/arch/i386/s_cosf.S [new file with mode: 0644]
lib/libm/arch/i386/s_finite.S [new file with mode: 0644]
lib/libm/arch/i386/s_finitef.S [new file with mode: 0644]
lib/libm/arch/i386/s_floor.S [new file with mode: 0644]
lib/libm/arch/i386/s_floorf.S [new file with mode: 0644]
lib/libm/arch/i386/s_ilogb.S [new file with mode: 0644]
lib/libm/arch/i386/s_ilogbf.S [new file with mode: 0644]
lib/libm/arch/i386/s_log1p.S [new file with mode: 0644]
lib/libm/arch/i386/s_log1pf.S [new file with mode: 0644]
lib/libm/arch/i386/s_logb.S [new file with mode: 0644]
lib/libm/arch/i386/s_logbf.S [new file with mode: 0644]
lib/libm/arch/i386/s_rint.S [new file with mode: 0644]
lib/libm/arch/i386/s_rintf.S [new file with mode: 0644]
lib/libm/arch/i386/s_scalbn.S [new file with mode: 0644]
lib/libm/arch/i386/s_scalbnf.S [new file with mode: 0644]
lib/libm/arch/i386/s_significand.S [new file with mode: 0644]
lib/libm/arch/i386/s_significandf.S [new file with mode: 0644]
lib/libm/arch/i386/s_sin.S [new file with mode: 0644]
lib/libm/arch/i386/s_sinf.S [new file with mode: 0644]
lib/libm/arch/i386/s_tan.S [new file with mode: 0644]
lib/libm/arch/i386/s_tanf.S [new file with mode: 0644]
lib/libm/man/Makefile.inc [new file with mode: 0644]
lib/libm/man/acos.3 [copied from lib/libc/gen/isinf.3 with 54% similarity]
lib/libm/man/acosh.3 [copied from lib/libc/gen/isinf.3 with 55% similarity]
lib/libm/man/asin.3 [copied from lib/libc/gen/isinf.3 with 54% similarity]
lib/libm/man/asinh.3 [copied from lib/libc/gen/isinf.3 with 55% similarity]
lib/libm/man/atan.3 [copied from lib/libc/gen/isinf.3 with 54% similarity]
lib/libm/man/atan2.3 [new file with mode: 0644]
lib/libm/man/atanh.3 [copied from lib/libc/gen/isinf.3 with 55% similarity]
lib/libm/man/ceil.3 [copied from lib/libc/gen/isinf.3 with 54% similarity]
lib/libm/man/cos.3 [copied from lib/libc/gen/isinf.3 with 54% similarity]
lib/libm/man/cosh.3 [copied from lib/libc/gen/isinf.3 with 54% similarity]
lib/libm/man/erf.3 [copied from lib/libc/gen/isinf.3 with 55% similarity]
lib/libm/man/exp.3 [new file with mode: 0644]
lib/libm/man/fabs.3 [copied from lib/libc/gen/isinf.3 with 54% similarity]
lib/libm/man/floor.3 [copied from lib/libc/gen/isinf.3 with 54% similarity]
lib/libm/man/fmod.3 [copied from lib/libc/gen/isinf.3 with 55% similarity]
lib/libm/man/hypot.3 [new file with mode: 0644]
lib/libm/man/ieee.3 [new file with mode: 0644]
lib/libm/man/ieee_test.3 [copied from lib/libc/gen/isinf.3 with 53% similarity]
lib/libm/man/j0.3 [new file with mode: 0644]
lib/libm/man/lgamma.3 [new file with mode: 0644]
lib/libm/man/math.3 [new file with mode: 0644]
lib/libm/man/rint.3 [copied from lib/libc/gen/isinf.3 with 55% similarity]
lib/libm/man/round.3 [copied from lib/libc/gen/isinf.3 with 50% similarity]
lib/libm/man/sin.3 [copied from lib/libc/gen/isinf.3 with 54% similarity]
lib/libm/man/sinh.3 [copied from lib/libc/gen/isinf.3 with 54% similarity]
lib/libm/man/sqrt.3 [copied from lib/libc/gen/isinf.3 with 55% similarity]
lib/libm/man/tan.3 [copied from lib/libc/gen/isinf.3 with 54% similarity]
lib/libm/man/tanh.3 [copied from lib/libc/gen/isinf.3 with 54% similarity]
lib/libm/src/Makefile.inc [new file with mode: 0644]
lib/libm/src/e_acos.c [new file with mode: 0644]
lib/libm/src/e_acosf.c [new file with mode: 0644]
lib/libm/src/e_acosh.c [new file with mode: 0644]
lib/libm/src/e_acoshf.c [new file with mode: 0644]
lib/libm/src/e_asin.c [new file with mode: 0644]
lib/libm/src/e_asinf.c [new file with mode: 0644]
lib/libm/src/e_atan2.c [new file with mode: 0644]
lib/libm/src/e_atan2f.c [new file with mode: 0644]
lib/libm/src/e_atanh.c [new file with mode: 0644]
lib/libm/src/e_atanhf.c [new file with mode: 0644]
lib/libm/src/e_cosh.c [new file with mode: 0644]
lib/libm/src/e_coshf.c [new file with mode: 0644]
lib/libm/src/e_exp.c [new file with mode: 0644]
lib/libm/src/e_expf.c [new file with mode: 0644]
lib/libm/src/e_fmod.c [new file with mode: 0644]
lib/libm/src/e_fmodf.c [new file with mode: 0644]
lib/libm/src/e_hypot.c [new file with mode: 0644]
lib/libm/src/e_hypotf.c [new file with mode: 0644]
lib/libm/src/e_j0.c [new file with mode: 0644]
lib/libm/src/e_j0f.c [new file with mode: 0644]
lib/libm/src/e_j1.c [new file with mode: 0644]
lib/libm/src/e_j1f.c [new file with mode: 0644]
lib/libm/src/e_jn.c [new file with mode: 0644]
lib/libm/src/e_jnf.c [new file with mode: 0644]
lib/libm/src/e_lgamma_r.c [new file with mode: 0644]
lib/libm/src/e_lgammaf_r.c [new file with mode: 0644]
lib/libm/src/e_log.c [new file with mode: 0644]
lib/libm/src/e_log10.c [new file with mode: 0644]
lib/libm/src/e_log10f.c [new file with mode: 0644]
lib/libm/src/e_logf.c [new file with mode: 0644]
lib/libm/src/e_pow.c [new file with mode: 0644]
lib/libm/src/e_powf.c [new file with mode: 0644]
lib/libm/src/e_rem_pio2.c [new file with mode: 0644]
lib/libm/src/e_rem_pio2f.c [new file with mode: 0644]
lib/libm/src/e_remainder.c [new file with mode: 0644]
lib/libm/src/e_remainderf.c [new file with mode: 0644]
lib/libm/src/e_scalb.c [new file with mode: 0644]
lib/libm/src/e_scalbf.c [new file with mode: 0644]
lib/libm/src/e_sinh.c [new file with mode: 0644]
lib/libm/src/e_sinhf.c [new file with mode: 0644]
lib/libm/src/e_sqrt.c [new file with mode: 0644]
lib/libm/src/e_sqrtf.c [new file with mode: 0644]
lib/libm/src/k_cos.c [new file with mode: 0644]
lib/libm/src/k_cosf.c [new file with mode: 0644]
lib/libm/src/k_rem_pio2.c [new file with mode: 0644]
lib/libm/src/k_rem_pio2f.c [new file with mode: 0644]
lib/libm/src/k_sin.c [new file with mode: 0644]
lib/libm/src/k_sinf.c [new file with mode: 0644]
lib/libm/src/k_tan.c [new file with mode: 0644]
lib/libm/src/k_tanf.c [new file with mode: 0644]
lib/libm/src/llrint.c [new file with mode: 0644]
lib/libm/src/llrintf.c [new file with mode: 0644]
lib/libm/src/llround.c [new file with mode: 0644]
lib/libm/src/llroundf.c [new file with mode: 0644]
lib/libm/src/lrint.c [new file with mode: 0644]
lib/libm/src/lrintf.c [new file with mode: 0644]
lib/libm/src/lround.c [new file with mode: 0644]
lib/libm/src/lroundf.c [new file with mode: 0644]
lib/libm/src/math_private.h [new file with mode: 0644]
lib/libm/src/s_asinh.c [new file with mode: 0644]
lib/libm/src/s_asinhf.c [new file with mode: 0644]
lib/libm/src/s_atan.c [new file with mode: 0644]
lib/libm/src/s_atanf.c [new file with mode: 0644]
lib/libm/src/s_cbrt.c [new file with mode: 0644]
lib/libm/src/s_cbrtf.c [new file with mode: 0644]
lib/libm/src/s_ceil.c [new file with mode: 0644]
lib/libm/src/s_ceilf.c [new file with mode: 0644]
lib/libm/src/s_copysign.c [new file with mode: 0644]
lib/libm/src/s_copysignf.c [new file with mode: 0644]
lib/libm/src/s_cos.c [new file with mode: 0644]
lib/libm/src/s_cosf.c [new file with mode: 0644]
lib/libm/src/s_erf.c [new file with mode: 0644]
lib/libm/src/s_erff.c [new file with mode: 0644]
lib/libm/src/s_expm1.c [new file with mode: 0644]
lib/libm/src/s_expm1f.c [new file with mode: 0644]
lib/libm/src/s_fabsf.c [new file with mode: 0644]
lib/libm/src/s_finite.c [new file with mode: 0644]
lib/libm/src/s_finitef.c [new file with mode: 0644]
lib/libm/src/s_floor.c [new file with mode: 0644]
lib/libm/src/s_floorf.c [new file with mode: 0644]
lib/libm/src/s_frexpf.c [new file with mode: 0644]
lib/libm/src/s_ilogb.c [new file with mode: 0644]
lib/libm/src/s_ilogbf.c [new file with mode: 0644]
lib/libm/src/s_ldexpf.c [new file with mode: 0644]
lib/libm/src/s_log1p.c [new file with mode: 0644]
lib/libm/src/s_log1pf.c [new file with mode: 0644]
lib/libm/src/s_logb.c [new file with mode: 0644]
lib/libm/src/s_logbf.c [new file with mode: 0644]
lib/libm/src/s_modff.c [new file with mode: 0644]
lib/libm/src/s_nextafter.c [new file with mode: 0644]
lib/libm/src/s_nextafterf.c [new file with mode: 0644]
lib/libm/src/s_rint.c [new file with mode: 0644]
lib/libm/src/s_rintf.c [new file with mode: 0644]
lib/libm/src/s_round.c [new file with mode: 0644]
lib/libm/src/s_roundf.c [new file with mode: 0644]
lib/libm/src/s_scalbn.c [new file with mode: 0644]
lib/libm/src/s_scalbnf.c [new file with mode: 0644]
lib/libm/src/s_signgam.c [new file with mode: 0644]
lib/libm/src/s_significand.c [new file with mode: 0644]
lib/libm/src/s_significandf.c [new file with mode: 0644]
lib/libm/src/s_sin.c [new file with mode: 0644]
lib/libm/src/s_sinf.c [new file with mode: 0644]
lib/libm/src/s_tan.c [new file with mode: 0644]
lib/libm/src/s_tanf.c [new file with mode: 0644]
lib/libm/src/s_tanh.c [new file with mode: 0644]
lib/libm/src/s_tanhf.c [new file with mode: 0644]
lib/libm/src/w_cabs.c [new file with mode: 0644]
lib/libm/src/w_cabsf.c [new file with mode: 0644]
lib/libm/src/w_drem.c [new file with mode: 0644]
lib/libm/src/w_dremf.c [new file with mode: 0644]
lib/libm/src/w_gamma.c [new file with mode: 0644]
lib/libm/src/w_gamma_r.c [new file with mode: 0644]
lib/libm/src/w_gammaf.c [new file with mode: 0644]
lib/libm/src/w_gammaf_r.c [new file with mode: 0644]
lib/libm/src/w_lgamma.c [new file with mode: 0644]
lib/libm/src/w_lgammaf.c [new file with mode: 0644]
sys/cpu/i386/include/math.h [new file with mode: 0644]
sys/i386/include/math.h [new file with mode: 0644]