OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [dfp/] [pr41049.c] - Blame information for rev 378

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 298 jeremybenn
/* { dg-options "-std=gnu99" } */
2
 
3
/* The preferred exponent of the result of a conversion from an
4
   integral type to a decimal float type is zero.  A conversion at
5
   either compile time or runtime should not change the number of
6
   trailing zeroes.  */
7
 
8
#include "dfp-dbg.h"
9
 
10
#define PASTE2(A,B) A ## B
11
#define PASTE(A,B) PASTE2(A,B)
12
 
13
#define TESTVAL_NEG(VAL,SUF,SIZE)                                       \
14
  x = PASTE(PASTE(VAL,.),SUF);                                          \
15
  si = VAL;                                                             \
16
  sll = PASTE(VAL,LL);                                                  \
17
  a = si;                                                               \
18
  b = sll;                                                              \
19
  c = VAL;                                                              \
20
  d = PASTE(VAL,LL);                                                    \
21
  if ((__builtin_memcmp ((void *)&x, (void *)&a, SIZE) != 0)             \
22
      || (__builtin_memcmp ((void *)&x, (void *)&b,SIZE) != 0)           \
23
      || (__builtin_memcmp ((void *)&x, (void *)&c,SIZE) != 0)           \
24
      || (__builtin_memcmp ((void *)&x, (void *)&d,SIZE) != 0))          \
25
    FAILURE
26
 
27
#define TESTVAL_NEG_BIG(VAL,SUF,SIZE)                                   \
28
  x = PASTE(PASTE(VAL,.),SUF);                                          \
29
  sll = PASTE(VAL,LL);                                                  \
30
  a = sll;                                                              \
31
  b = PASTE(VAL,LL);                                                    \
32
  if ((__builtin_memcmp ((void *)&x, (void *)&a, SIZE) != 0)             \
33
      || (__builtin_memcmp ((void *)&x, (void *)&b,SIZE) != 0))          \
34
    FAILURE
35
 
36
#define TESTVAL_NONNEG(VAL,SUF,SIZE)                                    \
37
  x = PASTE(PASTE(VAL,.),SUF);                                          \
38
  si = VAL;                                                             \
39
  ui = VAL;                                                             \
40
  sll = PASTE(VAL,LL);                                                  \
41
  ull = PASTE(VAL,ULL);                                                 \
42
  a = si;                                                               \
43
  b = sll;                                                              \
44
  c = ui;                                                               \
45
  d = ull;                                                              \
46
  e = VAL;                                                              \
47
  f = VAL;                                                              \
48
  g = PASTE(VAL,LL);                                                    \
49
  h = PASTE(VAL,ULL);                                                   \
50
  if ((__builtin_memcmp ((void *)&x, (void *)&a, SIZE) != 0)             \
51
      || (__builtin_memcmp ((void *)&x, (void *)&b,SIZE) != 0)           \
52
      || (__builtin_memcmp ((void *)&x, (void *)&c,SIZE) != 0)           \
53
      || (__builtin_memcmp ((void *)&x, (void *)&d,SIZE) != 0)           \
54
      || (__builtin_memcmp ((void *)&x, (void *)&e,SIZE) != 0)           \
55
      || (__builtin_memcmp ((void *)&x, (void *)&f,SIZE) != 0)           \
56
      || (__builtin_memcmp ((void *)&x, (void *)&g,SIZE) != 0)           \
57
      || (__builtin_memcmp ((void *)&x, (void *)&h,SIZE) != 0))          \
58
    FAILURE
59
 
60
#define TESTVAL_NONNEG_BIG(VAL,SUF,SIZE)                                \
61
  x = PASTE(PASTE(VAL,.),SUF);                                          \
62
  sll = PASTE(VAL,LL);                                                  \
63
  ull = PASTE(VAL,ULL);                                                 \
64
  b = sll;                                                              \
65
  d = ull;                                                              \
66
  f = PASTE(VAL,LL);                                                    \
67
  g = PASTE(VAL,ULL);                                                   \
68
  if ((__builtin_memcmp ((void *)&x, (void *)&b, SIZE) != 0)             \
69
      || (__builtin_memcmp ((void *)&d, (void *)&d,SIZE) != 0)           \
70
      || (__builtin_memcmp ((void *)&f, (void *)&d,SIZE) != 0)           \
71
      || (__builtin_memcmp ((void *)&g, (void *)&d,SIZE) != 0))          \
72
    FAILURE
73
 
74
#undef SUFFIX
75
#define SUFFIX DF
76
#undef TYPE
77
#define TYPE _Decimal32
78
 
