diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-10-28 21:57:10 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-10-28 21:57:10 +0000 |
commit | 5878dd9d53a00fa28800236d79e38e55f85fc98d (patch) | |
tree | 85ce332ade1b23eb4ece3c34f6382133a8d5734b /math/test-float.h | |
parent | 1f4dafa3ea24df63a6550dbdbbe8769caa7a9fc3 (diff) | |
download | glibc-5878dd9d53a00fa28800236d79e38e55f85fc98d.zip glibc-5878dd9d53a00fa28800236d79e38e55f85fc98d.tar.gz glibc-5878dd9d53a00fa28800236d79e38e55f85fc98d.tar.bz2 |
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.
Diffstat (limited to 'math/test-float.h')
-rw-r--r-- | math/test-float.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/math/test-float.h b/math/test-float.h index 7b00cb1..8bdba55 100644 --- a/math/test-float.h +++ b/math/test-float.h @@ -22,3 +22,4 @@ #define PRINTF_XEXPR "a" #define PRINTF_NEXPR "f" #define TEST_FLOAT 1 +#define BUILD_COMPLEX(real, imag) (CMPLXF ((real), (imag))) |