diff options
author | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-06-28 14:28:04 -0500 |
---|---|---|
committer | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-08-29 12:43:38 -0500 |
commit | feb62ddacb7b1d772d7383de0228a3977f07fc1e (patch) | |
tree | 963280635eb242a98f191744c196d55fadc2550f /sysdeps | |
parent | 1dbc54f61e281d3f2c1712dadd12864c42f8a64a (diff) | |
download | glibc-feb62ddacb7b1d772d7383de0228a3977f07fc1e.tar.gz glibc-feb62ddacb7b1d772d7383de0228a3977f07fc1e.tar.xz glibc-feb62ddacb7b1d772d7383de0228a3977f07fc1e.zip |
Convert remaining complex function to generated files
Convert cpow, clog, clog10, cexp, csqrt, and cproj functions into generated templates. Note, ldbl-opt still retains s_clog10l.c as the aliasing rules are non-trivial.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/alpha/fpu/s_cexpf.c | 12 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_clog10f.c | 12 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_clogf.c | 12 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_cpowf.c | 12 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_cprojf.c | 12 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_csqrtf.c | 12 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_cexp.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_cexpl.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_clog.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_clog10.c | 7 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_clog10l.c | 35 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_clogl.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_cpow.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_cpowl.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_cproj.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_cprojl.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_csqrt.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_csqrtl.c | 6 | ||||
-rw-r--r-- | sysdeps/m68k/m680x0/fpu/s_cexp_template.c (renamed from sysdeps/m68k/m680x0/fpu/s_cexp.c) | 15 | ||||
-rw-r--r-- | sysdeps/m68k/m680x0/fpu/s_cexpf.c | 3 | ||||
-rw-r--r-- | sysdeps/m68k/m680x0/fpu/s_cexpl.c | 3 |
21 files changed, 80 insertions, 115 deletions
diff --git a/sysdeps/alpha/fpu/s_cexpf.c b/sysdeps/alpha/fpu/s_cexpf.c index 2ae519c687..d5b53eb5f6 100644 --- a/sysdeps/alpha/fpu/s_cexpf.c +++ b/sysdeps/alpha/fpu/s_cexpf.c @@ -24,14 +24,18 @@ #undef __cexpf #undef cexpf -#define __cexpf internal_cexpf static _Complex float internal_cexpf (_Complex float x); -#include <math/s_cexpf.c> -#include "cfloat-compat.h" +#define M_DECL_FUNC(f) internal_cexpf +#include <math-type-macros-float.h> -#undef __cexpf +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_cexp_template.c> +#include "cfloat-compat.h" c1_cfloat_rettype __c1_cexpf (c1_cfloat_decl (x)) diff --git a/sysdeps/alpha/fpu/s_clog10f.c b/sysdeps/alpha/fpu/s_clog10f.c index 1ab0730e0e..c46f28819c 100644 --- a/sysdeps/alpha/fpu/s_clog10f.c +++ b/sysdeps/alpha/fpu/s_clog10f.c @@ -24,14 +24,18 @@ #undef __clog10f #undef clog10f -#define __clog10f internal_clog10f static _Complex float internal_clog10f (_Complex float x); -#include <math/s_clog10f.c> -#include "cfloat-compat.h" +#define M_DECL_FUNC(f) internal_clog10f +#include <math-type-macros-float.h> -#undef __clog10f +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_clog10_template.c> +#include "cfloat-compat.h" c1_cfloat_rettype __c1_clog10f (c1_cfloat_decl (x)) diff --git a/sysdeps/alpha/fpu/s_clogf.c b/sysdeps/alpha/fpu/s_clogf.c index 185948f650..492a305c03 100644 --- a/sysdeps/alpha/fpu/s_clogf.c +++ b/sysdeps/alpha/fpu/s_clogf.c @@ -24,14 +24,18 @@ #undef __clogf #undef clogf -#define __clogf internal_clogf static _Complex float internal_clogf (_Complex float x); -#include <math/s_clogf.c> -#include "cfloat-compat.h" +#define M_DECL_FUNC(f) internal_clogf +#include <math-type-macros-float.h> -#undef __clogf +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_clog_template.c> +#include "cfloat-compat.h" c1_cfloat_rettype __c1_clogf (c1_cfloat_decl (x)) diff --git a/sysdeps/alpha/fpu/s_cpowf.c b/sysdeps/alpha/fpu/s_cpowf.c index 686c3971f9..4235fe2993 100644 --- a/sysdeps/alpha/fpu/s_cpowf.c +++ b/sysdeps/alpha/fpu/s_cpowf.c @@ -24,14 +24,18 @@ #undef __cpowf #undef cpowf -#define __cpowf internal_cpowf static _Complex float internal_cpowf (_Complex float x, _Complex float c); -#include <math/s_cpowf.c> -#include "cfloat-compat.h" +#define M_DECL_FUNC(f) internal_cpowf +#include <math-type-macros-float.h> -#undef __cpowf +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_cpow_template.c> +#include "cfloat-compat.h" c1_cfloat_rettype __c1_cpowf (c1_cfloat_decl (x), c1_cfloat_decl (c)) diff --git a/sysdeps/alpha/fpu/s_cprojf.c b/sysdeps/alpha/fpu/s_cprojf.c index 30a24a8910..3c4e9e918c 100644 --- a/sysdeps/alpha/fpu/s_cprojf.c +++ b/sysdeps/alpha/fpu/s_cprojf.c @@ -24,14 +24,18 @@ #undef __cprojf #undef cprojf -#define __cprojf internal_cprojf static _Complex float internal_cprojf (_Complex float x); -#include <math/s_cprojf.c> -#include "cfloat-compat.h" +#define M_DECL_FUNC(f) internal_cprojf +#include <math-type-macros-float.h> -#undef __cprojf +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_cproj_template.c> +#include "cfloat-compat.h" c1_cfloat_rettype __c1_cprojf (c1_cfloat_decl (x)) diff --git a/sysdeps/alpha/fpu/s_csqrtf.c b/sysdeps/alpha/fpu/s_csqrtf.c index c7a18d75d7..d2f32b9ff0 100644 --- a/sysdeps/alpha/fpu/s_csqrtf.c +++ b/sysdeps/alpha/fpu/s_csqrtf.c @@ -24,14 +24,18 @@ #undef __csqrtf #undef csqrtf -#define __csqrtf internal_csqrtf static _Complex float internal_csqrtf (_Complex float x); -#include <math/s_csqrtf.c> -#include "cfloat-compat.h" +#define M_DECL_FUNC(f) internal_csqrtf +#include <math-type-macros-float.h> -#undef __csqrtf +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_csqrt_template.c> +#include "cfloat-compat.h" c1_cfloat_rettype __c1_csqrtf (c1_cfloat_decl (x)) diff --git a/sysdeps/ieee754/ldbl-opt/s_cexp.c b/sysdeps/ieee754/ldbl-opt/s_cexp.c deleted file mode 100644 index d983c96b7b..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_cexp.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_cexp.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __cexp, cexpl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cexpl.c b/sysdeps/ieee754/ldbl-opt/s_cexpl.c deleted file mode 100644 index d5ae1fc0d0..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_cexpl.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/s_cexpl.c> -long_double_symbol (libm, __cexpl, cexpl); diff --git a/sysdeps/ieee754/ldbl-opt/s_clog.c b/sysdeps/ieee754/ldbl-opt/s_clog.c deleted file mode 100644 index 3e0e90cf89..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_clog.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_clog.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __clog, clogl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_clog10.c b/sysdeps/ieee754/ldbl-opt/s_clog10.c deleted file mode 100644 index ac3f4a3a71..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_clog10.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_clog10.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __clog10, __clog10l, GLIBC_2_1); -compat_symbol (libm, clog10, clog10l, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_clog10l.c b/sysdeps/ieee754/ldbl-opt/s_clog10l.c index 954f68095a..6ebd6dd72d 100644 --- a/sysdeps/ieee754/ldbl-opt/s_clog10l.c +++ b/sysdeps/ieee754/ldbl-opt/s_clog10l.c @@ -1,10 +1,31 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#define __clog10l __clog10l_internal -#include <math/s_clog10l.c> -#undef __clog10l +/* clog10l alias overrides for platforms where long double + was previously not unique. + Copyright (C) 2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#define M_DECL_FUNC(x) __clog10l_internal +#include <math-type-macros-ldouble.h> + +#undef declare_mgen_alias +#define declare_mgen_alias(from, to) + +#include <s_clog10_template.c> + +/* __clog10l is also a public symbol. */ strong_alias (__clog10l_internal, __clog10l__internal) long_double_symbol (libm, __clog10l_internal, __clog10l); long_double_symbol (libm, __clog10l__internal, clog10l); diff --git a/sysdeps/ieee754/ldbl-opt/s_clogl.c b/sysdeps/ieee754/ldbl-opt/s_clogl.c deleted file mode 100644 index 75126c8b89..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_clogl.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/s_clogl.c> -long_double_symbol (libm, __clogl, clogl); diff --git a/sysdeps/ieee754/ldbl-opt/s_cpow.c b/sysdeps/ieee754/ldbl-opt/s_cpow.c deleted file mode 100644 index 4801d7cdf9..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_cpow.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_cpow.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __cpow, cpowl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cpowl.c b/sysdeps/ieee754/ldbl-opt/s_cpowl.c deleted file mode 100644 index 61840e3381..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_cpowl.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/s_cpowl.c> -long_double_symbol (libm, __cpowl, cpowl); diff --git a/sysdeps/ieee754/ldbl-opt/s_cproj.c b/sysdeps/ieee754/ldbl-opt/s_cproj.c deleted file mode 100644 index f298c3795a..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_cproj.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_cproj.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __cproj, cprojl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cprojl.c b/sysdeps/ieee754/ldbl-opt/s_cprojl.c deleted file mode 100644 index 1cc058007e..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_cprojl.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/s_cprojl.c> -long_double_symbol (libm, __cprojl, cprojl); diff --git a/sysdeps/ieee754/ldbl-opt/s_csqrt.c b/sysdeps/ieee754/ldbl-opt/s_csqrt.c deleted file mode 100644 index 2b6dcfe010..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_csqrt.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_csqrt.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __csqrt, csqrtl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_csqrtl.c b/sysdeps/ieee754/ldbl-opt/s_csqrtl.c deleted file mode 100644 index 045ff93e43..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_csqrtl.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/s_csqrtl.c> -long_double_symbol (libm, __csqrtl, csqrtl); diff --git a/sysdeps/m68k/m680x0/fpu/s_cexp.c b/sysdeps/m68k/m680x0/fpu/s_cexp_template.c index f715b77d2d..828ac6c9e9 100644 --- a/sysdeps/m68k/m680x0/fpu/s_cexp.c +++ b/sysdeps/m68k/m680x0/fpu/s_cexp_template.c @@ -22,21 +22,14 @@ #include <math.h> #include "mathimpl.h" -#ifndef SUFF -#define SUFF -#endif -#ifndef float_type -#define float_type double -#endif - #define CONCATX(a,b) __CONCAT(a,b) -#define s(name) CONCATX(name,SUFF) +#define s(name) M_SUF (name) #define m81(func) __m81_u(s(func)) -__complex__ float_type -s(__cexp) (__complex__ float_type x) +CFLOAT +s(__cexp) (CFLOAT x) { - __complex__ float_type retval; + CFLOAT retval; unsigned long ix_cond; ix_cond = __m81_test (__imag__ x); diff --git a/sysdeps/m68k/m680x0/fpu/s_cexpf.c b/sysdeps/m68k/m680x0/fpu/s_cexpf.c deleted file mode 100644 index 177a360f9b..0000000000 --- a/sysdeps/m68k/m680x0/fpu/s_cexpf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <s_cexp.c> diff --git a/sysdeps/m68k/m680x0/fpu/s_cexpl.c b/sysdeps/m68k/m680x0/fpu/s_cexpl.c deleted file mode 100644 index bbda4ba990..0000000000 --- a/sysdeps/m68k/m680x0/fpu/s_cexpl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <s_cexp.c> |