1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-10 05:03:06 +03:00

Use C11 CMPLX* macros in libm tests.

libm-test.inc has a macro BUILD_COMPLEX to construct a complex number
with given real and imaginary parts while allowing properly for signed
zeroes, infinities and NaNs (which don't work properly with a simple
real + I * imag, in the absence of compiler support for imaginary
types), using assignment to __real__ and __imag__ parts of the number.
C11 defines CMPLX* macros for this purpose, which GCC 4.7 and above
provide suitable built-in functions for.  This patch redefines
BUILD_COMPLEX in terms of the standard macros.

Tested for x86_64 and x86.

	* math/libm-test.inc (BUILD_COMPLEX): Remove macro.
	* math/test-double.h (BUILD_COMPLEX): New macro.
	* math/test-float.h (BUILD_COMPLEX): Likewise.
	* math/test-ldouble.h (BUILD_COMPLEX): Likewise.
This commit is contained in:
Joseph Myers
2015-10-28 21:57:10 +00:00
parent 1f4dafa3ea
commit 5878dd9d53
5 changed files with 8 additions and 6 deletions

View File

@@ -22,3 +22,4 @@
#define PRINTF_XEXPR "a"
#define PRINTF_NEXPR "f"
#define TEST_FLOAT 1
#define BUILD_COMPLEX(real, imag) (CMPLXF ((real), (imag)))