diff options
author | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-06-28 08:49:23 -0500 |
---|---|---|
committer | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-08-19 16:46:41 -0500 |
commit | c50eee19c447d3f2c182dc3a22f2b01a053dca41 (patch) | |
tree | 3b5f0d5c832bad20fce31502026f27fd6915ea8f /sysdeps | |
parent | ffb84f5e197aaa9d46a35df84689c75d689d73cb (diff) | |
download | glibc-c50eee19c447d3f2c182dc3a22f2b01a053dca41.tar.gz glibc-c50eee19c447d3f2c182dc3a22f2b01a053dca41.tar.xz glibc-c50eee19c447d3f2c182dc3a22f2b01a053dca41.zip |
Convert _Complex sine functions to generated code
Refactor s_c{,a}sin{,h}{f,,l} into a single templated macro.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/alpha/fpu/s_casinf.c | 12 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_casinhf.c | 12 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_csinf.c | 12 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_csinhf.c | 12 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_casin.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_casinh.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_casinhl.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_casinl.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_csin.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_csinh.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_csinhl.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_csinl.c | 6 | ||||
-rw-r--r-- | sysdeps/m68k/m680x0/fpu/s_csin_template.c (renamed from sysdeps/m68k/m680x0/fpu/s_csin.c) | 18 | ||||
-rw-r--r-- | sysdeps/m68k/m680x0/fpu/s_csinf.c | 3 | ||||
-rw-r--r-- | sysdeps/m68k/m680x0/fpu/s_csinh_template.c (renamed from sysdeps/m68k/m680x0/fpu/s_csinh.c) | 17 | ||||
-rw-r--r-- | sysdeps/m68k/m680x0/fpu/s_csinhf.c | 3 | ||||
-rw-r--r-- | sysdeps/m68k/m680x0/fpu/s_csinhl.c | 3 | ||||
-rw-r--r-- | sysdeps/m68k/m680x0/fpu/s_csinl.c | 3 |
18 files changed, 42 insertions, 101 deletions
diff --git a/sysdeps/alpha/fpu/s_casinf.c b/sysdeps/alpha/fpu/s_casinf.c index f85f524c48..08d0a6d167 100644 --- a/sysdeps/alpha/fpu/s_casinf.c +++ b/sysdeps/alpha/fpu/s_casinf.c @@ -24,14 +24,18 @@ #undef __casinf #undef casinf -#define __casinf internal_casinf static _Complex float internal_casinf (_Complex float x); -#include <math/s_casinf.c> -#include "cfloat-compat.h" +#define M_DECL_FUNC(f) internal_casinf +#include <math-type-macros-float.h> -#undef __casinf +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_casin_template.c> +#include "cfloat-compat.h" c1_cfloat_rettype __c1_casinf (c1_cfloat_decl (x)) diff --git a/sysdeps/alpha/fpu/s_casinhf.c b/sysdeps/alpha/fpu/s_casinhf.c index 720294ea00..11faf9a0ab 100644 --- a/sysdeps/alpha/fpu/s_casinhf.c +++ b/sysdeps/alpha/fpu/s_casinhf.c @@ -24,14 +24,18 @@ #undef __casinhf #undef casinhf -#define __casinhf internal_casinhf static _Complex float internal_casinhf (_Complex float x); -#include <math/s_casinhf.c> -#include "cfloat-compat.h" +#define M_DECL_FUNC(f) internal_casinhf +#include <math-type-macros-float.h> -#undef __casinhf +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_casinh_template.c> +#include "cfloat-compat.h" c1_cfloat_rettype __c1_casinhf (c1_cfloat_decl (x)) diff --git a/sysdeps/alpha/fpu/s_csinf.c b/sysdeps/alpha/fpu/s_csinf.c index abe2d3ab45..fc49244c10 100644 --- a/sysdeps/alpha/fpu/s_csinf.c +++ b/sysdeps/alpha/fpu/s_csinf.c @@ -24,14 +24,18 @@ #undef __csinf #undef csinf -#define __csinf internal_csinf static _Complex float internal_csinf (_Complex float x); -#include <math/s_csinf.c> -#include "cfloat-compat.h" +#define M_DECL_FUNC(f) internal_csinf +#include <math-type-macros-float.h> -#undef __csinf +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_csin_template.c> +#include "cfloat-compat.h" c1_cfloat_rettype __c1_csinf (c1_cfloat_decl (x)) diff --git a/sysdeps/alpha/fpu/s_csinhf.c b/sysdeps/alpha/fpu/s_csinhf.c index a6d470a438..6263cd04f0 100644 --- a/sysdeps/alpha/fpu/s_csinhf.c +++ b/sysdeps/alpha/fpu/s_csinhf.c @@ -24,14 +24,18 @@ #undef __csinhf #undef csinhf -#define __csinhf internal_csinhf static _Complex float internal_csinhf (_Complex float x); -#include <math/s_csinhf.c> -#include "cfloat-compat.h" +#define M_DECL_FUNC(f) internal_csinhf +#include <math-type-macros-float.h> -#undef __csinhf +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_csinh_template.c> +#include "cfloat-compat.h" c1_cfloat_rettype __c1_csinhf (c1_cfloat_decl (x)) diff --git a/sysdeps/ieee754/ldbl-opt/s_casin.c b/sysdeps/ieee754/ldbl-opt/s_casin.c deleted file mode 100644 index 04c47ca602..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_casin.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_casin.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __casin, casinl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_casinh.c b/sysdeps/ieee754/ldbl-opt/s_casinh.c deleted file mode 100644 index 19c4fa30f8..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_casinh.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_casinh.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __casinh, casinhl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_casinhl.c b/sysdeps/ieee754/ldbl-opt/s_casinhl.c deleted file mode 100644 index 976fa8e5b0..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_casinhl.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_casinhl.c> -long_double_symbol (libm, __casinhl, casinhl); diff --git a/sysdeps/ieee754/ldbl-opt/s_casinl.c b/sysdeps/ieee754/ldbl-opt/s_casinl.c deleted file mode 100644 index 7afb77cd4d..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_casinl.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_casinl.c> -long_double_symbol (libm, __casinl, casinl); diff --git a/sysdeps/ieee754/ldbl-opt/s_csin.c b/sysdeps/ieee754/ldbl-opt/s_csin.c deleted file mode 100644 index 7017c95450..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_csin.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_csin.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __csin, csinl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_csinh.c b/sysdeps/ieee754/ldbl-opt/s_csinh.c deleted file mode 100644 index a1fa6671db..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_csinh.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_csinh.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __csinh, csinhl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_csinhl.c b/sysdeps/ieee754/ldbl-opt/s_csinhl.c deleted file mode 100644 index 484d466ce8..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_csinhl.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_csinhl.c> -long_double_symbol (libm, __csinhl, csinhl); diff --git a/sysdeps/ieee754/ldbl-opt/s_csinl.c b/sysdeps/ieee754/ldbl-opt/s_csinl.c deleted file mode 100644 index f71642e886..0000000000 --- a/sysdeps/ieee754/ldbl-opt/s_csinl.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_csinl.c> -long_double_symbol (libm, __csinl, csinl); diff --git a/sysdeps/m68k/m680x0/fpu/s_csin.c b/sysdeps/m68k/m680x0/fpu/s_csin_template.c index b8419be897..628d0d519b 100644 --- a/sysdeps/m68k/m680x0/fpu/s_csin.c +++ b/sysdeps/m68k/m680x0/fpu/s_csin_template.c @@ -21,27 +21,19 @@ #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(__csin) (__complex__ float_type x) +CFLOAT +s(__csin) (CFLOAT x) { - __complex__ float_type retval; + CFLOAT retval; unsigned long rx_cond = __m81_test (__real__ x); if ((rx_cond & (__M81_COND_INF|__M81_COND_NAN)) == 0) { /* Real part is finite. */ - float_type sin_rx, cos_rx; + FLOAT sin_rx, cos_rx; __asm ("fsincos%.x %2,%1:%0" : "=f" (sin_rx), "=f" (cos_rx) : "f" (__real__ x)); diff --git a/sysdeps/m68k/m680x0/fpu/s_csinf.c b/sysdeps/m68k/m680x0/fpu/s_csinf.c deleted file mode 100644 index b760e192c3..0000000000 --- a/sysdeps/m68k/m680x0/fpu/s_csinf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <s_csin.c> diff --git a/sysdeps/m68k/m680x0/fpu/s_csinh.c b/sysdeps/m68k/m680x0/fpu/s_csinh_template.c index c633cd8875..56f3babd95 100644 --- a/sysdeps/m68k/m680x0/fpu/s_csinh.c +++ b/sysdeps/m68k/m680x0/fpu/s_csinh_template.c @@ -21,21 +21,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(__csinh) (__complex__ float_type x) +CFLOAT +s(__csinh) (CFLOAT x) { - __complex__ float_type retval; + CFLOAT retval; unsigned long ix_cond; ix_cond = __m81_test (__imag__ x); @@ -43,7 +36,7 @@ s(__csinh) (__complex__ float_type x) if ((ix_cond & (__M81_COND_INF|__M81_COND_NAN)) == 0) { /* Imaginary part is finite. */ - float_type sin_ix, cos_ix; + FLOAT sin_ix, cos_ix; __asm ("fsincos%.x %2,%1:%0" : "=f" (sin_ix), "=f" (cos_ix) : "f" (__imag__ x)); diff --git a/sysdeps/m68k/m680x0/fpu/s_csinhf.c b/sysdeps/m68k/m680x0/fpu/s_csinhf.c deleted file mode 100644 index 2f7a43e6a8..0000000000 --- a/sysdeps/m68k/m680x0/fpu/s_csinhf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <s_csinh.c> diff --git a/sysdeps/m68k/m680x0/fpu/s_csinhl.c b/sysdeps/m68k/m680x0/fpu/s_csinhl.c deleted file mode 100644 index 026a20e7be..0000000000 --- a/sysdeps/m68k/m680x0/fpu/s_csinhl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <s_csinh.c> diff --git a/sysdeps/m68k/m680x0/fpu/s_csinl.c b/sysdeps/m68k/m680x0/fpu/s_csinl.c deleted file mode 100644 index ea2dad0556..0000000000 --- a/sysdeps/m68k/m680x0/fpu/s_csinl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <s_csin.c> |