1/* This test assumes IEEE float and double.  */
2
3#include "convert.h"
4
5volatile _Decimal32 sd;
6volatile _Decimal64 dd;
7volatile _Decimal128 td;
8volatile float sf;
9volatile double df;
10
11/* Conversions using denormalized float values.  */
12CONVERT_VALID (111, sf, sd, 1.2e-38f, 1.2e-38df, 0.df)
13CONVERT_VALID (112, sf, sd, 1.1e-38f, 1.1e-38df, 0.df)
14CONVERT_VALID (113, sf, sd, 1.1e-40f, 1.1e-40df, 1.1e-45df)
15
16CONVERT_VALID (121, sd, sf, 1.2e-38df, 1.2e-38f, 0.f)
17CONVERT_VALID (122, sd, sf, 1.1e-38df, 1.1e-38f, 0.f)
18
19CONVERT_VALID (131, sf, sd, -1.2e-38f, -1.2e-38df, 0.df)
20CONVERT_VALID (132, sf, sd, -1.1e-38f, -1.1e-38df, 0.df)
21
22CONVERT_VALID (141, sd, sf, -1.2e-38df, -1.2e-38f, 0.f)
23CONVERT_VALID (142, sd, sf, -1.1e-38df, -1.1e-38f, 0.f)
24
25/* Conversions using denormalized double values.  */
26CONVERT_VALID (211, df, sd, 1.2e-38, 1.2e-38df, 0.df)
27CONVERT_VALID (212, df, sd, 1.1e-38, 1.1e-38df, 0.df)
28CONVERT_VALID (213, df, sd, 1.e-40, 1.e-40df, 0.df)
29CONVERT_VALID (214, df, sd, 8.e-44, 8.e-44df, 0.df)
30CONVERT_VALID (215, df, sd, 9.e-44, 9.e-44df, 0.df)
31CONVERT_VALID (216, df, sd, 8.e-46, 8.e-46df, 0.df)
32CONVERT_VALID (217, df, sd, 7.e-46, 7.e-46df, 0.df)
33
34CONVERT_VALID (221, sd, df, 1.2e-38df, 1.2e-38, 1.e-53)
35CONVERT_VALID (222, sd, df, 1.1e-38df, 1.1e-38, 1.e-53)
36CONVERT_VALID (223, sd, df, 1.e-40df, 1.e-40, 0.)
37CONVERT_VALID (224, sd, df, 8.e-44df, 8.e-44, 0.)
38CONVERT_VALID (225, sd, df, 9.e-44df, 9.e-44, 0.)
39CONVERT_VALID (226, sd, df, 8.e-46df, 8.e-46, 0.)
40CONVERT_VALID (227, sd, df, 7.e-46df, 7.e-46, 0.)
41
42CONVERT_VALID (231, df, sd, -1.2e-38, -1.2e-38df, 0.df)
43CONVERT_VALID (232, df, sd, -1.1e-38f, -1.1e-38df, 0.df)
44CONVERT_VALID (233, df, sd, -1.e-40, -1.e-40df, 0.df)
45CONVERT_VALID (234, df, sd, -8.e-44, -8.e-44df, 0.df)
46CONVERT_VALID (235, df, sd, -9.e-44, -9.e-44df, 0.df)
47CONVERT_VALID (236, df, sd, -8.e-46, -8.e-46df, 0.df)
48CONVERT_VALID (237, df, sd, -7.e-46, -7.e-46df, 0.df)
49
50CONVERT_VALID (241, sd, df, -1.2e-38df, -1.2e-38, 1.e-53)
51CONVERT_VALID (242, sd, df, -1.1e-38df, -1.1e-38, 1.e-53)
52CONVERT_VALID (243, sd, df, -1.e-40df, -1.e-40, 0.)
53CONVERT_VALID (244, sd, df, -8.e-44df, -8.e-44, 0.)
54CONVERT_VALID (245, sd, df, -9.e-44df, -9.e-44, 0.)
55CONVERT_VALID (246, sd, df, -8.e-46df, -8.e-46, 0.)
56CONVERT_VALID (247, sd, df, -7.e-46df, -7.e-46, 0.)
57
58int
59main ()
60{
61  convert_111 ();
62  convert_112 ();
63  convert_113 ();
64
65  convert_121 ();
66  convert_122 ();
67
68  convert_131 ();
69  convert_132 ();
70
71  convert_141 ();
72  convert_142 ();
73
74  convert_211 ();
75  convert_212 ();
76  convert_213 ();
77  convert_214 ();
78  convert_215 ();
79  convert_216 ();
80  convert_217 ();
81
82  convert_221 ();
83  convert_222 ();
84  convert_223 ();
85  convert_224 ();
86  convert_225 ();
87  convert_226 ();
88  convert_227 ();
89
90  convert_231 ();
91  convert_232 ();
92  convert_233 ();
93  convert_234 ();
94  convert_235 ();
95  convert_236 ();
96  convert_237 ();
97
98  convert_241 ();
99  convert_242 ();
100  convert_243 ();
101  convert_244 ();
102  convert_245 ();
103  convert_246 ();
104  convert_247 ();
105
106  FINISH
107}
108