This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/8] More float128 declarations


The patches in this series add more parts of the __float128 implementation,
such as Makefile rules, function wrappers and declarations.  It doesn't enable
any of it, yet, and I tested for x86_64 and powerpc64le.

Subsequent series will:
  * Add strfromf128, strtof128/wcstof128 (I am still working on the manual).
  * Add libm tests for float128.
  * Enable float128 on powerpc64le.

Paul E. Murphy (8):
  ldbl-128: Use mathx_hidden_def inplace of hidden_def
  float128: Add _Float128 make bits to libm.
  float128: Add wrappers for IEEE functions.
  Add support for testing __STDC_WANT_IEC_60559_TYPES_EXT__
  float128: Add public _Float128 declarations to libm.
  float128: Expose _Float128 finite math functions.
  float128: Add private _Float128 declarations for libm.
  float128: Add wrappers to override ldbl-128 as float128.

 bits/floatn.h                                 |  27 ++
 bits/huge_val_flt128.h                        |  29 +++
 bits/libc-header-start.h                      |  15 ++
 bits/libm-simd-decl-stubs.h                   |   6 +
 include/complex.h                             |   7 +
 include/float.h                               |  31 +++
 include/math.h                                |  13 +
 math/Makefile                                 |  10 +-
 math/bits/cmathcalls.h                        |   4 +-
 math/bits/math-finite.h                       | 104 ++++++++
 math/bits/mathcalls.h                         |  30 ++-
 math/complex.h                                |  27 +-
 math/math.h                                   | 107 +++++++-
 sysdeps/generic/fix-fp-int-convert-overflow.h |   2 +
 sysdeps/generic/math-type-macros-float128.h   |  49 ++++
 sysdeps/generic/math_private.h                | 115 ++++++++-
 sysdeps/ieee754/float128/Makeconfig           |   3 +
 sysdeps/ieee754/float128/Versions             | 133 ++++++++++
 sysdeps/ieee754/float128/e_acosf128.c         |   2 +
 sysdeps/ieee754/float128/e_acoshf128.c        |   2 +
 sysdeps/ieee754/float128/e_asinf128.c         |   2 +
 sysdeps/ieee754/float128/e_atan2f128.c        |   2 +
 sysdeps/ieee754/float128/e_atanhf128.c        |   2 +
 sysdeps/ieee754/float128/e_coshf128.c         |   2 +
 sysdeps/ieee754/float128/e_exp10f128.c        |   2 +
 sysdeps/ieee754/float128/e_exp2f128.c         |   2 +
 sysdeps/ieee754/float128/e_expf128.c          |   2 +
 sysdeps/ieee754/float128/e_fmodf128.c         |   2 +
 sysdeps/ieee754/float128/e_gammaf128_r.c      |   2 +
 sysdeps/ieee754/float128/e_hypotf128.c        |   2 +
 sysdeps/ieee754/float128/e_ilogbf128.c        |   2 +
 sysdeps/ieee754/float128/e_j0f128.c           |   2 +
 sysdeps/ieee754/float128/e_j1f128.c           |   2 +
 sysdeps/ieee754/float128/e_jnf128.c           |   2 +
 sysdeps/ieee754/float128/e_lgammaf128.c       |   1 +
 sysdeps/ieee754/float128/e_lgammaf128_r.c     |   2 +
 sysdeps/ieee754/float128/e_log10f128.c        |   2 +
 sysdeps/ieee754/float128/e_log2f128.c         |   2 +
 sysdeps/ieee754/float128/e_logf128.c          |   2 +
 sysdeps/ieee754/float128/e_powf128.c          |   2 +
 sysdeps/ieee754/float128/e_rem_pio2f128.c     |   2 +
 sysdeps/ieee754/float128/e_remainderf128.c    |   2 +
 sysdeps/ieee754/float128/e_scalbf128.c        |   1 +
 sysdeps/ieee754/float128/e_sinhf128.c         |   2 +
 sysdeps/ieee754/float128/e_sqrtf128.c         |   2 +
 sysdeps/ieee754/float128/float128_private.h   | 343 ++++++++++++++++++++++++++
 sysdeps/ieee754/float128/gamma_productf128.c  |   2 +
 sysdeps/ieee754/float128/ieee754_float128.h   | 140 +++++++++++
 sysdeps/ieee754/float128/k_cosf128.c          |   2 +
 sysdeps/ieee754/float128/k_rem_pio2f128.c     |   2 +
 sysdeps/ieee754/float128/k_sincosf128.c       |   2 +
 sysdeps/ieee754/float128/k_sinf128.c          |   2 +
 sysdeps/ieee754/float128/k_tanf128.c          |   2 +
 sysdeps/ieee754/float128/lgamma_negf128.c     |   2 +
 sysdeps/ieee754/float128/lgamma_productf128.c |   2 +
 sysdeps/ieee754/float128/s_asinhf128.c        |   2 +
 sysdeps/ieee754/float128/s_atanf128.c         |   2 +
 sysdeps/ieee754/float128/s_cbrtf128.c         |   2 +
 sysdeps/ieee754/float128/s_ceilf128.c         |   2 +
 sysdeps/ieee754/float128/s_copysignf128.c     |   2 +
 sysdeps/ieee754/float128/s_cosf128.c          |   2 +
 sysdeps/ieee754/float128/s_erff128.c          |   2 +
 sysdeps/ieee754/float128/s_expm1f128.c        |   2 +
 sysdeps/ieee754/float128/s_fabsf128.c         |   2 +
 sysdeps/ieee754/float128/s_finitef128.c       |   2 +
 sysdeps/ieee754/float128/s_floorf128.c        |   2 +
 sysdeps/ieee754/float128/s_fmaf128.c          |   2 +
 sysdeps/ieee754/float128/s_fpclassifyf128.c   |   2 +
 sysdeps/ieee754/float128/s_frexpf128.c        |   2 +
 sysdeps/ieee754/float128/s_isinff128.c        |   2 +
 sysdeps/ieee754/float128/s_isnanf128.c        |   2 +
 sysdeps/ieee754/float128/s_issignalingf128.c  |   2 +
 sysdeps/ieee754/float128/s_llrintf128.c       |   2 +
 sysdeps/ieee754/float128/s_llroundf128.c      |   2 +
 sysdeps/ieee754/float128/s_log1pf128.c        |   2 +
 sysdeps/ieee754/float128/s_logbf128.c         |   2 +
 sysdeps/ieee754/float128/s_lrintf128.c        |   2 +
 sysdeps/ieee754/float128/s_lroundf128.c       |   2 +
 sysdeps/ieee754/float128/s_modff128.c         |   2 +
 sysdeps/ieee754/float128/s_nearbyintf128.c    |   2 +
 sysdeps/ieee754/float128/s_nextafterf128.c    |   2 +
 sysdeps/ieee754/float128/s_nexttowardf128.c   |   1 +
 sysdeps/ieee754/float128/s_nextupf128.c       |   2 +
 sysdeps/ieee754/float128/s_remquof128.c       |   2 +
 sysdeps/ieee754/float128/s_rintf128.c         |   2 +
 sysdeps/ieee754/float128/s_roundf128.c        |   2 +
 sysdeps/ieee754/float128/s_scalblnf128.c      |   2 +
 sysdeps/ieee754/float128/s_scalbnf128.c       |   2 +
 sysdeps/ieee754/float128/s_signbitf128.c      |   2 +
 sysdeps/ieee754/float128/s_significandf128.c  |   1 +
 sysdeps/ieee754/float128/s_sincosf128.c       |   2 +
 sysdeps/ieee754/float128/s_sinf128.c          |   2 +
 sysdeps/ieee754/float128/s_tanf128.c          |   2 +
 sysdeps/ieee754/float128/s_tanhf128.c         |   2 +
 sysdeps/ieee754/float128/s_truncf128.c        |   2 +
 sysdeps/ieee754/float128/t_sincosf128.c       |   2 +
 sysdeps/ieee754/float128/w_acosf128.c         |  35 +++
 sysdeps/ieee754/float128/w_acoshf128.c        |  35 +++
 sysdeps/ieee754/float128/w_asinf128.c         |  37 +++
 sysdeps/ieee754/float128/w_atan2f128.c        |  35 +++
 sysdeps/ieee754/float128/w_atanhf128.c        |  40 +++
 sysdeps/ieee754/float128/w_coshf128.c         |  33 +++
 sysdeps/ieee754/float128/w_exp10f128.c        |  38 +++
 sysdeps/ieee754/float128/w_exp2f128.c         |  36 +++
 sysdeps/ieee754/float128/w_expf128.c          |  34 +++
 sysdeps/ieee754/float128/w_fmodf128.c         |  37 +++
 sysdeps/ieee754/float128/w_hypotf128.c        |  34 +++
 sysdeps/ieee754/float128/w_ilogbf128.c        |  38 +++
 sysdeps/ieee754/float128/w_j0f128.c           |  56 +++++
 sysdeps/ieee754/float128/w_j1f128.c           |  55 +++++
 sysdeps/ieee754/float128/w_jnf128.c           |  75 ++++++
 sysdeps/ieee754/float128/w_lgammaf128.c       |  34 +++
 sysdeps/ieee754/float128/w_lgammaf128_r.c     |  34 +++
 sysdeps/ieee754/float128/w_log10f128.c        |  44 ++++
 sysdeps/ieee754/float128/w_log1pf128.c        |  36 +++
 sysdeps/ieee754/float128/w_log2f128.c         |  44 ++++
 sysdeps/ieee754/float128/w_logf128.c          |  44 ++++
 sysdeps/ieee754/float128/w_powf128.c          |  86 +++++++
 sysdeps/ieee754/float128/w_remainderf128.c    |  35 +++
 sysdeps/ieee754/float128/w_scalbf128.c        |   1 +
 sysdeps/ieee754/float128/w_scalblnf128.c      |  36 +++
 sysdeps/ieee754/float128/w_sinhf128.c         |  35 +++
 sysdeps/ieee754/float128/w_sqrtf128.c         |  35 +++
 sysdeps/ieee754/float128/w_tgammaf128.c       |  54 ++++
 sysdeps/ieee754/float128/x2y2m1f128.c         |   2 +
 sysdeps/ieee754/ldbl-128/s_finitel.c          |   2 +-
 sysdeps/ieee754/ldbl-128/s_isinfl.c           |   2 +-
 sysdeps/ieee754/ldbl-128/s_isnanl.c           |   2 +-
 sysdeps/ieee754/ldbl-opt/s_sin.c              |   1 +
 129 files changed, 2468 insertions(+), 20 deletions(-)
 create mode 100644 bits/floatn.h
 create mode 100644 bits/huge_val_flt128.h
 create mode 100644 include/float.h
 create mode 100644 sysdeps/generic/math-type-macros-float128.h
 create mode 100644 sysdeps/ieee754/float128/Makeconfig
 create mode 100644 sysdeps/ieee754/float128/Versions
 create mode 100644 sysdeps/ieee754/float128/e_acosf128.c
 create mode 100644 sysdeps/ieee754/float128/e_acoshf128.c
 create mode 100644 sysdeps/ieee754/float128/e_asinf128.c
 create mode 100644 sysdeps/ieee754/float128/e_atan2f128.c
 create mode 100644 sysdeps/ieee754/float128/e_atanhf128.c
 create mode 100644 sysdeps/ieee754/float128/e_coshf128.c
 create mode 100644 sysdeps/ieee754/float128/e_exp10f128.c
 create mode 100644 sysdeps/ieee754/float128/e_exp2f128.c
 create mode 100644 sysdeps/ieee754/float128/e_expf128.c
 create mode 100644 sysdeps/ieee754/float128/e_fmodf128.c
 create mode 100644 sysdeps/ieee754/float128/e_gammaf128_r.c
 create mode 100644 sysdeps/ieee754/float128/e_hypotf128.c
 create mode 100644 sysdeps/ieee754/float128/e_ilogbf128.c
 create mode 100644 sysdeps/ieee754/float128/e_j0f128.c
 create mode 100644 sysdeps/ieee754/float128/e_j1f128.c
 create mode 100644 sysdeps/ieee754/float128/e_jnf128.c
 create mode 100644 sysdeps/ieee754/float128/e_lgammaf128.c
 create mode 100644 sysdeps/ieee754/float128/e_lgammaf128_r.c
 create mode 100644 sysdeps/ieee754/float128/e_log10f128.c
 create mode 100644 sysdeps/ieee754/float128/e_log2f128.c
 create mode 100644 sysdeps/ieee754/float128/e_logf128.c
 create mode 100644 sysdeps/ieee754/float128/e_powf128.c
 create mode 100644 sysdeps/ieee754/float128/e_rem_pio2f128.c
 create mode 100644 sysdeps/ieee754/float128/e_remainderf128.c
 create mode 100644 sysdeps/ieee754/float128/e_scalbf128.c
 create mode 100644 sysdeps/ieee754/float128/e_sinhf128.c
 create mode 100644 sysdeps/ieee754/float128/e_sqrtf128.c
 create mode 100644 sysdeps/ieee754/float128/float128_private.h
 create mode 100644 sysdeps/ieee754/float128/gamma_productf128.c
 create mode 100644 sysdeps/ieee754/float128/ieee754_float128.h
 create mode 100644 sysdeps/ieee754/float128/k_cosf128.c
 create mode 100644 sysdeps/ieee754/float128/k_rem_pio2f128.c
 create mode 100644 sysdeps/ieee754/float128/k_sincosf128.c
 create mode 100644 sysdeps/ieee754/float128/k_sinf128.c
 create mode 100644 sysdeps/ieee754/float128/k_tanf128.c
 create mode 100644 sysdeps/ieee754/float128/lgamma_negf128.c
 create mode 100644 sysdeps/ieee754/float128/lgamma_productf128.c
 create mode 100644 sysdeps/ieee754/float128/s_asinhf128.c
 create mode 100644 sysdeps/ieee754/float128/s_atanf128.c
 create mode 100644 sysdeps/ieee754/float128/s_cbrtf128.c
 create mode 100644 sysdeps/ieee754/float128/s_ceilf128.c
 create mode 100644 sysdeps/ieee754/float128/s_copysignf128.c
 create mode 100644 sysdeps/ieee754/float128/s_cosf128.c
 create mode 100644 sysdeps/ieee754/float128/s_erff128.c
 create mode 100644 sysdeps/ieee754/float128/s_expm1f128.c
 create mode 100644 sysdeps/ieee754/float128/s_fabsf128.c
 create mode 100644 sysdeps/ieee754/float128/s_finitef128.c
 create mode 100644 sysdeps/ieee754/float128/s_floorf128.c
 create mode 100644 sysdeps/ieee754/float128/s_fmaf128.c
 create mode 100644 sysdeps/ieee754/float128/s_fpclassifyf128.c
 create mode 100644 sysdeps/ieee754/float128/s_frexpf128.c
 create mode 100644 sysdeps/ieee754/float128/s_isinff128.c
 create mode 100644 sysdeps/ieee754/float128/s_isnanf128.c
 create mode 100644 sysdeps/ieee754/float128/s_issignalingf128.c
 create mode 100644 sysdeps/ieee754/float128/s_llrintf128.c
 create mode 100644 sysdeps/ieee754/float128/s_llroundf128.c
 create mode 100644 sysdeps/ieee754/float128/s_log1pf128.c
 create mode 100644 sysdeps/ieee754/float128/s_logbf128.c
 create mode 100644 sysdeps/ieee754/float128/s_lrintf128.c
 create mode 100644 sysdeps/ieee754/float128/s_lroundf128.c
 create mode 100644 sysdeps/ieee754/float128/s_modff128.c
 create mode 100644 sysdeps/ieee754/float128/s_nearbyintf128.c
 create mode 100644 sysdeps/ieee754/float128/s_nextafterf128.c
 create mode 100644 sysdeps/ieee754/float128/s_nexttowardf128.c
 create mode 100644 sysdeps/ieee754/float128/s_nextupf128.c
 create mode 100644 sysdeps/ieee754/float128/s_remquof128.c
 create mode 100644 sysdeps/ieee754/float128/s_rintf128.c
 create mode 100644 sysdeps/ieee754/float128/s_roundf128.c
 create mode 100644 sysdeps/ieee754/float128/s_scalblnf128.c
 create mode 100644 sysdeps/ieee754/float128/s_scalbnf128.c
 create mode 100644 sysdeps/ieee754/float128/s_signbitf128.c
 create mode 100644 sysdeps/ieee754/float128/s_significandf128.c
 create mode 100644 sysdeps/ieee754/float128/s_sincosf128.c
 create mode 100644 sysdeps/ieee754/float128/s_sinf128.c
 create mode 100644 sysdeps/ieee754/float128/s_tanf128.c
 create mode 100644 sysdeps/ieee754/float128/s_tanhf128.c
 create mode 100644 sysdeps/ieee754/float128/s_truncf128.c
 create mode 100644 sysdeps/ieee754/float128/t_sincosf128.c
 create mode 100644 sysdeps/ieee754/float128/w_acosf128.c
 create mode 100644 sysdeps/ieee754/float128/w_acoshf128.c
 create mode 100644 sysdeps/ieee754/float128/w_asinf128.c
 create mode 100644 sysdeps/ieee754/float128/w_atan2f128.c
 create mode 100644 sysdeps/ieee754/float128/w_atanhf128.c
 create mode 100644 sysdeps/ieee754/float128/w_coshf128.c
 create mode 100644 sysdeps/ieee754/float128/w_exp10f128.c
 create mode 100644 sysdeps/ieee754/float128/w_exp2f128.c
 create mode 100644 sysdeps/ieee754/float128/w_expf128.c
 create mode 100644 sysdeps/ieee754/float128/w_fmodf128.c
 create mode 100644 sysdeps/ieee754/float128/w_hypotf128.c
 create mode 100644 sysdeps/ieee754/float128/w_ilogbf128.c
 create mode 100644 sysdeps/ieee754/float128/w_j0f128.c
 create mode 100644 sysdeps/ieee754/float128/w_j1f128.c
 create mode 100644 sysdeps/ieee754/float128/w_jnf128.c
 create mode 100644 sysdeps/ieee754/float128/w_lgammaf128.c
 create mode 100644 sysdeps/ieee754/float128/w_lgammaf128_r.c
 create mode 100644 sysdeps/ieee754/float128/w_log10f128.c
 create mode 100644 sysdeps/ieee754/float128/w_log1pf128.c
 create mode 100644 sysdeps/ieee754/float128/w_log2f128.c
 create mode 100644 sysdeps/ieee754/float128/w_logf128.c
 create mode 100644 sysdeps/ieee754/float128/w_powf128.c
 create mode 100644 sysdeps/ieee754/float128/w_remainderf128.c
 create mode 100644 sysdeps/ieee754/float128/w_scalbf128.c
 create mode 100644 sysdeps/ieee754/float128/w_scalblnf128.c
 create mode 100644 sysdeps/ieee754/float128/w_sinhf128.c
 create mode 100644 sysdeps/ieee754/float128/w_sqrtf128.c
 create mode 100644 sysdeps/ieee754/float128/w_tgammaf128.c
 create mode 100644 sysdeps/ieee754/float128/x2y2m1f128.c

-- 
2.4.11


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]