Replace hybrid libm with OpenBSD libm on vendor branch
authorJohn Marino <draco@marino.st>
Mon, 13 Jul 2015 08:54:40 +0000 (10:54 +0200)
committerJohn Marino <draco@marino.st>
Tue, 14 Jul 2015 08:39:10 +0000 (10:39 +0200)
In order to gain full c++11 support on GCC, we had to import a number
of long double functions from NetBSD, once again converting libm into
a hybrid library from a mixture of sources.  As of today, FreeBSD still
doesn't have the missing functions and the PR on broken c++11 has been
lingering for months.

The OpenBSD libm is complete and maintained[1][2].  It's unmodified
sources are in vendor/OPENBSD_LIBM branch with local modifications (to
squelch gcc warnings and adjust for OS differences mainly) are applied
to the master for easy diff generation.

A dports bulk build was executing using the new math library and the
result is the ports built normally.

[1] The final two "imprecise" functions were replaced by proper long
    double versions.  The imprecise versions remain as older symbols
    (libm has symbol versioning) so this source is additional to what
    is provided in the vendor branch. (powl, tgammal)

[2] There were several DF306.0 symbols that are not present in OpenLIBM,
    partially because they've been moved to libc or were always there.
    In order to maintain backwards capability, copies of these functions
    with new names are built into libm, and given DF306.0 versions only.
    Without the version suffix, these past functions will not link to
    new programs.

421 files changed:
Makefile_upgrade.inc
include/Makefile
include/tgmath.h [deleted file]
lib/libc/Versions.def
lib/libc/gen/Makefile.inc
lib/libc/gen/isfinite.c [new file with mode: 0644]
lib/libc/gen/isnormal.c [new file with mode: 0644]
lib/libc/gen/signbit.c [new file with mode: 0644]
lib/libc/x86_64/gen/Makefile.inc
lib/libc/x86_64/gen/infinity.c
lib/libc/x86_64/gen/isfinitel.c [new file with mode: 0644]
lib/libc/x86_64/gen/isnanl.c [new file with mode: 0644]
lib/libc/x86_64/gen/isnormall.c [new file with mode: 0644]
lib/libc/x86_64/gen/nan.c [new file with mode: 0644]
lib/libc/x86_64/gen/signbitl.c [new file with mode: 0644]
lib/libm/Makefile
lib/libm/Symbol.map
lib/libm/Symbol.map.x86_64 [moved from lib/libm/x86_64/Symbol.map with 100% similarity]
lib/libm/bsdsrc/b_exp.c [deleted file]
lib/libm/bsdsrc/b_log.c [deleted file]
lib/libm/bsdsrc/b_tgamma.c [deleted file]
lib/libm/bsdsrc/mathimpl.h [deleted file]
lib/libm/gaps/cacosl.3 [deleted file]
lib/libm/gaps/cacosl.c [deleted file]
lib/libm/gaps/casinl.3 [deleted file]
lib/libm/gaps/casinl.c [deleted file]
lib/libm/gaps/catanl.3 [deleted file]
lib/libm/gaps/catanl.c [deleted file]
lib/libm/gaps/ccoshl.3 [deleted file]
lib/libm/gaps/ccoshl.c [deleted file]
lib/libm/gaps/ccosl.3 [deleted file]
lib/libm/gaps/ccosl.c [deleted file]
lib/libm/gaps/cephes_subrl.c [deleted file]
lib/libm/gaps/cephes_subrl.h [deleted file]
lib/libm/gaps/cexpl.3 [deleted file]
lib/libm/gaps/cexpl.c [deleted file]
lib/libm/gaps/clog.3 [deleted file]
lib/libm/gaps/clog.c [deleted file]
lib/libm/gaps/clogf.c [deleted file]
lib/libm/gaps/clogl.c [deleted file]
lib/libm/gaps/cpow.3 [deleted file]
lib/libm/gaps/cpow.c [deleted file]
lib/libm/gaps/cpowf.c [deleted file]
lib/libm/gaps/cpowl.c [deleted file]
lib/libm/gaps/csinhl.3 [deleted file]
lib/libm/gaps/csinhl.c [deleted file]
lib/libm/gaps/csinl.3 [deleted file]
lib/libm/gaps/csinl.c [deleted file]
lib/libm/gaps/ctanhl.3 [deleted file]
lib/libm/gaps/ctanhl.c [deleted file]
lib/libm/gaps/ctanl.3 [deleted file]
lib/libm/gaps/ctanl.c [deleted file]
lib/libm/i386/Makefile.inc [deleted file]
lib/libm/i386/Symbol.map [deleted file]
lib/libm/i386/e_exp.S [deleted file]
lib/libm/i386/e_fmod.S [deleted file]
lib/libm/i386/e_log.S [deleted file]
lib/libm/i386/e_log10.S [deleted file]
lib/libm/i386/e_log10f.S [deleted file]
lib/libm/i386/e_logf.S [deleted file]
lib/libm/i386/e_remainder.S [deleted file]
lib/libm/i386/e_remainderf.S [deleted file]
lib/libm/i386/e_remainderl.S [deleted file]
lib/libm/i386/e_sqrt.S [deleted file]
lib/libm/i386/e_sqrtf.S [deleted file]
lib/libm/i386/e_sqrtl.S [deleted file]
lib/libm/i386/fenv.c [deleted file]
lib/libm/i386/invtrig.c [deleted file]
lib/libm/i386/s_ceil.S [deleted file]
lib/libm/i386/s_ceilf.S [deleted file]
lib/libm/i386/s_ceill.S [deleted file]
lib/libm/i386/s_copysign.S [deleted file]
lib/libm/i386/s_copysignf.S [deleted file]
lib/libm/i386/s_copysignl.S [deleted file]
lib/libm/i386/s_cos.S [deleted file]
lib/libm/i386/s_finite.S [deleted file]
lib/libm/i386/s_floor.S [deleted file]
lib/libm/i386/s_floorf.S [deleted file]
lib/libm/i386/s_floorl.S [deleted file]
lib/libm/i386/s_llrint.S [deleted file]
lib/libm/i386/s_llrintf.S [deleted file]
lib/libm/i386/s_llrintl.S [deleted file]
lib/libm/i386/s_logb.S [deleted file]
lib/libm/i386/s_logbf.S [deleted file]
lib/libm/i386/s_logbl.S [deleted file]
lib/libm/i386/s_lrint.S [deleted file]
lib/libm/i386/s_lrintf.S [deleted file]
lib/libm/i386/s_lrintl.S [deleted file]
lib/libm/i386/s_remquo.S [deleted file]
lib/libm/i386/s_remquof.S [deleted file]
lib/libm/i386/s_remquol.S [deleted file]
lib/libm/i386/s_rint.S [deleted file]
lib/libm/i386/s_rintf.S [deleted file]
lib/libm/i386/s_rintl.S [deleted file]
lib/libm/i386/s_scalbn.S [deleted file]
lib/libm/i386/s_scalbnf.S [deleted file]
lib/libm/i386/s_scalbnl.S [deleted file]
lib/libm/i386/s_significand.S [deleted file]
lib/libm/i386/s_significandf.S [deleted file]
lib/libm/i386/s_sin.S [deleted file]
lib/libm/i386/s_tan.S [deleted file]
lib/libm/i386/s_trunc.S [deleted file]
lib/libm/i386/s_truncf.S [deleted file]
lib/libm/i386/s_truncl.S [deleted file]
lib/libm/ld80/e_lgammal_r.c [deleted file]
lib/libm/ld80/e_rem_pio2l.h [deleted file]
lib/libm/ld80/invtrig.c [deleted file]
lib/libm/ld80/invtrig.h [deleted file]
lib/libm/ld80/k_cosl.c [deleted file]
lib/libm/ld80/k_expl.h [deleted file]
lib/libm/ld80/k_sinl.c [deleted file]
lib/libm/ld80/k_tanl.c [deleted file]
lib/libm/ld80/s_erfl.c [deleted file]
lib/libm/ld80/s_exp2l.c [deleted file]
lib/libm/ld80/s_expl.c [deleted file]
lib/libm/ld80/s_logl.c [deleted file]
lib/libm/ld80/s_nanl.c [deleted file]
lib/libm/man/acos.3 [deleted file]
lib/libm/man/acosh.3 [deleted file]
lib/libm/man/asin.3 [deleted file]
lib/libm/man/asinh.3 [deleted file]
lib/libm/man/atan.3 [deleted file]
lib/libm/man/atan2.3 [deleted file]
lib/libm/man/atanh.3 [deleted file]
lib/libm/man/cacos.3 [deleted file]
lib/libm/man/ccos.3 [deleted file]
lib/libm/man/ccosh.3 [deleted file]
lib/libm/man/ceil.3 [deleted file]
lib/libm/man/cexp.3 [deleted file]
lib/libm/man/cimag.3 [deleted file]
lib/libm/man/complex.3 [deleted file]
lib/libm/man/copysign.3 [deleted file]
lib/libm/man/cos.3 [deleted file]
lib/libm/man/cosh.3 [deleted file]
lib/libm/man/csqrt.3 [deleted file]
lib/libm/man/erf.3 [deleted file]
lib/libm/man/exp.3 [deleted file]
lib/libm/man/fabs.3 [deleted file]
lib/libm/man/fdim.3 [deleted file]
lib/libm/man/feclearexcept.3 [deleted file]
lib/libm/man/feenableexcept.3 [deleted file]
lib/libm/man/fegetenv.3 [deleted file]
lib/libm/man/fegetround.3 [deleted file]
lib/libm/man/fenv.3 [deleted file]
lib/libm/man/floor.3 [deleted file]
lib/libm/man/fma.3 [deleted file]
lib/libm/man/fmax.3 [deleted file]
lib/libm/man/fmod.3 [deleted file]
lib/libm/man/hypot.3 [deleted file]
lib/libm/man/ieee.3 [deleted file]
lib/libm/man/ieee_test.3 [deleted file]
lib/libm/man/ilogb.3 [deleted file]
lib/libm/man/j0.3 [deleted file]
lib/libm/man/lgamma.3 [deleted file]
lib/libm/man/log.3 [deleted file]
lib/libm/man/lrint.3 [deleted file]
lib/libm/man/lround.3 [deleted file]
lib/libm/man/math.3 [deleted file]
lib/libm/man/nan.3 [deleted file]
lib/libm/man/nextafter.3 [deleted file]
lib/libm/man/remainder.3 [deleted file]
lib/libm/man/rint.3 [deleted file]
lib/libm/man/round.3 [deleted file]
lib/libm/man/scalbn.3 [deleted file]
lib/libm/man/signbit.3 [deleted file]
lib/libm/man/sin.3 [deleted file]
lib/libm/man/sinh.3 [deleted file]
lib/libm/man/sqrt.3 [deleted file]
lib/libm/man/tan.3 [deleted file]
lib/libm/man/tanh.3 [deleted file]
lib/libm/man/trunc.3 [deleted file]
lib/libm/src/amd64/isfinitel.c [new file with mode: 0644]
lib/libm/src/amd64/isnanl.c [new file with mode: 0644]
lib/libm/src/amd64/isnormall.c [new file with mode: 0644]
lib/libm/src/amd64/signbitl.c [new file with mode: 0644]
lib/libm/src/catrig.c [deleted file]
lib/libm/src/catrigf.c [deleted file]
lib/libm/src/complex.h [deleted file]
lib/libm/src/e_acos.c [deleted file]
lib/libm/src/e_acosf.c [deleted file]
lib/libm/src/e_acosh.c [deleted file]
lib/libm/src/e_acoshf.c [deleted file]
lib/libm/src/e_acoshl.c [deleted file]
lib/libm/src/e_acosl.c [deleted file]
lib/libm/src/e_asin.c [deleted file]
lib/libm/src/e_asinf.c [deleted file]
lib/libm/src/e_asinl.c [deleted file]
lib/libm/src/e_atan2.c [deleted file]
lib/libm/src/e_atan2f.c [deleted file]
lib/libm/src/e_atan2l.c [deleted file]
lib/libm/src/e_atanh.c [deleted file]
lib/libm/src/e_atanhf.c [deleted file]
lib/libm/src/e_atanhl.c [deleted file]
lib/libm/src/e_cosh.c [deleted file]
lib/libm/src/e_coshf.c [deleted file]
lib/libm/src/e_coshl.c [deleted file]
lib/libm/src/e_exp.c [deleted file]
lib/libm/src/e_expf.c [deleted file]
lib/libm/src/e_fmod.c [deleted file]
lib/libm/src/e_fmodf.c [deleted file]
lib/libm/src/e_fmodl.c [deleted file]
lib/libm/src/e_gamma.c [deleted file]
lib/libm/src/e_gamma_r.c [deleted file]
lib/libm/src/e_gammaf.c [deleted file]
lib/libm/src/e_gammaf_r.c [deleted file]
lib/libm/src/e_hypot.c [deleted file]
lib/libm/src/e_hypotf.c [deleted file]
lib/libm/src/e_hypotl.c [deleted file]
lib/libm/src/e_j0.c [deleted file]
lib/libm/src/e_j0f.c [deleted file]
lib/libm/src/e_j1.c [deleted file]
lib/libm/src/e_j1f.c [deleted file]
lib/libm/src/e_jn.c [deleted file]
lib/libm/src/e_jnf.c [deleted file]
lib/libm/src/e_lgamma.c [deleted file]
lib/libm/src/e_lgamma_r.c [deleted file]
lib/libm/src/e_lgammaf.c [deleted file]
lib/libm/src/e_lgammaf_r.c [deleted file]
lib/libm/src/e_lgammal.c [deleted file]
lib/libm/src/e_log.c [deleted file]
lib/libm/src/e_log10.c [deleted file]
lib/libm/src/e_log10f.c [deleted file]
lib/libm/src/e_log2.c [deleted file]
lib/libm/src/e_log2f.c [deleted file]
lib/libm/src/e_logf.c [deleted file]
lib/libm/src/e_pow.c [deleted file]
lib/libm/src/e_powf.c [deleted file]
lib/libm/src/e_rem_pio2.c [deleted file]
lib/libm/src/e_rem_pio2f.c [deleted file]
lib/libm/src/e_remainder.c [deleted file]
lib/libm/src/e_remainderf.c [deleted file]
lib/libm/src/e_remainderl.c [deleted file]
lib/libm/src/e_scalb.c [deleted file]
lib/libm/src/e_scalbf.c [deleted file]
lib/libm/src/e_sinh.c [deleted file]
lib/libm/src/e_sinhf.c [deleted file]
lib/libm/src/e_sinhl.c [deleted file]
lib/libm/src/e_sqrt.c [deleted file]
lib/libm/src/e_sqrtf.c [deleted file]
lib/libm/src/e_sqrtl.c [deleted file]
lib/libm/src/fenv-softfloat.h [deleted file]
lib/libm/src/fenv.h [deleted file]
lib/libm/src/frexp.c [moved from lib/libm/src/s_frexpl.c with 62% similarity]
lib/libm/src/imprecise.c
lib/libm/src/isfinite.c [new file with mode: 0644]
lib/libm/src/isnanf.c [new file with mode: 0644]
lib/libm/src/isnormal.c [new file with mode: 0644]
lib/libm/src/k_cos.c [deleted file]
lib/libm/src/k_cosf.c [deleted file]
lib/libm/src/k_exp.c [deleted file]
lib/libm/src/k_expf.c [deleted file]
lib/libm/src/k_log.h [deleted file]
lib/libm/src/k_logf.h [deleted file]
lib/libm/src/k_rem_pio2.c [deleted file]
lib/libm/src/k_sin.c [deleted file]
lib/libm/src/k_sinf.c [deleted file]
lib/libm/src/k_tan.c [deleted file]
lib/libm/src/k_tanf.c [deleted file]
lib/libm/src/math.h [deleted file]
lib/libm/src/math_private.h [deleted file]
lib/libm/src/s_asinh.c [deleted file]
lib/libm/src/s_asinhf.c [deleted file]
lib/libm/src/s_asinhl.c [deleted file]
lib/libm/src/s_atan.c [deleted file]
lib/libm/src/s_atanf.c [deleted file]
lib/libm/src/s_atanl.c [deleted file]
lib/libm/src/s_carg.c [deleted file]
lib/libm/src/s_cargf.c [deleted file]
lib/libm/src/s_cargl.c [deleted file]
lib/libm/src/s_cbrt.c [deleted file]
lib/libm/src/s_cbrtf.c [deleted file]
lib/libm/src/s_cbrtl.c [deleted file]
lib/libm/src/s_ccosh.c [deleted file]
lib/libm/src/s_ccoshf.c [deleted file]
lib/libm/src/s_ceil.c [deleted file]
lib/libm/src/s_ceilf.c [deleted file]
lib/libm/src/s_ceill.c [deleted file]
lib/libm/src/s_cexp.c [deleted file]
lib/libm/src/s_cexpf.c [deleted file]
lib/libm/src/s_cimag.c [deleted file]
lib/libm/src/s_cimagf.c [deleted file]
lib/libm/src/s_cimagl.c [deleted file]
lib/libm/src/s_conj.c [deleted file]
lib/libm/src/s_conjf.c [deleted file]
lib/libm/src/s_conjl.c [deleted file]
lib/libm/src/s_copysign.c [deleted file]
lib/libm/src/s_copysignf.c [deleted file]
lib/libm/src/s_copysignl.c [deleted file]
lib/libm/src/s_cos.c [deleted file]
lib/libm/src/s_cosf.c [deleted file]
lib/libm/src/s_cosl.c [deleted file]
lib/libm/src/s_cproj.c [deleted file]
lib/libm/src/s_cprojf.c [deleted file]
lib/libm/src/s_cprojl.c [deleted file]
lib/libm/src/s_creal.c [deleted file]
lib/libm/src/s_crealf.c [deleted file]
lib/libm/src/s_creall.c [deleted file]
lib/libm/src/s_csinh.c [deleted file]
lib/libm/src/s_csinhf.c [deleted file]
lib/libm/src/s_csqrt.c [deleted file]
lib/libm/src/s_csqrtf.c [deleted file]
lib/libm/src/s_csqrtl.c [deleted file]
lib/libm/src/s_ctanh.c [deleted file]
lib/libm/src/s_ctanhf.c [deleted file]
lib/libm/src/s_erf.c [deleted file]
lib/libm/src/s_erff.c [deleted file]
lib/libm/src/s_exp2.c [deleted file]
lib/libm/src/s_exp2f.c [deleted file]
lib/libm/src/s_expm1.c [deleted file]
lib/libm/src/s_expm1f.c [deleted file]
lib/libm/src/s_fabs.c [deleted file]
lib/libm/src/s_fabsf.c [deleted file]
lib/libm/src/s_fabsl.c [deleted file]
lib/libm/src/s_fdim.c [deleted file]
lib/libm/src/s_finite.c [deleted file]
lib/libm/src/s_finitef.c [deleted file]
lib/libm/src/s_floor.c [deleted file]
lib/libm/src/s_floorf.c [deleted file]
lib/libm/src/s_floorl.c [deleted file]
lib/libm/src/s_fma.c [deleted file]
lib/libm/src/s_fmaf.c [deleted file]
lib/libm/src/s_fmal.c [deleted file]
lib/libm/src/s_fmax.c [deleted file]
lib/libm/src/s_fmaxf.c [deleted file]
lib/libm/src/s_fmaxl.c [deleted file]
lib/libm/src/s_fmin.c [deleted file]
lib/libm/src/s_fminf.c [deleted file]
lib/libm/src/s_fminl.c [deleted file]
lib/libm/src/s_frexp.c [deleted file]
lib/libm/src/s_frexpf.c [deleted file]
lib/libm/src/s_ilogb.c [deleted file]
lib/libm/src/s_ilogbf.c [deleted file]
lib/libm/src/s_ilogbl.c [deleted file]
lib/libm/src/s_isfinite.c [deleted file]
lib/libm/src/s_isnan.c [deleted file]
lib/libm/src/s_isnormal.c [deleted file]
lib/libm/src/s_llrint.c [deleted file]
lib/libm/src/s_llrintf.c [deleted file]
lib/libm/src/s_llrintl.c [deleted file]
lib/libm/src/s_llround.c [deleted file]
lib/libm/src/s_llroundf.c [deleted file]
lib/libm/src/s_llroundl.c [deleted file]
lib/libm/src/s_log1p.c [deleted file]
lib/libm/src/s_log1pf.c [deleted file]
lib/libm/src/s_logb.c [deleted file]
lib/libm/src/s_logbf.c [deleted file]
lib/libm/src/s_logbl.c [deleted file]
lib/libm/src/s_lrint.c [deleted file]
lib/libm/src/s_lrintf.c [deleted file]
lib/libm/src/s_lrintl.c [deleted file]
lib/libm/src/s_lround.c [deleted file]
lib/libm/src/s_lroundf.c [deleted file]
lib/libm/src/s_lroundl.c [deleted file]
lib/libm/src/s_modf.c [deleted file]
lib/libm/src/s_modff.c [deleted file]
lib/libm/src/s_modfl.c [deleted file]
lib/libm/src/s_nan.c [deleted file]
lib/libm/src/s_nearbyint.c [deleted file]
lib/libm/src/s_nextafter.c [deleted file]
lib/libm/src/s_nextafterf.c [deleted file]
lib/libm/src/s_nextafterl.c [deleted file]
lib/libm/src/s_nexttoward.c [deleted file]
lib/libm/src/s_nexttowardf.c [deleted file]
lib/libm/src/s_remquo.c [deleted file]
lib/libm/src/s_remquof.c [deleted file]
lib/libm/src/s_remquol.c [deleted file]
lib/libm/src/s_rint.c [deleted file]
lib/libm/src/s_rintf.c [deleted file]
lib/libm/src/s_rintl.c [deleted file]
lib/libm/src/s_round.c [deleted file]
lib/libm/src/s_roundf.c [deleted file]
lib/libm/src/s_roundl.c [deleted file]
lib/libm/src/s_scalbln.c [deleted file]
lib/libm/src/s_scalbn.c [deleted file]
lib/libm/src/s_scalbnf.c [deleted file]
lib/libm/src/s_scalbnl.c [deleted file]
lib/libm/src/s_signbit.c [deleted file]
lib/libm/src/s_signgam.c [deleted file]
lib/libm/src/s_significand.c [deleted file]
lib/libm/src/s_significandf.c [deleted file]
lib/libm/src/s_sin.c [deleted file]
lib/libm/src/s_sinf.c [deleted file]
lib/libm/src/s_sinl.c [deleted file]
lib/libm/src/s_tan.c [deleted file]
lib/libm/src/s_tanf.c [deleted file]
lib/libm/src/s_tanh.c [deleted file]
lib/libm/src/s_tanhf.c [deleted file]
lib/libm/src/s_tanhl.c [deleted file]
lib/libm/src/s_tanl.c [deleted file]
lib/libm/src/s_tgammaf.c [deleted file]
lib/libm/src/s_trunc.c [deleted file]
lib/libm/src/s_truncf.c [deleted file]
lib/libm/src/s_truncl.c [deleted file]
lib/libm/src/signbit.c [new file with mode: 0644]
lib/libm/src/w_cabs.c [deleted file]
lib/libm/src/w_cabsf.c [deleted file]
lib/libm/src/w_cabsl.c [deleted file]
lib/libm/src/w_drem.c [deleted file]
lib/libm/src/w_dremf.c [deleted file]
lib/libm/x86_64/Makefile.inc [deleted file]
lib/libm/x86_64/e_remainder.S [deleted file]
lib/libm/x86_64/e_remainderf.S [deleted file]
lib/libm/x86_64/e_remainderl.S [deleted file]
lib/libm/x86_64/e_sqrt.S [deleted file]
lib/libm/x86_64/e_sqrtf.S [deleted file]
lib/libm/x86_64/e_sqrtl.S [deleted file]
lib/libm/x86_64/fenv.c [deleted file]
lib/libm/x86_64/s_llrint.S [deleted file]
lib/libm/x86_64/s_llrintf.S [deleted file]
lib/libm/x86_64/s_llrintl.S [deleted file]
lib/libm/x86_64/s_logbl.S [deleted file]
lib/libm/x86_64/s_lrint.S [deleted file]
lib/libm/x86_64/s_lrintf.S [deleted file]
lib/libm/x86_64/s_lrintl.S [deleted file]
lib/libm/x86_64/s_remquo.S [deleted file]
lib/libm/x86_64/s_remquof.S [deleted file]
lib/libm/x86_64/s_remquol.S [deleted file]
lib/libm/x86_64/s_rintl.S [deleted file]
lib/libm/x86_64/s_scalbn.S [deleted file]
lib/libm/x86_64/s_scalbnf.S [deleted file]
lib/libm/x86_64/s_scalbnl.S [deleted file]