79
void
80
zeroes_32 (void)
81
{
82
  volatile TYPE x, a, b, c, d, e, f, g, h;
83
  volatile int si;
84
  volatile unsigned int ui;
85
  volatile long long sll;
86
  volatile unsigned long long ull;
87
 
88
  TESTVAL_NONNEG (0, SUFFIX, sizeof (TYPE));
89
  TESTVAL_NONNEG (1, SUFFIX, sizeof (TYPE));
90
  TESTVAL_NONNEG (5, SUFFIX, sizeof (TYPE));
91
  TESTVAL_NONNEG (9, SUFFIX, sizeof (TYPE));
92
  TESTVAL_NONNEG (10, SUFFIX, sizeof (TYPE));
93
  TESTVAL_NONNEG (50, SUFFIX, sizeof (TYPE));
94
  TESTVAL_NONNEG (90, SUFFIX, sizeof (TYPE));
95
  TESTVAL_NONNEG (100, SUFFIX, sizeof (TYPE));
96
  TESTVAL_NONNEG (500, SUFFIX, sizeof (TYPE));
97
  TESTVAL_NONNEG (900, SUFFIX, sizeof (TYPE));
98
  TESTVAL_NONNEG (1000, SUFFIX, sizeof (TYPE));
99
  TESTVAL_NONNEG (5000, SUFFIX, sizeof (TYPE));
100
  TESTVAL_NONNEG (9000, SUFFIX, sizeof (TYPE));
101
  TESTVAL_NONNEG (10000, SUFFIX, sizeof (TYPE));
102
  TESTVAL_NONNEG (50000, SUFFIX, sizeof (TYPE));
103
  TESTVAL_NONNEG (90000, SUFFIX, sizeof (TYPE));
104
  TESTVAL_NONNEG (100000, SUFFIX, sizeof (TYPE));
105
  TESTVAL_NONNEG (500000, SUFFIX, sizeof (TYPE));
106
  TESTVAL_NONNEG (900000, SUFFIX, sizeof (TYPE));
107
  TESTVAL_NONNEG (1000000, SUFFIX, sizeof (TYPE));
108
  TESTVAL_NONNEG (5000000, SUFFIX, sizeof (TYPE));
109
  TESTVAL_NONNEG (9000000, SUFFIX, sizeof (TYPE));
110
  TESTVAL_NONNEG (10000000, SUFFIX, sizeof (TYPE));
111
  TESTVAL_NONNEG (50000000, SUFFIX, sizeof (TYPE));
112
  TESTVAL_NONNEG (90000000, SUFFIX, sizeof (TYPE));
113
  TESTVAL_NONNEG (100000000, SUFFIX, sizeof (TYPE));
114
  TESTVAL_NONNEG (500000000, SUFFIX, sizeof (TYPE));
115
  TESTVAL_NONNEG (900000000, SUFFIX, sizeof (TYPE));
116
  TESTVAL_NONNEG (1000000000, SUFFIX, sizeof (TYPE));
117
  TESTVAL_NONNEG_BIG (5000000000, SUFFIX, sizeof (TYPE));
118
  TESTVAL_NONNEG_BIG (9000000000, SUFFIX, sizeof (TYPE));
119
  TESTVAL_NONNEG_BIG (10000000000, SUFFIX, sizeof (TYPE));
120
  TESTVAL_NONNEG_BIG (50000000000, SUFFIX, sizeof (TYPE));
121
  TESTVAL_NONNEG_BIG (90000000000, SUFFIX, sizeof (TYPE));
122
  TESTVAL_NONNEG_BIG (100000000000, SUFFIX, sizeof (TYPE));
123
  TESTVAL_NONNEG_BIG (500000000000, SUFFIX, sizeof (TYPE));
124
  TESTVAL_NONNEG_BIG (900000000000, SUFFIX, sizeof (TYPE));
125
  TESTVAL_NONNEG_BIG (1000000000000, SUFFIX, sizeof (TYPE));
126
  TESTVAL_NONNEG_BIG (5000000000000, SUFFIX, sizeof (TYPE));
127
  TESTVAL_NONNEG_BIG (9000000000000, SUFFIX, sizeof (TYPE));
128
  TESTVAL_NONNEG_BIG (10000000000000, SUFFIX, sizeof (TYPE));
129
  TESTVAL_NONNEG_BIG (50000000000000, SUFFIX, sizeof (TYPE));
130
  TESTVAL_NONNEG_BIG (90000000000000, SUFFIX, sizeof (TYPE));
131
  TESTVAL_NONNEG_BIG (100000000000000, SUFFIX, sizeof (TYPE));
132
  TESTVAL_NONNEG_BIG (500000000000000, SUFFIX, sizeof (TYPE));
133
  TESTVAL_NONNEG_BIG (900000000000000, SUFFIX, sizeof (TYPE));
134
  TESTVAL_NONNEG_BIG (1000000000000000, SUFFIX, sizeof (TYPE));
135
  TESTVAL_NONNEG_BIG (5000000000000000, SUFFIX, sizeof (TYPE));
136
  TESTVAL_NONNEG_BIG (9000000000000000, SUFFIX, sizeof (TYPE));
137
  TESTVAL_NONNEG_BIG (10000000000000000, SUFFIX, sizeof (TYPE));
138
  TESTVAL_NONNEG_BIG (50000000000000000, SUFFIX, sizeof (TYPE));
139
  TESTVAL_NONNEG_BIG (90000000000000000, SUFFIX, sizeof (TYPE));
140
  TESTVAL_NONNEG_BIG (100000000000000000, SUFFIX, sizeof (TYPE));
141
  TESTVAL_NONNEG_BIG (500000000000000000, SUFFIX, sizeof (TYPE));
142
  TESTVAL_NONNEG_BIG (900000000000000000, SUFFIX, sizeof (TYPE));
143
  TESTVAL_NONNEG_BIG (1000000000000000000, SUFFIX, sizeof (TYPE));
144
  TESTVAL_NONNEG_BIG (5000000000000000000, SUFFIX, sizeof (TYPE));
145
  TESTVAL_NONNEG_BIG (9000000000000000000, SUFFIX, sizeof (TYPE));
146
 
147
  TESTVAL_NEG (0, SUFFIX, sizeof (TYPE));
148
  TESTVAL_NEG (-1, SUFFIX, sizeof (TYPE));
149
  TESTVAL_NEG (-5, SUFFIX, sizeof (TYPE));
150
  TESTVAL_NEG (-9, SUFFIX, sizeof (TYPE));
151
  TESTVAL_NEG (-10, SUFFIX, sizeof (TYPE));
152
  TESTVAL_NEG (-50, SUFFIX, sizeof (TYPE));
153
  TESTVAL_NEG (-90, SUFFIX, sizeof (TYPE));
154
  TESTVAL_NEG (-100, SUFFIX, sizeof (TYPE));
155
  TESTVAL_NEG (-500, SUFFIX, sizeof (TYPE));
156
  TESTVAL_NEG (-900, SUFFIX, sizeof (TYPE));
157
  TESTVAL_NEG (-1000, SUFFIX, sizeof (TYPE));
158
  TESTVAL_NEG (-5000, SUFFIX, sizeof (TYPE));
159
  TESTVAL_NEG (-9000, SUFFIX, sizeof (TYPE));
160
  TESTVAL_NEG (-10000, SUFFIX, sizeof (TYPE));
161
  TESTVAL_NEG (-50000, SUFFIX, sizeof (TYPE));
162
  TESTVAL_NEG (-90000, SUFFIX, sizeof (TYPE));
163
  TESTVAL_NEG (-100000, SUFFIX, sizeof (TYPE));
164
  TESTVAL_NEG (-500000, SUFFIX, sizeof (TYPE));
165
  TESTVAL_NEG (-900000, SUFFIX, sizeof (TYPE));
166
  TESTVAL_NEG (-1000000, SUFFIX, sizeof (TYPE));
167
  TESTVAL_NEG (-5000000, SUFFIX, sizeof (TYPE));
168
  TESTVAL_NEG (-9000000, SUFFIX, sizeof (TYPE));
169
  TESTVAL_NEG (-10000000, SUFFIX, sizeof (TYPE));
170
  TESTVAL_NEG (-50000000, SUFFIX, sizeof (TYPE));
171
  TESTVAL_NEG (-90000000, SUFFIX, sizeof (TYPE));
172
  TESTVAL_NEG (-100000000, SUFFIX, sizeof (TYPE));
173
  TESTVAL_NEG (-500000000, SUFFIX, sizeof (TYPE));
174
  TESTVAL_NEG (-900000000, SUFFIX, sizeof (TYPE));
175
  TESTVAL_NEG (-1000000000, SUFFIX, sizeof (TYPE));
176
  TESTVAL_NEG_BIG (-5000000000, SUFFIX, sizeof (TYPE));
177
  TESTVAL_NEG_BIG (-9000000000, SUFFIX, sizeof (TYPE));
178
  TESTVAL_NEG_BIG (-10000000000, SUFFIX, sizeof (TYPE));
179
  TESTVAL_NEG_BIG (-50000000000, SUFFIX, sizeof (TYPE));
180
  TESTVAL_NEG_BIG (-90000000000, SUFFIX, sizeof (TYPE));
181
  TESTVAL_NEG_BIG (-100000000000, SUFFIX, sizeof (TYPE));
182
  TESTVAL_NEG_BIG (-500000000000, SUFFIX, sizeof (TYPE));
183
  TESTVAL_NEG_BIG (-900000000000, SUFFIX, sizeof (TYPE));
184
  TESTVAL_NEG_BIG (-1000000000000, SUFFIX, sizeof (TYPE));
185
  TESTVAL_NEG_BIG (-5000000000000, SUFFIX, sizeof (TYPE));
186
  TESTVAL_NEG_BIG (-9000000000000, SUFFIX, sizeof (TYPE));
187
  TESTVAL_NEG_BIG (-10000000000000, SUFFIX, sizeof (TYPE));
188
  TESTVAL_NEG_BIG (-50000000000000, SUFFIX, sizeof (TYPE));
189
  TESTVAL_NEG_BIG (-90000000000000, SUFFIX, sizeof (TYPE));
190
  TESTVAL_NEG_BIG (-100000000000000, SUFFIX, sizeof (TYPE));
191
  TESTVAL_NEG_BIG (-500000000000000, SUFFIX, sizeof (TYPE));
192
  TESTVAL_NEG_BIG (-900000000000000, SUFFIX, sizeof (TYPE));
193
  TESTVAL_NEG_BIG (-1000000000000000, SUFFIX, sizeof (TYPE));
194
  TESTVAL_NEG_BIG (-5000000000000000, SUFFIX, sizeof (TYPE));
195
  TESTVAL_NEG_BIG (-9000000000000000, SUFFIX, sizeof (TYPE));
196
  TESTVAL_NEG_BIG (-10000000000000000, SUFFIX, sizeof (TYPE));
197
  TESTVAL_NEG_BIG (-50000000000000000, SUFFIX, sizeof (TYPE));
198
  TESTVAL_NEG_BIG (-90000000000000000, SUFFIX, sizeof (TYPE));
199
  TESTVAL_NEG_BIG (-100000000000000000, SUFFIX, sizeof (TYPE));
200
  TESTVAL_NEG_BIG (-500000000000000000, SUFFIX, sizeof (TYPE));
201
  TESTVAL_NEG_BIG (-900000000000000000, SUFFIX, sizeof (TYPE));
202
  TESTVAL_NEG_BIG (-1000000000000000000, SUFFIX, sizeof (TYPE));
203
  TESTVAL_NEG_BIG (-5000000000000000000, SUFFIX, sizeof (TYPE));
204
  TESTVAL_NEG_BIG (-9000000000000000000, SUFFIX, sizeof (TYPE));
205
}
206
 
