From 260fbd0a394fec9aabe5cfa24272f33723cb355c Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 1 Nov 2017 23:42:31 +0000 Subject: Include bits/cmathcalls.h for more _FloatN, _FloatNx types. Continuing the preparation for additional _FloatN / _FloatNx type support, this patch arranges for to be included by for each such type under conditions and with macros defined corresponding to those used for _Float128. Tested for x86_64. * math/complex.h [(__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC)) && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Include with appropriate macros defined and undefined. [(__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC)) && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. [(__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC)) && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. [(__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC)) && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. [(__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC)) && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. [(__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC)) && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. --- ChangeLog | 15 ++++++++++++ math/complex.h | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) diff --git a/ChangeLog b/ChangeLog index ddbe922..667c9d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,21 @@ 2017-11-01 Joseph Myers * math/complex.h + [(__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Include + with appropriate macros defined and undefined. + [(__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. + [(__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. + [(__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. + [(__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. + [(__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise. + + * math/complex.h [(__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !LIBC)) && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Move conditional code after that for long double. Do not condition define and undefine of diff --git a/math/complex.h b/math/complex.h index 48c2d9e..11b1cde 100644 --- a/math/complex.h +++ b/math/complex.h @@ -131,6 +131,42 @@ __BEGIN_DECLS #undef _Mdouble_ #undef __MATH_PRECNAME +#if (__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT16 +# define _Mdouble_ _Float16 +# define __MATH_PRECNAME(name) name##f16 +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + +#if (__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT32 +# define _Mdouble_ _Float32 +# define __MATH_PRECNAME(name) name##f32 +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + +#if (__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT64 +# define _Mdouble_ _Float64 +# define __MATH_PRECNAME(name) name##f64 +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + #if (__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !defined _LIBC)) \ && __GLIBC_USE (IEC_60559_TYPES_EXT) # undef _Mdouble_complex_ @@ -143,6 +179,42 @@ __BEGIN_DECLS # undef _Mdouble_complex_ #endif +#if (__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT32X +# define _Mdouble_ _Float32x +# define __MATH_PRECNAME(name) name##f32x +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + +#if (__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT64X +# define _Mdouble_ _Float64x +# define __MATH_PRECNAME(name) name##f64x +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + +#if (__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT128X +# define _Mdouble_ _Float128x +# define __MATH_PRECNAME(name) name##f128x +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + #undef __MATHDECL_1 #undef __MATHDECL #undef __MATHCALL -- cgit v1.1