index b8da624..1373ace 100644 (file)
@@ -2133,6 +2133,7 @@ TO_REMOVE+=/boot/kernel/if_sr.ko
 TO_REMOVE+=/boot/kernel/ng_sync_ar.ko
 TO_REMOVE+=/boot/kernel/ng_sync_sr.ko
 TO_REMOVE+=/usr/include/gnu/vfs/ext2fs/i386-bitops.h
+TO_REMOVE+=/usr/share/man/man3/ieee_test.3.gz
 
 .if ${MACHINE_ARCH} == "x86_64"
 TO_REMOVE+=/usr/sbin/stlstats
index 5635d91..26b2497 100644 (file)
@@ -23,7 +23,7 @@ INCS= a.out.h ar.h assert.h bitstring.h cpio.h ctype.h db.h \
        signal.h spawn.h stab.h stdalign.h stdarg.h stdbool.h \
        stddef.h stdint.h stdio.h stdlib.h stdnoreturn.h \
        string.h stringlist.h strings.h struct.h sysexits.h \
-       tar.h tgmath.h time.h \
+       tar.h time.h \
        timeconv.h \
        timers.h ttyent.h \
        uchar.h unistd.h ulimit.h utime.h utmp.h utmpx.h \
diff --git a/include/tgmath.h b/include/tgmath.h
deleted file mode 100644 (file)
index 9a203f8..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-/*-
- * Copyright (c) 2004 Stefan Farfeleder.
- * All rights reserved.
- *
- * Copyright (c) 2012 Ed Schouten <ed@FreeBSD.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: head/include/tgmath.h 249995 2013-04-27 21:18:34Z ed $
- */
-
-#ifndef _TGMATH_H_
-#define        _TGMATH_H_
-
-#include <complex.h>
-#include <math.h>
-
-/*
- * This implementation of <tgmath.h> uses the two following macros,
- * which are based on the macros described in C11 proposal N1404:
- * __tg_impl_simple(x, y, z, fnl, fn, fnf, ...)
- *     Invokes fnl() if the corresponding real type of x, y or z is long
- *     double, fn() if it is double or any has an integer type, and fnf()
- *     otherwise.
- * __tg_impl_full(x, y, cfnl, cfn, cfnf, fnl, fn, fnf, ...)
- *     Invokes [c]fnl() if the corresponding real type of x or y is long
- *     double, [c]fn() if it is double or any has an integer type, and
- *     [c]fnf() otherwise.  The function with the 'c' prefix is called if
- *     any of x or y is a complex number.
- * Both macros call the chosen function with all additional arguments passed
- * to them, as given by __VA_ARGS__.
- *
- * Note that these macros cannot be implemented with C's ?: operator,
- * because the return type of the whole expression would incorrectly be long
- * double complex regardless of the argument types.
- *
- * The structure of the C11 implementation of these macros can in
- * principle be reused for non-C11 compilers, but due to an integer
- * promotion bug for complex types in GCC 4.2, simply let non-C11
- * compilers use an inefficient yet reliable version.
- */
-
-#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
-    __has_extension(c_generic_selections)
-#define        __tg_generic(x, cfnl, cfn, cfnf, fnl, fn, fnf)                  \
-       _Generic(x,                                                     \
-               long double _Complex: cfnl,                             \
-               double _Complex: cfn,                                   \
-               float _Complex: cfnf,                                   \
-               long double: fnl,                                       \
-               default: fn,                                            \
-               float: fnf                                              \
-       )
-#define        __tg_type(x)                                                    \
-       __tg_generic(x, (long double _Complex)0, (double _Complex)0,    \
-           (float _Complex)0, (long double)0, (double)0, (float)0)
-#define        __tg_impl_simple(x, y, z, fnl, fn, fnf, ...)                    \
-       __tg_generic(                                                   \
-           __tg_type(x) + __tg_type(y) + __tg_type(z),                 \
-           fnl, fn, fnf, fnl, fn, fnf)(__VA_ARGS__)
-#define        __tg_impl_full(x, y, cfnl, cfn, cfnf, fnl, fn, fnf, ...)        \
-       __tg_generic(                                                   \
-           __tg_type(x) + __tg_type(y),                                \
-           cfnl, cfn, cfnf, fnl, fn, fnf)(__VA_ARGS__)
-#elif defined(__generic)
-#define        __tg_generic_simple(x, fnl, fn, fnf)                            \
-       __generic(x, long double _Complex, fnl,                         \
-           __generic(x, double _Complex, fn,                           \
-               __generic(x, float _Complex, fnf,                       \
-                   __generic(x, long double, fnl,                      \
-                       __generic(x, float, fnf, fn)))))
-#define        __tg_impl_simple(x, y, z, fnl, fn, fnf, ...)                    \
-       __tg_generic_simple(x,                                          \
-           __tg_generic_simple(y,                                      \
-               __tg_generic_simple(z, fnl, fnl, fnl),                  \
-               __tg_generic_simple(z, fnl, fnl, fnl),                  \
-               __tg_generic_simple(z, fnl, fnl, fnl)),                 \
-           __tg_generic_simple(y,                                      \
-               __tg_generic_simple(z, fnl, fnl, fnl),                  \
-               __tg_generic_simple(z, fnl, fn , fn ),                  \
-               __tg_generic_simple(z, fnl, fn , fn )),                 \
-           __tg_generic_simple(y,                                      \
-               __tg_generic_simple(z, fnl, fnl, fnl),                  \
-               __tg_generic_simple(z, fnl, fn , fn ),                  \
-               __tg_generic_simple(z, fnl, fn , fnf)))(__VA_ARGS__)
-#define        __tg_generic_full(x, cfnl, cfn, cfnf, fnl, fn, fnf)             \
-       __generic(x, long double _Complex, cfnl,                        \
-           __generic(x, double _Complex, cfn,                          \
-               __generic(x, float _Complex, cfnf,                      \
-                   __generic(x, long double, fnl,                      \
-                       __generic(x, float, fnf, fn)))))
-#define        __tg_impl_full(x, y, cfnl, cfn, cfnf, fnl, fn, fnf, ...)        \
-       __tg_generic_full(x,                                            \
-           __tg_generic_full(y, cfnl, cfnl, cfnl, cfnl, cfnl, cfnl),   \
-           __tg_generic_full(y, cfnl, cfn , cfn , cfnl, cfn , cfn ),   \
-           __tg_generic_full(y, cfnl, cfn , cfnf, cfnl, cfn , cfnf),   \
-           __tg_generic_full(y, cfnl, cfnl, cfnl, fnl , fnl , fnl ),   \
-           __tg_generic_full(y, cfnl, cfn , cfn , fnl , fn  , fn  ),   \
-           __tg_generic_full(y, cfnl, cfn , cfnf, fnl , fn  , fnf ))   \
-           (__VA_ARGS__)
-#else
-#error "<tgmath.h> not implemented for this compiler"
-#endif
-
-/* Macros to save lots of repetition below */
-#define        __tg_simple(x, fn)                                              \
-       __tg_impl_simple(x, x, x, fn##l, fn, fn##f, x)
-#define        __tg_simple2(x, y, fn)                                          \
-       __tg_impl_simple(x, x, y, fn##l, fn, fn##f, x, y)
-#define        __tg_simple3(x, y, z, fn)                                       \
-       __tg_impl_simple(x, y, z, fn##l, fn, fn##f, x, y, z)
-#define        __tg_simplev(x, fn, ...)                                        \
-       __tg_impl_simple(x, x, x, fn##l, fn, fn##f, __VA_ARGS__)
-#define        __tg_full(x, fn)                                                \
-       __tg_impl_full(x, x, c##fn##l, c##fn, c##fn##f, fn##l, fn, fn##f, x)
-#define        __tg_full2(x, y, fn)                                            \
-       __tg_impl_full(x, y, c##fn##l, c##fn, c##fn##f, fn##l, fn, fn##f, x, y)
-
-/* 7.22#4 -- These macros expand to real or complex functions, depending on
- * the type of their arguments. */
-#define        acos(x)         __tg_full(x, acos)
-#define        asin(x)         __tg_full(x, asin)
-#define        atan(x)         __tg_full(x, atan)
-#define        acosh(x)        __tg_full(x, acosh)
-#define        asinh(x)        __tg_full(x, asinh)
-#define        atanh(x)        __tg_full(x, atanh)
-#define        cos(x)          __tg_full(x, cos)
-#define        sin(x)          __tg_full(x, sin)
-#define        tan(x)          __tg_full(x, tan)
-#define        cosh(x)         __tg_full(x, cosh)
-#define        sinh(x)         __tg_full(x, sinh)
-#define        tanh(x)         __tg_full(x, tanh)
-#define        exp(x)          __tg_full(x, exp)
-#define        log(x)          __tg_full(x, log)
-#define        pow(x, y)       __tg_full2(x, y, pow)
-#define        sqrt(x)         __tg_full(x, sqrt)
-
-/* "The corresponding type-generic macro for fabs and cabs is fabs." */
-#define        fabs(x)         __tg_impl_full(x, x, cabsl, cabs, cabsf,        \
-                           fabsl, fabs, fabsf, x)
-
-/* 7.22#5 -- These macros are only defined for arguments with real type. */
-#define        atan2(x, y)     __tg_simple2(x, y, atan2)
-#define        cbrt(x)         __tg_simple(x, cbrt)
-#define        ceil(x)         __tg_simple(x, ceil)
-#define        copysign(x, y)  __tg_simple2(x, y, copysign)
-#define        erf(x)          __tg_simple(x, erf)
-#define        erfc(x)         __tg_simple(x, erfc)
-#define        exp2(x)         __tg_simple(x, exp2)
-#define        expm1(x)        __tg_simple(x, expm1)
-#define        fdim(x, y)      __tg_simple2(x, y, fdim)
-#define        floor(x)        __tg_simple(x, floor)
-#define        fma(x, y, z)    __tg_simple3(x, y, z, fma)
-#define        fmax(x, y)      __tg_simple2(x, y, fmax)
-#define        fmin(x, y)      __tg_simple2(x, y, fmin)
-#define        fmod(x, y)      __tg_simple2(x, y, fmod)
-#define        frexp(x, y)     __tg_simplev(x, frexp, x, y)
-#define        hypot(x, y)     __tg_simple2(x, y, hypot)
-#define        ilogb(x)        __tg_simple(x, ilogb)
-#define        ldexp(x, y)     __tg_simplev(x, ldexp, x, y)
-#define        lgamma(x)       __tg_simple(x, lgamma)
-#define        llrint(x)       __tg_simple(x, llrint)
-#define        llround(x)      __tg_simple(x, llround)
-#define        log10(x)        __tg_simple(x, log10)
-#define        log1p(x)        __tg_simple(x, log1p)
-#define        log2(x)         __tg_simple(x, log2)
-#define        logb(x)         __tg_simple(x, logb)
-#define        lrint(x)        __tg_simple(x, lrint)
-#define        lround(x)       __tg_simple(x, lround)
-#define        nearbyint(x)    __tg_simple(x, nearbyint)
-#define        nextafter(x, y) __tg_simple2(x, y, nextafter)
-#define        nexttoward(x, y) __tg_simplev(x, nexttoward, x, y)
-#define        remainder(x, y) __tg_simple2(x, y, remainder)
-#define        remquo(x, y, z) __tg_impl_simple(x, x, y, remquol, remquo,      \
-                           remquof, x, y, z)
-#define        rint(x)         __tg_simple(x, rint)
-#define        round(x)        __tg_simple(x, round)
-#define        scalbn(x, y)    __tg_simplev(x, scalbn, x, y)
-#define        scalbln(x, y)   __tg_simplev(x, scalbln, x, y)
-#define        tgamma(x)       __tg_simple(x, tgamma)
-#define        trunc(x)        __tg_simple(x, trunc)
-
-/* 7.22#6 -- These macros always expand to complex functions. */
-#define        carg(x)         __tg_simple(x, carg)
-#define        cimag(x)        __tg_simple(x, cimag)
-#define        conj(x)         __tg_simple(x, conj)
-#define        cproj(x)        __tg_simple(x, cproj)
-#define        creal(x)        __tg_simple(x, creal)
-
-#endif /* !_TGMATH_H_ */
index 13301f7..4e136c4 100644 (file)
@@ -17,6 +17,10 @@ DF306.1 {
 DF402.0 {
 } DF306.1;
 
+# version for DragonFly 4.3
+DF404.0 {
+} DF402.0;
+
 # This is our private namespace.  Any global interfaces that are
 # strictly for use only by other DragonFly applications and libraries
 # are listed here.  We use a separate namespace so we can write
@@ -24,4 +28,4 @@ DF402.0 {
 #
 # Please do NOT increment the version of this namespace.
 DFprivate_1.0 {
-} DF402.0;
+} DF404.0;
index 49a2d0b..7148948 100644 (file)
@@ -21,14 +21,14 @@ SRCS+=  _once_stub.c _pthread_stubs.c _rand48.c _spinlock_stub.c \
        getnetgrent.c getobjformat.c getosreldate.c getpagesize.c \
        getpeereid.c getprogname.c getpwent.c getttyent.c \
        getusershell.c getvfsbyname.c getvfsent.c glob.c \
-       initgroups.c isatty.c isinf.c isnan.c \
+       initgroups.c isatty.c isinf.c isfinite.c isnan.c isnormal.c \
        jrand48.c lcong48.c ldexp.c libc_dlopen.c \
        lockf.c lrand48.c modf.c mrand48.c sysvipc_msgctl.c \
        sysvipc_msgget.c sysvipc_msgrcv.c sysvipc_msgsnd.c nftw.c nice.c \
        nlist.c nrand48.c ntp_gettime.c opendir.c \
        pause.c pmadvise.c popen.c posix_spawn.c posixshm.c \
        psignal.c pw_scan.c pwcache.c \
-       raise.c readdir.c readpassphrase.c rewinddir.c \
+       raise.c readdir.c readpassphrase.c rewinddir.c signbit.c \
        sysvipc.c sysvipc_shmget.c sysvipc_shmctl.c \
        sysvipc_shmdt.c sysvipc_shmat.c\
        scandir.c seed48.c seekdir.c sysvipc_semctl.c sysvipc_semget.c sysvipc_semop.c \
diff --git a/lib/libc/gen/isfinite.c b/lib/libc/gen/isfinite.c
new file mode 100644 (file)
index 0000000..07c7747
--- /dev/null
@@ -0,0 +1,40 @@
+/*     $OpenBSD: isfinite.c,v 1.8 2013/07/03 04:46:36 espie Exp $      */
+/*
+ * Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/types.h>
+#include <machine/ieee.h>
+#include <float.h>
+#include <math.h>
+
+int
+__isfinite(double d)
+{
+       struct ieee_double *p = (struct ieee_double *)&d;
+
+       return (p->dbl_exp != DBL_EXP_INFNAN);
+}
+
+int
+__isfinitef(float f)
+{
+       struct ieee_single *p = (struct ieee_single *)&f;
+
+       return (p->sng_exp != SNG_EXP_INFNAN);
+}
+
+__strong_reference(__isfinite, finite);
+__strong_reference(__isfinitef, finitef);
diff --git a/lib/libc/gen/isnormal.c b/lib/libc/gen/isnormal.c
new file mode 100644 (file)
index 0000000..cb355e9
--- /dev/null
@@ -0,0 +1,37 @@
+/*     $OpenBSD: isnormal.c,v 1.8 2013/07/03 04:46:36 espie Exp $      */
+/*
+ * Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/types.h>
+#include <machine/ieee.h>
+#include <float.h>
+#include <math.h>
+
+int
+__isnormal(double d)
+{
+       struct ieee_double *p = (struct ieee_double *)&d;
+
+       return (p->dbl_exp != 0 && p->dbl_exp != DBL_EXP_INFNAN);
+}
+
+int
+__isnormalf(float f)
+{
+       struct ieee_single *p = (struct ieee_single *)&f;
+
+       return (p->sng_exp != 0 && p->sng_exp != SNG_EXP_INFNAN);
+}
diff --git a/lib/libc/gen/signbit.c b/lib/libc/gen/signbit.c
new file mode 100644 (file)
index 0000000..cb33991
--- /dev/null
@@ -0,0 +1,37 @@
+/*     $OpenBSD: signbit.c,v 1.7 2013/07/03 04:46:36 espie Exp $       */
+/*
+ * Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/types.h>
+#include <machine/ieee.h>
+#include <float.h>
+#include <math.h>
+
+int
+__signbit(double d)
+{
+       struct ieee_double *p = (struct ieee_double *)&d;
+
+       return p->dbl_sign;
+}
+
+int
+__signbitf(float f)
+{
+       struct ieee_single *p = (struct ieee_single *)&f;
+
+       return p->sng_sign;
+}
index 3338f21..bb550df 100644 (file)
@@ -2,6 +2,8 @@
 # $FreeBSD: src/lib/libc/amd64/gen/Makefile.inc,v 1.24 2003/10/13 20:32:33 alc Exp $
 
 SRCS+= _setjmp.S rfork_thread.S setjmp.S sigsetjmp.S \
-       mcontext.S makecontext.c \
+       mcontext.S makecontext.c nan.c \
        fabs.S flt_rounds.c fpgetmask.c fpgetprec.c fpgetround.c \
        fpgetsticky.c fpsetmask.c fpsetprec.c fpsetround.c infinity.c
+
+SRCS+= isfinitel.c isnanl.c isnormall.c signbitl.c
index 561f1a8..5308d91 100644 (file)
@@ -1,12 +1,9 @@
-/*
- * infinity.c
- * $FreeBSD: head/lib/libc/amd64/gen/infinity.c 110566 2003-02-08 20:37:55Z mike $
- */
+/*     $OpenBSD: infinity.c,v 1.3 2005/08/07 16:40:13 espie Exp $ */
+/* infinity.c */
 
 #include <math.h>
 
 /* bytes for +Infinity on a 387 */
-const union __infinity_un __infinity = { { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } };
+char __infinity[] __attribute__((__aligned__(sizeof(double)))) =
+       { 0, 0, 0, 0, 0, 0, (char)0xf0, 0x7f };
 
-/* bytes for NaN */
-const union __nan_un __nan = { { 0, 0, 0xc0, 0xff } };
diff --git a/lib/libc/x86_64/gen/isfinitel.c b/lib/libc/x86_64/gen/isfinitel.c
new file mode 100644 (file)
index 0000000..02a5602
--- /dev/null
@@ -0,0 +1,28 @@
+/*     $OpenBSD: isfinitel.c,v 1.2 2008/12/09 19:52:33 martynas Exp $  */
+/*
+ * Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/types.h>
+#include <machine/ieee.h>
+#include <math.h>
+
+int
+__isfinitel(long double e)
+{
+       struct ieee_ext *p = (struct ieee_ext *)&e;
+
+       return (p->ext_exp != EXT_EXP_INFNAN);
+}
diff --git a/lib/libc/x86_64/gen/isnanl.c b/lib/libc/x86_64/gen/isnanl.c
new file mode 100644 (file)
index 0000000..0fbecf2
--- /dev/null
@@ -0,0 +1,31 @@
+/*     $OpenBSD: isnanl.c,v 1.2 2008/12/09 19:52:33 martynas Exp $     */
+/*
+ * Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/types.h>
+#include <machine/ieee.h>
+#include <math.h>
+
+int
+__isnanl(long double e)
+{
+       struct ieee_ext *p = (struct ieee_ext *)&e;
+
+       p->ext_frach &= ~0x80000000;    /* clear normalization bit */
+
+       return (p->ext_exp == EXT_EXP_INFNAN &&
+           (p->ext_frach != 0 || p->ext_fracl != 0));
+}
diff --git a/lib/libc/x86_64/gen/isnormall.c b/lib/libc/x86_64/gen/isnormall.c
new file mode 100644 (file)
index 0000000..97ce382
--- /dev/null
@@ -0,0 +1,28 @@
+/*     $OpenBSD: isnormall.c,v 1.2 2008/12/09 19:52:33 martynas Exp $  */
+/*
+ * Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/types.h>
+#include <machine/ieee.h>
+#include <math.h>
+
+int
+__isnormall(long double e)
+{
+       struct ieee_ext *p = (struct ieee_ext *)&e;
+
+       return (p->ext_exp != 0 && p->ext_exp != EXT_EXP_INFNAN);
+}
diff --git a/lib/libc/x86_64/gen/nan.c b/lib/libc/x86_64/gen/nan.c
new file mode 100644 (file)
index 0000000..39800b6
--- /dev/null
@@ -0,0 +1,9 @@
+/*     $OpenBSD: nan.c,v 1.1 2008/07/24 09:31:06 martynas Exp $        */
+
+/* Written by Martynas Venckus.  Public Domain. */
+
+#include <math.h>
+
+/* bytes for qNaN on an amd64 (IEEE single format) */
+char __nan[] __attribute__((__aligned__(sizeof(float)))) =
+                                       { 0, 0, 0xc0, 0x7f };
diff --git a/lib/libc/x86_64/gen/signbitl.c b/lib/libc/x86_64/gen/signbitl.c
new file mode 100644 (file)
index 0000000..1f9f7ab
--- /dev/null
@@ -0,0 +1,28 @@
+/*     $OpenBSD: signbitl.c,v 1.1 2008/12/09 19:52:33 martynas Exp $   */
+/*
+ * Copyright (c) 2008 Martynas Venckus <martynas@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/types.h>
+#include <machine/ieee.h>
+#include <math.h>
+
+int
+__signbitl(long double e)
+{
+       struct ieee_ext *p = (struct ieee_ext *)&e;
+
+       return p->ext_sign;
+}
index 2b6961b..f7bae36 100644 (file)
@@ -1,5 +1,7 @@
+#  $OpenBSD: Makefile,v 1.107 2014/09/12 22:07:24 kettenis Exp $
+#  $NetBSD: Makefile,v 1.28 1995/11/20 22:06:19 jtc Exp $
+#
 #  @(#)Makefile 5.1beta 93/09/24
-# $FreeBSD: head/lib/msun/Makefile 238724 2012-07-23 19:23:49Z kargl $
 #
 #  ====================================================
 #  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 #  software is freely granted, provided that this notice
 #  is preserved.
 #  ====================================================
-#
-#
 
-.include "${MACHINE_ARCH}/Makefile.inc"
-
-.PATH: ${.CURDIR}/${MACHINE_ARCH}
+OPENSRC=       ${.CURDIR}/../../contrib/openbsd_libm
+LIBCDIR=       ${.CURDIR}/../libc
+SYM_MAPS=      ${.CURDIR}/Symbol.map
+VERSION_DEF=   ${LIBCDIR}/Versions.def
+SYMBOL_MAPS=   ${SYM_MAPS}
+LIB=           m
+SHLIB_MAJOR=   4
+SHLIBDIR?=     /lib
+WARNS?=                3 # unused-but-set (almost 4)
 
-.PATH:  ${.CURDIR}/ld80
-CFLAGS+=       -I${.CURDIR}/ld80
+INCSGROUPS=    INCS MACHINCS
+INCS=          global/complex.h global/fenv.h global/math.h global/tgmath.h
+MACHINCSDIR=   ${INCLUDEDIR}/machine
 
-.PATH: ${.CURDIR}/bsdsrc
+.PATH: ${OPENSRC}/include
+.PATH: ${OPENSRC}/man
+.PATH: ${OPENSRC}/src
 .PATH: ${.CURDIR}/src
-.PATH: ${.CURDIR}/man
-.PATH: ${.CURDIR}/gaps
 
-LIB=   m
-SHLIB_MAJOR= 4
-SHLIBDIR?=     /lib
-WARNS?=        1
-COMMON_SRCS= b_exp.c b_log.c b_tgamma.c \
+.if (${MACHINE_ARCH} == "x86_64")
+.PATH: ${OPENSRC}/arch/amd64
+MACHINCS=   amd64/fenv.h amd64/ieee.h
+CPPFLAGS+=  -I${OPENSRC}/arch/amd64
+SYM_MAPS+=  ${.CURDIR}/Symbol.map.x86_64
+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_remainderf.S e_scalb.S e_sqrt.S e_sqrtf.S \
+           e_sqrtl.S \
+           invtrig.c \
+           s_atan.S s_atanf.S s_ceil.S s_ceilf.S s_copysign.S s_copysignf.S \
+           s_cos.S s_cosf.S s_floor.S s_floorf.S \
+           s_ilogb.S s_ilogbf.S s_log1p.S s_log1pf.S s_logb.S s_logbf.S \
+           s_llrint.S s_llrintf.S s_lrint.S s_lrintf.S \
+           s_rint.S s_rintf.S s_scalbnf.S s_significand.S \
+           s_significandf.S s_sin.S s_sinf.S s_tan.S s_tanf.S
+.endif
+
+COMMON_SRCS = b_exp__D.c b_log__D.c b_tgamma.c \
        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_gamma.c e_gamma_r.c e_gammaf.c \
-       e_gammaf_r.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.c e_lgamma_r.c e_lgammaf.c e_lgammaf_r.c \
-       e_log.c e_log10.c e_log10f.c e_log2.c e_log2f.c e_logf.c \
-       e_pow.c e_powf.c e_rem_pio2.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_log2.c e_log2f.c e_logf.c e_pow.c e_powf.c \
+       e_rem_pio2.c \
        e_rem_pio2f.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 fenv.c \
-       imprecise.c \
-       k_cos.c k_cosf.c k_exp.c k_expf.c k_rem_pio2.c k_sin.c k_sinf.c \
+       e_sinh.c e_sinhf.c e_sqrt.c e_sqrtf.c \
+       fenv.c \
+       k_cos.c k_cosf.c k_rem_pio2.c k_rem_pio2f.c k_sin.c k_sinf.c \
        k_tan.c k_tanf.c \
-       s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_carg.c s_cargf.c s_cargl.c \
-       s_cbrt.c s_cbrtf.c s_ceil.c s_ceilf.c \
-       s_copysign.c s_copysignf.c s_cos.c s_cosf.c \
-       s_csqrt.c s_csqrtf.c s_erf.c s_erff.c \
-       s_exp2.c s_exp2f.c s_expm1.c s_expm1f.c s_fabsf.c s_fdim.c \
-       s_finite.c s_finitef.c \
-       s_floor.c s_floorf.c s_fma.c s_fmaf.c \
-       s_fmax.c s_fmaxf.c s_fmaxl.c s_fmin.c \
-       s_fminf.c s_fminl.c s_frexp.c s_frexpf.c s_ilogb.c s_ilogbf.c \
-       s_ilogbl.c s_isfinite.c s_isnan.c s_isnormal.c \
-       s_llrint.c s_llrintf.c s_llround.c s_llroundf.c s_llroundl.c \
-       s_log1p.c s_log1pf.c s_logb.c s_logbf.c s_lrint.c s_lrintf.c \
-       s_lround.c s_lroundf.c s_lroundl.c s_modff.c \
-       s_nan.c s_nearbyint.c s_nextafter.c s_nextafterf.c \
-       s_nexttowardf.c s_remquo.c s_remquof.c \
-       s_rint.c s_rintf.c s_round.c s_roundf.c \
-       s_scalbln.c s_scalbn.c s_scalbnf.c s_signbit.c \
-       s_signgam.c s_significand.c s_significandf.c s_sin.c s_sinf.c \
-       s_tan.c s_tanf.c s_tanh.c s_tanhf.c s_tgammaf.c s_trunc.c s_truncf.c \
-       w_cabs.c w_cabsf.c w_drem.c w_dremf.c
+       s_lround.c s_lroundf.c s_llround.c s_llroundf.c \
+       s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_cabsf.c \
+       s_cacosf.c s_cacoshf.c s_cargf.c \
+       s_casinf.c s_casinhf.c s_catanf.c \
+       s_catanhf.c s_cbrt.c s_cbrtf.c s_ccosf.c \
+       s_ccoshf.c s_ceil.c \
+       s_ceilf.c s_cexpf.c s_clogf.c \
+       s_copysign.c s_copysignf.c s_cos.c s_cosf.c s_cpowf.c \
+       s_csinf.c \
+       s_csinhf.c s_csqrtf.c s_ctanf.c \
+       s_ctanhf.c s_erf.c s_erff.c s_exp2.c s_exp2f.c s_expm1.c s_expm1f.c \
+       s_fabsf.c s_fma.c s_fmaf.c \
+       s_floor.c s_floorf.c s_frexpf.c s_ilogb.c s_ilogbf.c \
+       s_log1p.c \
+       s_log1pf.c s_logb.c s_logbf.c s_llrint.c s_llrintf.c s_lrint.c \
+       s_lrintf.c s_modff.c s_nan.c s_nearbyint.c s_nextafter.c \
+       s_nextafterf.c s_nexttowardf.c s_remquo.c s_remquof.c s_rint.c \
+       s_rintf.c \
+       s_scalbn.c s_scalbnf.c s_signgam.c s_significand.c \
+       s_significandf.c \
+       s_sin.c s_sinf.c s_tan.c s_tanf.c s_tanh.c s_tanhf.c s_trunc.c \
+       s_truncf.c w_drem.c w_dremf.c w_gamma.c w_gamma_r.c w_gammaf.c \
+       w_gammaf_r.c w_lgamma.c w_lgammaf.c
 
-# Location of fpmath.h and _fpmath.h
-LIBCDIR=${.CURDIR}/../libc
-CFLAGS+=-I${.CURDIR}/src -I${LIBCDIR}/include -I${LIBCDIR}/${MACHINE_ARCH}
-SYM_MAPS+=     ${.CURDIR}/Symbol.map
+LONG_SRCS = e_acoshl.c e_acosl.c e_asinl.c e_atan2l.c e_atanhl.c \
+       e_coshl.c s_cabsl.c s_cacoshl.c s_cacosl.c s_cargl.c \
+       s_casinhl.c s_casinl.c s_catanhl.c s_catanl.c s_ccoshl.c \
+       s_ccosl.c s_cexpl.c s_cimagl.c s_clogl.c s_conjl.c s_cpowl.c \
+       s_cprojl.c s_creall.c s_csinhl.c s_csinl.c s_csqrtl.c \
+       s_ctanhl.c s_ctanl.c e_expl.c e_fmodl.c e_hypotl.c e_lgammal.c \
+       e_log10l.c e_log2l.c e_logl.c e_powl.c e_remainderl.c \
+       e_sinhl.c e_sqrtl.c e_tgammal.c invtrig.c k_cosl.c k_sinl.c \
+       k_tanl.c polevll.c s_asinhl.c s_atanl.c s_cbrtl.c s_ceill.c \
+       s_copysignl.c s_cosl.c s_erfl.c s_exp2l.c s_expm1l.c s_fabsl.c \
+       s_floorl.c s_fmal.c s_fmaxl.c s_fminl.c s_frexpl.c s_ilogbl.c \
+       s_llrintl.c s_llroundl.c s_log1pl.c s_logbl.c s_lrintl.c \
+       s_lroundl.c s_modfl.c s_nanl.c s_nextafterl.c s_nexttoward.c \
+       s_remquol.c s_rintl.c s_roundl.c s_scalbnl.c s_sinl.c \
+       s_tanhl.c s_tanl.c s_truncl.c
 
-VERSION_DEF=   ${LIBCDIR}/Versions.def
-SYMBOL_MAPS=   ${SYM_MAPS}
+# math routines that are completely MI
+PURE_SRCS = s_cabs.c s_cacos.c s_cacosh.c s_carg.c s_casin.c \
+       s_casinh.c s_catan.c s_catanh.c s_ccos.c s_ccosh.c s_cexp.c \
+       s_cimag.c s_cimagf.c s_clog.c s_conj.c s_conjf.c s_cpow.c \
+       s_creal.c s_crealf.c s_csin.c s_csinh.c s_csqrt.c s_ctan.c \
+       s_ctanh.c s_fdim.c s_fmax.c s_fmaxf.c s_fmin.c s_fminf.c \
+       s_cproj.c s_cprojf.c s_round.c s_roundf.c s_scalbln.c
 
-# C99 long double functions
-COMMON_SRCS+=  s_copysignl.c s_fabsl.c s_llrintl.c s_lrintl.c s_modfl.c
-# If long double != double use these; otherwise, we alias the double versions.
-COMMON_SRCS+=  e_acoshl.c e_acosl.c e_asinl.c e_atan2l.c e_atanhl.c \
-       e_coshl.c e_fmodl.c e_hypotl.c \
-       e_lgammal.c e_lgammal_r.c \
-       e_remainderl.c e_sinhl.c e_sqrtl.c \
-       invtrig.c k_cosl.c k_sinl.c k_tanl.c \
-       s_asinhl.c s_atanl.c s_cbrtl.c s_ceill.c s_cosl.c s_cprojl.c \
-       s_csqrtl.c s_erfl.c s_exp2l.c s_expl.c s_floorl.c s_fmal.c \
-       s_frexpl.c s_logbl.c s_logl.c s_nanl.c s_nextafterl.c \
-       s_nexttoward.c s_remquol.c s_rintl.c s_roundl.c s_scalbnl.c \
-       s_sinl.c s_tanhl.c s_tanl.c s_truncl.c w_cabsl.c
+# libm is symbol versions so we need to keep previous versions
+PAST_SRCS = imprecise.c frexp.c isfinite.c isnanf.c isnormal.c signbit.c
 
-# C99 complex functions
-COMMON_SRCS+=  catrig.c catrigf.c \
-       s_ccosh.c s_ccoshf.c s_cexp.c s_cexpf.c \
-       s_cimag.c s_cimagf.c s_cimagl.c \
-       s_conj.c s_conjf.c s_conjl.c \
-       s_cproj.c s_cprojf.c s_creal.c s_crealf.c s_creall.c \
-       s_csinh.c s_csinhf.c s_ctanh.c s_ctanhf.c
+SRCS=  ${COMMON_SRCS} ${PURE_SRCS}
+SRCS+= ${PAST_SRCS}
 
-# C99 complex functions from NetBSD
-COMMON_SRCS+=  cacosl.c casinl.c catanl.c ccoshl.c ccosl.c \
-       csinl.c csinhl.c ctanl.c ctanhl.c cexpl.c \
-       clog.c clogf.c clogl.c cpow.c cpowf.c cpowl.c \
-       cephes_subrl.c
-
-# libc supplies these functions:
-#COMMON_SRCS+= s_fabs.c s_frexp.c s_isnan.c s_ldexp.c s_modf.c
+.if (${MACHINE_ARCH} == "x86_64")
+.PATH:         ${OPENSRC}/src/ld80
+.PATH:         ${.CURDIR}/src/amd64
+CFLAGS+=       -I${OPENSRC}/src -I${OPENSRC}/src/ld80
+SRCS+=         ${LONG_SRCS}
+PAST_SRCS+=    isfinitel.c isnanl.c isnormall.c signbitl.c
+.endif
 
-# Exclude the generic versions of what we provide in the MD area.
-.if defined(ARCH_SRCS)
+# Substitute common sources with any arch specific sources
 .for i in ${ARCH_SRCS}
-COMMON_SRCS:=  ${COMMON_SRCS:N${i:R}.c}
+    SRCS:=${SRCS:S/${i:S/.S/.c/}/$i/}
 .endfor
-.endif
 
-SRCS=  ${COMMON_SRCS} ${ARCH_SRCS}
+MAN=   acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 ceil.3 \
+       copysign.3 cos.3 cosh.3 erf.3 exp.3 \
+       fabs.3 \
+       fdim.3 feclearexcept.3 feenableexcept.3 fegetenv.3 \
+       fegetround.3 floor.3 fma.3 fmax.3 fmod.3 hypot.3 ilogb.3 j0.3 \
+       lgamma.3 logb.3 lrint.3 lround.3 nan.3 nextafter.3 \
+       remainder.3 rint.3 round.3 scalbn.3 sin.3 sinh.3 sqrt.3 \
+       tan.3 tanh.3 trunc.3
 
-INCS+= complex.h fenv.h math.h
-
-MAN=   acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 \
-       ceil.3 cacos.3 ccos.3 ccosh.3 cexp.3 \
-       cimag.3 copysign.3 cos.3 cosh.3 csqrt.3 erf.3 exp.3 fabs.3 fdim.3 \
-       feclearexcept.3 feenableexcept.3 fegetenv.3 \
-       fegetround.3 fenv.3 floor.3 \
-       fma.3 fmax.3 fmod.3 hypot.3 ieee.3 ieee_test.3 ilogb.3 j0.3 \
-       lgamma.3 log.3 lrint.3 lround.3 math.3 nan.3 \
-       nextafter.3 remainder.3 rint.3 \
-       round.3 scalbn.3 signbit.3 sin.3 sinh.3 sqrt.3 tan.3 tanh.3 trunc.3 \
-       complex.3
+MAN+=  cacos.3 cacosh.3 carg.3 casin.3 casinh.3 catan.3 catanh.3 \
+       ccos.3 ccosh.3 cexp.3 cimag.3 clog.3 conj.3 cpow.3 cproj.3 \
+       creal.3 csin.3 csinh.3 csqrt.3 ctan.3 ctanh.3
 
 MLINKS+=acos.3 acosf.3 \
        acos.3 acosl.3
@@ -133,71 +150,88 @@ MLINKS+=asinh.3 asinhf.3 \
        asinh.3 asinhl.3
 MLINKS+=atan.3 atanf.3 \
        atan.3 atanl.3
+MLINKS+=atan2.3 atan2f.3 \
+       atan2.3 atan2l.3
 MLINKS+=atanh.3 atanhf.3 \
        atanh.3 atanhl.3
-MLINKS+=atan2.3 atan2f.3 \
-       atan2.3 atan2l.3 \
-       atan2.3 carg.3 \
-       atan2.3 cargf.3 \
-       atan2.3 cargl.3
 MLINKS+=cacos.3 cacosf.3 \
-       cacos.3 cacosh.3 \
-       cacos.3 cacoshf.3 \
-       cacos.3 casin.3 \
-       cacos.3 casinf.3 \
-       cacos.3 casinh.3 \
-       cacos.3 casinhf.3 \
-       cacos.3 catan.3 \
-       cacos.3 catanf.3 \
-       cacos.3 catanh.3 \
-       cacos.3 catanhf.3
+       cacos.3 cacosl.3
+MLINKS+=cacosh.3 cacoshf.3 \
+       cacosh.3 cacoshl.3
+MLINKS+=carg.3 cargf.3 \
+       carg.3 cargl.3
+MLINKS+=casin.3 casinf.3 \
+       casin.3 casinl.3
+MLINKS+=casinh.3 casinhf.3 \
+       casinh.3 casinhl.3
+MLINKS+=catan.3 catanf.3 \
+       catan.3 catanl.3
+MLINKS+=catanh.3 catanhf.3 \
+       catanh.3 catanhl.3
 MLINKS+=ccos.3 ccosf.3 \
-       ccos.3 csin.3 \
-       ccos.3 csinf.3 \
-       ccos.3 ctan.3 \
-       ccos.3 ctanf.3
+       ccos.3 ccosl.3
 MLINKS+=ccosh.3 ccoshf.3 \
-       ccosh.3 csinh.3 \
-       ccosh.3 csinhf.3 \
-       ccosh.3 ctanh.3 \
-       ccosh.3 ctanhf.3
+       ccosh.3 ccoshl.3
 MLINKS+=ceil.3 ceilf.3 \
        ceil.3 ceill.3
-MLINKS+=cexp.3 cexpf.3
+MLINKS+=cexp.3 cexpf.3 \
+       cexp.3 cexpl.3
 MLINKS+=cimag.3 cimagf.3 \
-       cimag.3 cimagl.3 \
-       cimag.3 conj.3 \
-       cimag.3 conjf.3 \
-       cimag.3 conjl.3 \
-       cimag.3 cproj.3 \
-       cimag.3 cprojf.3 \
-       cimag.3 cprojl.3 \
-       cimag.3 creal.3 \
-       cimag.3 crealf.3 \
-       cimag.3 creall.3
+       cimag.3 cimagl.3
+MLINKS+=clog.3 clogf.3 \
+       clog.3 clogl.3
+MLINKS+=conj.3 conjf.3 \
+       conj.3 conjl.3
 MLINKS+=copysign.3 copysignf.3 \
        copysign.3 copysignl.3
 MLINKS+=cos.3 cosf.3 \
        cos.3 cosl.3
 MLINKS+=cosh.3 coshf.3 \
        cosh.3 coshl.3
+MLINKS+=cpow.3 cpowf.3 \
+       cpow.3 cpowl.3
+MLINKS+=cproj.3 cprojf.3 \
+       cproj.3 cprojl.3
+MLINKS+=creal.3 crealf.3 \
+       creal.3 creall.3
+MLINKS+=csin.3 csinf.3 \
+       csin.3 csinl.3
+MLINKS+=csinh.3 csinhf.3 \
+       csinh.3 csinhl.3
 MLINKS+=csqrt.3 csqrtf.3 \
        csqrt.3 csqrtl.3
+MLINKS+=ctan.3 ctanf.3 \
+       ctan.3 ctanl.3
+MLINKS+=ctanh.3 ctanhf.3 \
+       ctanh.3 ctanhl.3
 MLINKS+=erf.3 erfc.3 \
        erf.3 erff.3 \
        erf.3 erfcf.3 \
        erf.3 erfl.3 \
        erf.3 erfcl.3
-MLINKS+=exp.3 expm1.3 \
+MLINKS+=exp.3 exp2.3 \
+       exp.3 exp2f.3 \
+       exp.3 exp2l.3 \
+       exp.3 expf.3 \
+       exp.3 expl.3 \
+       exp.3 expm1.3 \
        exp.3 expm1f.3 \
        exp.3 expm1l.3 \
+       exp.3 log.3 \
+       exp.3 logf.3 \
+       exp.3 logl.3 \
+       exp.3 log10.3 \
+       exp.3 log10f.3 \
+       exp.3 log10l.3 \
+       exp.3 log1p.3 \
+       exp.3 log1pf.3 \
+       exp.3 log1pl.3 \
+       exp.3 log2.3 \
+       exp.3 log2f.3 \
+       exp.3 log2l.3 \
        exp.3 pow.3 \
        exp.3 powf.3 \
-       exp.3 exp2.3 \
-       exp.3 exp2f.3 \
-       exp.3 exp2l.3 \
-       exp.3 expf.3 \
-       exp.3 expl.3
+       exp.3 powl.3
 MLINKS+=fabs.3 fabsf.3 \
        fabs.3 fabsl.3
 MLINKS+=fdim.3 fdimf.3 \
@@ -228,47 +262,36 @@ MLINKS+=hypot.3 cabs.3 \
        hypot.3 cabsl.3 \
        hypot.3 hypotf.3 \
        hypot.3 hypotl.3
-MLINKS+=ieee_test.3 scalb.3 \
-       ieee_test.3 scalbf.3
-MLINKS+=ieee_test.3 significand.3 \
-       ieee_test.3 significandf.3
 MLINKS+=ilogb.3 ilogbf.3 \
-       ilogb.3 ilogbl.3 \
-       ilogb.3 logb.3 \
-       ilogb.3 logbf.3 \
-       ilogb.3 logbl.3
-MLINKS+=j0.3 j1.3 \
-       j0.3 jn.3 \
-       j0.3 y0.3 \
-       j0.3 y1.3 \
-       j0.3 y1f.3 \
-       j0.3 yn.3
+       ilogb.3 ilogbl.3
 MLINKS+=j0.3 j0f.3 \
+       j0.3 j1.3 \
        j0.3 j1f.3 \
+       j0.3 jn.3 \
        j0.3 jnf.3 \
+       j0.3 y0.3 \
        j0.3 y0f.3 \
+       j0.3 y1.3 \
+       j0.3 y1f.3 \
+       j0.3 yn.3 \
        j0.3 ynf.3
-MLINKS+=lgamma.3 gamma.3 \
-       lgamma.3 gamma_r.3 \
-       lgamma.3 gammaf.3 \
-       lgamma.3 gammaf_r.3 \
+MLINKS+=lgamma.3 lgammaf.3 \
+       lgamma.3 lgammal.3 \
        lgamma.3 lgamma_r.3 \
-       lgamma.3 lgammaf.3 \
        lgamma.3 lgammaf_r.3 \
-       lgamma.3 lgammal.3 \
+       lgamma.3 lgammal_r.3 \
        lgamma.3 tgamma.3 \
-       lgamma.3 tgammaf.3
-MLINKS+=log.3 log10.3 \
-       log.3 log10f.3 \
-       log.3 log10l.3 \
-       log.3 log1p.3 \
-       log.3 log1pf.3 \
-       log.3 log1pl.3 \
-       log.3 logf.3 \
-       log.3 logl.3 \
-       log.3 log2.3 \
-       log.3 log2f.3 \
-       log.3 log2l.3
+       lgamma.3 tgammaf.3 \
+       lgamma.3 tgammal.3 \
+       lgamma.3 gamma.3 \
+       lgamma.3 gammaf.3 \
+MLINKS+=logb.3 logbf.3 \
+       logb.3 logbl.3 \
+       logb.3 scalb.3 \
+       logb.3 scalbf.3 \
+       logb.3 scalbl.3 \
+       logb.3 significand.3 \
+       logb.3 significandf.3
 MLINKS+=lrint.3 llrint.3 \
        lrint.3 llrintf.3 \
        lrint.3 llrintl.3 \
@@ -282,15 +305,17 @@ MLINKS+=lround.3 llround.3 \
 MLINKS+=nan.3 nanf.3 \
        nan.3 nanl.3
 MLINKS+=nextafter.3 nextafterf.3 \
-       nextafter.3 nextafterl.3
-MLINKS+=nextafter.3 nexttoward.3 \
-       nextafter.3 nexttowardf.3
-MLINKS+=nextafter.3 nexttowardl.3
+       nextafter.3 nextafterl.3 \
+       nextafter.3 nexttoward.3 \
+       nextafter.3 nexttowardf.3 \
+       nextafter.3 nexttowardl.3
 MLINKS+=remainder.3 remainderf.3 \
        remainder.3 remainderl.3 \
        remainder.3 remquo.3 \
        remainder.3 remquof.3 \
-       remainder.3 remquol.3
+       remainder.3 remquol.3 \
+       remainder.3 drem.3 \
+       remainder.3 dremf.3
 MLINKS+=rint.3 rintf.3 \
        rint.3 rintl.3 \
        rint.3 nearbyint.3 \
@@ -300,8 +325,8 @@ MLINKS+=round.3 roundf.3 \
        round.3 roundl.3
 MLINKS+=scalbn.3 scalbln.3 \
        scalbn.3 scalblnf.3 \
-       scalbn.3 scalblnl.3
-MLINKS+=scalbn.3 scalbnf.3 \
+       scalbn.3 scalblnl.3 \
+       scalbn.3 scalbnf.3 \
        scalbn.3 scalbnl.3
 MLINKS+=sin.3 sinf.3 \
        sin.3 sinl.3
@@ -319,13 +344,4 @@ MLINKS+=tanh.3 tanhf.3 \
 MLINKS+=trunc.3 truncf.3 \
        trunc.3 truncl.3
 
-
-# C99 complex functions man pages from NetBSD
-MAN+=  cacosl.3 casinl.3 catanl.3 ccoshl.3 ccosl.3 \
-       csinl.3 csinhl.3 ctanl.3 ctanhl.3 cexpl.3 clog.3 cpow.3
-MLINKS+=clog.3 clogf.3 \
-       clog.3 clogl.3
-MLINKS+=cpow.3 cpowf.3 \
-       cpow.3 cpowl.3
-
 .include <bsd.lib.mk>
index 2c8eecd..8f4a373 100644 (file)
@@ -108,20 +108,11 @@ DF306.0 {
        fmin;
        fminf;
        fminl;
-       frexp;
        frexpf;
        frexpl;
        ilogb;
        ilogbf;
        ilogbl;
-       __isfinite;
-       __isfinitef;
-       __isfinitel;
-       isnanf;
-       __isnanl;
-       __isnormal;
-       __isnormalf;
-       __isnormall;
        llrint;
        llrintf;
        llround;
@@ -161,9 +152,6 @@ DF306.0 {
        scalbnf;
        ldexpf;
        ldexpl;
-       __signbit;
-       __signbitf;
-       __signbitl;
        signgam;
        significand;
        significandf;
@@ -212,7 +200,6 @@ DF306.0 {
        cproj;
        cprojf;
        cprojl;
-       __isnanf;
        cbrtl;
        cexp;
        cexpf;
@@ -257,6 +244,25 @@ DF306.0 {
        log1pl;
        log2l;
        logl;
+       /*
+        * Erroneously versioned in libm previously.
+        * These functions are only available in this version now for
+        * backwards compatibility reasons (implemented with .symver)
+        *
+        * frexp;
+        * isnanf;
+        * __isfinite;
+        * __isfinitef;
+        * __isfinitel;
+        * __isnanf;
+        * __isnanl;
+        * __isnormal;
+        * __isnormalf;
+        * __isnormall;
+        * __signbit;
+        * __signbitf;
+        * __signbitl;
+        */
 };
 
 /*
@@ -272,9 +278,9 @@ DF306.1 {
         * lgammal;
         * sinhl;
         * tanhl;
+        * tgammal;
+        * powl;
         */
-       powl;
-       tgammal;
 };
 
 /*
@@ -305,3 +311,12 @@ DF402.0 {
        sinhl;
        tanhl;
 };
+
+/*
+ * Implemented in 4.3-dev branch
+ */
+
+DF404.0 {
+       powl;
+       tgammal;
+};
diff --git a/lib/libm/bsdsrc/b_exp.c b/lib/libm/bsdsrc/b_exp.c
deleted file mode 100644 (file)
index ed0a6c7..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 1985, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)exp.c       8.1 (Berkeley) 6/4/93
- * $FreeBSD: head/lib/msun/bsdsrc/b_exp.c 226414 2011-10-16 05:37:20Z das $
- */
-
-
-/* EXP(X)
- * RETURN THE EXPONENTIAL OF X
- * DOUBLE PRECISION (IEEE 53 bits, VAX D FORMAT 56 BITS)
- * CODED IN C BY K.C. NG, 1/19/85;
- * REVISED BY K.C. NG on 2/6/85, 2/15/85, 3/7/85, 3/24/85, 4/16/85, 6/14/86.
- *
- * Required system supported functions:
- *     scalb(x,n)
- *     copysign(x,y)
- *     finite(x)
- *
- * Method:
- *     1. Argument Reduction: given the input x, find r and integer k such
- *        that
- *                        x = k*ln2 + r,  |r| <= 0.5*ln2 .
- *        r will be represented as r := z+c for better accuracy.
- *
- *     2. Compute exp(r) by
- *
- *             exp(r) = 1 + r + r*R1/(2-R1),
- *        where
- *             R1 = x - x^2*(p1+x^2*(p2+x^2*(p3+x^2*(p4+p5*x^2)))).
- *
- *     3. exp(x) = 2^k * exp(r) .
- *
- * Special cases:
- *     exp(INF) is INF, exp(NaN) is NaN;
- *     exp(-INF)=  0;
- *     for finite argument, only exp(0)=1 is exact.
- *
- * Accuracy:
- *     exp(x) returns the exponential of x nearly rounded. In a test run
- *     with 1,156,000 random arguments on a VAX, the maximum observed
- *     error was 0.869 ulps (units in the last place).
- */
-
-#include "mathimpl.h"
-
-static const double p1 = 0x1.555555555553ep-3;
-static const double p2 = -0x1.6c16c16bebd93p-9;
-static const double p3 = 0x1.1566aaf25de2cp-14;
-static const double p4 = -0x1.bbd41c5d26bf1p-20;
-static const double p5 = 0x1.6376972bea4d0p-25;
-static const double ln2hi = 0x1.62e42fee00000p-1;
-static const double ln2lo = 0x1.a39ef35793c76p-33;
-static const double lnhuge = 0x1.6602b15b7ecf2p9;
-static const double lntiny = -0x1.77af8ebeae354p9;
-static const double invln2 = 0x1.71547652b82fep0;
-
-
-/* returns exp(r = x + c) for |c| < |x| with no overlap.  */
-
-double
-__exp__D(double x, double c)
-{
-       double  z,hi,lo;
-       int k;
-
-       if (x != x)     /* x is NaN */
-               return(x);
-       if ( x <= lnhuge ) {
-               if ( x >= lntiny ) {
-
-                   /* argument reduction : x --> x - k*ln2 */
-                       z = invln2*x;
-                       k = z + copysign(.5, x);
-
-                   /* express (x+c)-k*ln2 as hi-lo and let x=hi-lo rounded */
-
-                       hi=(x-k*ln2hi);                 /* Exact. */
-                       x= hi - (lo = k*ln2lo-c);
-                   /* return 2^k*[1+x+x*c/(2+c)]  */
-                       z=x*x;
-                       c= x - z*(p1+z*(p2+z*(p3+z*(p4+z*p5))));
-                       c = (x*c)/(2.0-c);
-
-                       return  scalb(1.+(hi-(lo - c)), k);
-               }
-               /* end of x > lntiny */
-
-               else
-                    /* exp(-big#) underflows to zero */
-                    if(finite(x))  return(scalb(1.0,-5000));
-
-                    /* exp(-INF) is zero */
-                    else return(0.0);
-       }
-       /* end of x < lnhuge */
-
-       else
-       /* exp(INF) is INF, exp(+big#) overflows to INF */
-           return( finite(x) ?  scalb(1.0,5000)  : x);
-}
diff --git a/lib/libm/bsdsrc/b_log.c b/lib/libm/bsdsrc/b_log.c
deleted file mode 100644 (file)
index 4f97ba2..0000000
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * Copyright (c) 1992, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)log.c       8.2 (Berkeley) 11/30/93
- * $FreeBSD: head/lib/msun/bsdsrc/b_log.c 176449 2008-02-22 02:26:51Z das $
- */
-
-#include <math.h>
-#include <errno.h>
-
-#include "mathimpl.h"
-
-/* Table-driven natural logarithm.
- *
- * This code was derived, with minor modifications, from:
- *     Peter Tang, "Table-Driven Implementation of the
- *     Logarithm in IEEE Floating-Point arithmetic." ACM Trans.
- *     Math Software, vol 16. no 4, pp 378-400, Dec 1990).
- *
- * Calculates log(2^m*F*(1+f/F)), |f/j| <= 1/256,
- * where F = j/128 for j an integer in [0, 128].
- *
- * log(2^m) = log2_hi*m + log2_tail*m
- * since m is an integer, the dominant term is exact.
- * m has at most 10 digits (for subnormal numbers),
- * and log2_hi has 11 trailing zero bits.
- *
- * log(F) = logF_hi[j] + logF_lo[j] is in tabular form in log_table.h
- * logF_hi[] + 512 is exact.
- *
- * log(1+f/F) = 2*f/(2*F + f) + 1/12 * (2*f/(2*F + f))**3 + ...
- * the leading term is calculated to extra precision in two
- * parts, the larger of which adds exactly to the dominant
- * m and F terms.
- * There are two cases:
- *     1. when m, j are non-zero (m | j), use absolute
- *        precision for the leading term.
- *     2. when m = j = 0, |1-x| < 1/256, and log(x) ~= (x-1).
- *        In this case, use a relative precision of 24 bits.
- * (This is done differently in the original paper)
- *
- * Special cases:
- *     0       return signalling -Inf
- *     neg     return signalling NaN
- *     +Inf    return +Inf
-*/
-
-#define N 128
-
-/* Table of log(Fj) = logF_head[j] + logF_tail[j], for Fj = 1+j/128.
- * Used for generation of extend precision logarithms.
- * The constant 35184372088832 is 2^45, so the divide is exact.
- * It ensures correct reading of logF_head, even for inaccurate
- * decimal-to-binary conversion routines.  (Everybody gets the
- * right answer for integers less than 2^53.)
- * Values for log(F) were generated using error < 10^-57 absolute
- * with the bc -l package.
-*/
-static double  A1 =      .08333333333333178827;
-static double  A2 =      .01250000000377174923;
-static double  A3 =     .002232139987919447809;
-static double  A4 =    .0004348877777076145742;
-
-static double logF_head[N+1] = {
-       0.,
-       .007782140442060381246,
-       .015504186535963526694,
-       .023167059281547608406,
-       .030771658666765233647,
-       .038318864302141264488,
-       .045809536031242714670,
-       .053244514518837604555,
-       .060624621816486978786,
-       .067950661908525944454,
-       .075223421237524235039,
-       .082443669210988446138,
-       .089612158689760690322,
-       .096729626458454731618,
-       .103796793681567578460,
-       .110814366340264314203,
-       .117783035656430001836,
-       .124703478501032805070,
-       .131576357788617315236,
-       .138402322859292326029,
-       .145182009844575077295,
-       .151916042025732167530,
-       .158605030176659056451,
-       .165249572895390883786,
-       .171850256926518341060,
-       .178407657472689606947,
-       .184922338493834104156,
-       .191394852999565046047,
-       .197825743329758552135,
-       .204215541428766300668,
-       .210564769107350002741,
-       .216873938300523150246,
-       .223143551314024080056,
-       .229374101064877322642,
-       .235566071312860003672,
-       .241719936886966024758,
-       .247836163904594286577,
-       .253915209980732470285,
-       .259957524436686071567,
-       .265963548496984003577,
-       .271933715484010463114,
-       .277868451003087102435,
-       .283768173130738432519,
-       .289633292582948342896,
-       .295464212893421063199,
-       .301261330578199704177,
-       .307025035294827830512,
-       .312755710004239517729,
-       .318453731118097493890,
-       .324119468654316733591,
-       .329753286372579168528,
-       .335355541920762334484,
-       .340926586970454081892,
-       .346466767346100823488,
-       .351976423156884266063,
-       .357455888922231679316,
-       .362905493689140712376,
-       .368325561158599157352,
-       .373716409793814818840,
-       .379078352934811846353,
-       .384411698910298582632,
-       .389716751140440464951,
-       .394993808240542421117,
-       .400243164127459749579,
-       .405465108107819105498,
-       .410659924985338875558,
-       .415827895143593195825,
-       .420969294644237379543,
-       .426084395310681429691,
-       .431173464818130014464,
-       .436236766774527495726,
-       .441274560805140936281,
-       .446287102628048160113,
-       .451274644139630254358,
-       .456237433481874177232,
-       .461175715122408291790,
-       .466089729924533457960,
-       .470979715219073113985,
-       .475845904869856894947,
-       .480688529345570714212,
-       .485507815781602403149,
-       .490303988045525329653,
-       .495077266798034543171,
-       .499827869556611403822,
-       .504556010751912253908,
-       .509261901790523552335,
-       .513945751101346104405,
-       .518607764208354637958,
-       .523248143765158602036,
-       .527867089620485785417,
-       .532464798869114019908,
-       .537041465897345915436,
-       .541597282432121573947,
-       .546132437597407260909,
-       .550647117952394182793,
-       .555141507540611200965,
-       .559615787935399566777,
-       .564070138285387656651,
-       .568504735352689749561,
-       .572919753562018740922,
-       .577315365035246941260,
-       .581691739635061821900,
-       .586049045003164792433,
-       .590387446602107957005,
-       .594707107746216934174,
-       .599008189645246602594,
-       .603290851438941899687,
-       .607555250224322662688,
-       .611801541106615331955,
-       .616029877215623855590,
-       .620240409751204424537,
-       .624433288012369303032,
-       .628608659422752680256,
-       .632766669570628437213,
-       .636907462236194987781,
-       .641031179420679109171,
-       .645137961373620782978,
-       .649227946625615004450,
-       .653301272011958644725,
-       .657358072709030238911,
-       .661398482245203922502,
-       .665422632544505177065,
-       .669430653942981734871,
-       .673422675212350441142,
-       .677398823590920073911,
-       .681359224807238206267,
-       .685304003098281100392,
-       .689233281238557538017,
-       .693147180560117703862
-};
-
-static double logF_tail[N+1] = {
-       0.,
-       -.00000000000000543229938420049,
-        .00000000000000172745674997061,
-       -.00000000000001323017818229233,
-       -.00000000000001154527628289872,
-       -.00000000000000466529469958300,
-        .00000000000005148849572685810,
-       -.00000000000002532168943117445,
-       -.00000000000005213620639136504,
-       -.00000000000001819506003016881,
-        .00000000000006329065958724544,
-        .00000000000008614512936087814,
-       -.00000000000007355770219435028,
-        .00000000000009638067658552277,
-        .00000000000007598636597194141,
-        .00000000000002579999128306990,
-       -.00000000000004654729747598444,
-       -.00000000000007556920687451336,
-        .00000000000010195735223708472,
-       -.00000000000017319034406422306,
-       -.00000000000007718001336828098,
-        .00000000000010980754099855238,
-       -.00000000000002047235780046195,
-       -.00000000000008372091099235912,
-        .00000000000014088127937111135,
-        .00000000000012869017157588257,
-        .00000000000017788850778198106,
-        .00000000000006440856150696891,
-        .00000000000016132822667240822,
-       -.00000000000007540916511956188,
-       -.00000000000000036507188831790,
-        .00000000000009120937249914984,
-        .00000000000018567570959796010,
-       -.00000000000003149265065191483,
-       -.00000000000009309459495196889,
-        .00000000000017914338601329117,
-       -.00000000000001302979717330866,
-        .00000000000023097385217586939,
-        .00000000000023999540484211737,
-        .00000000000015393776174455408,
-       -.00000000000036870428315837678,
-        .00000000000036920375082080089,
-       -.00000000000009383417223663699,
-        .00000000000009433398189512690,
-        .00000000000041481318704258568,
-       -.00000000000003792316480209314,
-        .00000000000008403156304792424,
-       -.00000000000034262934348285429,
-        .00000000000043712191957429145,
-       -.00000000000010475750058776541,
-       -.00000000000011118671389559323,
-        .00000000000037549577257259853,
-        .00000000000013912841212197565,
-        .00000000000010775743037572640,
-        .00000000000029391859187648000,
-       -.00000000000042790509060060774,
-        .00000000000022774076114039555,
-        .00000000000010849569622967912,
-       -.00000000000023073801945705758,
-        .00000000000015761203773969435,
-        .00000000000003345710269544082,
-       -.00000000000041525158063436123,
-        .00000000000032655698896907146,
-       -.00000000000044704265010452446,
-        .00000000000034527647952039772,
-       -.00000000000007048962392109746,
-        .00000000000011776978751369214,
-       -.00000000000010774341461609578,
-        .00000000000021863343293215910,
-        .00000000000024132639491333131,
-        .00000000000039057462209830700,
-       -.00000000000026570679203560751,
-        .00000000000037135141919592021,
-       -.00000000000017166921336082431,
-       -.00000000000028658285157914353,
-       -.00000000000023812542263446809,
-        .00000000000006576659768580062,
-       -.00000000000028210143846181267,
-        .00000000000010701931762114254,
-        .00000000000018119346366441110,
-        .00000000000009840465278232627,
-       -.00000000000033149150282752542,
-       -.00000000000018302857356041668,
-       -.00000000000016207400156744949,
-        .00000000000048303314949553201,
-       -.00000000000071560553172382115,
-        .00000000000088821239518571855,
-       -.00000000000030900580513238244,
-       -.00000000000061076551972851496,
-        .00000000000035659969663347830,
-        .00000000000035782396591276383,
-       -.00000000000046226087001544578,
-        .00000000000062279762917225156,
-        .00000000000072838947272065741,
-        .00000000000026809646615211673,
-       -.00000000000010960825046059278,
-        .00000000000002311949383800537,
-       -.00000000000058469058005299247,
-       -.00000000000002103748251144494,
-       -.00000000000023323182945587408,
-       -.00000000000042333694288141916,
-       -.00000000000043933937969737844,
-        .00000000000041341647073835565,
-        .00000000000006841763641591466,
-        .00000000000047585534004430641,
-        .00000000000083679678674757695,
-       -.00000000000085763734646658640,
-        .00000000000021913281229340092,
-       -.00000000000062242842536431148,
-       -.00000000000010983594325438430,
-        .00000000000065310431377633651,
-       -.00000000000047580199021710769,
-       -.00000000000037854251265457040,
-        .00000000000040939233218678664,
-        .00000000000087424383914858291,
-        .00000000000025218188456842882,
-       -.00000000000003608131360422557,
-       -.00000000000050518555924280902,
-        .00000000000078699403323355317,
-       -.00000000000067020876961949060,
-        .00000000000016108575753932458,
-        .00000000000058527188436251509,
-       -.00000000000035246757297904791,
-       -.00000000000018372084495629058,
-        .00000000000088606689813494916,
-        .00000000000066486268071468700,
-        .00000000000063831615170646519,
-        .00000000000025144230728376072,
-       -.00000000000017239444525614834
-};
-
-
-/*
- * Extra precision variant, returning struct {double a, b;};
- * log(x) = a+b to 63 bits, with a rounded to 26 bits.
- */
-struct Double
-__log__D(double x)
-{
-       int m, j;
-       double F, f, g, q, u, v, u2;
-       volatile double u1;
-       struct Double r;
-
-       /* Argument reduction: 1 <= g < 2; x/2^m = g;   */
-       /* y = F*(1 + f/F) for |f| <= 2^-8              */
-
-       m = logb(x);
-       g = ldexp(x, -m);
-       if (m == -1022) {
-               j = logb(g), m += j;
-               g = ldexp(g, -j);
-       }
-       j = N*(g-1) + .5;
-       F = (1.0/N) * j + 1;
-       f = g - F;
-
-       g = 1/(2*F+f);
-       u = 2*f*g;
-       v = u*u;
-       q = u*v*(A1 + v*(A2 + v*(A3 + v*A4)));
-       if (m | j)
-               u1 = u + 513, u1 -= 513;
-       else
-               u1 = u, TRUNC(u1);
-       u2 = (2.0*(f - F*u1) - u1*f) * g;
-
-       u1 += m*logF_head[N] + logF_head[j];
-
-       u2 +=  logF_tail[j]; u2 += q;
-       u2 += logF_tail[N]*m;
-       r.a = u1 + u2;                  /* Only difference is here */
-       TRUNC(r.a);
-       r.b = (u1 - r.a) + u2;
-       return (r);
-}
diff --git a/lib/libm/bsdsrc/b_tgamma.c b/lib/libm/bsdsrc/b_tgamma.c
deleted file mode 100644 (file)
index 7d4e424..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-/*-
- * Copyright (c) 1992, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)gamma.c     8.1 (Berkeley) 6/4/93
- * $FreeBSD: head/lib/msun/bsdsrc/b_tgamma.c 176449 2008-02-22 02:26:51Z das $
- */
-
-/*
- * This code by P. McIlroy, Oct 1992;
- *
- * The financial support of UUNET Communications Services is greatfully
- * acknowledged.
- */
-
-#include <math.h>
-#include "mathimpl.h"
-
-/* METHOD:
- * x < 0: Use reflection formula, G(x) = pi/(sin(pi*x)*x*G(x))
- *     At negative integers, return NaN and raise invalid.
- *
- * x < 6.5:
- *     Use argument reduction G(x+1) = xG(x) to reach the
- *     range [1.066124,2.066124].  Use a rational
- *     approximation centered at the minimum (x0+1) to
- *     ensure monotonicity.
- *
- * x >= 6.5: Use the asymptotic approximation (Stirling's formula)
- *     adjusted for equal-ripples:
- *
- *     log(G(x)) ~= (x-.5)*(log(x)-1) + .5(log(2*pi)-1) + 1/x*P(1/(x*x))
- *
- *     Keep extra precision in multiplying (x-.5)(log(x)-1), to
- *     avoid premature round-off.
- *
- * Special values:
- *     -Inf:                   return NaN and raise invalid;
- *     negative integer:       return NaN and raise invalid;
- *     other x ~< 177.79:      return +-0 and raise underflow;
- *     +-0:                    return +-Inf and raise divide-by-zero;
- *     finite x ~> 171.63:     return +Inf and raise overflow;
- *     +Inf:                   return +Inf;
- *     NaN:                    return NaN.
- *
- * Accuracy: tgamma(x) is accurate to within
- *     x > 0:  error provably < 0.9ulp.
- *     Maximum observed in 1,000,000 trials was .87ulp.
- *     x < 0:
- *     Maximum observed error < 4ulp in 1,000,000 trials.
- */
-
-static double neg_gam(double);
-static double small_gam(double);
-static double smaller_gam(double);
-static struct Double large_gam(double);
-static struct Double ratfun_gam(double, double);
-
-/*
- * Rational approximation, A0 + x*x*P(x)/Q(x), on the interval
- * [1.066.., 2.066..] accurate to 4.25e-19.
- */
-#define LEFT -.3955078125      /* left boundary for rat. approx */
-#define x0 .461632144968362356785      /* xmin - 1 */
-
-#define a0_hi 0.88560319441088874992
-#define a0_lo -.00000000000000004996427036469019695
-#define P0      6.21389571821820863029017800727e-01
-#define P1      2.65757198651533466104979197553e-01
-#define P2      5.53859446429917461063308081748e-03
-#define P3      1.38456698304096573887145282811e-03
-#define P4      2.40659950032711365819348969808e-03
-#define Q0      1.45019531250000000000000000000e+00
-#define Q1      1.06258521948016171343454061571e+00
-#define Q2     -2.07474561943859936441469926649e-01
-#define Q3     -1.46734131782005422506287573015e-01
-#define Q4      3.07878176156175520361557573779e-02
-#define Q5      5.12449347980666221336054633184e-03
-#define Q6     -1.76012741431666995019222898833e-03
-#define Q7      9.35021023573788935372153030556e-05
-#define Q8      6.13275507472443958924745652239e-06
-/*
- * Constants for large x approximation (x in [6, Inf])
- * (Accurate to 2.8*10^-19 absolute)
- */
-#define lns2pi_hi 0.418945312500000
-#define lns2pi_lo -.000006779295327258219670263595
-#define Pa0     8.33333333333333148296162562474e-02
-#define Pa1    -2.77777777774548123579378966497e-03
-#define Pa2     7.93650778754435631476282786423e-04
-#define Pa3    -5.95235082566672847950717262222e-04
-#define Pa4     8.41428560346653702135821806252e-04
-#define Pa5    -1.89773526463879200348872089421e-03
-#define Pa6     5.69394463439411649408050664078e-03
-#define Pa7    -1.44705562421428915453880392761e-02
-
-static const double zero = 0., one = 1.0, tiny = 1e-300;
-
-double
-tgamma(double x)
-{
-       struct Double u;
-
-       if (x >= 6) {
-               if(x > 171.63)
-                       return (x / zero);
-               u = large_gam(x);
-               return(__exp__D(u.a, u.b));
-       } else if (x >= 1.0 + LEFT + x0)
-               return (small_gam(x));
-       else if (x > 1.e-17)
-               return (smaller_gam(x));
-       else if (x > -1.e-17) {
-               if (x != 0.0)
-                       u.a = one - tiny;       /* raise inexact */
-               return (one/x);
-       } else if (!finite(x))
-               return (x - x);         /* x is NaN or -Inf */
-       else
-               return (neg_gam(x));
-}
-/*
- * Accurate to max(ulp(1/128) absolute, 2^-66 relative) error.
- */
-static struct Double
-large_gam(double x)
-{
-       double z, p;
-       struct Double t, u, v;
-
-       z = one/(x*x);
-       p = Pa0+z*(Pa1+z*(Pa2+z*(Pa3+z*(Pa4+z*(Pa5+z*(Pa6+z*Pa7))))));
-       p = p/x;
-
-       u = __log__D(x);
-       u.a -= one;
-       v.a = (x -= .5);
-       TRUNC(v.a);
-       v.b = x - v.a;
-       t.a = v.a*u.a;                  /* t = (x-.5)*(log(x)-1) */
-       t.b = v.b*u.a + x*u.b;
-       /* return t.a + t.b + lns2pi_hi + lns2pi_lo + p */
-       t.b += lns2pi_lo; t.b += p;
-       u.a = lns2pi_hi + t.b; u.a += t.a;
-       u.b = t.a - u.a;
-       u.b += lns2pi_hi; u.b += t.b;
-       return (u);
-}
-/*
- * Good to < 1 ulp.  (provably .90 ulp; .87 ulp on 1,000,000 runs.)
- * It also has correct monotonicity.
- */
-static double
-small_gam(double x)
-{
-       double y, ym1, t;
-       struct Double yy, r;
-       y = x - one;
-       ym1 = y - one;
-       if (y <= 1.0 + (LEFT + x0)) {
-               yy = ratfun_gam(y - x0, 0);
-               return (yy.a + yy.b);
-       }
-       r.a = y;
-       TRUNC(r.a);
-       yy.a = r.a - one;
-       y = ym1;
-       yy.b = r.b = y - yy.a;
-       /* Argument reduction: G(x+1) = x*G(x) */
-       for (ym1 = y-one; ym1 > LEFT + x0; y = ym1--, yy.a--) {
-               t = r.a*yy.a;
-               r.b = r.a*yy.b + y*r.b;
-               r.a = t;
-               TRUNC(r.a);
-               r.b += (t - r.a);
-       }
-       /* Return r*tgamma(y). */
-       yy = ratfun_gam(y - x0, 0);
-       y = r.b*(yy.a + yy.b) + r.a*yy.b;
-       y += yy.a*r.a;
-       return (y);
-}
-/*
- * Good on (0, 1+x0+LEFT].  Accurate to 1ulp.
- */
-static double
-smaller_gam(double x)
-{
-       double t, d;
-       struct Double r, xx;
-       if (x < x0 + LEFT) {
-               t = x, TRUNC(t);
-               d = (t+x)*(x-t);
-               t *= t;
-               xx.a = (t + x), TRUNC(xx.a);
-               xx.b = x - xx.a; xx.b += t; xx.b += d;
-               t = (one-x0); t += x;
-               d = (one-x0); d -= t; d += x;
-               x = xx.a + xx.b;
-       } else {
-               xx.a =  x, TRUNC(xx.a);
-               xx.b = x - xx.a;
-               t = x - x0;
-               d = (-x0 -t); d += x;
-       }
-       r = ratfun_gam(t, d);
-       d = r.a/x, TRUNC(d);
-       r.a -= d*xx.a; r.a -= d*xx.b; r.a += r.b;
-       return (d + r.a/x);
-}
-/*
- * returns (z+c)^2 * P(z)/Q(z) + a0
- */
-static struct Double
-ratfun_gam(double z, double c)
-{
-       double p, q;
-       struct Double r, t;
-
-       q = Q0 +z*(Q1+z*(Q2+z*(Q3+z*(Q4+z*(Q5+z*(Q6+z*(Q7+z*Q8)))))));
-       p = P0 + z*(P1 + z*(P2 + z*(P3 + z*P4)));
-
-       /* return r.a + r.b = a0 + (z+c)^2*p/q, with r.a truncated to 26 bits. */
-       p = p/q;
-       t.a = z, TRUNC(t.a);            /* t ~= z + c */
-       t.b = (z - t.a) + c;
-       t.b *= (t.a + z);
-       q = (t.a *= t.a);               /* t = (z+c)^2 */
-       TRUNC(t.a);
-       t.b += (q - t.a);
-       r.a = p, TRUNC(r.a);            /* r = P/Q */
-       r.b = p - r.a;
-       t.b = t.b*p + t.a*r.b + a0_lo;
-       t.a *= r.a;                     /* t = (z+c)^2*(P/Q) */
-       r.a = t.a + a0_hi, TRUNC(r.a);
-       r.b = ((a0_hi-r.a) + t.a) + t.b;
-       return (r);                     /* r = a0 + t */
-}
-
-static double
-neg_gam(double x)
-{
-       int sgn = 1;
-       struct Double lg, lsine;
-       double y, z;
-
-       y = ceil(x);
-       if (y == x)             /* Negative integer. */
-               return ((x - x) / zero);
-       z = y - x;
-       if (z > 0.5)
-               z = one - z;
-       y = 0.5 * y;
-       if (y == ceil(y))
-               sgn = -1;
-       if (z < .25)
-               z = sin(M_PI*z);
-       else
-               z = cos(M_PI*(0.5-z));
-       /* Special case: G(1-x) = Inf; G(x) may be nonzero. */
-       if (x < -170) {
-               if (x < -190)
-                       return ((double)sgn*tiny*tiny);
-               y = one - x;            /* exact: 128 < |x| < 255 */
-               lg = large_gam(y);
-               lsine = __log__D(M_PI/z);       /* = TRUNC(log(u)) + small */
-               lg.a -= lsine.a;                /* exact (opposite signs) */
-               lg.b -= lsine.b;
-               y = -(lg.a + lg.b);
-               z = (y + lg.a) + lg.b;
-               y = __exp__D(y, z);
-               if (sgn < 0) y = -y;
-               return (y);
-       }
-       y = one-x;
-       if (one-y == x)
-               y = tgamma(y);
-       else            /* 1-x is inexact */
-               y = -x*tgamma(-x);
-       if (sgn < 0) y = -y;
-       return (M_PI / (y*z));
-}
diff --git a/lib/libm/bsdsrc/mathimpl.h b/lib/libm/bsdsrc/mathimpl.h
deleted file mode 100644 (file)
index 132c282..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1988, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)mathimpl.h  8.1 (Berkeley) 6/4/93
- * $FreeBSD: head/lib/msun/bsdsrc/mathimpl.h 152566 2005-11-18 05:03:12Z bde $
- */
-
-#ifndef _MATHIMPL_H_
-#define        _MATHIMPL_H_
-
-#include <math.h>
-#include "../src/math_private.h"
-
-/*
- * TRUNC() is a macro that sets the trailing 27 bits in the mantissa of an
- * IEEE double variable to zero.  It must be expression-like for syntactic
- * reasons, and we implement this expression using an inline function
- * instead of a pure macro to avoid depending on the gcc feature of
- * statement-expressions.
- */
-#define        TRUNC(d)        (_b_trunc(&(d)))
-
-static __inline void
-_b_trunc(volatile double *_dp)
-{
-       uint32_t _lw;
-
-       GET_LOW_WORD(_lw, *_dp);
-       SET_LOW_WORD(*_dp, _lw & 0xf8000000);
-}
-
-struct Double {
-       double  a;
-       double  b;
-};
-
-/*
- * Functions internal to the math package, yet not static.
- */
-double __exp__D(double, double);
-struct Double __log__D(double);
-
-#endif /* !_MATHIMPL_H_ */
diff --git a/lib/libm/gaps/cacosl.3 b/lib/libm/gaps/cacosl.3
deleted file mode 100644 (file)
index 70a7da4..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-.\" $NetBSD: cacos.3,v 1.3 2013/01/29 02:05:08 matt Exp $
-.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
-.Dd December 2, 2014
-.Dt CACOSL 3
-.Os
-.Sh NAME
-.Nm cacosl
-.Nd complex arc cosine function
-.Sh LIBRARY
-.Lb libm
-.Sh SYNOPSIS
-.In complex.h
-.Ft long double complex
-.Fn cacosl "long double complex z"
-.Sh DESCRIPTION
-This function computes the complex arc cosine of
-.Ar z ,
-with branch cuts outside the interval [\-1,\ +1] along the
-real axis.
-.Sh RETURN VALUES
-This function returns the complex arc cosine value, in the
-range of a strip mathematically unbounded along the imaginary
-axis and in the interval [0,\ pi] along the real axis.
-.Sh ERRORS
-No errors are defined.
-.Sh SEE ALSO
-.Xr ccos 3 ,
-.St -p1003.1-2001
-.Aq Pa complex.h
-.Sh COPYRIGHT
-Portions of this text are reprinted and reproduced in electronic form
-from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
--- Portable Operating System Interface (POSIX), The Open Group Base
-Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
-Electrical and Electronics Engineers, Inc and The Open Group.
-In the
-event of any discrepancy between this version and the original IEEE and
-The Open Group Standard, the original IEEE and The Open Group Standard
-is the referee document.
-The original Standard can be obtained online at
-http://www.opengroup.org/unix/online.html .
diff --git a/lib/libm/gaps/cacosl.c b/lib/libm/gaps/cacosl.c
deleted file mode 100644 (file)
index 52699dd..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* $NetBSD: cacosl.c,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-#include "cephes_subrl.h"
-
-long double complex
-cacosl(long double complex z)
-{
-       long double complex w;
-
-       w = casinl(z);
-       w = (M_PI_2L - creall(w)) - cimagl(w) * I;
-       return w;
-}
diff --git a/lib/libm/gaps/casinl.3 b/lib/libm/gaps/casinl.3
deleted file mode 100644 (file)
index bbbeb88..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-.\" $NetBSD: casin.3,v 1.3 2013/01/29 02:05:09 matt Exp $
-.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
-.Dd December 2, 2014
-.Dt CASINL 3
-.Os
-.Sh NAME
-.Nm casinl
-.Nd complex arc sine function
-.Sh LIBRARY
-.Lb libm
-.Sh SYNOPSIS
-.In complex.h
-.Ft long double complex
-.Fn casinl "long double complex z"
-.Sh DESCRIPTION
-This function computes the complex arc sine of
-.Ar z ,
-with branch cuts outside the interval [\-1,\ +1] along the
-real axis.
-.Sh RETURN VALUES
-This function returns the complex arc sine value, in the range
-of a strip mathematically unbounded along the imaginary
-axis and in the interval [\-pi/2,\ +pi/2] along the
-real axis.
-.Sh ERRORS
-No errors are defined.
-.Sh SEE ALSO
-.Xr csin 3 ,
-.St -p1003.1-2001
-.Aq Pa complex.h
-.Sh COPYRIGHT
-Portions of this text are reprinted and reproduced in electronic form
-from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
--- Portable Operating System Interface (POSIX), The Open Group Base
-Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
-Electrical and Electronics Engineers, Inc and The Open Group.
-In the
-event of any discrepancy between this version and the original IEEE and
-The Open Group Standard, the original IEEE and The Open Group Standard
-is the referee document.
-The original Standard can be obtained online at
-http://www.opengroup.org/unix/online.html .
diff --git a/lib/libm/gaps/casinl.c b/lib/libm/gaps/casinl.c
deleted file mode 100644 (file)
index 9a8d5cc..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/* $NetBSD: casinl.c,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-
-long double complex
-casinl(long double complex z)
-{
-       long double complex w;
-       long double complex ca, ct, zz, z2;
-       long double x, y;
-
-       x = creall(z);
-       y = cimagl(z);
-
-
-       ca = x + y * I;
-       ct = ca * I;
-       /* sqrtl( 1 - z*z) */
-       /* cmull( &ca, &ca, &zz ) */
-       /*x * x  -  y * y */
-       zz = (x - y) * (x + y) + (2.0L * x * y) * I;
-
-       zz = 1.0L - creall(zz) - cimagl(zz) * I;
-       z2 = csqrtl(zz);
-
-       zz = ct + z2;
-       zz = clogl(zz);
-       /* multiply by 1/i = -i */
-       w = zz * (-1.0L * I);
-       return w;
-}
diff --git a/lib/libm/gaps/catanl.3 b/lib/libm/gaps/catanl.3
deleted file mode 100644 (file)
index 9c61d9c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-.\" $NetBSD: catan.3,v 1.3 2013/01/29 02:05:09 matt Exp $
-.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
-.Dd December 2, 2014
-.Dt CATANL 3
-.Os
-.Sh NAME
-.Nm catanl
-.Nd complex arc tangent function
-.Sh LIBRARY
-.Lb libm
-.Sh SYNOPSIS
-.In complex.h
-.Ft long double complex
-.Fn catanl "long double complex z"
-.Sh DESCRIPTION
-This function computes the complex arc tangent of
-.Ar z ,
-with branch cuts outside the interval
-[\- i,\ +i] along the imaginary axis.
-.Sh RETURN VALUES
-This function returns the complex arc tangent value, in the
-range of a strip mathematically unbounded along the imaginary
-axis and in the interval [-pi/2,\ +pi/2] along the
-real axis.
-.Sh ERRORS
-No errors are defined.
-.Sh SEE ALSO
-.Xr ctan 3 ,
-.St -p1003.1-2001
-.Aq Pa complex.h
-.Sh COPYRIGHT
-Portions of this text are reprinted and reproduced in electronic form
-from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
--- Portable Operating System Interface (POSIX), The Open Group Base
-Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
-Electrical and Electronics Engineers, Inc and The Open Group.
-In the
-event of any discrepancy between this version and the original IEEE and
-The Open Group Standard, the original IEEE and The Open Group Standard
-is the referee document.
-The original Standard can be obtained online at
-http://www.opengroup.org/unix/online.html .
diff --git a/lib/libm/gaps/catanl.c b/lib/libm/gaps/catanl.c
deleted file mode 100644 (file)
index c69f8f2..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/* $NetBSD: catanl.c,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include <float.h>
-#include "math.h"
-#include "cephes_subrl.h"
-
-#define MAXNUM LDBL_MAX
-
-long double complex
-catanl(long double complex z)
-{
-       long double complex w;
-       long double a, t, x, x2, y;
-
-       x = creall(z);
-       y = cimagl(z);
-
-       if ((x == 0.0L) && (y > 1.0L))
-               goto ovrf;
-
-       x2 = x * x;
-       a = 1.0L - x2 - (y * y);
-       if (a == 0.0)
-               goto ovrf;
-
-       t = 0.5L * atan2l(2.0L * x, a);
-       w = _redupil(t);
-
-       t = y - 1.0L;
-       a = x2 + (t * t);
-       if (a == 0.0L)
-               goto ovrf;
-
-       t = y + 1.0L;
-       a = (x2 + (t * t))/a;
-       w = w + (0.25L * logl(a)) * I;
-       return w;
-
-ovrf:
-       w = MAXNUM + MAXNUM * I;
-       return w;
-}
diff --git a/lib/libm/gaps/ccoshl.3 b/lib/libm/gaps/ccoshl.3
deleted file mode 100644 (file)
index eb45fcc..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-.\" $NetBSD: ccosh.3,v 1.3 2013/01/29 02:05:09 matt Exp $
-.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
-.Dd December 2, 2014
-.Dt CCOSHL 3
-.Os
-.Sh NAME
-.Nm ccoshl
-.Nd complex hyperbolic cosine function
-.Sh LIBRARY
-.Lb libm
-.Sh SYNOPSIS
-.In complex.h
-.Ft long double complex
-.Fn ccoshl "long double complex z"
-.Sh DESCRIPTION
-This function computes the complex hyperbolic cosine of
-.Ar z .
-.Sh RETURN VALUES
-This function returns the complex hyperbolic cosine value.
-.Sh ERRORS
-No errors are defined.
-.Sh SEE ALSO
-.Xr cacosh 3 ,
-.St -p1003.1-2001
-.Aq Pa complex.h
-.Sh COPYRIGHT
-Portions of this text are reprinted and reproduced in electronic form
-from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
--- Portable Operating System Interface (POSIX), The Open Group Base
-Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
-Electrical and Electronics Engineers, Inc and The Open Group.
-In the
-event of any discrepancy between this version and the original IEEE and
-The Open Group Standard, the original IEEE and The Open Group Standard
-is the referee document.
-The original Standard can be obtained online at
-http://www.opengroup.org/unix/online.html .
diff --git a/lib/libm/gaps/ccoshl.c b/lib/libm/gaps/ccoshl.c
deleted file mode 100644 (file)
index aaa3a31..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/* $NetBSD: ccoshl.c,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-
-long double complex
-ccoshl(long double complex z)
-{
-       long double complex w;
-       long double x, y;
-
-       x = creall(z);
-       y = cimagl(z);
-       w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I;
-       return w;
-}
diff --git a/lib/libm/gaps/ccosl.3 b/lib/libm/gaps/ccosl.3
deleted file mode 100644 (file)
index 5c6ad5d..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-.\" $NetBSD: ccos.3,v 1.3 2013/01/29 02:05:09 matt Exp $
-.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
-.Dd December 2, 2014
-.Dt CCOSL 3
-.Os
-.Sh NAME
-.Nm ccosl
-.Nd complex cosine function
-.Sh LIBRARY
-.Lb libm
-.Sh SYNOPSIS
-.In complex.h
-.Ft long double complex
-.Fn ccosl "long double complex z"
-.Sh DESCRIPTION
-This function computes the complex cosine of
-.Ar z .
-.Sh RETURN VALUES
-This function returns the complex cosine value.
-.Sh ERRORS
-No errors are defined.
-.Sh SEE ALSO
-.Xr cacos 3 ,
-.St -p1003.1-2001
-.Aq Pa complex.h
-.Sh COPYRIGHT
-Portions of this text are reprinted and reproduced in electronic form
-from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
--- Portable Operating System Interface (POSIX), The Open Group Base
-Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
-Electrical and Electronics Engineers, Inc and The Open Group.
-In the
-event of any discrepancy between this version and the original IEEE and
-The Open Group Standard, the original IEEE and The Open Group Standard
-is the referee document.
-The original Standard can be obtained online at
-http://www.opengroup.org/unix/online.html .
diff --git a/lib/libm/gaps/ccosl.c b/lib/libm/gaps/ccosl.c
deleted file mode 100644 (file)
index e14a8fc..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/* $NetBSD: ccosl.c,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-#include "cephes_subrl.h"
-
-long double complex
-ccosl(long double complex z)
-{
-       long double complex w;
-       long double ch, sh;
-
-       _cchshl(cimagl(z), &ch, &sh);
-       w = cosl(creall(z)) * ch - (sinl(creall(z)) * sh) * I;
-       return w;
-}
diff --git a/lib/libm/gaps/cephes_subrl.c b/lib/libm/gaps/cephes_subrl.c
deleted file mode 100644 (file)
index 3bf76f0..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/* $NetBSD: cephes_subrl.c,v 1.2 2014/10/10 14:06:40 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-#include "cephes_subrl.h"
-
-/* calculate cosh and sinh */
-
-void
-_cchshl(long double x, long double *c, long double *s)
-{
-       long double e, ei;
-
-       if (fabsl(x) <= 0.5L) {
-               *c = coshl(x);
-               *s = sinhl(x);
-       } else {
-               e = expl(x);
-               ei = 0.5L / e;
-               e = 0.5L * e;
-               *s = e - ei;
-               *c = e + ei;
-       }
-}
-
-/* Program to subtract nearest integer multiple of PI */
-
-/* extended precision value of PI: */
-static const long double DP1 = 3.14159265358979323829596852490908531763125L;
-static const long double DP2 = 1.6667485837041756656403424829301998703007e-19L;
-#ifndef __vax__
-static const long double DP3 = 1.8830410776607851167459095484560349402753e-39L;
-#define MACHEPL 1.1e-38L
-#else
-static const long double DP3 = 0L;
-#define MACHEPL 1.1e-19L
-#endif
-
-long double
-_redupil(long double x)
-{
-       long double t;
-       long long i;
-
-       t = x / M_PIL;
-       if (t >= 0.0L)
-               t += 0.5L;
-       else
-               t -= 0.5L;
-
-       i = t;  /* the multiple */
-       t = i;
-       t = ((x - t * DP1) - t * DP2) - t * DP3;
-       return t;
-}
-
-/* Taylor series expansion for cosh(2y) - cos(2x) */
-
-long double
-_ctansl(long double complex z)
-{
-       long double f, x, x2, y, y2, rn, t;
-       long double d;
-
-       x = fabsl(2.0L * creall(z));
-       y = fabsl(2.0L * cimagl(z));
-
-       x = _redupil(x);
-
-       x = x * x;
-       y = y * y;
-       x2 = 1.0;
-       y2 = 1.0;
-       f = 1.0;
-       rn = 0.0;
-       d = 0.0;
-       do {
-               rn += 1.0L;
-               f *= rn;
-               rn += 1.0L;
-               f *= rn;
-               x2 *= x;
-               y2 *= y;
-               t = y2 + x2;
-               t /= f;
-               d += t;
-
-               rn += 1.0L;
-               f *= rn;
-               rn += 1.0L;
-               f *= rn;
-               x2 *= x;
-               y2 *= y;
-               t = y2 - x2;
-               t /= f;
-               d += t;
-       } while (fabsl(t/d) > MACHEPL);
-       return d;
-}
diff --git a/lib/libm/gaps/cephes_subrl.h b/lib/libm/gaps/cephes_subrl.h
deleted file mode 100644 (file)
index 6354b23..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/* $NetBSD: cephes_subrl.h,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-void _cchshl(long double, long double *, long double *);
-long double _redupil(long double);
-long double _ctansl(long double complex);
-
-#define        M_PIL   3.14159265358979323846264338327950280e+00L
-#define        M_PI_2L 1.57079632679489661923132169163975140e+00L
-
diff --git a/lib/libm/gaps/cexpl.3 b/lib/libm/gaps/cexpl.3
deleted file mode 100644 (file)
index bce4eb7..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-.\" $NetBSD: cexp.3,v 1.3 2013/01/29 02:05:09 matt Exp $
-.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
-.Dd December 2, 2014
-.Dt CEXPL 3
-.Os
-.Sh NAME
-.Nm cexpl
-.Nd complex exponential function
-.Sh LIBRARY
-.Lb libm
-.Sh SYNOPSIS
-.In complex.h
-.Ft long double complex
-.Fn cexpl "long double complex z"
-.Sh DESCRIPTION
-This function computes the complex exponent of
-.Ar z ,
-defined as e**z.
-.Sh RETURN VALUES
-This function returns the complex exponential value of
-.Ar z .
-.Sh ERRORS
-No errors are defined.
-.Sh SEE ALSO
-.Xr clog 3 ,
-.St -p1003.1-2001
-.Aq Pa complex.h
-.Sh COPYRIGHT
-Portions of this text are reprinted and reproduced in electronic form
-from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
--- Portable Operating System Interface (POSIX), The Open Group Base
-Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
-Electrical and Electronics Engineers, Inc and The Open Group.
-In the
-event of any discrepancy between this version and the original IEEE and
-The Open Group Standard, the original IEEE and The Open Group Standard
-is the referee document.
-The original Standard can be obtained online at
-http://www.opengroup.org/unix/online.html .
diff --git a/lib/libm/gaps/cexpl.c b/lib/libm/gaps/cexpl.c
deleted file mode 100644 (file)
index 9e6cc20..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/* $NetBSD: cexpl.c,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-
-long double complex
-cexpl(long double complex z)
-{
-       long double complex w;
-       long double r, x, y;
-
-       x = creall(z);
-       y = cimagl(z);
-       r = expl(x);
-       w = r * cosl(y) + r * sinl(y) * I;
-       return w;
-}
diff --git a/lib/libm/gaps/clog.3 b/lib/libm/gaps/clog.3
deleted file mode 100644 (file)
index fd4bb70..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-.\" $NetBSD: clog.3,v 1.3 2013/01/29 02:05:09 matt Exp $
-.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
-.Dd December 2, 2014
-.Dt CLOG 3
-.Os
-.Sh NAME
-.Nm clog ,
-.Nm clogf ,
-.Nm clogl
-.Nd complex natural logarithm functions
-.Sh LIBRARY
-.Lb libm
-.Sh SYNOPSIS
-.In complex.h
-.Ft double complex
-.Fn clog "double complex z"
-.Ft float complex
-.Fn clogf "float complex z"
-.Ft long double complex
-.Fn clogl "long double complex z"
-.Sh DESCRIPTION
-These functions compute the complex natural (base e) logarithm
-of
-.Ar z ,
-with a branch cut along the negative real axis.
-.Sh RETURN VALUES
-These functions return the complex natural logarithm value,
-in the range of a strip mathematically unbounded along the
-real axis and in the interval [\-i pi,\ +i pi] along the
-imaginary axis.
-.Sh ERRORS
-No errors are defined.
-.Sh SEE ALSO
-.Xr cexp 3 ,
-.St -p1003.1-2001
-.Aq Pa complex.h
-.Sh COPYRIGHT
-Portions of this text are reprinted and reproduced in electronic form
-from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
--- Portable Operating System Interface (POSIX), The Open Group Base
-Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
-Electrical and Electronics Engineers, Inc and The Open Group.
-In the
-event of any discrepancy between this version and the original IEEE and
-The Open Group Standard, the original IEEE and The Open Group Standard
-is the referee document.
-The original Standard can be obtained online at
-http://www.opengroup.org/unix/online.html .
diff --git a/lib/libm/gaps/clog.c b/lib/libm/gaps/clog.c
deleted file mode 100644 (file)
index a667f4f..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/* $NetBSD: clog.c,v 1.1 2007/08/20 16:01:35 drochner Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-
-double complex
-clog(double complex z)
-{
-       double complex w;
-       double p, rr;
-
-       rr = cabs(z);
-       p = log(rr);
-       rr = atan2(cimag(z), creal(z));
-       w = p + rr * I;
-       return w;
-}
diff --git a/lib/libm/gaps/clogf.c b/lib/libm/gaps/clogf.c
deleted file mode 100644 (file)
index 5cd7611..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/* $NetBSD: clogf.c,v 1.1 2007/08/20 16:01:35 drochner Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-
-float complex
-clogf(float complex z)
-{
-       float complex w;
-       float p, rr;
-
-       rr = cabsf(z);
-       p = logf(rr);
-       rr = atan2f(cimagf(z), crealf(z));
-       w = p + rr * I;
-       return w;
-}
diff --git a/lib/libm/gaps/clogl.c b/lib/libm/gaps/clogl.c
deleted file mode 100644 (file)
index b89d782..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/* $NetBSD: clogl.c,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-
-long double complex
-clogl(long double complex z)
-{
-       long double complex w;
-       long double p, rr;
-
-       rr = cabsl(z);
-       p = logl(rr);
-       rr = atan2l(cimagl(z), creall(z));
-       w = p + rr * I;
-       return w;
-}
diff --git a/lib/libm/gaps/cpow.3 b/lib/libm/gaps/cpow.3
deleted file mode 100644 (file)
index 44e594e..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-.\" $NetBSD: cpow.3,v 1.3 2013/01/29 02:05:09 matt Exp $
-.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
-.Dd December 2, 2014
-.Dt CPOW 3
-.Os
-.Sh NAME
-.Nm cpow ,
-.Nm cpowf ,
-.Nm cpowl
-.Nd complex power functions
-.Sh LIBRARY
-.Lb libm
-.Sh SYNOPSIS
-.In complex.h
-.Ft double complex
-.Fn cpow "double complex x" "double complex y"
-.Ft float complex
-.Fn cpowf "float complex x" "float complex y"
-.Ft long double complex
-.Fn cpowl "long double complex x" "long double complex y"
-.Sh DESCRIPTION
-These functions compute the complex power function x**y,
-with a branch cut for the first
-parameter along the negative real axis.
-.Sh RETURN VALUES
-These functions return the complex power function value.
-.Sh ERRORS
-No errors are defined.
-.Sh SEE ALSO
-.Xr cabs 3 ,
-.Xr csqrt 3 ,
-.St -p1003.1-2001
-.Aq Pa complex.h
-.Sh COPYRIGHT
-Portions of this text are reprinted and reproduced in electronic form
-from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
--- Portable Operating System Interface (POSIX), The Open Group Base
-Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
-Electrical and Electronics Engineers, Inc and The Open Group.
-In the
-event of any discrepancy between this version and the original IEEE and
-The Open Group Standard, the original IEEE and The Open Group Standard
-is the referee document.
-The original Standard can be obtained online at
-http://www.opengroup.org/unix/online.html .
diff --git a/lib/libm/gaps/cpow.c b/lib/libm/gaps/cpow.c
deleted file mode 100644 (file)
index 90c7229..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* $NetBSD: cpow.c,v 1.1 2007/08/20 16:01:35 drochner Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-
-double complex
-cpow(double complex a, double complex z)
-{
-       double complex w;
-       double x, y, r, theta, absa, arga;
-
-       x = creal(z);
-       y = cimag(z);
-       absa = cabs(a);
-       if (absa == 0.0) {
-               return (0.0 + 0.0 * I);
-       }
-       arga = carg(a);
-       r = pow(absa, x);
-       theta = x * arga;
-       if (y != 0.0) {
-               r = r * exp(-y * arga);
-               theta = theta + y * log(absa);
-       }
-       w = r * cos(theta) + (r * sin(theta)) * I;
-       return w;
-}
diff --git a/lib/libm/gaps/cpowf.c b/lib/libm/gaps/cpowf.c
deleted file mode 100644 (file)
index 48436fe..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* $NetBSD: cpowf.c,v 1.1 2007/08/20 16:01:36 drochner Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-
-float complex
-cpowf(float complex a, float complex z)
-{
-       float complex w;
-       float x, y, r, theta, absa, arga;
-
-       x = crealf(z);
-       y = cimagf(z);
-       absa = cabsf(a);
-       if (absa == 0.0f) {
-               return (0.0f + 0.0f * I);
-       }
-       arga = cargf(a);
-       r = powf(absa, x);
-       theta = x * arga;
-       if (y != 0.0f) {
-               r = r * expf(-y * arga);
-               theta = theta + y * logf(absa);
-       }
-       w = r * cosf(theta) + (r * sinf(theta)) * I;
-       return w;
-}
diff --git a/lib/libm/gaps/cpowl.c b/lib/libm/gaps/cpowl.c
deleted file mode 100644 (file)
index 9c9b475..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* $NetBSD: cpowl.c,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-
-long double complex
-cpowl(long double complex a, long double complex z)
-{
-       long double complex w;
-       long double x, y, r, theta, absa, arga;
-
-       x = creall(z);
-       y = cimagl(z);
-       absa = cabsl(a);
-       if (absa == 0.0L) {
-               return (0.0L + 0.0L * I);
-       }
-       arga = cargl(a);
-       r = powl(absa, x);
-       theta = x * arga;
-       if (y != 0.0L) {
-               r = r * expl(-y * arga);
-               theta = theta + y * logl(absa);
-       }
-       w = r * cosl(theta) + (r * sinl(theta)) * I;
-       return w;
-}
diff --git a/lib/libm/gaps/csinhl.3 b/lib/libm/gaps/csinhl.3
deleted file mode 100644 (file)
index aff610b..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-.\" $NetBSD: csinh.3,v 1.3 2013/01/29 02:05:09 matt Exp $
-.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
-.Dd December 2, 2014
-.Dt CSINHL 3
-.Os
-.Sh NAME
-.Nm csinhl
-.Nd complex hyperbolic sine function
-.Sh LIBRARY
-.Lb libm
-.Sh SYNOPSIS
-.In complex.h
-.Ft long double complex
-.Fn csinhl "long double complex z"
-.Sh DESCRIPTION
-This function computes the complex hyperbolic sine of
-.Ar z .
-.Sh RETURN VALUES
-This function returns the complex hyperbolic sine value.
-.Sh ERRORS
-No errors are defined.
-.Sh SEE ALSO
-.Xr casinh 3 ,
-.St -p1003.1-2001
-.Aq Pa complex.h
-.Sh COPYRIGHT
-Portions of this text are reprinted and reproduced in electronic form
-from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
--- Portable Operating System Interface (POSIX), The Open Group Base
-Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
-Electrical and Electronics Engineers, Inc and The Open Group.
-In the
-event of any discrepancy between this version and the original IEEE and
-The Open Group Standard, the original IEEE and The Open Group Standard
-is the referee document.
-The original Standard can be obtained online at
-http://www.opengroup.org/unix/online.html .
diff --git a/lib/libm/gaps/csinhl.c b/lib/libm/gaps/csinhl.c
deleted file mode 100644 (file)
index f9fb126..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/* $NetBSD: csinhl.c,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-
-long double complex
-csinhl(long double complex z)
-{
-       long double complex w;
-       long double x, y;
-
-       x = creall(z);
-       y = cimagl(z);
-       w = sinhl(x) * cosl(y) + (coshl(x) * sinl(y)) * I;
-       return w;
-}
diff --git a/lib/libm/gaps/csinl.3 b/lib/libm/gaps/csinl.3
deleted file mode 100644 (file)
index 6eae94a..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-.\" $NetBSD: csin.3,v 1.3 2013/01/29 02:05:09 matt Exp $
-.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
-.Dd December 2, 2014
-.Dt CSINL 3
-.Os
-.Sh NAME
-.Nm csinl
-.Nd complex sine function
-.Sh LIBRARY
-.Lb libm
-.Sh SYNOPSIS
-.In complex.h
-.Ft long double complex
-.Fn csinl "long double complex z"
-.Sh DESCRIPTION
-This function computes the complex sine of
-.Ar z .
-.Sh RETURN VALUES
-This function returns the complex sine value.
-.Sh ERRORS
-No errors are defined.
-.Sh SEE ALSO
-.Xr casin 3 ,
-.St -p1003.1-2001
-.Aq Pa complex.h
-.Sh COPYRIGHT
-Portions of this text are reprinted and reproduced in electronic form
-from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
--- Portable Operating System Interface (POSIX), The Open Group Base
-Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
-Electrical and Electronics Engineers, Inc and The Open Group.
-In the
-event of any discrepancy between this version and the original IEEE and
-The Open Group Standard, the original IEEE and The Open Group Standard
-is the referee document.
-The original Standard can be obtained online at
-http://www.opengroup.org/unix/online.html .
diff --git a/lib/libm/gaps/csinl.c b/lib/libm/gaps/csinl.c
deleted file mode 100644 (file)
index aabc12c..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/* $NetBSD: csinl.c,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-#include "cephes_subrl.h"
-
-long double complex
-csinl(long double complex z)
-{
-       long double complex w;
-       long double ch, sh;
-
-       _cchshl(cimagl(z), &ch, &sh);
-       w = sinl(creall(z)) * ch + (cosl(creall(z)) * sh) * I;
-       return w;
-}
diff --git a/lib/libm/gaps/ctanhl.3 b/lib/libm/gaps/ctanhl.3
deleted file mode 100644 (file)
index 53a8fe5..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-.\" $NetBSD: ctanh.3,v 1.3 2013/01/29 02:05:09 matt Exp $
-.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
-.Dd December 2, 2014
-.Dt CTANHL 3
-.Os
-.Sh NAME
-.Nm ctanhl
-.Nd complex hyperbolic tangent function
-.Sh LIBRARY
-.Lb libm
-.Sh SYNOPSIS
-.In complex.h
-.Ft long double complex
-.Fn ctanhl "long double complex z"
-.Sh DESCRIPTION
-This function computes the complex hyperbolic tangent of
-.Ar z .
-.Sh RETURN VALUES
-This function returns the complex hyperbolic tangent value.
-.Sh ERRORS
-No errors are defined.
-.Sh SEE ALSO
-.Xr catanh 3 ,
-.St -p1003.1-2001
-.Aq Pa complex.h
-.Sh COPYRIGHT
-Portions of this text are reprinted and reproduced in electronic form
-from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
--- Portable Operating System Interface (POSIX), The Open Group Base
-Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
-Electrical and Electronics Engineers, Inc and The Open Group.
-In the
-event of any discrepancy between this version and the original IEEE and
-The Open Group Standard, the original IEEE and The Open Group Standard
-is the referee document.
-The original Standard can be obtained online at
-http://www.opengroup.org/unix/online.html .
diff --git a/lib/libm/gaps/ctanhl.c b/lib/libm/gaps/ctanhl.c
deleted file mode 100644 (file)
index 1086582..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/* $NetBSD: ctanhl.c,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include "math.h"
-
-long double complex
-ctanhl(long double complex z)
-{
-       long double complex w;
-       long double x, y, d;
-
-       x = creall(z);
-       y = cimagl(z);
-       d = coshl(2.0L * x) + cosl(2.0L * y);
-       w = sinhl(2.0L * x) / d  +  (sinl(2.0L * y) / d) * I;
-
-       return w;
-}
diff --git a/lib/libm/gaps/ctanl.3 b/lib/libm/gaps/ctanl.3
deleted file mode 100644 (file)
index 3121301..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-.\" $NetBSD: ctan.3,v 1.3 2013/01/29 02:05:09 matt Exp $
-.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
-.Dd December 2, 2014
-.Dt CTANL 3
-.Os
-.Sh NAME
-.Nm ctanl
-.Nd complex tangent function
-.Sh LIBRARY
-.Lb libm
-.Sh SYNOPSIS
-.In complex.h
-.Ft long double complex
-.Fn ctanl "long double complex z"
-.Sh DESCRIPTION
-This function computes the complex tangent of
-.Ar z .
-.Sh RETURN VALUES
-This function returns the complex tangent value.
-.Sh ERRORS
-No errors are defined.
-.Sh SEE ALSO
-.Xr catan 3 ,
-.St -p1003.1-2001
-.Aq Pa complex.h
-.Sh COPYRIGHT
-Portions of this text are reprinted and reproduced in electronic form
-from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
--- Portable Operating System Interface (POSIX), The Open Group Base
-Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
-Electrical and Electronics Engineers, Inc and The Open Group.
-In the
-event of any discrepancy between this version and the original IEEE and
-The Open Group Standard, the original IEEE and The Open Group Standard
-is the referee document.
-The original Standard can be obtained online at
-http://www.opengroup.org/unix/online.html .
diff --git a/lib/libm/gaps/ctanl.c b/lib/libm/gaps/ctanl.c
deleted file mode 100644 (file)
index 09e91fe..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/* $NetBSD: ctanl.c,v 1.1 2014/10/10 00:48:18 christos Exp $ */
-
-/*-
- * Copyright (c) 2007 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software written by Stephen L. Moshier.
- * It is redistributed by the NetBSD Foundation by permission of the author.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <complex.h>
-#include <float.h>
-#include "math.h"
-#include "cephes_subrl.h"
-
-#define MAXNUM LDBL_MAX
-
-long double complex
-ctanl(long double complex z)
-{
-       long double complex w;
-       long double d;
-
-       d = cosl(2.0L * creall(z)) + coshl(2.0L * cimagl(z));
-
-       if (fabsl(d) < 0.25L)
-               d = _ctansl(z);
-
-       if (d == 0.0L) {
-               /* mtherr ("ctan", OVERFLOW); */
-               w = MAXNUM + MAXNUM * I;
-               return w;
-       }
-
-       w = sinl(2.0L * creall(z)) / d + (sinhl(2.0L * cimagl(z)) / d) * I;
-       return w;
-}
diff --git a/lib/libm/i386/Makefile.inc b/lib/libm/i386/Makefile.inc
deleted file mode 100644 (file)
index 9397a29..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# $FreeBSD: head/lib/msun/i387/Makefile.inc 177768 2008-03-30 21:21:53Z das $
-
-ARCH_SRCS = e_exp.S e_fmod.S e_log.S e_log10.S \
-           e_remainder.S e_sqrt.S s_ceil.S s_copysign.S \
-           s_cos.S s_finite.S s_floor.S s_llrint.S s_logb.S s_lrint.S \
-           s_remquo.S s_rint.S s_scalbn.S s_significand.S s_sin.S s_tan.S \
-           s_trunc.S
-
-# float counterparts
-ARCH_SRCS+= e_log10f.S e_logf.S e_remainderf.S \
-           e_sqrtf.S s_ceilf.S s_copysignf.S s_floorf.S \
-           s_llrintf.S s_logbf.S s_lrintf.S \
-           s_remquof.S s_rintf.S s_scalbnf.S s_significandf.S s_truncf.S
-
-# long double counterparts
-ARCH_SRCS+= e_remainderl.S e_sqrtl.S s_ceill.S s_copysignl.S \
-           s_floorl.S s_llrintl.S \
-           s_logbl.S s_lrintl.S s_remquol.S s_rintl.S s_scalbnl.S s_truncl.S
-
-SYM_MAPS += ${.CURDIR}/i386/Symbol.map
diff --git a/lib/libm/i386/Symbol.map b/lib/libm/i386/Symbol.map
deleted file mode 100644 (file)
index 54e7c5c..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * $FreeBSD: head/lib/msun/i387/Symbol.map 226218 2011-10-10 15:43:09Z das $
- */
-DF306.0 {
-       __has_sse;
-       __test_sse;
-       fesetexceptflag;
-       feraiseexcept;
-       fegetenv;
-       feholdexcept;
-       feupdateenv;
-       feenableexcept;
-       fedisableexcept;
-};
diff --git a/lib/libm/i386/e_exp.S b/lib/libm/i386/e_exp.S
deleted file mode 100644 (file)
index a8b4d04..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/e_exp.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-/* e^x = 2^(x * log2(e)) */
-ENTRY(exp)
-       /*
-        * If x is +-Inf, then the subtraction would give Inf-Inf = NaN.
-        * Avoid this.  Also avoid it if x is NaN for convenience.
-        */
-       movl    8(%esp),%eax
-       andl    $0x7fffffff,%eax
-       cmpl    $0x7ff00000,%eax
-       jae     x_Inf_or_NaN
-
-       fldl    4(%esp)
-
-       /*
-        * Extended precision is needed to reduce the maximum error from
-        * hundreds of ulps to less than 1 ulp.  Switch to it if necessary.
-        * We may as well set the rounding mode to to-nearest and mask traps
-        * if we switch.
-        */
-       fstcw   4(%esp)
-       movl    4(%esp),%eax
-       andl    $0x0300,%eax
-       cmpl    $0x0300,%eax            /* RC == 0 && PC == 3? */
-       je      1f                      /* jump if mode is good */
-       movl    $0x137f,8(%esp)
-       fldcw   8(%esp)
-1:
-       fldl2e
-       fmulp                           /* x * log2(e) */
-       fst     %st(1)
-       frndint                         /* int(x * log2(e)) */
-       fst     %st(2)
-       fsubrp                          /* fract(x * log2(e)) */
-       f2xm1                           /* 2^(fract(x * log2(e))) - 1 */
-       fld1
-       faddp                           /* 2^(fract(x * log2(e))) */
-       fscale                          /* e^x */
-       fstp    %st(1)
-       je      1f
-       fldcw   4(%esp)
-1:
-       ret
-
-x_Inf_or_NaN:
-       /*
-        * Return 0 if x is -Inf.  Otherwise just return x; when x is Inf
-        * this gives Inf, and when x is a NaN this gives the same result
-        * as (x + x) (x quieted).
-        */
-       cmpl    $0xfff00000,8(%esp)
-       jne     x_not_minus_Inf
-       cmpl    $0,4(%esp)
-       jne     x_not_minus_Inf
-       fldz
-       ret
-
-x_not_minus_Inf:
-       fldl    4(%esp)
-       ret
-END(exp)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/e_fmod.S b/lib/libm/i386/e_fmod.S
deleted file mode 100644 (file)
index 4686783..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/e_fmod.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(fmod)
-       fldl    12(%esp)
-       fldl    4(%esp)
-1:     fprem
-       fstsw   %ax
-       sahf
-       jp      1b
-       fstp    %st(1)
-       ret
-END(fmod)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/e_log.S b/lib/libm/i386/e_log.S
deleted file mode 100644 (file)
index 20005dd..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/e_log.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(log)
-       fldln2
-       fldl    4(%esp)
-       fyl2x
-       ret
-END(log)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/e_log10.S b/lib/libm/i386/e_log10.S
deleted file mode 100644 (file)
index ba41571..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/e_log10.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(log10)
-       fldlg2
-       fldl    4(%esp)
-       fyl2x
-       ret
-END(log10)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/e_log10f.S b/lib/libm/i386/e_log10f.S
deleted file mode 100644 (file)
index f22207a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/e_log10f.S 217108 2011-01-07 16:13:12Z kib $
- * $NetBSD: e_log10f.S,v 1.1 1996/07/03 16:50:22 jtc Exp $
- */
-
-#include <machine/asm.h>
-
-ENTRY(log10f)
-       fldlg2
-       flds    4(%esp)
-       fyl2x
-       ret
-END(log10f)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/e_logf.S b/lib/libm/i386/e_logf.S
deleted file mode 100644 (file)
index f393ef7..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/e_logf.S 217108 2011-01-07 16:13:12Z kib $
- * $NetBSD: e_logf.S,v 1.2 1996/07/06 00:15:45 jtc Exp $
- */
-
-#include <machine/asm.h>
-
-ENTRY(logf)
-       fldln2
-       flds    4(%esp)
-       fyl2x
-       ret
-END(logf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/e_remainder.S b/lib/libm/i386/e_remainder.S
deleted file mode 100644 (file)
index 99ea651..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/e_remainder.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(remainder)
-       fldl    12(%esp)
-       fldl    4(%esp)
-1:     fprem1
-       fstsw   %ax
-       sahf
-       jp      1b
-       fstp    %st(1)
-       ret
-END(remainder)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/e_remainderf.S b/lib/libm/i386/e_remainderf.S
deleted file mode 100644 (file)
index 37e9d23..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/e_remainderf.S 217108 2011-01-07 16:13:12Z kib $
- * $NetBSD: e_remainderf.S,v 1.2 1995/05/08 23:49:47 jtc Exp $
- */
-
-#include <machine/asm.h>
-
-ENTRY(remainderf)
-       flds    8(%esp)
-       flds    4(%esp)
-1:     fprem1
-       fstsw   %ax
-       sahf
-       jp      1b
-       fstp    %st(1)
-       ret
-END(remainderf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/e_remainderl.S b/lib/libm/i386/e_remainderl.S
deleted file mode 100644 (file)
index 5994210..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/e_remainderl.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(remainderl)
-       fldt    16(%esp)
-       fldt    4(%esp)
-1:     fprem1
-       fstsw   %ax
-       sahf
-       jp      1b
-       fstp    %st(1)
-       ret
-END(remainderl)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/e_sqrt.S b/lib/libm/i386/e_sqrt.S
deleted file mode 100644 (file)
index e34397d..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/e_sqrt.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(sqrt)
-       fldl    4(%esp)
-       fsqrt
-       ret
-END(sqrt)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/e_sqrtf.S b/lib/libm/i386/e_sqrtf.S
deleted file mode 100644 (file)
index 3f9e580..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/e_sqrtf.S 217108 2011-01-07 16:13:12Z kib $
- * $NetBSD: e_sqrtf.S,v 1.2 1995/05/08 23:50:14 jtc Exp $
- */
-
-#include <machine/asm.h>
-
-ENTRY(sqrtf)
-       flds    4(%esp)
-       fsqrt
-       ret
-END(sqrtf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/e_sqrtl.S b/lib/libm/i386/e_sqrtl.S
deleted file mode 100644 (file)
index 25da517..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/e_sqrtl.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(sqrtl)
-       fldt    4(%esp)
-       fsqrt
-       ret
-END(sqrtl)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/fenv.c b/lib/libm/i386/fenv.c
deleted file mode 100644 (file)
index 062d65d..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-/*-
- * Copyright (c) 2004-2005 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/fenv.c 226594 2011-10-21 06:25:31Z das $
- */
-
-#include <sys/types.h>
-#include <machine/npx.h>
-
-#define        __fenv_static
-#include "fenv.h"
-
-#ifdef __GNUC_GNU_INLINE__
-#error "This file must be compiled with C99 'inline' semantics"
-#endif
-
-const fenv_t __fe_dfl_env = {
-       __INITIAL_NPXCW__,
-       0x0000,
-       0x0000,
-       0x1f80,
-       0xffffffff,
-       { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff }
-};
-
-enum __sse_support __has_sse =
-#ifdef __SSE__
-       __SSE_YES;
-#else
-       __SSE_UNK;
-#endif
-
-#define        getfl(x)        __asm __volatile("pushfl\n\tpopl %0" : "=mr" (*(x)))
-#define        setfl(x)        __asm __volatile("pushl %0\n\tpopfl" : : "g" (x))
-#define        cpuid_dx(x)     __asm __volatile("pushl %%ebx\n\tmovl $1, %%eax\n\t"  \
-                                        "cpuid\n\tpopl %%ebx"                \
-                                       : "=d" (*(x)) : : "eax", "ecx")
-
-/*
- * Test for SSE support on this processor.  We need to do this because
- * we need to use ldmxcsr/stmxcsr to get correct results if any part
- * of the program was compiled to use SSE floating-point, but we can't
- * use SSE on older processors.
- */
-int
-__test_sse(void)
-{
-       int flag, nflag;
-       int dx_features;
-
-       /* Am I a 486? */
-       getfl(&flag);
-       nflag = flag ^ 0x200000;
-       setfl(nflag);
-       getfl(&nflag);
-       if (flag != nflag) {
-               /* Not a 486, so CPUID should work. */
-               cpuid_dx(&dx_features);
-               if (dx_features & 0x2000000) {
-                       __has_sse = __SSE_YES;
-                       return (1);
-               }
-       }
-       __has_sse = __SSE_NO;
-       return (0);
-}
-
-extern inline int feclearexcept(int __excepts);
-extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts);
-
-int
-fesetexceptflag(const fexcept_t *flagp, int excepts)
-{
-       fenv_t env;
-       __uint32_t mxcsr;
-
-       __fnstenv(&env);
-       env.__status &= ~excepts;
-       env.__status |= *flagp & excepts;
-       __fldenv(env);
-
-       if (__HAS_SSE()) {
-               __stmxcsr(&mxcsr);
-               mxcsr &= ~excepts;
-               mxcsr |= *flagp & excepts;
-               __ldmxcsr(mxcsr);
-       }
-
-       return (0);
-}
-
-int
-feraiseexcept(int excepts)
-{
-       fexcept_t ex = excepts;
-
-       fesetexceptflag(&ex, excepts);
-       __fwait();
-       return (0);
-}
-
-extern inline int fetestexcept(int __excepts);
-extern inline int fegetround(void);
-extern inline int fesetround(int __round);
-
-int
-fegetenv(fenv_t *envp)
-{
-       __uint32_t mxcsr;
-
-       __fnstenv(envp);
-       /*
-        * fnstenv masks all exceptions, so we need to restore
-        * the old control word to avoid this side effect.
-        */
-       __fldcw(envp->__control);
-       if (__HAS_SSE()) {
-               __stmxcsr(&mxcsr);
-               __set_mxcsr(*envp, mxcsr);
-       }
-       return (0);
-}
-
-int
-feholdexcept(fenv_t *envp)
-{
-       __uint32_t mxcsr;
-
-       __fnstenv(envp);
-       __fnclex();
-       if (__HAS_SSE()) {
-               __stmxcsr(&mxcsr);
-               __set_mxcsr(*envp, mxcsr);
-               mxcsr &= ~FE_ALL_EXCEPT;
-               mxcsr |= FE_ALL_EXCEPT << _SSE_EMASK_SHIFT;
-               __ldmxcsr(mxcsr);
-       }
-       return (0);
-}
-
-extern inline int fesetenv(const fenv_t *__envp);
-
-int
-feupdateenv(const fenv_t *envp)
-{
-       __uint32_t mxcsr;
-       __uint16_t status;
-
-       __fnstsw(&status);
-       if (__HAS_SSE())
-               __stmxcsr(&mxcsr);
-       else
-               mxcsr = 0;
-       fesetenv(envp);
-       feraiseexcept((mxcsr | status) & FE_ALL_EXCEPT);
-       return (0);
-}
-
-int
-__feenableexcept(int mask)
-{
-       __uint32_t mxcsr, omask;
-       __uint16_t control;
-
-       mask &= FE_ALL_EXCEPT;
-       __fnstcw(&control);
-       if (__HAS_SSE())
-               __stmxcsr(&mxcsr);
-       else
-               mxcsr = 0;
-       omask = ~(control | mxcsr >> _SSE_EMASK_SHIFT) & FE_ALL_EXCEPT;
-       control &= ~mask;
-       __fldcw(control);
-       if (__HAS_SSE()) {
-               mxcsr &= ~(mask << _SSE_EMASK_SHIFT);
-               __ldmxcsr(mxcsr);
-       }
-       return (omask);
-}
-
-int
-__fedisableexcept(int mask)
-{
-       __uint32_t mxcsr, omask;
-       __uint16_t control;
-
-       mask &= FE_ALL_EXCEPT;
-       __fnstcw(&control);
-       if (__HAS_SSE())
-               __stmxcsr(&mxcsr);
-       else
-               mxcsr = 0;
-       omask = ~(control | mxcsr >> _SSE_EMASK_SHIFT) & FE_ALL_EXCEPT;
-       control |= mask;
-       __fldcw(control);
-       if (__HAS_SSE()) {
-               mxcsr |= mask << _SSE_EMASK_SHIFT;
-               __ldmxcsr(mxcsr);
-       }
-       return (omask);
-}
-
-__weak_reference(__feenableexcept, feenableexcept);
-__weak_reference(__fedisableexcept, fedisableexcept);
diff --git a/lib/libm/i386/invtrig.c b/lib/libm/i386/invtrig.c
deleted file mode 100644 (file)
index 0521d75..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*-
- * Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/invtrig.c 181152 2008-08-02 03:56:22Z das $
- */
-
-#include <stdint.h>
-
-#define STRUCT_DECLS
-#include "invtrig.h"
-
-/*
- * asinl() and acosl()
- */
-const LONGDOUBLE
-pS0 = { 0xaaaaaaaaaaaaaaa8ULL, 0x3ffcU }, /*  1.66666666666666666631e-01L */
-pS1 = { 0xd5271b6699b48bfaULL, 0xbffdU }, /* -4.16313987993683104320e-01L */
-pS2 = { 0xbcf67ca9e9f669cfULL, 0x3ffdU }, /*  3.69068046323246813704e-01L */
-pS3 = { 0x8b7baa3d15f9830dULL, 0xbffcU }, /* -1.36213932016738603108e-01L */
-pS4 = { 0x92154b093a3bff1cULL, 0x3ff9U }, /*  1.78324189708471965733e-02L */
-pS5 = { 0xe5dd76401964508cULL, 0xbff2U }, /* -2.19216428382605211588e-04L */
-pS6 = { 0xee69c5b0fdb76951ULL, 0xbfedU }, /* -7.10526623669075243183e-06L */
-qS1 = { 0xbcaa2159c01436a0ULL, 0xc000U }, /* -2.94788392796209867269e+00L */
-qS2 = { 0xd17a73d1e1564c29ULL, 0x4000U }, /*  3.27309890266528636716e+00L */
-qS3 = { 0xd767e411c9cf4c2cULL, 0xbfffU }, /* -1.68285799854822427013e+00L */
-qS4 = { 0xc809c0dfb9b0d0b7ULL, 0x3ffdU }, /*  3.90699412641738801874e-01L */
-qS5 = { 0x80c3a2197c8ced57ULL, 0xbffaU }; /* -3.14365703596053263322e-02L */
-
-/*
- * atanl()
- */
-const LONGDOUBLE atanhi[] = {
-       { 0xed63382b0dda7b45ULL, 0x3ffdU }, /*  4.63647609000806116202e-01L */
-       { 0xc90fdaa22168c235ULL, 0x3ffeU }, /*  7.85398163397448309628e-01L */
-       { 0xfb985e940fb4d900ULL, 0x3ffeU }, /*  9.82793723247329067960e-01L */
-       { 0xc90fdaa22168c235ULL, 0x3fffU }, /*  1.57079632679489661926e+00L */
-};
-
-const LONGDOUBLE atanlo[] = {
-       { 0xdfc88bd978751a07ULL, 0x3fbcU }, /*  1.18469937025062860669e-20L */
-       { 0xece675d1fc8f8cbbULL, 0xbfbcU }, /* -1.25413940316708300586e-20L */
-       { 0xf10f5e197793c283ULL, 0x3fbdU }, /*  2.55232234165405176172e-20L */
-       { 0xece675d1fc8f8cbbULL, 0xbfbdU }, /* -2.50827880633416601173e-20L */
-};
-
-const LONGDOUBLE aT[] = {
-       { 0xaaaaaaaaaaaaaa9fULL, 0x3ffdU }, /*  3.33333333333333333017e-01L */
-       { 0xcccccccccccc62bcULL, 0xbffcU }, /* -1.99999999999999632011e-01L */
-       { 0x9249249248b81e3fULL, 0x3ffcU }, /*  1.42857142857046531280e-01L */
-       { 0xe38e38e3316f3de5ULL, 0xbffbU }, /* -1.11111111100562372733e-01L */
-       { 0xba2e8b8dc280726aULL, 0x3ffbU }, /*  9.09090902935647302252e-02L */
-       { 0x9d89d5b4c6847ec4ULL, 0xbffbU }, /* -7.69230552476207730353e-02L */
-       { 0x8888461d3099c677ULL, 0x3ffbU }, /*  6.66661718042406260546e-02L */
-       { 0xf0e8ee0f5328dc29ULL, 0xbffaU }, /* -5.88158892835030888692e-02L */
-       { 0xd73ea84d24bae54aULL, 0x3ffaU }, /*  5.25499891539726639379e-02L */
-       { 0xc08fa381dcd9213aULL, 0xbffaU }, /* -4.70119845393155721494e-02L */
-       { 0xa54a26f4095f2a3aULL, 0x3ffaU }, /*  4.03539201366454414072e-02L */
-       { 0xeea2d8d059ef3ad6ULL, 0xbff9U }, /* -2.91303858419364158725e-02L */
-       { 0xcc82292ab894b051ULL, 0x3ff8U }, /*  1.24822046299269234080e-02L */
-};
-
-const LONGDOUBLE
-pi_lo = { 0xece675d1fc8f8cbbULL, 0xbfbeU }; /* -5.01655761266833202345e-20L */
diff --git a/lib/libm/i386/s_ceil.S b/lib/libm/i386/s_ceil.S
deleted file mode 100644 (file)
index b25e0cd..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_ceil.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(ceil)
-       pushl   %ebp
-       movl    %esp,%ebp
-       subl    $8,%esp
-
-       fstcw   -4(%ebp)                /* store fpu control word */
-       movw    -4(%ebp),%dx
-       orw     $0x0800,%dx             /* round towards +oo */
-       andw    $0xfbff,%dx
-       movw    %dx,-8(%ebp)
-       fldcw   -8(%ebp)                /* load modfied control word */
-
-       fldl    8(%ebp)                 /* round */
-       frndint
-
-       fldcw   -4(%ebp)                /* restore original control word */
-
-       leave
-       ret
-END(ceil)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_ceilf.S b/lib/libm/i386/s_ceilf.S
deleted file mode 100644 (file)
index fc6b5eb..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_ceilf.S 217108 2011-01-07 16:13:12Z kib $
- * $NetBSD: s_ceilf.S,v 1.3 1995/05/08 23:52:44 jtc Exp $
- */
-
-#include <machine/asm.h>
-
-ENTRY(ceilf)
-       pushl   %ebp
-       movl    %esp,%ebp
-       subl    $8,%esp
-
-       fstcw   -4(%ebp)                /* store fpu control word */
-       movw    -4(%ebp),%dx
-       orw     $0x0800,%dx             /* round towards +oo */
-       andw    $0xfbff,%dx
-       movw    %dx,-8(%ebp)
-       fldcw   -8(%ebp)                /* load modfied control word */
-
-       flds    8(%ebp)                 /* round */
-       frndint
-
-       fldcw   -4(%ebp)                /* restore original control word */
-
-       leave
-       ret
-END(ceilf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_ceill.S b/lib/libm/i386/s_ceill.S
deleted file mode 100644 (file)
index fd7fcaf..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Based on code written by J.T. Conklin <jtc@NetBSD.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_ceill.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-#include <machine/asm.h>
-
-ENTRY(ceill)
-       pushl   %ebp
-       movl    %esp,%ebp
-       subl    $8,%esp
-
-       fstcw   -4(%ebp)                /* store fpu control word */
-       movw    -4(%ebp),%dx
-       orw     $0x0800,%dx             /* round towards +oo */
-       andw    $0xfbff,%dx
-       movw    %dx,-8(%ebp)
-       fldcw   -8(%ebp)                /* load modfied control word */
-
-       fldt    8(%ebp)                 /* round */
-       frndint
-
-       fldcw   -4(%ebp)                /* restore original control word */
-
-       leave
-       ret
-END(ceill)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_copysign.S b/lib/libm/i386/s_copysign.S
deleted file mode 100644 (file)
index 526d045..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_copysign.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(copysign)
-       movl    16(%esp),%edx
-       andl    $0x80000000,%edx
-       movl    8(%esp),%eax
-       andl    $0x7fffffff,%eax
-       orl     %edx,%eax
-       movl    %eax,8(%esp)
-       fldl    4(%esp)
-       ret
-END(copysign)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_copysignf.S b/lib/libm/i386/s_copysignf.S
deleted file mode 100644 (file)
index 97b4de7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_copysignf.S 217108 2011-01-07 16:13:12Z kib $
- * $NetBSD: s_copysignf.S,v 1.3 1995/05/08 23:53:25 jtc Exp $
- */
-
-#include <machine/asm.h>
-
-ENTRY(copysignf)
-       movl    8(%esp),%edx
-       andl    $0x80000000,%edx
-       movl    4(%esp),%eax
-       andl    $0x7fffffff,%eax
-       orl     %edx,%eax
-       movl    %eax,4(%esp)
-       flds    4(%esp)
-       ret
-END(copysignf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_copysignl.S b/lib/libm/i386/s_copysignl.S
deleted file mode 100644 (file)
index 73e5e70..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Based on code written by J.T. Conklin <jtc@NetBSD.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_copysignl.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-#include <machine/asm.h>
-
-ENTRY(copysignl)
-       movl    24(%esp),%edx
-       andl    $0x8000,%edx
-       movl    12(%esp),%eax
-       andl    $0x7fff,%eax
-       orl     %edx,%eax
-       movl    %eax,12(%esp)
-       fldt    4(%esp)
-       ret
-END(copysignl)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_cos.S b/lib/libm/i386/s_cos.S
deleted file mode 100644 (file)
index 1af6031..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 1994 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_cos.S 240566 2012-09-16 16:58:49Z tijl $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(cos)
-       fldl    4(%esp)
-       fcos
-       fnstsw  %ax
-       sahf
-       jp      1f
-       ret
-1:     fldpi
-       fadd    %st(0)
-       fxch    %st(1)
-2:     fprem
-       fnstsw  %ax
-       sahf
-       jp      2b
-       fstp    %st(1)
-       fcos
-       ret
-END(cos)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_finite.S b/lib/libm/i386/s_finite.S
deleted file mode 100644 (file)
index afebb9f..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_finite.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(finite)
-       movl    8(%esp),%eax
-       andl    $0x7ff00000, %eax
-       cmpl    $0x7ff00000, %eax
-       setneb  %al
-       andl    $0x000000ff, %eax
-       ret
-END(finite)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_floor.S b/lib/libm/i386/s_floor.S
deleted file mode 100644 (file)
index a1f9414..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_floor.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(floor)
-       pushl   %ebp
-       movl    %esp,%ebp
-       subl    $8,%esp
-
-       fstcw   -4(%ebp)                /* store fpu control word */
-       movw    -4(%ebp),%dx
-       orw     $0x0400,%dx             /* round towards -oo */
-       andw    $0xf7ff,%dx
-       movw    %dx,-8(%ebp)
-       fldcw   -8(%ebp)                /* load modfied control word */
-
-       fldl    8(%ebp)                 /* round */
-       frndint
-
-       fldcw   -4(%ebp)                /* restore original control word */
-
-       leave
-       ret
-END(floor)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_floorf.S b/lib/libm/i386/s_floorf.S
deleted file mode 100644 (file)
index ba99174..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_floorf.S 217108 2011-01-07 16:13:12Z kib $
- * $NetBSD: s_floorf.S,v 1.3 1995/05/09 00:04:32 jtc Exp $
- */
-
-#include <machine/asm.h>
-
-ENTRY(floorf)
-       pushl   %ebp
-       movl    %esp,%ebp
-       subl    $8,%esp
-
-       fstcw   -4(%ebp)                /* store fpu control word */
-       movw    -4(%ebp),%dx
-       orw     $0x0400,%dx             /* round towards -oo */
-       andw    $0xf7ff,%dx
-       movw    %dx,-8(%ebp)
-       fldcw   -8(%ebp)                /* load modfied control word */
-
-       flds    8(%ebp)                 /* round */
-       frndint
-
-       fldcw   -4(%ebp)                /* restore original control word */
-
-       leave
-       ret
-END(floorf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_floorl.S b/lib/libm/i386/s_floorl.S
deleted file mode 100644 (file)
index 8a9e835..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Based on code written by J.T. Conklin <jtc@NetBSD.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_floorl.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-#include <machine/asm.h>
-
-ENTRY(floorl)
-       pushl   %ebp
-       movl    %esp,%ebp
-       subl    $8,%esp
-
-       fstcw   -4(%ebp)                /* store fpu control word */
-       movw    -4(%ebp),%dx
-       orw     $0x0400,%dx             /* round towards -oo */
-       andw    $0xf7ff,%dx
-       movw    %dx,-8(%ebp)
-       fldcw   -8(%ebp)                /* load modfied control word */
-
-       fldt    8(%ebp)                 /* round */
-       frndint
-
-       fldcw   -4(%ebp)                /* restore original control word */
-
-       leave
-       ret
-END(floorl)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_llrint.S b/lib/libm/i386/s_llrint.S
deleted file mode 100644 (file)
index 67338e5..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*-
- * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_llrint.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-#include <machine/asm.h>
-
-ENTRY(llrint)
-       fldl    4(%esp)
-       subl    $8,%esp
-       fistpll (%esp)
-       popl    %eax
-       popl    %edx
-       ret
-END(llrint)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_llrintf.S b/lib/libm/i386/s_llrintf.S
deleted file mode 100644 (file)
index c9c6d0b..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*-
- * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_llrintf.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-#include <machine/asm.h>
-
-ENTRY(llrintf)
-       flds    4(%esp)
-       subl    $8,%esp
-       fistpll (%esp)
-       popl    %eax
-       popl    %edx
-       ret
-END(llrintf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_llrintl.S b/lib/libm/i386/s_llrintl.S
deleted file mode 100644 (file)
index 0a058f3..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*-
- * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_llrintl.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-#include <machine/asm.h>
-
-ENTRY(llrintl)
-       fldt    4(%esp)
-       subl    $8,%esp
-       fistpll (%esp)
-       popl    %eax
-       popl    %edx
-       ret
-END(llrintl)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_logb.S b/lib/libm/i386/s_logb.S
deleted file mode 100644 (file)
index f67c5ba..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_logb.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(logb)
-       fldl    4(%esp)
-       fxtract
-       fstp    %st
-       ret
-END(logb)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_logbf.S b/lib/libm/i386/s_logbf.S
deleted file mode 100644 (file)
index ae5d91b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_logbf.S 217108 2011-01-07 16:13:12Z kib $
- * $NetBSD: s_logbf.S,v 1.3 1995/05/09 00:15:12 jtc Exp $
- */
-
-#include <machine/asm.h>
-
-ENTRY(logbf)
-       flds    4(%esp)
-       fxtract
-       fstp    %st
-       ret
-END(logbf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_logbl.S b/lib/libm/i386/s_logbl.S
deleted file mode 100644 (file)
index 0c8bbca..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_logbl.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(logbl)
-       fldt    4(%esp)
-       fxtract
-       fstp    %st
-       ret
-END(logbl)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_lrint.S b/lib/libm/i386/s_lrint.S
deleted file mode 100644 (file)
index d3f2f11..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_lrint.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-#include <machine/asm.h>
-
-ENTRY(lrint)
-       fldl    4(%esp)
-       subl    $4,%esp
-       fistpl  (%esp)
-       popl    %eax
-       ret
-END(lrint)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_lrintf.S b/lib/libm/i386/s_lrintf.S
deleted file mode 100644 (file)
index 8878e7a..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_lrintf.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-#include <machine/asm.h>
-
-ENTRY(lrintf)
-       flds    4(%esp)
-       subl    $4,%esp
-       fistpl  (%esp)
-       popl    %eax
-       ret
-END(lrintf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_lrintl.S b/lib/libm/i386/s_lrintl.S
deleted file mode 100644 (file)
index d4c4d67..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_lrintl.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-#include <machine/asm.h>
-
-ENTRY(lrintl)
-       fldt    4(%esp)
-       subl    $4,%esp
-       fistpl  (%esp)
-       popl    %eax
-       ret
-END(lrintl)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_remquo.S b/lib/libm/i386/s_remquo.S
deleted file mode 100644 (file)
index 43487b7..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*-
- * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_remquo.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Based on public-domain remainder routine by J.T. Conklin <jtc@NetBSD.org>.
- */
-
-#include <machine/asm.h>
-
-ENTRY(remquo)
-       fldl    12(%esp)
-       fldl    4(%esp)
-1:     fprem1
-       fstsw   %ax
-       sahf
-       jp      1b
-       fstp    %st(1)
-/* Extract the three low-order bits of the quotient from C0,C3,C1. */
-       shrl    $6,%eax
-       movl    %eax,%ecx
-       andl    $0x108,%eax
-       rorl    $7,%eax
-       orl     %eax,%ecx
-       roll    $4,%eax
-       orl     %ecx,%eax
-       andl    $7,%eax
-/* Negate the quotient bits if x*y<0.  Avoid using an unpredictable branch. */
-       movl    16(%esp),%ecx
-       xorl    8(%esp),%ecx
-       sarl    $16,%ecx
-       sarl    $16,%ecx
-       xorl    %ecx,%eax
-       andl    $1,%ecx
-       addl    %ecx,%eax
-/* Store the quotient and return. */
-       movl    20(%esp),%ecx
-       movl    %eax,(%ecx)
-       ret
-END(remquo)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_remquof.S b/lib/libm/i386/s_remquof.S
deleted file mode 100644 (file)
index 8c75369..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*-
- * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_remquof.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Based on public-domain remainder routine by J.T. Conklin <jtc@NetBSD.org>.
- */
-
-#include <machine/asm.h>
-
-ENTRY(remquof)
-       flds    8(%esp)
-       flds    4(%esp)
-1:     fprem1
-       fstsw   %ax
-       sahf
-       jp      1b
-       fstp    %st(1)
-/* Extract the three low-order bits of the quotient from C0,C3,C1. */
-       shrl    $6,%eax
-       movl    %eax,%ecx
-       andl    $0x108,%eax
-       rorl    $7,%eax
-       orl     %eax,%ecx
-       roll    $4,%eax
-       orl     %ecx,%eax
-       andl    $7,%eax
-/* Negate the quotient bits if x*y<0.  Avoid using an unpredictable branch. */
-       movl    8(%esp),%ecx
-       xorl    4(%esp),%ecx
-       sarl    $16,%ecx
-       sarl    $16,%ecx
-       xorl    %ecx,%eax
-       andl    $1,%ecx
-       addl    %ecx,%eax
-/* Store the quotient and return. */
-       movl    12(%esp),%ecx
-       movl    %eax,(%ecx)
-       ret
-END(remquof)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_remquol.S b/lib/libm/i386/s_remquol.S
deleted file mode 100644 (file)
index 4ea2b04..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*-
- * Copyright (c) 2005-2008 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_remquol.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Based on public-domain remainder routine by J.T. Conklin <jtc@NetBSD.org>.
- */
-
-#include <machine/asm.h>
-
-ENTRY(remquol)
-       fldt    16(%esp)
-       fldt    4(%esp)
-1:     fprem1
-       fstsw   %ax
-       sahf
-       jp      1b
-       fstp    %st(1)
-/* Extract the three low-order bits of the quotient from C0,C3,C1. */
-       shrl    $6,%eax
-       movl    %eax,%ecx
-       andl    $0x108,%eax
-       rorl    $7,%eax
-       orl     %eax,%ecx
-       roll    $4,%eax
-       orl     %ecx,%eax
-       andl    $7,%eax
-/* Negate the quotient bits if x*y<0.  Avoid using an unpredictable branch. */
-       movl    24(%esp),%ecx
-       xorl    12(%esp),%ecx
-       movsx   %cx,%ecx
-       sarl    $16,%ecx
-       sarl    $16,%ecx
-       xorl    %ecx,%eax
-       andl    $1,%ecx
-       addl    %ecx,%eax
-/* Store the quotient and return. */
-       movl    28(%esp),%ecx
-       movl    %eax,(%ecx)
-       ret
-END(remquol)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_rint.S b/lib/libm/i386/s_rint.S
deleted file mode 100644 (file)
index a969991..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_rint.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(rint)
-       fldl    4(%esp)
-       frndint
-       ret
-END(rint)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_rintf.S b/lib/libm/i386/s_rintf.S
deleted file mode 100644 (file)
index 1fe0fc3..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_rintf.S 217108 2011-01-07 16:13:12Z kib $
- * $NetBSD: s_rintf.S,v 1.3 1995/05/09 00:17:22 jtc Exp $
- */
-
-#include <machine/asm.h>
-
-ENTRY(rintf)
-       flds    4(%esp)
-       frndint
-       ret
-END(rintf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_rintl.S b/lib/libm/i386/s_rintl.S
deleted file mode 100644 (file)
index e9cf7a7..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_rintl.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(rintl)
-       fldt    4(%esp)
-       frndint
-       ret
-END(rintl)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_scalbn.S b/lib/libm/i386/s_scalbn.S
deleted file mode 100644 (file)
index c0c0bfb..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 1994 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_scalbn.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(scalbn)
-       fildl   12(%esp)
-       fldl    4(%esp)
-       fscale
-       fstp    %st(1)
-       ret
-END(scalbn)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_scalbnf.S b/lib/libm/i386/s_scalbnf.S
deleted file mode 100644 (file)
index b783315..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_scalbnf.S 217108 2011-01-07 16:13:12Z kib $
- * $NetBSD: s_scalbnf.S,v 1.4 1999/01/02 05:15:40 kristerw Exp $
- */
-
-#include <machine/asm.h>
-
-ENTRY(scalbnf)
-       fildl   8(%esp)
-       flds    4(%esp)
-       fscale
-       fstp    %st(1)          /* bug fix for fp stack overflow */
-       ret
-END(scalbnf)
-
-.globl CNAME(ldexpf)
-.set   CNAME(ldexpf),CNAME(scalbnf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_scalbnl.S b/lib/libm/i386/s_scalbnl.S
deleted file mode 100644 (file)
index 7a17f76..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_scalbnl.S 217108 2011-01-07 16:13:12Z kib $
- * $NetBSD: s_scalbnf.S,v 1.4 1999/01/02 05:15:40 kristerw Exp $
- */
-
-#include <machine/asm.h>
-
-ENTRY(scalbnl)
-       fildl   16(%esp)
-       fldt    4(%esp)
-       fscale
-       fstp    %st(1)
-       ret
-END(scalbnl)
-
-.globl CNAME(ldexpl)
-.set   CNAME(ldexpl),CNAME(scalbnl)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_significand.S b/lib/libm/i386/s_significand.S
deleted file mode 100644 (file)
index ea42d6c..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 1993,94 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_significand.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(significand)
-       fldl    4(%esp)
-       fxtract
-       fstp    %st(1)
-       ret
-END(significand)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_significandf.S b/lib/libm/i386/s_significandf.S
deleted file mode 100644 (file)
index 29ba1f3..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_significandf.S 217108 2011-01-07 16:13:12Z kib $
- * $NetBSD: s_significandf.S,v 1.3 1995/05/09 00:24:07 jtc Exp $
- */
-
-#include <machine/asm.h>
-
-ENTRY(significandf)
-       flds    4(%esp)
-       fxtract
-       fstp    %st(1)
-       ret
-END(significandf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_sin.S b/lib/libm/i386/s_sin.S
deleted file mode 100644 (file)
index 62e10f4..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 1994 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_sin.S 240566 2012-09-16 16:58:49Z tijl $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(sin)
-       fldl    4(%esp)
-       fsin
-       fnstsw  %ax
-       sahf
-       jp      1f
-       ret
-1:     fldpi
-       fadd    %st(0)
-       fxch    %st(1)
-2:     fprem
-       fnstsw  %ax
-       sahf
-       jp      2b
-       fstp    %st(1)
-       fsin
-       ret
-END(sin)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_tan.S b/lib/libm/i386/s_tan.S
deleted file mode 100644 (file)
index 6548787..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 1994 Winning Strategies, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Winning Strategies, Inc.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: head/lib/msun/i387/s_tan.S 240566 2012-09-16 16:58:49Z tijl $
- */
-
-/*
- * Written by:
- *     J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
- */
-
-#include <machine/asm.h>
-
-ENTRY(tan)
-       fldl    4(%esp)
-       fptan
-       fnstsw  %ax
-       sahf
-       jp      1f
-       fstp    %st(0)
-       ret
-1:     fldpi
-       fadd    %st(0)
-       fxch    %st(1)
-2:     fprem
-       fnstsw  %ax
-       sahf
-       jp      2b
-       fstp    %st(1)
-       fptan
-       fstp    %st(0)
-       ret
-END(tan)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_trunc.S b/lib/libm/i386/s_trunc.S
deleted file mode 100644 (file)
index 4873f37..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Based on code written by J.T. Conklin <jtc@NetBSD.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_trunc.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-#include <machine/asm.h>
-
-ENTRY(trunc)
-       pushl   %ebp
-       movl    %esp,%ebp
-       subl    $8,%esp
-
-       fstcw   -4(%ebp)                /* store fpu control word */
-       movw    -4(%ebp),%dx
-       orw     $0x0c00,%dx             /* round towards -oo */
-       movw    %dx,-8(%ebp)
-       fldcw   -8(%ebp)                /* load modfied control word */
-
-       fldl    8(%ebp)                 /* round */
-       frndint
-
-       fldcw   -4(%ebp)                /* restore original control word */
-
-       leave
-       ret
-END(trunc)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_truncf.S b/lib/libm/i386/s_truncf.S
deleted file mode 100644 (file)
index 145dc81..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Based on code written by J.T. Conklin <jtc@NetBSD.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_truncf.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-#include <machine/asm.h>
-
-ENTRY(truncf)
-       pushl   %ebp
-       movl    %esp,%ebp
-       subl    $8,%esp
-
-       fstcw   -4(%ebp)                /* store fpu control word */
-       movw    -4(%ebp),%dx
-       orw     $0x0c00,%dx             /* round towards -oo */
-       movw    %dx,-8(%ebp)
-       fldcw   -8(%ebp)                /* load modfied control word */
-
-       flds    8(%ebp)                 /* round */
-       frndint
-
-       fldcw   -4(%ebp)                /* restore original control word */
-
-       leave
-       ret
-END(truncf)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/i386/s_truncl.S b/lib/libm/i386/s_truncl.S
deleted file mode 100644 (file)
index 095212d..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Based on code written by J.T. Conklin <jtc@NetBSD.org>.
- * Public domain.
- *
- * $FreeBSD: head/lib/msun/i387/s_truncl.S 217108 2011-01-07 16:13:12Z kib $
- */
-
-#include <machine/asm.h>
-
-ENTRY(truncl)
-       pushl   %ebp
-       movl    %esp,%ebp
-       subl    $8,%esp
-
-       fstcw   -4(%ebp)                /* store fpu control word */
-       movw    -4(%ebp),%dx
-       orw     $0x0c00,%dx             /* round towards -oo */
-       movw    %dx,-8(%ebp)
-       fldcw   -8(%ebp)                /* load modfied control word */
-
-       fldt    8(%ebp)                 /* round */
-       frndint
-
-       fldcw   -4(%ebp)                /* restore original control word */
-
-       leave
-       ret
-END(truncl)
-
-       .section .note.GNU-stack,"",%progbits
diff --git a/lib/libm/ld80/e_lgammal_r.c b/lib/libm/ld80/e_lgammal_r.c
deleted file mode 100644 (file)
index 1a053d8..0000000
+++ /dev/null
@@ -1,356 +0,0 @@
-/* @(#)e_lgamma_r.c 1.3 95/01/18 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunSoft, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-
-/*
- * See e_lgamma_r.c for complete comments.
- *
- * Converted to long double by Steven G. Kargl.
- */
-
-#ifdef __i386__
-#include <ieeefp.h>
-#endif
-
-#include "fpmath.h"
-#include "math.h"
-#include "math_private.h"
-
-static const volatile double vzero = 0;
-
-static const double
-zero=  0,
-half=  0.5,
-one =  1;
-
-static const union IEEEl2bits
-piu = LD80C(0xc90fdaa22168c235, 1,  3.14159265358979323851e+00L);
-#define        pi      (piu.e)
-/*
- * Domain y in [0x1p-70, 0.27], range ~[-4.5264e-22, 4.5264e-22]:
- * |(lgamma(2 - y) + y / 2) / y - a(y)| < 2**-70.9
- */
-static const union IEEEl2bits
-a0u = LD80C(0x9e233f1bed863d26, -4,  7.72156649015328606028e-02L),
-a1u = LD80C(0xa51a6625307d3249, -2,  3.22467033424113218889e-01L),
-a2u = LD80C(0x89f000d2abafda8c, -4,  6.73523010531979398946e-02L),
-a3u = LD80C(0xa8991563eca75f26, -6,  2.05808084277991211934e-02L),
-a4u = LD80C(0xf2027e10634ce6b6, -8,  7.38555102796070454026e-03L),
-a5u = LD80C(0xbd6eb76dd22187f4, -9,  2.89051035162703932972e-03L),
-a6u = LD80C(0x9c562ab05e0458ed, -10,  1.19275351624639999297e-03L),
-a7u = LD80C(0x859baed93ee48e46, -11,  5.09674593842117925320e-04L),
-a8u = LD80C(0xe9f28a4432949af2, -13,  2.23109648015769155122e-04L),
-a9u = LD80C(0xd12ad0d9b93c6bb0, -14,  9.97387167479808509830e-05L),
-a10u= LD80C(0xb7522643c78a219b, -15,  4.37071076331030136818e-05L),
-a11u= LD80C(0xca024dcdece2cb79, -16,  2.40813493372040143061e-05L),
-a12u= LD80C(0xbb90fb6968ebdbf9, -19,  2.79495621083634031729e-06L),
-a13u= LD80C(0xba1c9ffeeae07b37, -17,  1.10931287015513924136e-05L);
-#define        a0      (a0u.e)
-#define        a1      (a1u.e)
-#define        a2      (a2u.e)
-#define        a3      (a3u.e)
-#define        a4      (a4u.e)
-#define        a5      (a5u.e)
-#define        a6      (a6u.e)
-#define        a7      (a7u.e)
-#define        a8      (a8u.e)
-#define        a9      (a9u.e)
-#define        a10     (a10u.e)
-#define        a11     (a11u.e)
-#define        a12     (a12u.e)
-#define        a13     (a13u.e)
-/*
- * Domain x in [tc-0.24, tc+0.28], range ~[-6.1205e-22, 6.1205e-22]:
- * |(lgamma(x) - tf) -  t(x - tc)| < 2**-70.5
- */
-static const union IEEEl2bits
-tcu  = LD80C(0xbb16c31ab5f1fb71, 0,  1.46163214496836234128e+00L),
-tfu  = LD80C(0xf8cdcde61c520e0f, -4, -1.21486290535849608093e-01L),
-ttu  = LD80C(0xd46ee54b27d4de99, -69, -2.81152980996018785880e-21L),
-t0u  = LD80C(0x80b9406556a62a6b, -68,  3.40728634996055147231e-21L),
-t1u  = LD80C(0xc7e9c6f6df3f8c39, -67, -1.05833162742737073665e-20L),
-t2u  = LD80C(0xf7b95e4771c55d51, -2,  4.83836122723810583532e-01L),
-t3u  = LD80C(0x97213c6e35e119ff, -3, -1.47587722994530691476e-01L),
-t4u  = LD80C(0x845a14a6a81dc94b, -4,  6.46249402389135358063e-02L),
-t5u  = LD80C(0x864d46fa89997796, -5, -3.27885410884846056084e-02L),
-t6u  = LD80C(0x93373cbd00297438, -6,  1.79706751150707171293e-02L),
-t7u  = LD80C(0xa8fcfca7eddc8d1d, -7, -1.03142230361450732547e-02L),
-t8u  = LD80C(0xc7e7015ff4bc45af, -8,  6.10053603296546099193e-03L),
-t9u  = LD80C(0xf178d2247adc5093, -9, -3.68456964904901200152e-03L),
-t10u = LD80C(0x94188d58f12e5e9f, -9,  2.25976420273774583089e-03L),
-t11u = LD80C(0xb7cbaef14e1406f1, -10, -1.40224943666225639823e-03L),
-t12u = LD80C(0xe63a671e6704ea4d, -11,  8.78250640744776944887e-04L),
-t13u = LD80C(0x914b6c9cae61783e, -11, -5.54255012657716808811e-04L),
-t14u = LD80C(0xb858f5bdb79276fe, -12,  3.51614951536825927370e-04L),
-t15u = LD80C(0xea73e744c34b9591, -13, -2.23591563824520112236e-04L),
-t16u = LD80C(0x99aeabb0d67ba835, -13,  1.46562869351659194136e-04L),
-t17u = LD80C(0xd7c6938325db2024, -14, -1.02889866046435680588e-04L),
-t18u = LD80C(0xe24cb1e3b0474775, -15,  5.39540265505221957652e-05L);
-#define        tc      (tcu.e)
-#define        tf      (tfu.e)
-#define        tt      (ttu.e)
-#define        t0      (t0u.e)
-#define        t1      (t1u.e)
-#define        t2      (t2u.e)
-#define        t3      (t3u.e)
-#define        t4      (t4u.e)
-#define        t5      (t5u.e)
-#define        t6      (t6u.e)
-#define        t7      (t7u.e)
-#define        t8      (t8u.e)
-#define        t9      (t9u.e)
-#define        t10     (t10u.e)
-#define        t11     (t11u.e)
-#define        t12     (t12u.e)
-#define        t13     (t13u.e)
-#define        t14     (t14u.e)
-#define        t15     (t15u.e)
-#define        t16     (t16u.e)
-#define        t17     (t17u.e)
-#define        t18     (t18u.e)
-/*
- * Domain y in [-0.1, 0.232], range ~[-8.1938e-22, 8.3815e-22]:
- * |(lgamma(1 + y) + 0.5 * y) / y - u(y) / v(y)| < 2**-71.2
- */
-static const union IEEEl2bits
-u0u = LD80C(0x9e233f1bed863d27, -4, -7.72156649015328606095e-02L),
-u1u = LD80C(0x98280ee45e4ddd3d, -1,  5.94361239198682739769e-01L),
-u2u = LD80C(0xe330c8ead4130733, 0,  1.77492629495841234275e+00L),
-u3u = LD80C(0xd4a213f1a002ec52, 0,  1.66119622514818078064e+00L),
-u4u = LD80C(0xa5a9ca6f5bc62163, -1,  6.47122051417476492989e-01L),
-u5u = LD80C(0xc980e49cd5b019e6, -4,  9.83903751718671509455e-02L),
-u6u = LD80C(0xff636a8bdce7025b, -9,  3.89691687802305743450e-03L),
-v1u = LD80C(0xbd109c533a19fbf5, 1,  2.95413883330948556544e+00L),
-v2u = LD80C(0xd295cbf96f31f099, 1,  3.29039286955665403176e+00L),
-v3u = LD80C(0xdab8bcfee40496cb, 0,  1.70876276441416471410e+00L),
-v4u = LD80C(0xd2f2dc3638567e9f, -2,  4.12009126299534668571e-01L),
-v5u = LD80C(0xa07d9b0851070f41, -5,  3.91822868305682491442e-02L),
-v6u = LD80C(0xe3cd8318f7adb2c4, -11,  8.68998648222144351114e-04L);
-#define        u0      (u0u.e)
-#define        u1      (u1u.e)
-#define        u2      (u2u.e)
-#define        u3      (u3u.e)
-#define        u4      (u4u.e)
-#define        u5      (u5u.e)
-#define        u6      (u6u.e)
-#define        v1      (v1u.e)
-#define        v2      (v2u.e)
-#define        v3      (v3u.e)
-#define        v4      (v4u.e)
-#define        v5      (v5u.e)
-#define        v6      (v6u.e)
-/*
- * Domain x in (2, 3], range ~[-3.3648e-22, 3.4416e-22]:
- * |(lgamma(y+2) - 0.5 * y) / y - s(y)/r(y)| < 2**-72.3
- * with y = x - 2.
- */
-static const union IEEEl2bits
-s0u = LD80C(0x9e233f1bed863d27, -4, -7.72156649015328606095e-02L),
-s1u = LD80C(0xd3ff0dcc7fa91f94, -3,  2.07027640921219389860e-01L),
-s2u = LD80C(0xb2bb62782478ef31, -2,  3.49085881391362090549e-01L),
-s3u = LD80C(0xb49f7438c4611a74, -3,  1.76389518704213357954e-01L),
-s4u = LD80C(0x9a957008fa27ecf9, -5,  3.77401710862930008071e-02L),
-s5u = LD80C(0xda9b389a6ca7a7ac, -9,  3.33566791452943399399e-03L),
-s6u = LD80C(0xbc7a2263faf59c14, -14,  8.98728786745638844395e-05L),
-r1u = LD80C(0xbf5cff5b11477d4d, 0,  1.49502555796294337722e+00L),
-r2u = LD80C(0xd9aec89de08e3da6, -1,  8.50323236984473285866e-01L),
-r3u = LD80C(0xeab7ae5057c443f9, -3,  2.29216312078225806131e-01L),
-r4u = LD80C(0xf29707d9bd2b1e37, -6,  2.96130326586640089145e-02L),
-r5u = LD80C(0xd376c2f09736c5a3, -10,  1.61334161411590662495e-03L),
-r6u = LD80C(0xc985983d0cd34e3d, -16,  2.40232770710953450636e-05L),
-r7u = LD80C(0xe5c7a4f7fc2ef13d, -25, -5.34997929289167573510e-08L);
-#define        s0      (s0u.e)
-#define        s1      (s1u.e)
-#define        s2      (s2u.e)
-#define        s3      (s3u.e)
-#define        s4      (s4u.e)
-#define        s5      (s5u.e)
-#define        s6      (s6u.e)
-#define        r1      (r1u.e)
-#define        r2      (r2u.e)
-#define        r3      (r3u.e)
-#define        r4      (r4u.e)
-#define        r5      (r5u.e)
-#define        r6      (r6u.e)
-#define        r7      (r7u.e)
-/*
- * Domain z in [8, 0x1p70], range ~[-3.0235e-22, 3.0563e-22]:
- * |lgamma(x) - (x - 0.5) * (log(x) - 1) - w(1/x)| < 2**-71.7
- */
-static const union IEEEl2bits
-w0u = LD80C(0xd67f1c864beb4a69, -2,  4.18938533204672741776e-01L),
-w1u = LD80C(0xaaaaaaaaaaaaaaa1, -4,  8.33333333333333332678e-02L),
-w2u = LD80C(0xb60b60b60b5491c9, -9, -2.77777777777760927870e-03L),
-w3u = LD80C(0xd00d00cf58aede4c, -11,  7.93650793490637233668e-04L),
-w4u = LD80C(0x9c09bf626783d4a5, -11, -5.95238023926039051268e-04L),
-w5u = LD80C(0xdca7cadc5baa517b, -11,  8.41733700408000822962e-04L),
-w6u = LD80C(0xfb060e361e1ffd07, -10, -1.91515849570245136604e-03L),
-w7u = LD80C(0xcbd5101bb58d1f2b, -8,  6.22046743903262649294e-03L),
-w8u = LD80C(0xad27a668d32c821b, -6, -2.11370706734662081843e-02L);
-#define        w0      (w0u.e)
-#define        w1      (w1u.e)
-#define        w2      (w2u.e)
-#define        w3      (w3u.e)
-#define        w4      (w4u.e)
-#define        w5      (w5u.e)
-#define        w6      (w6u.e)
-#define        w7      (w7u.e)
-#define        w8      (w8u.e)
-
-static long double
-sin_pil(long double x)
-{
-       volatile long double vz;
-       long double y,z;
-       uint64_t n;
-       uint16_t hx;
-
-       y = -x;
-
-       vz = y+0x1p63;
-       z = vz-0x1p63;
-       if (z == y)
-           return zero;
-
-       vz = y+0x1p61;
-       EXTRACT_LDBL80_WORDS(hx,n,vz);
-       z = vz-0x1p61;
-       if (z > y) {
-           z -= 0.25;                  /* adjust to round down */
-           n--;
-       }
-       n &= 7;                         /* octant of y mod 2 */
-       y = y - z + n * 0.25;           /* y mod 2 */
-
-       switch (n) {
-           case 0:   y =  __kernel_sinl(pi*y,zero,0); break;
-           case 1:
-           case 2:   y =  __kernel_cosl(pi*(0.5-y),zero); break;
-           case 3:
-           case 4:   y =  __kernel_sinl(pi*(one-y),zero,0); break;
-           case 5:
-           case 6:   y = -__kernel_cosl(pi*(y-1.5),zero); break;
-           default:  y =  __kernel_sinl(pi*(y-2.0),zero,0); break;
-           }
-       return -y;
-}
-
-long double
-lgammal_r(long double x, int *signgamp)
-{
-       long double nadj,p,p1,p2,p3,q,r,t,w,y,z;
-       uint64_t lx;
-       int i;
-       uint16_t hx,ix;
-
-       EXTRACT_LDBL80_WORDS(hx,lx,x);
-
-    /* purge +-Inf and NaNs */
-       *signgamp = 1;
-       ix = hx&0x7fff;
-       if(ix==0x7fff) return x*x;
-
-       ENTERI();
-
-    /* purge +-0 and tiny arguments */
-       *signgamp = 1-2*(hx>>15);
-       if(ix<0x3fff-67) {              /* |x|<2**-(p+3), return -log(|x|) */
-           if((ix|lx)==0)
-