207
void
208
round_32 (void)
209
{
210
  volatile TYPE x, a, b, c, d, e, f, g, h;
211
  volatile int si;
212
  volatile unsigned int ui;
213
  volatile long long sll;
214
  volatile unsigned long long ull;
215
 
216
  TESTVAL_NONNEG (10000049, SUFFIX, sizeof (TYPE));
217
  TESTVAL_NONNEG (10000050, SUFFIX, sizeof (TYPE));
218
  TESTVAL_NONNEG (10000051, SUFFIX, sizeof (TYPE));
219
  TESTVAL_NONNEG (10000000, SUFFIX, sizeof (TYPE));
220
  TESTVAL_NONNEG (10000001, SUFFIX, sizeof (TYPE));
221
  TESTVAL_NONNEG (10000002, SUFFIX, sizeof (TYPE));
222
  TESTVAL_NONNEG (10000003, SUFFIX, sizeof (TYPE));
223
  TESTVAL_NONNEG (10000004, SUFFIX, sizeof (TYPE));
224
  TESTVAL_NONNEG (100000049, SUFFIX, sizeof (TYPE));
225
  TESTVAL_NONNEG (100000051, SUFFIX, sizeof (TYPE));
226
  TESTVAL_NONNEG (10000006, SUFFIX, sizeof (TYPE));
227
  TESTVAL_NONNEG (10000007, SUFFIX, sizeof (TYPE));
228
  TESTVAL_NONNEG (10000008, SUFFIX, sizeof (TYPE));
229
  TESTVAL_NONNEG (10000009, SUFFIX, sizeof (TYPE));
230
  TESTVAL_NONNEG (10000010, SUFFIX, sizeof (TYPE));
231
 
232
  TESTVAL_NEG (-10000049, SUFFIX, sizeof (TYPE));
233
  TESTVAL_NEG (-10000050, SUFFIX, sizeof (TYPE));
234
  TESTVAL_NEG (-10000051, SUFFIX, sizeof (TYPE));
235
  TESTVAL_NEG (-10000000, SUFFIX, sizeof (TYPE));
236
  TESTVAL_NEG (-10000001, SUFFIX, sizeof (TYPE));
237
  TESTVAL_NEG (-10000002, SUFFIX, sizeof (TYPE));
238
  TESTVAL_NEG (-10000003, SUFFIX, sizeof (TYPE));
239
  TESTVAL_NEG (-10000004, SUFFIX, sizeof (TYPE));
240
  TESTVAL_NEG (-100000049, SUFFIX, sizeof (TYPE));
241
  TESTVAL_NEG (-100000051, SUFFIX, sizeof (TYPE));
242
  TESTVAL_NEG (-10000006, SUFFIX, sizeof (TYPE));
243
  TESTVAL_NEG (-10000007, SUFFIX, sizeof (TYPE));
244
  TESTVAL_NEG (-10000008, SUFFIX, sizeof (TYPE));
245
  TESTVAL_NEG (-10000009, SUFFIX, sizeof (TYPE));
246
  TESTVAL_NEG (-10000010, SUFFIX, sizeof (TYPE));
247
}
248
 
