This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCHv2 00/12] Introduce ieee128 symbols and redirections
- From: Tulio Magno Quites Machado Filho <tuliom at linux dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Cc: joseph at codesourcery dot com
- Date: Tue, 19 Jun 2018 23:04:14 -0300
- Subject: [PATCHv2 00/12] Introduce ieee128 symbols and redirections
Changes since v1:
- Reordered the patch series: the first patches are generic, while the last
ones affect only ldbl-128ibm-compat.
- Added a patch to fix bug #23294.
- Removed the symbols for __f64x*ieee128.
- Added symbols for narrow functions __f32*ieee128 and __f64*ieee128.
- Redirected narrow functions to __f*ieee128
- Stopped exporting internal functions __gamma_productieee128,
__lgamma_negieee128, __lgamma_productieee128 and __x2y2m1ieee128;
- Splitted both patches for scalb and significad in 2: 1 patch adding just
the template and another one with the ldbl-128ibm-compat changes.
- Replaced all generic implementations of w_scalb, w_scalb_compat, e_scalb
and s_significand with templates.
- Replaced the patch for __dremieee128 and __gamaieee128 with just macros
in math/math.h.
- Reworked completely the math-finite.h refactoring. It's now reusing
math/bits/mathcalls.h. It also identifies the fix to bug #23292.
Gabriel F. T. Gomes (1):
ldbl-128ibm-compat: Provide nexttoward functions
Rajalakshmi Srinivasaraghavan (1):
ldbl-128ibm-compat: Redirect complex math functions
Tulio Magno Quites Machado Filho (10):
Undefine redirections after long double definition on __LDBL_COMPAT
[BZ #23294]
Move declare_mgen_finite_alias definition
Add a generic scalb implementation
Add a generic significand implementation
Refactor math/bits/math-finite.h, reusing math/bits/mathcalls.h [BZ
#23292]
ldbl-128ibm-compat: Create libm-alias-float128.h
ldbl-128ibm-compat: Provide a scalb implementation
ldbl-128ibm-compat: Provide a significand implementation
ldbl-128ibm-compat: Redirect long double functions to f128/ieee128
functions
ldbl-128ibm-compat: Provide ieee128 symbols to narrow functions
include/math.h | 12 +-
math/Makefile | 12 +-
math/bits/math-finite.h | 160 ++----
math/bits/mathcalls-helper-functions.h | 18 +-
math/bits/mathcalls.h | 62 +--
math/complex.h | 29 +-
math/e_exp2_template.c | 7 -
math/{e_scalb.c => e_scalb_template.c} | 32 +-
math/e_scalbf.c | 54 --
math/e_scalbl.c | 54 --
math/math-narrow.h | 10 +
math/math.h | 548 ++++++++++++---------
math/s_significand.c | 34 --
math/s_significand_template.c | 33 ++
math/s_significandf.c | 27 -
math/s_significandl.c | 34 --
...{w_scalb_compat.c => w_scalb_compat_template.c} | 36 +-
math/{w_scalbf_compat.c => w_scalb_template.c} | 54 +-
math/w_scalbl_compat.c | 81 ---
sysdeps/generic/math-type-macros-double.h | 1 +
sysdeps/generic/math-type-macros-float.h | 1 +
sysdeps/generic/math-type-macros-ldouble.h | 1 +
sysdeps/generic/math-type-macros.h | 15 +
sysdeps/ieee754/float128/w_scalbf128.c | 1 +
sysdeps/ieee754/float128/w_scalbf128_compat.c | 1 +
sysdeps/ieee754/ldbl-128ibm-compat/Versions | 127 +++++
sysdeps/ieee754/ldbl-128ibm-compat/e_scalbf128.c | 21 +
.../ldbl-128ibm-compat/libm-alias-float128.h | 64 +++
.../ieee754/ldbl-128ibm-compat/s_nextafterf128.c | 20 +
.../ieee754/ldbl-128ibm-compat/s_nexttowardf128.c | 38 ++
.../ieee754/ldbl-128ibm-compat/s_significandf128.c | 25 +
sysdeps/ieee754/ldbl-128ibm-compat/w_scalbf128.c | 27 +
sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h | 6 +-
sysdeps/ieee754/ldbl-opt/s_significand.c | 5 -
sysdeps/ieee754/ldbl-opt/s_significandl.c | 5 -
sysdeps/ieee754/ldbl-opt/w_scalb_compat.c | 5 -
sysdeps/ieee754/ldbl-opt/w_scalbl_compat.c | 5 -
37 files changed, 868 insertions(+), 797 deletions(-)
rename math/{e_scalb.c => e_scalb_template.c} (64%)
delete mode 100644 math/e_scalbf.c
delete mode 100644 math/e_scalbl.c
delete mode 100644 math/s_significand.c
create mode 100644 math/s_significand_template.c
delete mode 100644 math/s_significandf.c
delete mode 100644 math/s_significandl.c
rename math/{w_scalb_compat.c => w_scalb_compat_template.c} (69%)
rename math/{w_scalbf_compat.c => w_scalb_template.c} (53%)
delete mode 100644 math/w_scalbl_compat.c
create mode 100644 sysdeps/ieee754/float128/w_scalbf128.c
create mode 100644 sysdeps/ieee754/float128/w_scalbf128_compat.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/Versions
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/e_scalbf128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/libm-alias-float128.h
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/s_nextafterf128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/s_nexttowardf128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/s_significandf128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/w_scalbf128.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_significand.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_significandl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/w_scalb_compat.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/w_scalbl_compat.c
--
2.14.4