From 5a80d39d0d2587e9bd8e72f19e92eeb2a66fbe9e Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 1 Sep 2017 21:13:18 +0000 Subject: Obsolete pow10 functions. This patch obsoletes the pow10, pow10f and pow10l functions (makes them into compat symbols, not available for new ports or static linking). The exp10 names for these functions are standardized (in TS 18661-4) and were added in the same glibc version (2.1) as pow10 so source code can change to use them without any loss of portability. Since pow10 is deliberately not provided for _Float128, only exp10, this slightly simplifies moving to the new wrapper templates in the !LIBM_SVID_COMPAT case, by avoiding needing to arrange for pow10, pow10f and pow10l to be defined by those templates. Tested for x86_64, and with build-many-glibcs.py. * manual/math.texi (pow10): Do not document. (pow10f): Likewise. (pow10l): Likewise. * math/bits/mathcalls.h [__USE_GNU] (pow10): Do not declare. * math/bits/math-finite.h [__USE_GNU] (pow10): Likewise. * math/libm-test-exp10.inc (pow10_test): Remove. (do_test): Do not call pow10. * math/w_exp10_compat.c (pow10): Make into compat symbol. [NO_LONG_DOUBLE] (pow10l): Likewise. * math/w_exp10f_compat.c (pow10f): Likewise. * math/w_exp10l_compat.c (pow10l): Likewise. * sysdeps/ia64/fpu/e_exp10.S: Include . (pow10): Make into compat symbol. * sysdeps/ia64/fpu/e_exp10f.S: Include . (pow10f): Make into compat symbol. * sysdeps/ia64/fpu/e_exp10l.S: Include . (pow10l): Make into compat symbol. * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Remove pow10. (CFLAGS-nldbl-pow10.c): Remove variable.. * sysdeps/ieee754/ldbl-opt/nldbl-pow10.c: Remove file. * sysdeps/ieee754/ldbl-opt/w_exp10_compat.c (pow10l): Condition on [SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)]. * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c (compat_symbol): Undefine and redefine. (pow10l): Make into compat symbol. * sysdeps/aarch64/libm-test-ulps: Remove pow10 ulps. * sysdeps/alpha/fpu/libm-test-ulps: Likewise. * sysdeps/arm/libm-test-ulps: Likewise. * sysdeps/hppa/fpu/libm-test-ulps: Likewise. * sysdeps/i386/fpu/libm-test-ulps: Likewise. * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. * sysdeps/microblaze/libm-test-ulps: Likewise. * sysdeps/mips/mips32/libm-test-ulps: Likewise. * sysdeps/mips/mips64/libm-test-ulps: Likewise. * sysdeps/nios2/libm-test-ulps: Likewise. * sysdeps/powerpc/fpu/libm-test-ulps: Likewise. * sysdeps/powerpc/nofpu/libm-test-ulps: Likewise. * sysdeps/s390/fpu/libm-test-ulps: Likewise. * sysdeps/sh/libm-test-ulps: Likewise. * sysdeps/sparc/fpu/libm-test-ulps: Likewise. * sysdeps/tile/libm-test-ulps: Likewise. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. --- manual/math.texi | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'manual') diff --git a/manual/math.texi b/manual/math.texi index d58b0e531d..f5602c9be3 100644 --- a/manual/math.texi +++ b/manual/math.texi @@ -490,22 +490,14 @@ Mathematically, @code{exp2 (x)} is the same as @code{exp (x * log (2))}. @deftypefunx {long double} exp10l (long double @var{x}) @deftypefunx _FloatN exp10fN (_Float@var{N} @var{x}) @deftypefunx _FloatNx exp10fNx (_Float@var{N}x @var{x}) -@deftypefunx double pow10 (double @var{x}) -@deftypefunx float pow10f (float @var{x}) -@deftypefunx {long double} pow10l (long double @var{x}) @standards{ISO, math.h} @standardsx{exp10fN, TS 18661-4:2015, math.h} @standardsx{exp10fNx, TS 18661-4:2015, math.h} -@standardsx{pow10, GNU, math.h} -@standardsx{pow10f, GNU, math.h} -@standardsx{pow10l, GNU, math.h} @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} These functions compute @code{10} raised to the power @var{x}. Mathematically, @code{exp10 (x)} is the same as @code{exp (x * log (10))}. -The @code{exp10} functions are from TS 18661-4:2015; the @code{pow10} -names are GNU extensions. The name @code{exp10} is -preferred, since it is analogous to @code{exp} and @code{exp2}. +The @code{exp10} functions are from TS 18661-4:2015. @end deftypefun -- cgit 1.4.1