249
#undef SUFFIX
250
#define SUFFIX DD
251
#undef TYPE
252
#define TYPE _Decimal64
253
 
254
void
255
zeroes_64 (void)
256
{
257
  volatile TYPE x, a, b, c, d, e, f, g, h;
258
  volatile int si;
259
  volatile unsigned int ui;
260
  volatile long long sll;
261
  volatile unsigned long long ull;
262
 
263
  TESTVAL_NONNEG (0, SUFFIX, sizeof (TYPE));
264
  TESTVAL_NONNEG (1, SUFFIX, sizeof (TYPE));
265
  TESTVAL_NONNEG (5, SUFFIX, sizeof (TYPE));
266
  TESTVAL_NONNEG (9, SUFFIX, sizeof (TYPE));
267
  TESTVAL_NONNEG (10, SUFFIX, sizeof (TYPE));
268
  TESTVAL_NONNEG (50, SUFFIX, sizeof (TYPE));
269
  TESTVAL_NONNEG (90, SUFFIX, sizeof (TYPE));
270
  TESTVAL_NONNEG (100, SUFFIX, sizeof (TYPE));
271
  TESTVAL_NONNEG (500, SUFFIX, sizeof (TYPE));
272
  TESTVAL_NONNEG (900, SUFFIX, sizeof (TYPE));
273
  TESTVAL_NONNEG (1000, SUFFIX, sizeof (TYPE));
274
  TESTVAL_NONNEG (5000, SUFFIX, sizeof (TYPE));
275
  TESTVAL_NONNEG (9000, SUFFIX, sizeof (TYPE));
276
  TESTVAL_NONNEG (10000, SUFFIX, sizeof (TYPE));
277
  TESTVAL_NONNEG (50000, SUFFIX, sizeof (TYPE));
278
  TESTVAL_NONNEG (90000, SUFFIX, sizeof (TYPE));
279
  TESTVAL_NONNEG (100000, SUFFIX, sizeof (TYPE));
280
  TESTVAL_NONNEG (500000, SUFFIX, sizeof (TYPE));
281
  TESTVAL_NONNEG (900000, SUFFIX, sizeof (TYPE));
282
  TESTVAL_NONNEG (1000000, SUFFIX, sizeof (TYPE));
283
  TESTVAL_NONNEG (5000000, SUFFIX, sizeof (TYPE));
284
  TESTVAL_NONNEG (9000000, SUFFIX, sizeof (TYPE));
285
  TESTVAL_NONNEG (10000000, SUFFIX, sizeof (TYPE));
286
  TESTVAL_NONNEG (50000000, SUFFIX, sizeof (TYPE));
287
  TESTVAL_NONNEG (90000000, SUFFIX, sizeof (TYPE));
288
  TESTVAL_NONNEG (100000000, SUFFIX, sizeof (TYPE));
289
  TESTVAL_NONNEG (500000000, SUFFIX, sizeof (TYPE));
290
  TESTVAL_NONNEG (900000000, SUFFIX, sizeof (TYPE));
291
  TESTVAL_NONNEG (1000000000, SUFFIX, sizeof (TYPE));
292
  TESTVAL_NONNEG_BIG (5000000000, SUFFIX, sizeof (TYPE));
293
  TESTVAL_NONNEG_BIG (9000000000, SUFFIX, sizeof (TYPE));
294
  TESTVAL_NONNEG_BIG (10000000000, SUFFIX, sizeof (TYPE));
295
  TESTVAL_NONNEG_BIG (50000000000, SUFFIX, sizeof (TYPE));
296
  TESTVAL_NONNEG_BIG (90000000000, SUFFIX, sizeof (TYPE));
297
  TESTVAL_NONNEG_BIG (100000000000, SUFFIX, sizeof (TYPE));
298
  TESTVAL_NONNEG_BIG (500000000000, SUFFIX, sizeof (TYPE));
299
  TESTVAL_NONNEG_BIG (900000000000, SUFFIX, sizeof (TYPE));
300
  TESTVAL_NONNEG_BIG (1000000000000, SUFFIX, sizeof (TYPE));
301
  TESTVAL_NONNEG_BIG (5000000000000, SUFFIX, sizeof (TYPE));
302
  TESTVAL_NONNEG_BIG (9000000000000, SUFFIX, sizeof (TYPE));
303
  TESTVAL_NONNEG_BIG (10000000000000, SUFFIX, sizeof (TYPE));
304
  TESTVAL_NONNEG_BIG (50000000000000, SUFFIX, sizeof (TYPE));
305
  TESTVAL_NONNEG_BIG (90000000000000, SUFFIX, sizeof (TYPE));
306
  TESTVAL_NONNEG_BIG (100000000000000, SUFFIX, sizeof (TYPE));
307
  TESTVAL_NONNEG_BIG (500000000000000, SUFFIX, sizeof (TYPE));
308
  TESTVAL_NONNEG_BIG (900000000000000, SUFFIX, sizeof (TYPE));
309
  TESTVAL_NONNEG_BIG (1000000000000000, SUFFIX, sizeof (TYPE));
310
  TESTVAL_NONNEG_BIG (5000000000000000, SUFFIX, sizeof (TYPE));
311
  TESTVAL_NONNEG_BIG (9000000000000000, SUFFIX, sizeof (TYPE));
312
  TESTVAL_NONNEG_BIG (10000000000000000, SUFFIX, sizeof (TYPE));
313
  TESTVAL_NONNEG_BIG (50000000000000000, SUFFIX, sizeof (TYPE));
314
  TESTVAL_NONNEG_BIG (90000000000000000, SUFFIX, sizeof (TYPE));
315
  TESTVAL_NONNEG_BIG (100000000000000000, SUFFIX, sizeof (TYPE));
316
  TESTVAL_NONNEG_BIG (500000000000000000, SUFFIX, sizeof (TYPE));
317
  TESTVAL_NONNEG_BIG (900000000000000000, SUFFIX, sizeof (TYPE));
318
  TESTVAL_NONNEG_BIG (1000000000000000000, SUFFIX, sizeof (TYPE));
319
  TESTVAL_NONNEG_BIG (5000000000000000000, SUFFIX, sizeof (TYPE));
320
  TESTVAL_NONNEG_BIG (9000000000000000000, SUFFIX, sizeof (TYPE));
321
 
322
  TESTVAL_NEG (0, SUFFIX, sizeof (TYPE));
323
  TESTVAL_NEG (-1, SUFFIX, sizeof (TYPE));
324
  TESTVAL_NEG (-5, SUFFIX, sizeof (TYPE));
325
  TESTVAL_NEG (-9, SUFFIX, sizeof (TYPE));
326
  TESTVAL_NEG (-10, SUFFIX, sizeof (TYPE));
327
  TESTVAL_NEG (-50, SUFFIX, sizeof (TYPE));
328
  TESTVAL_NEG (-90, SUFFIX, sizeof (TYPE));
329
  TESTVAL_NEG (-100, SUFFIX, sizeof (TYPE));
330
  TESTVAL_NEG (-500, SUFFIX, sizeof (TYPE));
331
  TESTVAL_NEG (-900, SUFFIX, sizeof (TYPE));
332
  TESTVAL_NEG (-1000, SUFFIX, sizeof (TYPE));
333
  TESTVAL_NEG (-5000, SUFFIX, sizeof (TYPE));
334
  TESTVAL_NEG (-9000, SUFFIX, sizeof (TYPE));
335
  TESTVAL_NEG (-10000, SUFFIX, sizeof (TYPE));
336
  TESTVAL_NEG (-50000, SUFFIX, sizeof (TYPE));
337
  TESTVAL_NEG (-90000, SUFFIX, sizeof (TYPE));
338
  TESTVAL_NEG (-100000, SUFFIX, sizeof (TYPE));
339
  TESTVAL_NEG (-500000, SUFFIX, sizeof (TYPE));
340
  TESTVAL_NEG (-900000, SUFFIX, sizeof (TYPE));
341
  TESTVAL_NEG (-1000000, SUFFIX, sizeof (TYPE));
342
  TESTVAL_NEG (-5000000, SUFFIX, sizeof (TYPE));
343
  TESTVAL_NEG (-9000000, SUFFIX, sizeof (TYPE));
344
  TESTVAL_NEG (-10000000, SUFFIX, sizeof (TYPE));
345
  TESTVAL_NEG (-50000000, SUFFIX, sizeof (TYPE));
346
  TESTVAL_NEG (-90000000, SUFFIX, sizeof (TYPE));
347
  TESTVAL_NEG (-100000000, SUFFIX, sizeof (TYPE));
348
  TESTVAL_NEG (-500000000, SUFFIX, sizeof (TYPE));
349
  TESTVAL_NEG (-900000000, SUFFIX, sizeof (TYPE));
350
  TESTVAL_NEG (-1000000000, SUFFIX, sizeof (TYPE));
351
  TESTVAL_NEG_BIG (-5000000000, SUFFIX, sizeof (TYPE));
352
  TESTVAL_NEG_BIG (-9000000000, SUFFIX, sizeof (TYPE));
353
  TESTVAL_NEG_BIG (-10000000000, SUFFIX, sizeof (TYPE));
354
  TESTVAL_NEG_BIG (-50000000000, SUFFIX, sizeof (TYPE));
355
  TESTVAL_NEG_BIG (-90000000000, SUFFIX, sizeof (TYPE));
356
  TESTVAL_NEG_BIG (-100000000000, SUFFIX, sizeof (TYPE));
357
  TESTVAL_NEG_BIG (-500000000000, SUFFIX, sizeof (TYPE));
358
  TESTVAL_NEG_BIG (-900000000000, SUFFIX, sizeof (TYPE));
359
  TESTVAL_NEG_BIG (-1000000000000, SUFFIX, sizeof (TYPE));
360
  TESTVAL_NEG_BIG (-5000000000000, SUFFIX, sizeof (TYPE));
361
  TESTVAL_NEG_BIG (-9000000000000, SUFFIX, sizeof (TYPE));
362
  TESTVAL_NEG_BIG (-10000000000000, SUFFIX, sizeof (TYPE));
363
  TESTVAL_NEG_BIG (-50000000000000, SUFFIX, sizeof (TYPE));
364
  TESTVAL_NEG_BIG (-90000000000000, SUFFIX, sizeof (TYPE));
365
  TESTVAL_NEG_BIG (-100000000000000, SUFFIX, sizeof (TYPE));
366
  TESTVAL_NEG_BIG (-500000000000000, SUFFIX, sizeof (TYPE));
367
  TESTVAL_NEG_BIG (-900000000000000, SUFFIX, sizeof (TYPE));
368
  TESTVAL_NEG_BIG (-1000000000000000, SUFFIX, sizeof (TYPE));
369
  TESTVAL_NEG_BIG (-5000000000000000, SUFFIX, sizeof (TYPE));
370
  TESTVAL_NEG_BIG (-9000000000000000, SUFFIX, sizeof (TYPE));
371
  TESTVAL_NEG_BIG (-10000000000000000, SUFFIX, sizeof (TYPE));
372
  TESTVAL_NEG_BIG (-50000000000000000, SUFFIX, sizeof (TYPE));
373
  TESTVAL_NEG_BIG (-90000000000000000, SUFFIX, sizeof (TYPE));
374
  TESTVAL_NEG_BIG (-100000000000000000, SUFFIX, sizeof (TYPE));
375
  TESTVAL_NEG_BIG (-500000000000000000, SUFFIX, sizeof (TYPE));
376
  TESTVAL_NEG_BIG (-900000000000000000, SUFFIX, sizeof (TYPE));
377
  TESTVAL_NEG_BIG (-1000000000000000000, SUFFIX, sizeof (TYPE));
378
  TESTVAL_NEG_BIG (-5000000000000000000, SUFFIX, sizeof (TYPE));
379
  TESTVAL_NEG_BIG (-9000000000000000000, SUFFIX, sizeof (TYPE));
380
}
381
 
