diff options
Diffstat (limited to 'sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c')
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c index 6da4f118a3..ddc4289d9b 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c @@ -1,5 +1,5 @@ /* Total order operation on absolute values. dbl-64/wordsize-64 version. - Copyright (C) 2016-2018 Free Software Foundation, Inc. + Copyright (C) 2016-2019 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 @@ -14,20 +14,22 @@ 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/>. */ + <https://www.gnu.org/licenses/>. */ #include <math.h> #include <math_private.h> #include <nan-high-order-bit.h> #include <libm-alias-double.h> #include <stdint.h> +#include <shlib-compat.h> +#include <first-versions.h> int -__totalordermag (double x, double y) +__totalordermag (const double *x, const double *y) { uint64_t ix, iy; - EXTRACT_WORDS64 (ix, x); - EXTRACT_WORDS64 (iy, y); + EXTRACT_WORDS64 (ix, *x); + EXTRACT_WORDS64 (iy, *y); ix &= 0x7fffffffffffffffULL; iy &= 0x7fffffffffffffffULL; #if HIGH_ORDER_BIT_IS_SET_FOR_SNAN @@ -43,4 +45,29 @@ __totalordermag (double x, double y) #endif return ix <= iy; } +#ifdef SHARED +# define CONCATX(x, y) x ## y +# define CONCAT(x, y) CONCATX (x, y) +# define UNIQUE_ALIAS(name) CONCAT (name, __COUNTER__) +# define do_symbol(orig_name, name, aliasname) \ + strong_alias (orig_name, name) \ + versioned_symbol (libm, name, aliasname, GLIBC_2_31) +# undef weak_alias +# define weak_alias(name, aliasname) \ + do_symbol (name, UNIQUE_ALIAS (name), aliasname); +#endif libm_alias_double (__totalordermag, totalordermag) +#if SHLIB_COMPAT (libm, GLIBC_2_25, GLIBC_2_31) +int +attribute_compat_text_section +__totalordermag_compat (double x, double y) +{ + return __totalordermag (&x, &y); +} +#undef do_symbol +#define do_symbol(orig_name, name, aliasname) \ + strong_alias (orig_name, name) \ + compat_symbol (libm, name, aliasname, \ + CONCAT (FIRST_VERSION_libm_, aliasname)) +libm_alias_double (__totalordermag_compat, totalordermag) +#endif |