1 /* { dg-options "-std=gnu99" } */
3 /* N1150 5.2 Conversions among decimal floating types and between
4 decimal floating types and generic floating types.
5 C99 6.3.1.5(4) Conversions, arithmetic operands, real floating types. */
7 volatile _Decimal32 d32
;
8 volatile _Decimal64 d64
;
9 volatile _Decimal128 d128
;
12 volatile long double tf
;
14 extern void abort (void);
19 /* Conversions from decimal float to binary float. */
21 /* Conversions from _Decimal32. */
35 /* Conversions from _Decimal64. */
49 /* Conversions from _Decimal128. */
63 /* Conversions from binary float to decimal float. */
104 /* 2**(-11) = 0.00048828125. */
105 d128
= 0.000488281251dl
;
107 if (sf
!= 0.00048828125f
)
109 /* 2**(-25) = 0.298023223876953125E-7. */
110 d128
= 2.98023223876953125E-8dl
;
112 if (df
< (2.9802322387695312e-08 - 0.00000000001)
113 || df
> (2.9802322387695312e-08 + 0.00000000001))