382
void
383
round_64 (void)
384
{
385
  volatile TYPE x, a, b, c, d, e, f, g, h;
386
  volatile int si;
387
  volatile unsigned int ui;
388
  volatile long long sll;
389
  volatile unsigned long long ull;
390
 
391
  TESTVAL_NONNEG_BIG (10000000000000000, SUFFIX, sizeof (TYPE));
392
  TESTVAL_NONNEG_BIG (10000000000000001, SUFFIX, sizeof (TYPE));
393
  TESTVAL_NONNEG_BIG (10000000000000002, SUFFIX, sizeof (TYPE));
394
  TESTVAL_NONNEG_BIG (10000000000000003, SUFFIX, sizeof (TYPE));
395
  TESTVAL_NONNEG_BIG (10000000000000004, SUFFIX, sizeof (TYPE));
396
  TESTVAL_NONNEG_BIG (100000000000000049, SUFFIX, sizeof (TYPE));
397
  TESTVAL_NONNEG_BIG (100000000000000051, SUFFIX, sizeof (TYPE));
398
  TESTVAL_NONNEG_BIG (10000000000000006, SUFFIX, sizeof (TYPE));
399
  TESTVAL_NONNEG_BIG (10000000000000007, SUFFIX, sizeof (TYPE));
400
  TESTVAL_NONNEG_BIG (10000000000000008, SUFFIX, sizeof (TYPE));
401
  TESTVAL_NONNEG_BIG (10000000000000009, SUFFIX, sizeof (TYPE));
402
  TESTVAL_NONNEG_BIG (10000000000000010, SUFFIX, sizeof (TYPE));
403
 
404
  TESTVAL_NEG_BIG (-10000000000000000, SUFFIX, sizeof (TYPE));
405
  TESTVAL_NEG_BIG (-10000000000000001, SUFFIX, sizeof (TYPE));
406
  TESTVAL_NEG_BIG (-10000000000000002, SUFFIX, sizeof (TYPE));
407
  TESTVAL_NEG_BIG (-10000000000000003, SUFFIX, sizeof (TYPE));
408
  TESTVAL_NEG_BIG (-10000000000000004, SUFFIX, sizeof (TYPE));
409
  TESTVAL_NEG_BIG (-100000000000000049, SUFFIX, sizeof (TYPE));
410
  TESTVAL_NEG_BIG (-100000000000000051, SUFFIX, sizeof (TYPE));
411
  TESTVAL_NEG_BIG (-10000000000000006, SUFFIX, sizeof (TYPE));
412
  TESTVAL_NEG_BIG (-10000000000000007, SUFFIX, sizeof (TYPE));
413
  TESTVAL_NEG_BIG (-10000000000000008, SUFFIX, sizeof (TYPE));
414
  TESTVAL_NEG_BIG (-10000000000000009, SUFFIX, sizeof (TYPE));
415
  TESTVAL_NEG_BIG (-10000000000000010, SUFFIX, sizeof (TYPE));
416
}
417
 
