@@ -58,6 +58,8 @@ Version 2.25
- Total order functions: totalorder, totalorderf, totalorderl,
totalordermag, totalordermagf, totalordermagl.
+ - NaN functions: getpayload, getpayloadf, getpayloadl.
+
* The <sys/quota.h> header now includes the <linux/quota.h> header. Support
for the Linux quota interface which predates kernel version 2.4.22 has
been removed.
@@ -1854,6 +1854,26 @@ The argument @var{tagp} is used in an unspecified manner. On @w{IEEE
selects one. On other systems it may do nothing.
@end deftypefun
+@comment math.h
+@comment ISO
+@deftypefun double getpayload (const double *@var{x})
+@comment math.h
+@comment ISO
+@deftypefunx float getpayloadf (const float *@var{x})
+@comment math.h
+@comment ISO
+@deftypefunx {long double} getpayloadl (const long double *@var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+IEEE 754 defines the @dfn{payload} of a NaN to be an integer value
+encoded in the representation of the NaN. Payloads are typically
+propagated from NaN inputs to the result of a floating-point
+operation. These functions, defined by TS 18661-1:2014, return the
+payload of the NaN pointed to by @var{x} (returned as a positive
+integer, or positive zero, represented as a floating-point number); if
+@var{x} is not a NaN, they return an unspecified value. They raise no
+floating-point exceptions even for signaling NaNs.
+@end deftypefun
+
@node FP Comparison Functions
@subsection Floating-Point Comparison Functions
@cindex unordered comparison
@@ -77,9 +77,10 @@ use vars qw (%results @all_floats %suffices @all_functions);
"nextup", "pow", "remainder", "remquo", "rint", "round", "scalb",
"scalbn", "sin", "sincos", "sinh", "sqrt", "tan", "tanh", "tgamma",
"trunc", "y0", "y1", "yn" );
-# fpclassify, iscanonical, isnormal, isfinite, isinf, isnan, issignaling,
-# issubnormal, iszero, signbit, iseqsig, isgreater, isgreaterequal, isless,
-# islessequal, islessgreater, isunordered, totalorder, totalordermag
+# fpclassify, getpayload, iscanonical, isnormal, isfinite, isinf, isnan,
+# issignaling, issubnormal, iszero, signbit, iseqsig, isgreater,
+# isgreaterequal, isless, islessequal, islessgreater, isunordered,
+# totalorder, totalordermag
# are not tabulated.
if ($#ARGV == 0) {
@@ -72,7 +72,8 @@ 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_totalorderF s_totalordermagF $(gen-libm-calls)
+ s_nextupF s_totalorderF s_totalordermagF s_getpayloadF \
+ $(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 \
@@ -219,5 +219,6 @@ libm {
__iscanonicall; __iseqsigf; __iseqsig; __iseqsigl;
totalorder; totalorderf; totalorderl;
totalordermag; totalordermagf; totalordermagl;
+ getpayload; getpayloadf; getpayloadl;
}
}
@@ -394,6 +394,9 @@ __MATHDECL_1 (int, totalorder,, (_Mdouble_ __x, _Mdouble_ __y))
/* Total order operation on absolute values. */
__MATHDECL_1 (int, totalordermag,, (_Mdouble_ __x, _Mdouble_ __y))
__attribute__ ((__const__));
+
+/* Get NaN payload. */
+__MATHCALL (getpayload,, (const _Mdouble_ *__x));
#endif
#if defined __USE_MISC || (defined __USE_XOPEN_EXTENDED \
@@ -229,6 +229,10 @@ sub parse_args {
++$current_arg;
next;
}
+ # Argument passed via pointer.
+ if ($descr[$i] =~ /p/) {
+ next;
+ }
# &FLOAT, &int - simplify call by not showing argument.
if ($descr[$i] =~ /F|I/) {
next;
@@ -294,8 +298,8 @@ sub parse_args {
$current_arg++;
next;
}
- # &FLOAT, &int
- if ($descr[$i] =~ /F|I/) {
+ # &FLOAT, &int, argument passed via pointer
+ if ($descr[$i] =~ /F|I|p/) {
next;
}
# complex
@@ -45,7 +45,7 @@
acos, acosh, asin, asinh, atan, atan2, atanh,
cbrt, ceil, copysign, cos, cosh, drem, erf, erfc, exp, exp10, exp2, expm1,
fabs, fdim, finite, floor, fma, fmax, fmin, fmod, fpclassify,
- frexp, gamma, hypot,
+ frexp, gamma, getpayload, hypot,
ilogb, iscanonical, isfinite, isinf, isnan, isnormal, issignaling,
issubnormal, iszero, iseqsig, isless, islessequal, isgreater,
isgreaterequal, islessgreater, isunordered, j0, j1, jn,
@@ -131,6 +131,7 @@
#include <tininess.h>
#include <math-tests.h>
#include <math-tests-arch.h>
+#include <nan-high-order-bit.h>
/* This header defines func_ulps, func_real_ulps and func_imag_ulps
arrays. */
@@ -1075,6 +1076,7 @@ enable_test (int exceptions)
}
/* Structures for each kind of test. */
+/* Used for both RUN_TEST_LOOP_f_f and RUN_TEST_LOOP_fp_f. */
struct test_f_f_data
{
const char *arg_str;
@@ -1352,6 +1354,24 @@ struct test_fFF_11_data
(ARRAY)[i].RM_##ROUNDING_MODE.expected, \
(ARRAY)[i].RM_##ROUNDING_MODE.exceptions); \
ROUND_RESTORE_ ## ROUNDING_MODE
+#define RUN_TEST_fp_f(ARG_STR, FUNC_NAME, ARG, EXPECTED, \
+ EXCEPTIONS) \
+ do \
+ if (enable_test (EXCEPTIONS)) \
+ { \
+ COMMON_TEST_SETUP (ARG_STR); \
+ check_float (test_name, FUNC_TEST (FUNC_NAME) (&(ARG)), \
+ EXPECTED, EXCEPTIONS); \
+ COMMON_TEST_CLEANUP; \
+ } \
+ while (0)
+#define RUN_TEST_LOOP_fp_f(FUNC_NAME, ARRAY, ROUNDING_MODE) \
+ IF_ROUND_INIT_ ## ROUNDING_MODE \
+ for (size_t i = 0; i < sizeof (ARRAY) / sizeof (ARRAY)[0]; i++) \
+ RUN_TEST_fp_f ((ARRAY)[i].arg_str, FUNC_NAME, (ARRAY)[i].arg, \
+ (ARRAY)[i].RM_##ROUNDING_MODE.expected, \
+ (ARRAY)[i].RM_##ROUNDING_MODE.exceptions); \
+ ROUND_RESTORE_ ## ROUNDING_MODE
#define RUN_TEST_2_f(ARG_STR, FUNC_NAME, ARG1, ARG2, EXPECTED, \
EXCEPTIONS) \
do \
@@ -8046,6 +8066,66 @@ frexp_test (void)
ALL_RM_TEST (frexp, 1, frexp_test_data, RUN_TEST_LOOP_fI_f1, END, x);
}
+
+static const struct test_f_f_data getpayload_test_data[] =
+ {
+ TEST_fp_f (getpayload, plus_infty, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, minus_infty, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, plus_zero, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, minus_zero, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, 1000, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, max_value, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -max_value, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, min_value, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -min_value, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, min_subnorm_value, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -min_subnorm_value, IGNORE, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#if HIGH_ORDER_BIT_IS_SET_FOR_SNAN
+ TEST_fp_f (getpayload, snan_value_pl ("0x0"), plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -snan_value_pl ("0x0"), plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#else
+ TEST_fp_f (getpayload, qnan_value_pl ("0x0"), plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -qnan_value_pl ("0x0"), plus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+ TEST_fp_f (getpayload, qnan_value_pl ("0x1"), 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -qnan_value_pl ("0x1"), 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, snan_value_pl ("0x1"), 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -snan_value_pl ("0x1"), 1, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, qnan_value_pl ("0x2"), 2, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -qnan_value_pl ("0x2"), 2, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, snan_value_pl ("0x2"), 2, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -snan_value_pl ("0x2"), 2, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, qnan_value_pl ("0x3fffff"), 0x3fffff, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -qnan_value_pl ("0x3fffff"), 0x3fffff, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, snan_value_pl ("0x3fffff"), 0x3fffff, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -snan_value_pl ("0x3fffff"), 0x3fffff, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#if PAYLOAD_DIG >= 51
+ TEST_fp_f (getpayload, qnan_value_pl ("0x7ffffffffffff"), 0x7ffffffffffffp0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -qnan_value_pl ("0x7ffffffffffff"), 0x7ffffffffffffp0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, snan_value_pl ("0x7ffffffffffff"), 0x7ffffffffffffp0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -snan_value_pl ("0x7ffffffffffff"), 0x7ffffffffffffp0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+#if PAYLOAD_DIG >= 62
+ TEST_fp_f (getpayload, qnan_value_pl ("0x3fffffffffffffff"), 0x3fffffffffffffffp0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -qnan_value_pl ("0x3fffffffffffffff"), 0x3fffffffffffffffp0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, snan_value_pl ("0x3fffffffffffffff"), 0x3fffffffffffffffp0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -snan_value_pl ("0x3fffffffffffffff"), 0x3fffffffffffffffp0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+#if PAYLOAD_DIG >= 111
+ TEST_fp_f (getpayload, qnan_value_pl ("0x7fffffffffffffffffffffffffff"), 0x7fffffffffffffffffffffffffffp0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -qnan_value_pl ("0x7fffffffffffffffffffffffffff"), 0x7fffffffffffffffffffffffffffp0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, snan_value_pl ("0x7fffffffffffffffffffffffffff"), 0x7fffffffffffffffffffffffffffp0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+ TEST_fp_f (getpayload, -snan_value_pl ("0x7fffffffffffffffffffffffffff"), 0x7fffffffffffffffffffffffffffp0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+#endif
+ };
+
+static void
+getpayload_test (void)
+{
+ ALL_RM_TEST (getpayload, 1, getpayload_test_data, RUN_TEST_LOOP_fp_f, END);
+}
+
+
static const struct test_ff_f_data hypot_test_data[] =
{
TEST_ff_f (hypot, plus_infty, 1, plus_infty, ERRNO_UNCHANGED),
@@ -13431,6 +13511,9 @@ main (int argc, char **argv)
totalorder_test ();
totalordermag_test ();
+ /* NaN functions: */
+ getpayload_test ();
+
/* Complex functions: */
cabs_test ();
cacos_test ();
new file mode 100644
@@ -0,0 +1,37 @@
+/* Get NaN payload. dbl-64 version.
+ 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 <fix-int-fp-convert-zero.h>
+#include <math.h>
+#include <math_private.h>
+#include <stdint.h>
+
+double
+getpayload (const double *x)
+{
+ uint32_t hx, lx;
+ EXTRACT_WORDS (hx, lx, *x);
+ hx &= 0x7ffff;
+ uint64_t ix = ((uint64_t) hx << 32) | lx;
+ if (FIX_INT_FP_CONVERT_ZERO && ix == 0)
+ return 0.0f;
+ return (double) ix;
+}
+#ifdef NO_LONG_DOUBLE
+weak_alias (getpayload, getpayloadl)
+#endif
new file mode 100644
@@ -0,0 +1,33 @@
+/* Get NaN payload. dbl-64/wordsize-64 version.
+ 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>
+#include <stdint.h>
+
+double
+getpayload (const double *x)
+{
+ uint64_t ix;
+ EXTRACT_WORDS64 (ix, *x);
+ ix &= 0x7ffffffffffffULL;
+ return (double) ix;
+}
+#ifdef NO_LONG_DOUBLE
+weak_alias (getpayload, getpayloadl)
+#endif
new file mode 100644
@@ -0,0 +1,33 @@
+/* Get NaN payload. flt-32 version.
+ 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 <fix-int-fp-convert-zero.h>
+#include <math.h>
+#include <math_private.h>
+#include <stdint.h>
+
+float
+getpayloadf (const float *x)
+{
+ uint32_t ix;
+ GET_FLOAT_WORD (ix, *x);
+ ix &= 0x3fffff;
+ if (FIX_INT_FP_CONVERT_ZERO && ix == 0)
+ return 0.0f;
+ return (float) ix;
+}
new file mode 100644
@@ -0,0 +1,57 @@
+/* Get NaN payload. ldbl-128 version.
+ 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>
+#include <stdint.h>
+
+long double
+getpayloadl (const long double *x)
+{
+ uint64_t hx, lx;
+ GET_LDOUBLE_WORDS64 (hx, lx, *x);
+ hx &= 0x7fffffffffffULL;
+ /* Construct the representation of the return value directly, since
+ 128-bit integers may not be available. */
+ int lz;
+ if (hx == 0)
+ {
+ if (lx == 0)
+ return 0.0L;
+ else
+ lz = __builtin_clzll (lx) + 64;
+ }
+ else
+ lz = __builtin_clzll (hx);
+ int shift = lz - 15;
+ if (shift >= 64)
+ {
+ hx = lx << (shift - 64);
+ lx = 0;
+ }
+ else
+ {
+ /* 2 <= SHIFT <= 63. */
+ hx = (hx << shift) | (lx >> (64 - shift));
+ lx <<= shift;
+ }
+ hx = (hx & 0xffffffffffffULL) | ((0x3fffULL + 127 - lz) << 48);
+ long double ret;
+ SET_LDOUBLE_WORDS64 (ret, hx, lx);
+ return ret;
+}
new file mode 100644
@@ -0,0 +1,34 @@
+/* Get NaN payload. ldbl-128ibm version.
+ 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 <fix-int-fp-convert-zero.h>
+#include <math.h>
+#include <math_private.h>
+#include <stdint.h>
+
+long double
+getpayloadl (const long double *x)
+{
+ double xhi = ldbl_high (*x);
+ uint64_t ix;
+ EXTRACT_WORDS64 (ix, xhi);
+ ix &= 0x7ffffffffffffULL;
+ if (FIX_INT_FP_CONVERT_ZERO && ix == 0)
+ return 0.0L;
+ return (long double) ix;
+}
new file mode 100644
@@ -0,0 +1,32 @@
+/* Get NaN payload. ldbl-96 version.
+ 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>
+#include <stdint.h>
+
+long double
+getpayloadl (const long double *x)
+{
+ uint16_t se __attribute__ ((unused));
+ uint32_t hx, lx;
+ GET_LDOUBLE_WORDS (se, hx, lx, *x);
+ hx &= 0x3fffffff;
+ uint64_t ix = ((uint64_t) hx << 32) | lx;
+ return (long double) ix;
+}
@@ -386,6 +386,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -418,6 +418,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -428,6 +428,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -75,6 +75,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -387,6 +387,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -431,6 +431,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -360,6 +360,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -75,6 +75,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -429,6 +429,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -386,6 +386,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -388,6 +388,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -420,6 +420,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -386,6 +386,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -431,6 +431,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -430,6 +430,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -425,6 +425,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -106,6 +106,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -418,6 +418,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -416,6 +416,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -387,6 +387,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -421,6 +421,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -419,6 +419,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -387,6 +387,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -387,6 +387,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -387,6 +387,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -420,6 +420,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
@@ -419,6 +419,9 @@ GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F