Add _FloatN, _FloatNx M_* constants.
commitce12269fac8cb873df1a8785e4a6cde870855590
authorJoseph Myers <joseph@codesourcery.com>
Mon, 30 Oct 2017 16:42:28 +0000 (30 16:42 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 30 Oct 2017 16:42:28 +0000 (30 16:42 +0000)
treee6a54819f72d08d032acfe9e590eaa12213ef2de
parent4484b9e29656980f18bb0fc8cdb6b1bbe5364f21
Add _FloatN, _FloatNx M_* constants.

Continuing the preparation for additional _FloatN / _FloatNx type
support, this patch adds M_* constants for such types.  The decimal
expansions used are all the same as used for _Float128; there's no
need to reduce the precision used.  In the case of _Float128x, #error
is used because the constants would need additional precision, but how
much is needed would depend on the actual _Float128x format used, so
it's not possible to add header support simply as part of code that
handles all _FloatN / _FloatNx types similarly.

Tested for x86_64.

* math/math.h [__HAVE_FLOAT16 && __USE_GNU] (M_Ef16): New macro.
[__HAVE_FLOAT16 && __USE_GNU] (M_LOG2Ef16): Likewise.
[__HAVE_FLOAT16 && __USE_GNU] (M_LOG10Ef16): Likewise.
[__HAVE_FLOAT16 && __USE_GNU] (M_LN2f16): Likewise.
[__HAVE_FLOAT16 && __USE_GNU] (M_LN10f16): Likewise.
[__HAVE_FLOAT16 && __USE_GNU] (M_PIf16): Likewise.
[__HAVE_FLOAT16 && __USE_GNU] (M_PI_2f16): Likewise.
[__HAVE_FLOAT16 && __USE_GNU] (M_PI_4f16): Likewise.
[__HAVE_FLOAT16 && __USE_GNU] (M_1_PIf16): Likewise.
[__HAVE_FLOAT16 && __USE_GNU] (M_2_PIf16): Likewise.
[__HAVE_FLOAT16 && __USE_GNU] (M_2_SQRTPIf16): Likewise.
[__HAVE_FLOAT16 && __USE_GNU] (M_SQRT2f16): Likewise.
[__HAVE_FLOAT16 && __USE_GNU] (M_SQRT1_2f16): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_Ef32): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_LOG2Ef32): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_LOG10Ef32): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_LN2f32): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_LN10f32): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_PIf32): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_PI_2f32): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_PI_4f32): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_1_PIf32): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_2_PIf32): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_2_SQRTPIf32): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_SQRT2f32): Likewise.
[__HAVE_FLOAT32 && __USE_GNU] (M_SQRT1_2f32): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_Ef64): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_LOG2Ef64): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_LOG10Ef64): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_LN2f64): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_LN10f64): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_PIf64): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_PI_2f64): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_PI_4f64): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_1_PIf64): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_2_PIf64): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_2_SQRTPIf64): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_SQRT2f64): Likewise.
[__HAVE_FLOAT64 && __USE_GNU] (M_SQRT1_2f64): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_Ef32x): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_LOG2Ef32x): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_LOG10Ef32x): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_LN2f32x): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_LN10f32x): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_PIf32x): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_PI_2f32x): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_PI_4f32x): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_1_PIf32x): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_2_PIf32x): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_2_SQRTPIf32x): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_SQRT2f32x): Likewise.
[__HAVE_FLOAT32X && __USE_GNU] (M_SQRT1_2f32x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_Ef64x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_LOG2Ef64x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_LOG10Ef64x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_LN2f64x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_LN10f64x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_PIf64x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_PI_2f64x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_PI_4f64x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_1_PIf64x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_2_PIf64x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_2_SQRTPIf64x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_SQRT2f64x): Likewise.
[__HAVE_FLOAT64X && __USE_GNU] (M_SQRT1_2f64x): Likewise.
[__HAVE_FLOAT128X && __USE_GNU]: Use #error.
ChangeLog
math/math.h