2 /* { dg-options "-std=gnu99" } */
4 /* N1150 5.2 Conversions among decimal floating types and between
5 decimal floating types and generic floating types.
6 C99 6.3.1.5(4) Conversions, arithmetic operands, real floating types. */
8 volatile _Decimal32 d32;
9 volatile _Decimal64 d64;
10 volatile _Decimal128 d128;
13 volatile long double tf;
15 extern void abort (void);
20 /* Conversions from decimal float to binary float. */
22 /* Conversions from _Decimal32. */
36 /* Conversions from _Decimal64. */
50 /* Conversions from _Decimal128. */
64 /* Conversions from binary float to decimal float. */
105 /* 2**(-11) = 0.00048828125. */
106 d128 = 0.000488281251dl;
108 if (sf != 0.00048828125f)
110 /* 2**(-25) = 0.298023223876953125E-7. */
111 d128 = 2.98023223876953125E-8dl;
113 if (df < (2.9802322387695312e-08 - 0.00000000001)
114 || df > (2.9802322387695312e-08 + 0.00000000001))