summaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/dfp/convert-bfp-10.c
blob: 3fef98a3384192a0d4eccb596d0047a681853428 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/* This test assumes IEEE float and double.  */

#include "convert.h"

volatile _Decimal32 sd;
volatile _Decimal64 dd;
volatile _Decimal128 td;
volatile float sf;
volatile double df;

/* Conversions using denormalized float values.  */
CONVERT_VALID (111, sf, sd, 1.2e-38f, 1.2e-38df, 0.df)
CONVERT_VALID (112, sf, sd, 1.1e-38f, 1.1e-38df, 0.df)
CONVERT_VALID (113, sf, sd, 1.1e-40f, 1.1e-40df, 1.1e-45df)

CONVERT_VALID (121, sd, sf, 1.2e-38df, 1.2e-38f, 0.f)
CONVERT_VALID (122, sd, sf, 1.1e-38df, 1.1e-38f, 0.f)

CONVERT_VALID (131, sf, sd, -1.2e-38f, -1.2e-38df, 0.df)
CONVERT_VALID (132, sf, sd, -1.1e-38f, -1.1e-38df, 0.df)

CONVERT_VALID (141, sd, sf, -1.2e-38df, -1.2e-38f, 0.f)
CONVERT_VALID (142, sd, sf, -1.1e-38df, -1.1e-38f, 0.f)

/* Conversions using denormalized double values.  */
CONVERT_VALID (211, df, sd, 1.2e-38, 1.2e-38df, 0.df)
CONVERT_VALID (212, df, sd, 1.1e-38, 1.1e-38df, 0.df)
CONVERT_VALID (213, df, sd, 1.e-40, 1.e-40df, 0.df)
CONVERT_VALID (214, df, sd, 8.e-44, 8.e-44df, 0.df)
CONVERT_VALID (215, df, sd, 9.e-44, 9.e-44df, 0.df)
CONVERT_VALID (216, df, sd, 8.e-46, 8.e-46df, 0.df)
CONVERT_VALID (217, df, sd, 7.e-46, 7.e-46df, 0.df)

CONVERT_VALID (221, sd, df, 1.2e-38df, 1.2e-38, 1.e-53)
CONVERT_VALID (222, sd, df, 1.1e-38df, 1.1e-38, 1.e-53)
CONVERT_VALID (223, sd, df, 1.e-40df, 1.e-40, 0.)
CONVERT_VALID (224, sd, df, 8.e-44df, 8.e-44, 0.)
CONVERT_VALID (225, sd, df, 9.e-44df, 9.e-44, 0.)
CONVERT_VALID (226, sd, df, 8.e-46df, 8.e-46, 0.)
CONVERT_VALID (227, sd, df, 7.e-46df, 7.e-46, 0.)

CONVERT_VALID (231, df, sd, -1.2e-38, -1.2e-38df, 0.df)
CONVERT_VALID (232, df, sd, -1.1e-38f, -1.1e-38df, 0.df)
CONVERT_VALID (233, df, sd, -1.e-40, -1.e-40df, 0.df)
CONVERT_VALID (234, df, sd, -8.e-44, -8.e-44df, 0.df)
CONVERT_VALID (235, df, sd, -9.e-44, -9.e-44df, 0.df)
CONVERT_VALID (236, df, sd, -8.e-46, -8.e-46df, 0.df)
CONVERT_VALID (237, df, sd, -7.e-46, -7.e-46df, 0.df)

CONVERT_VALID (241, sd, df, -1.2e-38df, -1.2e-38, 1.e-53)
CONVERT_VALID (242, sd, df, -1.1e-38df, -1.1e-38, 1.e-53)
CONVERT_VALID (243, sd, df, -1.e-40df, -1.e-40, 0.)
CONVERT_VALID (244, sd, df, -8.e-44df, -8.e-44, 0.)
CONVERT_VALID (245, sd, df, -9.e-44df, -9.e-44, 0.)
CONVERT_VALID (246, sd, df, -8.e-46df, -8.e-46, 0.)
CONVERT_VALID (247, sd, df, -7.e-46df, -7.e-46, 0.)

int
main ()
{
  convert_111 ();
  convert_112 ();
  convert_113 ();

  convert_121 ();
  convert_122 ();

  convert_131 ();
  convert_132 ();

  convert_141 ();
  convert_142 ();

  convert_211 ();
  convert_212 ();
  convert_213 ();
  convert_214 ();
  convert_215 ();
  convert_216 ();
  convert_217 ();

  convert_221 ();
  convert_222 ();
  convert_223 ();
  convert_224 ();
  convert_225 ();
  convert_226 ();
  convert_227 ();

  convert_231 ();
  convert_232 ();
  convert_233 ();
  convert_234 ();
  convert_235 ();
  convert_236 ();
  convert_237 ();

  convert_241 ();
  convert_242 ();
  convert_243 ();
  convert_244 ();
  convert_245 ();
  convert_246 ();
  convert_247 ();

  FINISH
}