418
#undef SUFFIX
419
#define SUFFIX DL
420
#undef TYPE
421
#define TYPE _Decimal128
422
 
423
void
424
zeroes_128 (void)
425
{
426
  volatile TYPE x, a, b, c, d, e, f, g, h;
427
  volatile int si;
428
  volatile unsigned int ui;
429
  volatile long long sll;
430
  volatile unsigned long long ull;
431
 
432
  TESTVAL_NONNEG (0, SUFFIX, sizeof (TYPE));
433
  TESTVAL_NONNEG (1, SUFFIX, sizeof (TYPE));
434
  TESTVAL_NONNEG (5, SUFFIX, sizeof (TYPE));
435
  TESTVAL_NONNEG (9, SUFFIX, sizeof (TYPE));
436
  TESTVAL_NONNEG (10, SUFFIX, sizeof (TYPE));
437
  TESTVAL_NONNEG (50, SUFFIX, sizeof (TYPE));
438
  TESTVAL_NONNEG (90, SUFFIX, sizeof (TYPE));
439
  TESTVAL_NONNEG (100, SUFFIX, sizeof (TYPE));
440
  TESTVAL_NONNEG (500, SUFFIX, sizeof (TYPE));
441
  TESTVAL_NONNEG (900, SUFFIX, sizeof (TYPE));
442
  TESTVAL_NONNEG (1000, SUFFIX, sizeof (TYPE));
443
  TESTVAL_NONNEG (5000, SUFFIX, sizeof (TYPE));
444
  TESTVAL_NONNEG (9000, SUFFIX, sizeof (TYPE));
445
  TESTVAL_NONNEG (10000, SUFFIX, sizeof (TYPE));
446
  TESTVAL_NONNEG (50000, SUFFIX, sizeof (TYPE));
447
  TESTVAL_NONNEG (90000, SUFFIX, sizeof (TYPE));
448
  TESTVAL_NONNEG (100000, SUFFIX, sizeof (TYPE));
449
  TESTVAL_NONNEG (500000, SUFFIX, sizeof (TYPE));
450
  TESTVAL_NONNEG (900000, SUFFIX, sizeof (TYPE));
451
  TESTVAL_NONNEG (1000000, SUFFIX, sizeof (TYPE));
452
  TESTVAL_NONNEG (5000000, SUFFIX, sizeof (TYPE));
453
  TESTVAL_NONNEG (9000000, SUFFIX, sizeof (TYPE));
454
  TESTVAL_NONNEG (10000000, SUFFIX, sizeof (TYPE));
455
  TESTVAL_NONNEG (50000000, SUFFIX, sizeof (TYPE));
456
  TESTVAL_NONNEG (90000000, SUFFIX, sizeof (TYPE));
457
  TESTVAL_NONNEG (100000000, SUFFIX, sizeof (TYPE));
458
  TESTVAL_NONNEG (500000000, SUFFIX, sizeof (TYPE));
459
  TESTVAL_NONNEG (900000000, SUFFIX, sizeof (TYPE));
460
  TESTVAL_NONNEG (1000000000, SUFFIX, sizeof (TYPE));
461
  TESTVAL_NONNEG_BIG (5000000000, SUFFIX, sizeof (TYPE));
462
  TESTVAL_NONNEG_BIG (9000000000, SUFFIX, sizeof (TYPE));
463
  TESTVAL_NONNEG_BIG (10000000000, SUFFIX, sizeof (TYPE));
464
  TESTVAL_NONNEG_BIG (50000000000, SUFFIX, sizeof (TYPE));
465
  TESTVAL_NONNEG_BIG (90000000000, SUFFIX, sizeof (TYPE));
466
  TESTVAL_NONNEG_BIG (100000000000, SUFFIX, sizeof (TYPE));
467
  TESTVAL_NONNEG_BIG (500000000000, SUFFIX, sizeof (TYPE));
468
  TESTVAL_NONNEG_BIG (900000000000, SUFFIX, sizeof (TYPE));
469
  TESTVAL_NONNEG_BIG (1000000000000, SUFFIX, sizeof (TYPE));
470
  TESTVAL_NONNEG_BIG (5000000000000, SUFFIX, sizeof (TYPE));
471
  TESTVAL_NONNEG_BIG (9000000000000, SUFFIX, sizeof (TYPE));
472
  TESTVAL_NONNEG_BIG (10000000000000, SUFFIX, sizeof (TYPE));
473
  TESTVAL_NONNEG_BIG (50000000000000, SUFFIX, sizeof (TYPE));
474
  TESTVAL_NONNEG_BIG (90000000000000, SUFFIX, sizeof (TYPE));
475
  TESTVAL_NONNEG_BIG (100000000000000, SUFFIX, sizeof (TYPE));
476
  TESTVAL_NONNEG_BIG (500000000000000, SUFFIX, sizeof (TYPE));
477
  TESTVAL_NONNEG_BIG (900000000000000, SUFFIX, sizeof (TYPE));
478
  TESTVAL_NONNEG_BIG (1000000000000000, SUFFIX, sizeof (TYPE));
479
  TESTVAL_NONNEG_BIG (5000000000000000, SUFFIX, sizeof (TYPE));
480
  TESTVAL_NONNEG_BIG (9000000000000000, SUFFIX, sizeof (TYPE));
481
  TESTVAL_NONNEG_BIG (10000000000000000, SUFFIX, sizeof (TYPE));
482
  TESTVAL_NONNEG_BIG (50000000000000000, SUFFIX, sizeof (TYPE));
483
  TESTVAL_NONNEG_BIG (90000000000000000, SUFFIX, sizeof (TYPE));
484
  TESTVAL_NONNEG_BIG (100000000000000000, SUFFIX, sizeof (TYPE));
485
  TESTVAL_NONNEG_BIG (500000000000000000, SUFFIX, sizeof (TYPE));
486
  TESTVAL_NONNEG_BIG (900000000000000000, SUFFIX, sizeof (TYPE));
487
  TESTVAL_NONNEG_BIG (1000000000000000000, SUFFIX, sizeof (TYPE));
488
  TESTVAL_NONNEG_BIG (5000000000000000000, SUFFIX, sizeof (TYPE));
489
  TESTVAL_NONNEG_BIG (9000000000000000000, SUFFIX, sizeof (TYPE));
490
 
491
  TESTVAL_NEG (0, SUFFIX, sizeof (TYPE));
492
  TESTVAL_NEG (-1, SUFFIX, sizeof (TYPE));
493
  TESTVAL_NEG (-5, SUFFIX, sizeof (TYPE));
494
  TESTVAL_NEG (-9, SUFFIX, sizeof (TYPE));
495
  TESTVAL_NEG (-10, SUFFIX, sizeof (TYPE));
496
  TESTVAL_NEG (-50, SUFFIX, sizeof (TYPE));
497
  TESTVAL_NEG (-90, SUFFIX, sizeof (TYPE));
498
  TESTVAL_NEG (-100, SUFFIX, sizeof (TYPE));
499
  TESTVAL_NEG (-500, SUFFIX, sizeof (TYPE));
500
  TESTVAL_NEG (-900, SUFFIX, sizeof (TYPE));
501
  TESTVAL_NEG (-1000, SUFFIX, sizeof (TYPE));
502
  TESTVAL_NEG (-5000, SUFFIX, sizeof (TYPE));
503
  TESTVAL_NEG (-9000, SUFFIX, sizeof (TYPE));
504
  TESTVAL_NEG (-10000, SUFFIX, sizeof (TYPE));
505
  TESTVAL_NEG (-50000, SUFFIX, sizeof (TYPE));
506
  TESTVAL_NEG (-90000, SUFFIX, sizeof (TYPE));
507
  TESTVAL_NEG (-100000, SUFFIX, sizeof (TYPE));
508
  TESTVAL_NEG (-500000, SUFFIX, sizeof (TYPE));
509
  TESTVAL_NEG (-900000, SUFFIX, sizeof (TYPE));
510
  TESTVAL_NEG (-1000000, SUFFIX, sizeof (TYPE));
511
  TESTVAL_NEG (-5000000, SUFFIX, sizeof (TYPE));
512
  TESTVAL_NEG (-9000000, SUFFIX, sizeof (TYPE));
513
  TESTVAL_NEG (-10000000, SUFFIX, sizeof (TYPE));
514
  TESTVAL_NEG (-50000000, SUFFIX, sizeof (TYPE));
515
  TESTVAL_NEG (-90000000, SUFFIX, sizeof (TYPE));
516
  TESTVAL_NEG (-100000000, SUFFIX, sizeof (TYPE));
517
  TESTVAL_NEG (-500000000, SUFFIX, sizeof (TYPE));
518
  TESTVAL_NEG (-900000000, SUFFIX, sizeof (TYPE));
519
  TESTVAL_NEG (-1000000000, SUFFIX, sizeof (TYPE));
520
  TESTVAL_NEG_BIG (-5000000000, SUFFIX, sizeof (TYPE));
521
  TESTVAL_NEG_BIG (-9000000000, SUFFIX, sizeof (TYPE));
522
  TESTVAL_NEG_BIG (-10000000000, SUFFIX, sizeof (TYPE));
523
  TESTVAL_NEG_BIG (-50000000000, SUFFIX, sizeof (TYPE));
524
  TESTVAL_NEG_BIG (-90000000000, SUFFIX, sizeof (TYPE));
525
  TESTVAL_NEG_BIG (-100000000000, SUFFIX, sizeof (TYPE));
526
  TESTVAL_NEG_BIG (-500000000000, SUFFIX, sizeof (TYPE));
527
  TESTVAL_NEG_BIG (-900000000000, SUFFIX, sizeof (TYPE));
528
  TESTVAL_NEG_BIG (-1000000000000, SUFFIX, sizeof (TYPE));
529
  TESTVAL_NEG_BIG (-5000000000000, SUFFIX, sizeof (TYPE));
530
  TESTVAL_NEG_BIG (-9000000000000, SUFFIX, sizeof (TYPE));
531
  TESTVAL_NEG_BIG (-10000000000000, SUFFIX, sizeof (TYPE));
532
  TESTVAL_NEG_BIG (-50000000000000, SUFFIX, sizeof (TYPE));
533
  TESTVAL_NEG_BIG (-90000000000000, SUFFIX, sizeof (TYPE));
534
  TESTVAL_NEG_BIG (-100000000000000, SUFFIX, sizeof (TYPE));
535
  TESTVAL_NEG_BIG (-500000000000000, SUFFIX, sizeof (TYPE));
536
  TESTVAL_NEG_BIG (-900000000000000, SUFFIX, sizeof (TYPE));
537
  TESTVAL_NEG_BIG (-1000000000000000, SUFFIX, sizeof (TYPE));
538
  TESTVAL_NEG_BIG (-5000000000000000, SUFFIX, sizeof (TYPE));
539
  TESTVAL_NEG_BIG (-9000000000000000, SUFFIX, sizeof (TYPE));
540
  TESTVAL_NEG_BIG (-10000000000000000, SUFFIX, sizeof (TYPE));
541
  TESTVAL_NEG_BIG (-50000000000000000, SUFFIX, sizeof (TYPE));
542
  TESTVAL_NEG_BIG (-90000000000000000, SUFFIX, sizeof (TYPE));
543
  TESTVAL_NEG_BIG (-100000000000000000, SUFFIX, sizeof (TYPE));
544
  TESTVAL_NEG_BIG (-500000000000000000, SUFFIX, sizeof (TYPE));
545
  TESTVAL_NEG_BIG (-900000000000000000, SUFFIX, sizeof (TYPE));
546
  TESTVAL_NEG_BIG (-1000000000000000000, SUFFIX, sizeof (TYPE));
547
  TESTVAL_NEG_BIG (-5000000000000000000, SUFFIX, sizeof (TYPE));
548
  TESTVAL_NEG_BIG (-9000000000000000000, SUFFIX, sizeof (TYPE));
549
}
550
 
551
 
552
int
553
main ()
554
{
555
  zeroes_32 ();
556
  zeroes_64 ();
557
  zeroes_128 ();
558
  round_32 ();
559
  round_64 ();
560
 
561
  FINISH
562
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.