diff options
-rw-r--r-- | ChangeLog | 15 | ||||
-rw-r--r-- | math/complex.h | 72 |
2 files changed, 87 insertions, 0 deletions
@@ -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 |