git: libm: Sync with FreeBSD (gains 6 long double functions)

John Marino marino at crater.dragonflybsd.org
Sat Nov 29 15:01:01 PST 2014


commit 2fedfd5c07f058b632472f2feea2e43949def7d3
Author: John Marino <draco at marino.st>
Date:   Sat Nov 29 22:28:11 2014 +0100

    libm: Sync with FreeBSD (gains 6 long double functions)
    
    The following functions have been implemented:
      - coshl
      - erfcl
      - erfl
      - lgammal
      - sinhl
      - tanhl
    
    Before these were approximated with the double versions using the
    "imprecise" macros.  I've left the old ones in place (unlike FreeBSD)
    but with symbol versioning so that libraries built with the earlier
    versions can link to them.  In other words, there are two versions of
    these 6 functions, Df306.1 and DF402.0.

Summary of changes:
 lib/libc/Versions.def                        |   6 +-
 lib/libm/Makefile                            | 131 ++++----
 lib/libm/Symbol.map                          |  20 +-
 lib/libm/ld80/e_lgammal_r.c                  | 356 +++++++++++++++++++++
 lib/libm/ld80/{s_expl.c => k_expl.h}         | 313 +++++--------------
 lib/libm/ld80/s_erfl.c                       | 335 ++++++++++++++++++++
 lib/libm/ld80/s_expl.c                       | 280 +++--------------
 lib/libm/man/cosh.3                          |  14 +-
 lib/libm/man/erf.3                           |  27 +-
 lib/libm/man/lgamma.3                        |  37 ++-
 lib/libm/man/sinh.3                          |  15 +-
 lib/libm/man/tanh.3                          |  19 +-
 lib/libm/src/catrig.c                        |  12 +-
 lib/libm/src/catrigf.c                       |  12 +-
 lib/libm/src/e_cosh.c                        |   8 +-
 lib/libm/src/e_coshl.c                       | 128 ++++++++
 lib/libm/src/e_gamma.c                       |   2 +-
 lib/libm/src/e_lgamma.c                      |   8 +-
 lib/libm/src/e_lgamma_r.c                    | 152 ++++-----
 lib/libm/src/e_lgammaf_r.c                   | 264 ++++++++--------
 lib/libm/src/{e_lgamma.c => e_lgammal.c}     |  16 +-
 lib/libm/src/e_pow.c                         |   8 +-
 lib/libm/src/e_remainder.c                   |  77 +++++
 lib/libm/src/e_remainderf.c                  |  63 ++++
 lib/libm/src/{imprecise.c => e_remainderl.c} |  43 +--
 lib/libm/src/e_sinh.c                        |   8 +-
 lib/libm/src/e_sinhl.c                       | 129 ++++++++
 lib/libm/src/e_sqrt.c                        | 449 +++++++++++++++++++++++++++
 lib/libm/src/e_sqrtf.c                       |  88 ++++++
 lib/libm/src/e_sqrtl.c                       | 159 ++++++++++
 lib/libm/src/fenv-softfloat.h                | 184 +++++++++++
 lib/libm/src/imprecise.c                     |  16 +-
 lib/libm/src/math.h                          |  41 +--
 lib/libm/src/s_erf.c                         |  64 ++--
 lib/libm/src/s_erff.c                        | 129 ++++----
 lib/libm/src/s_llrint.c                      |   7 +
 lib/libm/src/s_llrintf.c                     |   7 +
 lib/libm/src/s_llrintl.c                     |   7 +
 lib/libm/src/s_logbl.c                       |  53 ++++
 lib/libm/src/{imprecise.c => s_lrint.c}      |  59 ++--
 lib/libm/src/s_lrintf.c                      |   7 +
 lib/libm/src/s_lrintl.c                      |   7 +
 lib/libm/src/s_remquo.c                      | 157 ++++++++++
 lib/libm/src/s_remquof.c                     | 120 +++++++
 lib/libm/src/s_remquol.c                     | 176 +++++++++++
 lib/libm/src/s_rintl.c                       |  90 ++++++
 lib/libm/src/s_round.c                       |  24 +-
 lib/libm/src/s_roundf.c                      |  22 +-
 lib/libm/src/s_roundl.c                      |  34 +-
 lib/libm/src/s_scalbn.c                      |  64 ++++
 lib/libm/src/s_scalbnf.c                     |  55 ++++
 lib/libm/src/s_scalbnl.c                     |  69 ++++
 lib/libm/src/s_tanh.c                        |  11 +-
 lib/libm/src/s_tanhf.c                       |   7 +-
 lib/libm/src/s_tanhl.c                       | 170 ++++++++++
 55 files changed, 3707 insertions(+), 1052 deletions(-)
 create mode 100644 lib/libm/ld80/e_lgammal_r.c
 copy lib/libm/ld80/{s_expl.c => k_expl.h} (57%)
 create mode 100644 lib/libm/ld80/s_erfl.c
 create mode 100644 lib/libm/src/e_coshl.c
 copy lib/libm/src/{e_lgamma.c => e_lgammal.c} (56%)
 create mode 100644 lib/libm/src/e_remainder.c
 create mode 100644 lib/libm/src/e_remainderf.c
 copy lib/libm/src/{imprecise.c => e_remainderl.c} (56%)
 create mode 100644 lib/libm/src/e_sinhl.c
 create mode 100644 lib/libm/src/e_sqrt.c
 create mode 100644 lib/libm/src/e_sqrtf.c
 create mode 100644 lib/libm/src/e_sqrtl.c
 create mode 100644 lib/libm/src/fenv-softfloat.h
 create mode 100644 lib/libm/src/s_llrint.c
 create mode 100644 lib/libm/src/s_llrintf.c
 create mode 100644 lib/libm/src/s_llrintl.c
 create mode 100644 lib/libm/src/s_logbl.c
 copy lib/libm/src/{imprecise.c => s_lrint.c} (56%)
 create mode 100644 lib/libm/src/s_lrintf.c
 create mode 100644 lib/libm/src/s_lrintl.c
 create mode 100644 lib/libm/src/s_remquo.c
 create mode 100644 lib/libm/src/s_remquof.c
 create mode 100644 lib/libm/src/s_remquol.c
 create mode 100644 lib/libm/src/s_rintl.c
 create mode 100644 lib/libm/src/s_scalbn.c
 create mode 100644 lib/libm/src/s_scalbnf.c
 create mode 100644 lib/libm/src/s_scalbnl.c
 create mode 100644 lib/libm/src/s_tanhl.c

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2fedfd5c07f058b632472f2feea2e43949def7d3


-- 
DragonFly BSD source repository



More information about the Commits mailing list