diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-11-01 23:42:31 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-11-01 23:42:31 +0000 |
commit | 260fbd0a394fec9aabe5cfa24272f33723cb355c (patch) | |
tree | 40f504d7f196ee1a0dafe116b156654760a9a1a3 | |
parent | 2f1b212e54b280a2dc05b809922ae25d8071da74 (diff) | |
download | glibc-260fbd0a394fec9aabe5cfa24272f33723cb355c.tar.gz glibc-260fbd0a394fec9aabe5cfa24272f33723cb355c.tar.xz glibc-260fbd0a394fec9aabe5cfa24272f33723cb355c.zip |
Include bits/cmathcalls.h for more _FloatN, _FloatNx types.
Continuing the preparation for additional _FloatN / _FloatNx type support, this patch arranges for <bits/cmathcalls.h> to be included by <complex.h> 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 <bits/cmathcalls.h> 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.
-rw-r--r-- | ChangeLog | 15 | ||||
-rw-r--r-- | math/complex.h | 72 |
2 files changed, 87 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index ddbe9222e9..667c9d4826 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,21 @@ 2017-11-01 Joseph Myers <joseph@codesourcery.com> * math/complex.h + [(__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC)) + && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Include <bits/cmathcalls.h> + 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 48c2d9e6fc..11b1cdeefe 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 <bits/cmathcalls.h> +# 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 <bits/cmathcalls.h> +# 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 <bits/cmathcalls.h> +# 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 <bits/cmathcalls.h> +# 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 <bits/cmathcalls.h> +# 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 <bits/cmathcalls.h> +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + #undef __MATHDECL_1 #undef __MATHDECL #undef __MATHCALL |