This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCHv2 0/9] Generate Complex functions from a common template.
- From: "Paul E. Murphy" <murphyp at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Date: Tue, 16 Aug 2016 15:21:14 -0500
- Subject: [PATCHv2 0/9] Generate Complex functions from a common template.
- Authentication-results: sourceware.org; auth=none
The initial patch for generic carg, cabs, creal, cimag and conj has
been reviewed and is tenatively approved pending the remainder of
this series. See below:
https://sourceware.org/ml/libc-alpha/2016-08/msg00444.html
The remaining 8 patches follow the form of copying the double
version of a complex function, and refactoring in the following
patch.
The only noteworthy differences are:
* s_clog10l.c persists in ldbl-opt as versioning the
__clog10l symbol introduces more hackery than it would
prevent in the macro headers.
* b_<func>.c files renamed to ?_<func>_template.c
* Remove indents on function-like macro usage.
* Revert any machine specific makefile changes.
Paul E. Murphy (9):
Support for type-generic libm function implementations libm
Prepare to convert _Complex cosine functions
Convert _Complex cosine functions to generated code
Prepare to convert _Complex sine functions
Convert _Complex sine functions to generated code
Prepare to convert _Complex tangent functions
Convert _Complex tangent functions to generated code
Prepare to convert remaining _Complex functions
Convert remaining complex function to generated files
math/Makefile | 38 +++-
math/cabs.c | 32 ---
math/{s_cpow.c => cabs_template.c} | 18 +-
math/cabsf.c | 28 ---
math/cabsl.c | 28 ---
math/{carg.c => carg_template.c} | 17 +-
math/cargf.c | 28 ---
math/cargl.c | 28 ---
math/{cimag.c => cimag_template.c} | 15 +-
math/cimagf.c | 27 ---
math/cimagl.c | 27 ---
math/{conj.c => conj_template.c} | 15 +-
math/conjf.c | 27 ---
math/conjl.c | 27 ---
math/{creal.c => creal_template.c} | 15 +-
math/crealf.c | 27 ---
math/creall.c | 27 ---
math/k_casinh.c | 210 --------------------
math/k_casinh_template.c | 211 ++++++++++++++++++++
math/k_casinhf.c | 212 --------------------
math/k_casinhl.c | 219 ---------------------
math/s_cacos.c | 58 ------
math/{s_cacosf.c => s_cacos_template.c} | 27 +--
math/{s_cacosh.c => s_cacosh_template.c} | 50 ++---
math/s_cacoshf.c | 92 ---------
math/s_cacoshl.c | 90 ---------
math/s_cacosl.c | 54 -----
math/s_casin.c | 66 -------
math/{s_casinf.c => s_casin_template.c} | 29 +--
math/s_casinh.c | 73 -------
math/{s_casinhf.c => s_casinh_template.c} | 35 ++--
math/s_casinhl.c | 69 -------
math/s_casinl.c | 62 ------
math/s_catan.c | 143 --------------
math/s_catan_template.c | 145 ++++++++++++++
math/s_catanf.c | 143 --------------
math/s_catanh.c | 137 -------------
math/s_catanh_template.c | 140 +++++++++++++
math/s_catanhf.c | 137 -------------
math/s_catanhl.c | 141 -------------
math/s_catanl.c | 147 --------------
math/s_ccos.c | 40 ----
math/{s_ccosf.c => s_ccos_template.c} | 18 +-
math/s_ccosh.c | 147 --------------
math/{s_ccoshf.c => s_ccosh_template.c} | 75 +++----
math/s_ccoshl.c | 143 --------------
math/s_ccosl.c | 36 ----
math/s_cexp.c | 157 ---------------
math/{s_cexpf.c => s_cexp_template.c} | 64 +++---
math/s_cexpl.c | 153 --------------
math/s_clog.c | 118 -----------
math/s_clog10.c | 124 ------------
math/s_clog10_template.c | 129 ++++++++++++
math/s_clog10f.c | 122 ------------
math/s_clog10l.c | 127 ------------
math/{s_clogf.c => s_clog_template.c} | 83 ++++----
math/s_clogl.c | 121 ------------
math/{s_cpowf.c => s_cpow_template.c} | 16 +-
math/s_cpowl.c | 29 ---
math/s_cproj.c | 44 -----
math/{s_cprojf.c => s_cproj_template.c} | 17 +-
math/s_cprojl.c | 40 ----
math/s_csin.c | 171 ----------------
math/{s_csinf.c => s_csin_template.c} | 77 ++++----
math/s_csinh.c | 166 ----------------
math/{s_csinhf.c => s_csinh_template.c} | 77 ++++----
math/s_csinhl.c | 162 ---------------
math/s_csinl.c | 167 ----------------
math/s_csqrt.c | 165 ----------------
math/{s_csqrtf.c => s_csqrt_template.c} | 103 +++++-----
math/s_csqrtl.c | 161 ---------------
math/s_ctan.c | 129 ------------
math/{s_ctanf.c => s_ctan_template.c} | 67 ++++---
math/s_ctanh.c | 129 ------------
math/{s_ctanhf.c => s_ctanh_template.c} | 67 ++++---
math/s_ctanhl.c | 132 -------------
math/s_ctanl.c | 132 -------------
sysdeps/alpha/fpu/s_cacosf.c | 11 +-
sysdeps/alpha/fpu/s_cacoshf.c | 10 +-
sysdeps/alpha/fpu/s_casinf.c | 12 +-
sysdeps/alpha/fpu/s_casinhf.c | 12 +-
sysdeps/alpha/fpu/s_catanf.c | 12 +-
sysdeps/alpha/fpu/s_catanhf.c | 12 +-
sysdeps/alpha/fpu/s_ccosf.c | 12 +-
sysdeps/alpha/fpu/s_ccoshf.c | 12 +-
sysdeps/alpha/fpu/s_cexpf.c | 12 +-
sysdeps/alpha/fpu/s_clog10f.c | 12 +-
sysdeps/alpha/fpu/s_clogf.c | 12 +-
sysdeps/alpha/fpu/s_cpowf.c | 12 +-
sysdeps/alpha/fpu/s_cprojf.c | 12 +-
sysdeps/alpha/fpu/s_csinf.c | 12 +-
sysdeps/alpha/fpu/s_csinhf.c | 12 +-
sysdeps/alpha/fpu/s_csqrtf.c | 12 +-
sysdeps/alpha/fpu/s_ctanf.c | 12 +-
sysdeps/alpha/fpu/s_ctanhf.c | 12 +-
sysdeps/generic/math-type-macros-double.h | 45 +++++
.../generic/math-type-macros-float.h | 31 ++-
.../generic/math-type-macros-ldouble.h | 27 ++-
sysdeps/generic/math-type-macros.h | 121 ++++++++++++
sysdeps/ieee754/ldbl-opt/cabs.c | 6 -
sysdeps/ieee754/ldbl-opt/cabsl.c | 6 -
sysdeps/ieee754/ldbl-opt/carg.c | 6 -
sysdeps/ieee754/ldbl-opt/cargl.c | 6 -
sysdeps/ieee754/ldbl-opt/cimag.c | 6 -
sysdeps/ieee754/ldbl-opt/cimagl.c | 6 -
sysdeps/ieee754/ldbl-opt/conj.c | 6 -
sysdeps/ieee754/ldbl-opt/conjl.c | 6 -
sysdeps/ieee754/ldbl-opt/creal.c | 6 -
sysdeps/ieee754/ldbl-opt/creall.c | 6 -
sysdeps/ieee754/ldbl-opt/math-type-macros-double.h | 58 ++++++
.../ieee754/ldbl-opt/math-type-macros-ldouble.h | 24 +--
sysdeps/ieee754/ldbl-opt/s_cacos.c | 6 -
sysdeps/ieee754/ldbl-opt/s_cacosh.c | 6 -
sysdeps/ieee754/ldbl-opt/s_cacoshl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_cacosl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_casin.c | 6 -
sysdeps/ieee754/ldbl-opt/s_casinh.c | 6 -
sysdeps/ieee754/ldbl-opt/s_casinhl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_casinl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_catan.c | 6 -
sysdeps/ieee754/ldbl-opt/s_catanh.c | 6 -
sysdeps/ieee754/ldbl-opt/s_catanhl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_catanl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_ccos.c | 6 -
sysdeps/ieee754/ldbl-opt/s_ccosh.c | 6 -
sysdeps/ieee754/ldbl-opt/s_ccoshl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_ccosl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_cexp.c | 6 -
sysdeps/ieee754/ldbl-opt/s_cexpl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_clog.c | 6 -
sysdeps/ieee754/ldbl-opt/s_clog10.c | 7 -
sysdeps/ieee754/ldbl-opt/s_clog10l.c | 37 +++-
sysdeps/ieee754/ldbl-opt/s_clogl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_cpow.c | 6 -
sysdeps/ieee754/ldbl-opt/s_cpowl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_cproj.c | 6 -
sysdeps/ieee754/ldbl-opt/s_cprojl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_csin.c | 6 -
sysdeps/ieee754/ldbl-opt/s_csinh.c | 6 -
sysdeps/ieee754/ldbl-opt/s_csinhl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_csinl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_csqrt.c | 6 -
sysdeps/ieee754/ldbl-opt/s_csqrtl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_ctan.c | 6 -
sysdeps/ieee754/ldbl-opt/s_ctanh.c | 6 -
sysdeps/ieee754/ldbl-opt/s_ctanhl.c | 6 -
sysdeps/ieee754/ldbl-opt/s_ctanl.c | 6 -
.../m680x0/fpu/{s_ccosh.c => s_ccosh_template.c} | 18 +-
sysdeps/m68k/m680x0/fpu/s_ccoshf.c | 3 -
sysdeps/m68k/m680x0/fpu/s_ccoshl.c | 3 -
.../m680x0/fpu/{s_cexp.c => s_cexp_template.c} | 15 +-
sysdeps/m68k/m680x0/fpu/s_cexpf.c | 3 -
sysdeps/m68k/m680x0/fpu/s_cexpl.c | 3 -
.../m680x0/fpu/{s_csin.c => s_csin_template.c} | 18 +-
sysdeps/m68k/m680x0/fpu/s_csinf.c | 3 -
.../m680x0/fpu/{s_csinh.c => s_csinh_template.c} | 17 +-
sysdeps/m68k/m680x0/fpu/s_csinhf.c | 3 -
sysdeps/m68k/m680x0/fpu/s_csinhl.c | 3 -
sysdeps/m68k/m680x0/fpu/s_csinl.c | 3 -
159 files changed, 1578 insertions(+), 6163 deletions(-)
delete mode 100644 math/cabs.c
copy math/{s_cpow.c => cabs_template.c} (78%)
delete mode 100644 math/cabsf.c
delete mode 100644 math/cabsl.c
rename math/{carg.c => carg_template.c} (79%)
delete mode 100644 math/cargf.c
delete mode 100644 math/cargl.c
rename math/{cimag.c => cimag_template.c} (82%)
delete mode 100644 math/cimagf.c
delete mode 100644 math/cimagl.c
rename math/{conj.c => conj_template.c} (81%)
delete mode 100644 math/conjf.c
delete mode 100644 math/conjl.c
rename math/{creal.c => creal_template.c} (82%)
delete mode 100644 math/crealf.c
delete mode 100644 math/creall.c
delete mode 100644 math/k_casinh.c
create mode 100644 math/k_casinh_template.c
delete mode 100644 math/k_casinhf.c
delete mode 100644 math/k_casinhl.c
delete mode 100644 math/s_cacos.c
rename math/{s_cacosf.c => s_cacos_template.c} (76%)
rename math/{s_cacosh.c => s_cacosh_template.c} (65%)
delete mode 100644 math/s_cacoshf.c
delete mode 100644 math/s_cacoshl.c
delete mode 100644 math/s_cacosl.c
delete mode 100644 math/s_casin.c
rename math/{s_casinf.c => s_casin_template.c} (75%)
delete mode 100644 math/s_casinh.c
rename math/{s_casinhf.c => s_casinh_template.c} (70%)
delete mode 100644 math/s_casinhl.c
delete mode 100644 math/s_casinl.c
delete mode 100644 math/s_catan.c
create mode 100644 math/s_catan_template.c
delete mode 100644 math/s_catanf.c
delete mode 100644 math/s_catanh.c
create mode 100644 math/s_catanh_template.c
delete mode 100644 math/s_catanhf.c
delete mode 100644 math/s_catanhl.c
delete mode 100644 math/s_catanl.c
delete mode 100644 math/s_ccos.c
copy math/{s_ccosf.c => s_ccos_template.c} (81%)
delete mode 100644 math/s_ccosh.c
rename math/{s_ccoshf.c => s_ccosh_template.c} (60%)
delete mode 100644 math/s_ccoshl.c
delete mode 100644 math/s_ccosl.c
delete mode 100644 math/s_cexp.c
rename math/{s_cexpf.c => s_cexp_template.c} (69%)
delete mode 100644 math/s_cexpl.c
delete mode 100644 math/s_clog.c
delete mode 100644 math/s_clog10.c
create mode 100644 math/s_clog10_template.c
delete mode 100644 math/s_clog10f.c
delete mode 100644 math/s_clog10l.c
rename math/{s_clogf.c => s_clog_template.c} (51%)
delete mode 100644 math/s_clogl.c
rename math/{s_cpowf.c => s_cpow_template.c} (79%)
delete mode 100644 math/s_cpowl.c
delete mode 100644 math/s_cproj.c
rename math/{s_cprojf.c => s_cproj_template.c} (78%)
delete mode 100644 math/s_cprojl.c
delete mode 100644 math/s_csin.c
rename math/{s_csinf.c => s_csin_template.c} (65%)
delete mode 100644 math/s_csinh.c
rename math/{s_csinhf.c => s_csinh_template.c} (62%)
delete mode 100644 math/s_csinhl.c
delete mode 100644 math/s_csinl.c
delete mode 100644 math/s_csqrt.c
rename math/{s_csqrtf.c => s_csqrt_template.c} (51%)
delete mode 100644 math/s_csqrtl.c
delete mode 100644 math/s_ctan.c
rename math/{s_ctanf.c => s_ctan_template.c} (64%)
delete mode 100644 math/s_ctanh.c
rename math/{s_ctanhf.c => s_ctanh_template.c} (64%)
delete mode 100644 math/s_ctanhl.c
delete mode 100644 math/s_ctanl.c
create mode 100644 sysdeps/generic/math-type-macros-double.h
rename math/s_ccosf.c => sysdeps/generic/math-type-macros-float.h (60%)
copy math/s_cpow.c => sysdeps/generic/math-type-macros-ldouble.h (63%)
create mode 100644 sysdeps/generic/math-type-macros.h
delete mode 100644 sysdeps/ieee754/ldbl-opt/cabs.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/cabsl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/carg.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/cargl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/cimag.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/cimagl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/conj.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/conjl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/creal.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/creall.c
create mode 100644 sysdeps/ieee754/ldbl-opt/math-type-macros-double.h
rename math/s_cpow.c => sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h (63%)
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cacos.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cacosh.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cacoshl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cacosl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_casin.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_casinh.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_casinhl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_casinl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_catan.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_catanh.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_catanhl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_catanl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ccos.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ccosh.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ccoshl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ccosl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cexp.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cexpl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_clog.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_clog10.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_clogl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cpow.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cpowl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cproj.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cprojl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_csin.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_csinh.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_csinhl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_csinl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_csqrt.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_csqrtl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ctan.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ctanh.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ctanhl.c
delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ctanl.c
rename sysdeps/m68k/m680x0/fpu/{s_ccosh.c => s_ccosh_template.c} (87%)
delete mode 100644 sysdeps/m68k/m680x0/fpu/s_ccoshf.c
delete mode 100644 sysdeps/m68k/m680x0/fpu/s_ccoshl.c
rename sysdeps/m68k/m680x0/fpu/{s_cexp.c => s_cexp_template.c} (94%)
delete mode 100644 sysdeps/m68k/m680x0/fpu/s_cexpf.c
delete mode 100644 sysdeps/m68k/m680x0/fpu/s_cexpl.c
rename sysdeps/m68k/m680x0/fpu/{s_csin.c => s_csin_template.c} (86%)
delete mode 100644 sysdeps/m68k/m680x0/fpu/s_csinf.c
rename sysdeps/m68k/m680x0/fpu/{s_csinh.c => s_csinh_template.c} (88%)
delete mode 100644 sysdeps/m68k/m680x0/fpu/s_csinhf.c
delete mode 100644 sysdeps/m68k/m680x0/fpu/s_csinhl.c
delete mode 100644 sysdeps/m68k/m680x0/fpu/s_csinl.c
--
2.4.11