* lib/nan.h: Renamed from tests/nan.h. Change double-inclusion guard.
* modules/nan: New file.
* modules/*-tests: Depend on this module instead of embedding
tests/nan.h.
+2023-10-12 Bruno Haible <bruno@clisp.org>
+
+ nan: New module.
+ * lib/nan.h: Renamed from tests/nan.h. Change double-inclusion guard.
+ * modules/nan: New file.
+ * modules/*-tests: Depend on this module instead of embedding
+ tests/nan.h.
+
2023-10-11 Bruno Haible <bruno@clisp.org>
unictype/category-and-not: Add more tests.
--- /dev/null
+/* Macros for quiet not-a-number.
+ Copyright (C) 2007-2023 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#ifndef _GL_NAN_H
+#define _GL_NAN_H
+
+
+/* IBM z/OS supports both hexadecimal and IEEE floating-point formats. The
+ former does not support NaN and its isnan() implementation returns zero
+ for all values. */
+#if defined __MVS__ && defined __IBMC__ && !defined __BFP__
+# error "NaN is not supported with IBM's hexadecimal floating-point format; please re-compile with -qfloat=ieee"
+#endif
+
+/* NaNf () returns a 'float' not-a-number. */
+
+/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
+ on the expression 0.0 / 0.0. The IBM XL C compiler on z/OS complains.
+ PGI 16.10 complains. */
+#if (defined __DECC || defined _MSC_VER \
+ || (defined __MVS__ && defined __IBMC__) \
+ || defined __PGI)
+static float
+NaNf ()
+{
+ static float zero = 0.0f;
+ return zero / zero;
+}
+#else
+# define NaNf() (0.0f / 0.0f)
+#endif
+
+
+/* NaNd () returns a 'double' not-a-number. */
+
+/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
+ on the expression 0.0 / 0.0. The IBM XL C compiler on z/OS complains.
+ PGI 16.10 complains. */
+#if (defined __DECC || defined _MSC_VER \
+ || (defined __MVS__ && defined __IBMC__) \
+ || defined __PGI)
+static double
+NaNd ()
+{
+ static double zero = 0.0;
+ return zero / zero;
+}
+#else
+# define NaNd() (0.0 / 0.0)
+#endif
+
+
+/* NaNl () returns a 'long double' not-a-number. */
+
+/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the
+ runtime type conversion.
+ The Microsoft MSVC 9 compiler chokes on the expression 0.0L / 0.0L.
+ The IBM XL C compiler on z/OS complains.
+ PGI 16.10 complains. */
+#ifdef __sgi
+static long double NaNl ()
+{
+ double zero = 0.0;
+ return zero / zero;
+}
+#elif defined _MSC_VER || (defined __MVS__ && defined __IBMC__) || defined __PGI
+static long double
+NaNl ()
+{
+ static long double zero = 0.0L;
+ return zero / zero;
+}
+#else
+# define NaNl() (0.0L / 0.0L)
+#endif
+
+
+#endif /* _GL_NAN_H */
tests/test-cbrt-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-cbrt-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-cbrt-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-ceil-ieee.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-ceil2.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
Depends-on:
float
isnand-nolibm
+nan
stdbool
stdint
tests/test-ceilf-ieee.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-ceilf2.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
Depends-on:
float
isnanf-nolibm
+nan
stdbool
stdint
tests/test-ceill-ieee.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
fpucw
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-ceill.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
fpucw
isnanl-nolibm
float
+nan
configure.ac:
tests/test-exp-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-exp2-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-exp2-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-exp2-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-exp-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-exp-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-expm1-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-expm1-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-expm1-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-fabs-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-fabs-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-fabs-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-floor-ieee.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-floor2.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
Depends-on:
float
isnand-nolibm
+nan
stdbool
stdint
tests/test-floorf-ieee.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-floorf2.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
Depends-on:
float
isnanf-nolibm
+nan
stdbool
stdint
tests/test-floorl-ieee.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
fpucw
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-floorl.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
fpucw
isnanl-nolibm
float
+nan
configure.ac:
tests/test-fma-ieee.c
tests/test-fma-ieee.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
+nan
configure.ac:
tests/test-fma2.c
tests/test-fma2.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
lib/float+.h
float
isnand-nolibm
ldexp
+nan
configure.ac:
tests/test-fmaf-ieee.c
tests/test-fma-ieee.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
+nan
configure.ac:
tests/test-fmaf2.c
tests/test-fma2.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
lib/float+.h
float
isnanf-nolibm
ldexpf
+nan
configure.ac:
tests/test-fmal-ieee.c
tests/test-fma-ieee.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
+nan
configure.ac:
tests/test-fmal2.c
tests/test-fma2.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
lib/float+.h
fpucw
isnanl-nolibm
ldexpl
+nan
configure.ac:
tests/test-fmod-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-fmod-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-fmod-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-frexp-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-frexp.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randomd.c
Depends-on:
isnand-nolibm
+nan
signbit
configure.ac:
tests/test-frexp.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randomd.c
Depends-on:
isnand-nolibm
+nan
signbit
configure.ac:
tests/test-frexp-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-frexp.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randomf.c
Depends-on:
isnanf-nolibm
+nan
signbit
configure.ac:
tests/test-frexp-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-frexp.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randoml.c
fpucw
isnanl-nolibm
signbit
+nan
configure.ac:
tests/test-frexp.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randoml.c
isnanl-nolibm
signbit
float
+nan
configure.ac:
tests/test-hypot-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-hypot-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-hypot-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-ilogb.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randomd.c
Depends-on:
+nan
configure.ac:
tests/test-ilogb.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randomf.c
Depends-on:
+nan
configure.ac:
tests/test-ilogb.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randoml.c
Depends-on:
+nan
configure.ac:
Files:
tests/test-isfinite.c
tests/infinity.h
-tests/nan.h
tests/snan.h
tests/macros.h
m4/exponentf.m4
Depends-on:
float
+nan
configure.ac:
gl_FLOAT_EXPONENT_LOCATION
Files:
tests/test-isinf.c
tests/infinity.h
-tests/nan.h
tests/snan.h
tests/macros.h
m4/exponentf.m4
Depends-on:
float
+nan
configure.ac:
gl_FLOAT_EXPONENT_LOCATION
tests/test-isnan.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/snan.h
tests/macros.h
m4/exponentf.m4
Depends-on:
float
+nan
configure.ac:
gl_FLOAT_EXPONENT_LOCATION
tests/test-isnand.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/snan.h
tests/macros.h
m4/exponentd.m4
Depends-on:
+nan
configure.ac:
gl_DOUBLE_EXPONENT_LOCATION
tests/test-isnand.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/snan.h
tests/macros.h
m4/exponentd.m4
Depends-on:
+nan
configure.ac:
gl_DOUBLE_EXPONENT_LOCATION
tests/test-isnanf.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/snan.h
tests/macros.h
m4/exponentf.m4
Depends-on:
+nan
configure.ac:
gl_FLOAT_EXPONENT_LOCATION
tests/test-isnanf.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/snan.h
tests/macros.h
m4/exponentf.m4
Depends-on:
+nan
configure.ac:
gl_FLOAT_EXPONENT_LOCATION
tests/test-isnanl.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/snan.h
tests/macros.h
m4/exponentl.m4
Depends-on:
float
+nan
configure.ac:
gl_LONG_DOUBLE_EXPONENT_LOCATION
tests/test-isnanl.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/snan.h
tests/macros.h
m4/exponentl.m4
Depends-on:
float
+nan
configure.ac:
gl_LONG_DOUBLE_EXPONENT_LOCATION
tests/test-ldexp-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-ldexp.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randomd.c
isnand-nolibm
signbit
float
+nan
configure.ac:
tests/test-ldexp-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-ldexp.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randomf.c
isnanf-nolibm
signbit
float
+nan
configure.ac:
tests/test-ldexp-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-ldexp.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randoml.c
isnanl-nolibm
signbit
float
+nan
configure.ac:
tests/test-log-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-log10-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-log10-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-log10-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-log1p-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-log1p-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-log1p-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-log2-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-log2-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-log2-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-logb-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-logb-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-logb-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-log-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-log-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-modf-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-modf-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-modf-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
--- /dev/null
+Description:
+Macros for quiet not-a-number.
+
+Files:
+lib/nan.h
+
+Depends-on:
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += nan.h
+
+Include:
+"nan.h"
+
+Link:
+
+License:
+GPL
+
+Maintainer:
+all
tests/test-remainder-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-remainder-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-remainder-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-rint-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-rint.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randomd.c
Depends-on:
isnand-nolibm
+nan
configure.ac:
tests/test-rint-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-rint.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randomf.c
Depends-on:
isnanf-nolibm
+nan
configure.ac:
tests/test-rint-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-rint.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
tests/randoml.c
fpucw
isnanl-nolibm
float
+nan
configure.ac:
tests/test-round-ieee.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-round2.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
Depends-on:
assert-h
isnand-nolibm
+nan
stdbool
stdint
tests/test-roundf-ieee.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-roundf2.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
ceilf
floorf
isnanf-nolibm
+nan
stdbool
stdint
tests/test-roundl-ieee.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-roundl.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
fpucw
isnanl-nolibm
float
+nan
configure.ac:
tests/test-signbit.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/qnan.h
tests/snan.h
tests/macros.h
Depends-on:
float
+nan
configure.ac:
AC_REQUIRE([gl_FLOAT_EXPONENT_LOCATION])
tests/test-snprintf.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
Depends-on:
stdint
float
+nan
configure.ac:
AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
tests/test-sprintf-posix.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
Depends-on:
stdint
float
+nan
configure.ac:
AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
tests/test-sqrt-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-sqrt-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-sqrt-ieee.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanl-nolibm
float
+nan
signbit
configure.ac:
Files:
tests/test-stdio.c
-tests/nan.h
tests/qnan.h
tests/snan.h
tests/macros.h
Depends-on:
assert-h
+nan
stdio-c++-tests
fgetc-tests
fputc-tests
tests/test-totalorder.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/qnan.h
tests/macros.h
Depends-on:
+nan
signbit
configure.ac:
tests/test-totalorder.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/qnan.h
tests/macros.h
Depends-on:
+nan
signbit
configure.ac:
tests/test-totalorder.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/qnan.h
tests/macros.h
Depends-on:
+nan
signbit
configure.ac:
tests/test-trunc-ieee.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnand-nolibm
float
+nan
signbit
configure.ac:
tests/test-trunc2.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
Depends-on:
float
isnand-nolibm
+nan
stdbool
stdint
tests/test-truncf-ieee.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
isnanf-nolibm
float
+nan
signbit
configure.ac:
tests/test-truncf2.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
Depends-on:
float
isnanf-nolibm
+nan
stdbool
stdint
tests/test-truncl-ieee.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
fpucw
isnanl-nolibm
float
+nan
signbit
configure.ac:
tests/test-truncl.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
fpucw
isnanl-nolibm
float
+nan
configure.ac:
tests/test-vasnprintf-posix3.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
m4/locale-fr.m4
m4/codeset.m4
Depends-on:
stdint
float
+nan
setlocale
configure.ac:
tests/test-vasnwprintf-posix3.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
m4/musl.m4
m4/locale-fr.m4
Depends-on:
stdint
float
+nan
setlocale
wcscmp
wcsspn
tests/test-vasprintf-posix.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/macros.h
Depends-on:
stdint
float
+nan
configure.ac:
AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
tests/test-vsnprintf.c
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
Depends-on:
stdint
float
+nan
configure.ac:
AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
tests/test-sprintf-posix.h
tests/minus-zero.h
tests/infinity.h
-tests/nan.h
tests/signature.h
tests/macros.h
Depends-on:
stdint
float
+nan
configure.ac:
AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
+++ /dev/null
-/* Macros for quiet not-a-number.
- Copyright (C) 2007-2023 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program 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 General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _TESTS_NAN_H
-#define _TESTS_NAN_H
-
-
-/* IBM z/OS supports both hexadecimal and IEEE floating-point formats. The
- former does not support NaN and its isnan() implementation returns zero
- for all values. */
-#if defined __MVS__ && defined __IBMC__ && !defined __BFP__
-# error "NaN is not supported with IBM's hexadecimal floating-point format; please re-compile with -qfloat=ieee"
-#endif
-
-/* NaNf () returns a 'float' not-a-number. */
-
-/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
- on the expression 0.0 / 0.0. The IBM XL C compiler on z/OS complains.
- PGI 16.10 complains. */
-#if (defined __DECC || defined _MSC_VER \
- || (defined __MVS__ && defined __IBMC__) \
- || defined __PGI)
-static float
-NaNf ()
-{
- static float zero = 0.0f;
- return zero / zero;
-}
-#else
-# define NaNf() (0.0f / 0.0f)
-#endif
-
-
-/* NaNd () returns a 'double' not-a-number. */
-
-/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
- on the expression 0.0 / 0.0. The IBM XL C compiler on z/OS complains.
- PGI 16.10 complains. */
-#if (defined __DECC || defined _MSC_VER \
- || (defined __MVS__ && defined __IBMC__) \
- || defined __PGI)
-static double
-NaNd ()
-{
- static double zero = 0.0;
- return zero / zero;
-}
-#else
-# define NaNd() (0.0 / 0.0)
-#endif
-
-
-/* NaNl () returns a 'long double' not-a-number. */
-
-/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the
- runtime type conversion.
- The Microsoft MSVC 9 compiler chokes on the expression 0.0L / 0.0L.
- The IBM XL C compiler on z/OS complains.
- PGI 16.10 complains. */
-#ifdef __sgi
-static long double NaNl ()
-{
- double zero = 0.0;
- return zero / zero;
-}
-#elif defined _MSC_VER || (defined __MVS__ && defined __IBMC__) || defined __PGI
-static long double
-NaNl ()
-{
- static long double zero = 0.0L;
- return zero / zero;
-}
-#else
-# define NaNl() (0.0L / 0.0L)
-#endif
-
-
-#endif /* _TESTS_NAN_H */