diff options
author | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-08-24 16:05:28 -0500 |
---|---|---|
committer | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-09-01 09:31:03 -0500 |
commit | ee8a49071cba845b2ee5060b0d4238f9534b5ee3 (patch) | |
tree | 7b15c9a6d0d64c04966a7ddf5bc23e0e57117a25 /math | |
parent | 7b7c39450b3c4ab35b4960346e61d7b177ee728e (diff) | |
download | glibc-ee8a49071cba845b2ee5060b0d4238f9534b5ee3.tar.gz glibc-ee8a49071cba845b2ee5060b0d4238f9534b5ee3.tar.xz glibc-ee8a49071cba845b2ee5060b0d4238f9534b5ee3.zip |
Make common nextdown implementation generic.
With the exception of those machines using the ldbl-opt in an Implies file, this is a trivial transformation. nextdownl is not subject to the non-trivial versioning rules of the other generated functions, so to keep things simple, it is handled as a one-off case in ldbl-opt to preserve the existing behavior.
Diffstat (limited to 'math')
-rw-r--r-- | math/Makefile | 4 | ||||
-rw-r--r-- | math/s_nextdown.c | 33 | ||||
-rw-r--r-- | math/s_nextdown_template.c (renamed from math/s_nextdownf.c) | 8 | ||||
-rw-r--r-- | math/s_nextdownl.c | 29 |
4 files changed, 6 insertions, 68 deletions
diff --git a/math/Makefile b/math/Makefile index d4b6d98740..be6b8acf87 100644 --- a/math/Makefile +++ b/math/Makefile @@ -49,7 +49,7 @@ gen-libm-calls = cargF conjF cimagF crealF cabsF s_cacosF \ s_cacoshF s_ccosF s_ccoshF s_casinF s_csinF s_casinhF \ k_casinhF s_csinhF k_casinhF s_csinhF s_catanhF s_catanF \ s_ctanF s_ctanhF s_cexpF s_clogF s_cprojF s_csqrtF \ - s_cpowF s_clog10F s_fdimF + s_cpowF s_clog10F s_fdimF s_nextdownF libm-calls = \ e_acosF e_acoshF e_asinF e_atan2F e_atanhF e_coshF e_expF e_fmodF \ @@ -70,7 +70,7 @@ libm-calls = \ s_fmaF s_lrintF s_llrintF s_lroundF s_llroundF e_exp10F w_log2F \ s_issignalingF $(calls:s_%=m_%) x2y2m1F \ gamma_productF lgamma_negF lgamma_productF \ - s_nextupF s_nextdownF $(gen-libm-calls) + s_nextupF $(gen-libm-calls) libm-compat-calls-ldouble-yes = w_lgamma_compatl k_standardl libm-compat-calls = w_lgamma_compatf w_lgamma_compat k_standard k_standardf \ diff --git a/math/s_nextdown.c b/math/s_nextdown.c deleted file mode 100644 index 06fd1c9b12..0000000000 --- a/math/s_nextdown.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Return the greatest floating-point number less than X. - 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/>. */ - -#include <math.h> -#include <math_private.h> - -/* Return the greatest floating-point number less than X. */ -double -__nextdown (double x) -{ - return -__nextup (-x); -} - -weak_alias (__nextdown, nextdown) -#ifdef NO_LONG_DOUBLE -strong_alias (__nextdown, __nextdownl) -weak_alias (__nextdown, nextdownl) -#endif diff --git a/math/s_nextdownf.c b/math/s_nextdown_template.c index c0d4585b7f..f286dfdaac 100644 --- a/math/s_nextdownf.c +++ b/math/s_nextdown_template.c @@ -20,10 +20,10 @@ #include <math_private.h> /* Return the greatest floating-point number less than X. */ -float -__nextdownf (float x) +FLOAT +M_DECL_FUNC (__nextdown) (FLOAT x) { - return -__nextupf (-x); + return -M_SUF (__nextup) (-x); } -weak_alias (__nextdownf, nextdownf) +declare_mgen_alias (__nextdown, nextdown); diff --git a/math/s_nextdownl.c b/math/s_nextdownl.c deleted file mode 100644 index e7607f5ad0..0000000000 --- a/math/s_nextdownl.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Return the greatest floating-point number less than X. - 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/>. */ - -#include <math.h> -#include <math_private.h> - -/* Return the greatest floating-point number less than X. */ -long double -__nextdownl (long double x) -{ - return -__nextupl (-x); -} - -weak_alias (__nextdownl, nextdownl) |