From 9761bf4dfae04016bccaa82414719523b090dd60 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Wed, 16 May 2018 06:03:08 +0200 Subject: math: Merge strtod_nan_*.h into math-type-macros-*.h This change will eventually make it possible to compile stdlib/strtod_nan_main.c as part of math/s_nan_template.c. --- .../ieee754/ldbl-128/math-nan-payload-ldouble.h | 32 +++++++++++++++++++++ sysdeps/ieee754/ldbl-128/strtod_nan_ldouble.h | 33 ---------------------- 2 files changed, 32 insertions(+), 33 deletions(-) create mode 100644 sysdeps/ieee754/ldbl-128/math-nan-payload-ldouble.h delete mode 100644 sysdeps/ieee754/ldbl-128/strtod_nan_ldouble.h (limited to 'sysdeps/ieee754/ldbl-128') diff --git a/sysdeps/ieee754/ldbl-128/math-nan-payload-ldouble.h b/sysdeps/ieee754/ldbl-128/math-nan-payload-ldouble.h new file mode 100644 index 0000000000..e2f092d3e1 --- /dev/null +++ b/sysdeps/ieee754/ldbl-128/math-nan-payload-ldouble.h @@ -0,0 +1,32 @@ +/* NaN payload handling for ldbl-128. + Copyright (C) 1997-2018 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 + . */ + +#define SET_NAN_PAYLOAD(flt, mant) \ + do \ + { \ + union ieee854_long_double u; \ + u.d = (flt); \ + u.ieee_nan.mantissa0 = 0; \ + u.ieee_nan.mantissa1 = 0; \ + u.ieee_nan.mantissa2 = (mant) >> 32; \ + u.ieee_nan.mantissa3 = (mant); \ + if ((u.ieee.mantissa0 | u.ieee.mantissa1 \ + | u.ieee.mantissa2 | u.ieee.mantissa3) != 0) \ + (flt) = u.d; \ + } \ + while (0) diff --git a/sysdeps/ieee754/ldbl-128/strtod_nan_ldouble.h b/sysdeps/ieee754/ldbl-128/strtod_nan_ldouble.h deleted file mode 100644 index 77d81acf33..0000000000 --- a/sysdeps/ieee754/ldbl-128/strtod_nan_ldouble.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Convert string for NaN payload to corresponding NaN. For ldbl-128. - Copyright (C) 1997-2018 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 - . */ - -#define FLOAT long double -#define SET_MANTISSA(flt, mant) \ - do \ - { \ - union ieee854_long_double u; \ - u.d = (flt); \ - u.ieee_nan.mantissa0 = 0; \ - u.ieee_nan.mantissa1 = 0; \ - u.ieee_nan.mantissa2 = (mant) >> 32; \ - u.ieee_nan.mantissa3 = (mant); \ - if ((u.ieee.mantissa0 | u.ieee.mantissa1 \ - | u.ieee.mantissa2 | u.ieee.mantissa3) != 0) \ - (flt) = u.d; \ - } \ - while (0) -- cgit 1.4.1