summaryrefslogtreecommitdiffstats
path: root/Lib/test/decimaltestdata/dqEncode.decTest
blob: 8c5d7b9b303240fb3af13eafe75a5c84ae980892 (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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
------------------------------------------------------------------------
-- dqEncode.decTest -- decimal sixteen-byte format testcases          --
-- Copyright (c) IBM Corporation, 2000, 2008.  All rights reserved.   --
------------------------------------------------------------------------
-- Please see the document "General Decimal Arithmetic Testcases"     --
-- at http://www2.hursley.ibm.com/decimal for the description of      --
-- these testcases.                                                   --
--                                                                    --
-- These testcases are experimental ('beta' versions), and they       --
-- may contain errors.  They are offered on an as-is basis.  In       --
-- particular, achieving the same results as the tests here is not    --
-- a guarantee that an implementation complies with any Standard      --
-- or specification.  The tests are not exhaustive.                   --
--                                                                    --
-- Please send comments, suggestions, and corrections to the author:  --
--   Mike Cowlishaw, IBM Fellow                                       --
--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
--   mfc@uk.ibm.com                                                   --
------------------------------------------------------------------------
-- [Previously called decimal128.decTest]
version: 2.59

-- This set of tests is for the sixteen-byte concrete representation.
-- Its characteristics are:
--
--   1 bit  sign
--   5 bits combination field
--  12 bits exponent continuation
-- 110 bits coefficient continuation
--
-- Total exponent length 14 bits
-- Total coefficient length 114 bits (34 digits)
--
-- Elimit = 12287 (maximum encoded exponent)
-- Emax   =  6144 (largest exponent value)
-- Emin   = -6143 (smallest exponent value)
-- bias   =  6176 (subtracted from encoded exponent) = -Etiny

-- The testcases here have only exactly representable data on the
-- 'left-hand-side'; rounding from strings is tested in 'base'
-- testcase groups.

extended:    1
clamp:       1
precision:   34
rounding:    half_up
maxExponent: 6144
minExponent: -6143

-- General testcases
-- (mostly derived from the Strawman 4 document and examples)
decq001 apply   #A20780000000000000000000000003D0 -> -7.50
decq002 apply   -7.50             -> #A20780000000000000000000000003D0
-- derivative canonical plain strings
decq003 apply   #A20840000000000000000000000003D0 -> -7.50E+3
decq004 apply   -7.50E+3          -> #A20840000000000000000000000003D0
decq005 apply   #A20800000000000000000000000003D0 -> -750
decq006 apply   -750              -> #A20800000000000000000000000003D0
decq007 apply   #A207c0000000000000000000000003D0 -> -75.0
decq008 apply   -75.0             -> #A207c0000000000000000000000003D0
decq009 apply   #A20740000000000000000000000003D0 -> -0.750
decq010 apply   -0.750            -> #A20740000000000000000000000003D0
decq011 apply   #A20700000000000000000000000003D0 -> -0.0750
decq012 apply   -0.0750           -> #A20700000000000000000000000003D0
decq013 apply   #A20680000000000000000000000003D0 -> -0.000750
decq014 apply   -0.000750         -> #A20680000000000000000000000003D0
decq015 apply   #A20600000000000000000000000003D0 -> -0.00000750
decq016 apply   -0.00000750       -> #A20600000000000000000000000003D0
decq017 apply   #A205c0000000000000000000000003D0 -> -7.50E-7
decq018 apply   -7.50E-7          -> #A205c0000000000000000000000003D0

-- Normality
decq020 apply   1234567890123456789012345678901234   -> #2608134b9c1e28e56f3c127177823534
decq021 apply  -1234567890123456789012345678901234   -> #a608134b9c1e28e56f3c127177823534
decq022 apply   1111111111111111111111111111111111   -> #26080912449124491244912449124491

-- Nmax and similar
decq031 apply   9.999999999999999999999999999999999E+6144  -> #77ffcff3fcff3fcff3fcff3fcff3fcff
decq032 apply   #77ffcff3fcff3fcff3fcff3fcff3fcff -> 9.999999999999999999999999999999999E+6144
decq033 apply   1.234567890123456789012345678901234E+6144 -> #47ffd34b9c1e28e56f3c127177823534
decq034 apply   #47ffd34b9c1e28e56f3c127177823534 -> 1.234567890123456789012345678901234E+6144
-- fold-downs (more below)
decq035 apply   1.23E+6144    -> #47ffd300000000000000000000000000 Clamped
decq036 apply   #47ffd300000000000000000000000000       -> 1.230000000000000000000000000000000E+6144
decq037 apply   1E+6144       -> #47ffc000000000000000000000000000 Clamped
decq038 apply   #47ffc000000000000000000000000000       -> 1.000000000000000000000000000000000E+6144

decq051 apply   12345                   -> #220800000000000000000000000049c5
decq052 apply   #220800000000000000000000000049c5       -> 12345
decq053 apply   1234                    -> #22080000000000000000000000000534
decq054 apply   #22080000000000000000000000000534       -> 1234
decq055 apply   123                     -> #220800000000000000000000000000a3
decq056 apply   #220800000000000000000000000000a3       -> 123
decq057 apply   12                      -> #22080000000000000000000000000012
decq058 apply   #22080000000000000000000000000012       -> 12
decq059 apply   1                       -> #22080000000000000000000000000001
decq060 apply   #22080000000000000000000000000001       -> 1
decq061 apply   1.23                    -> #220780000000000000000000000000a3
decq062 apply   #220780000000000000000000000000a3       -> 1.23
decq063 apply   123.45                  -> #220780000000000000000000000049c5
decq064 apply   #220780000000000000000000000049c5       -> 123.45

-- Nmin and below
decq071 apply   1E-6143                                    -> #00084000000000000000000000000001
decq072 apply   #00084000000000000000000000000001          -> 1E-6143
decq073 apply   1.000000000000000000000000000000000E-6143  -> #04000000000000000000000000000000
decq074 apply   #04000000000000000000000000000000          -> 1.000000000000000000000000000000000E-6143
decq075 apply   1.000000000000000000000000000000001E-6143  -> #04000000000000000000000000000001
decq076 apply   #04000000000000000000000000000001          -> 1.000000000000000000000000000000001E-6143

decq077 apply   0.100000000000000000000000000000000E-6143  -> #00000800000000000000000000000000      Subnormal
decq078 apply   #00000800000000000000000000000000          -> 1.00000000000000000000000000000000E-6144  Subnormal
decq079 apply   0.000000000000000000000000000000010E-6143  -> #00000000000000000000000000000010      Subnormal
decq080 apply   #00000000000000000000000000000010          -> 1.0E-6175              Subnormal
decq081 apply   0.00000000000000000000000000000001E-6143   -> #00004000000000000000000000000001      Subnormal
decq082 apply   #00004000000000000000000000000001          -> 1E-6175                Subnormal
decq083 apply   0.000000000000000000000000000000001E-6143  -> #00000000000000000000000000000001      Subnormal
decq084 apply   #00000000000000000000000000000001          -> 1E-6176                 Subnormal

-- underflows cannot be tested for simple copies, check edge cases
decq090 apply   1e-6176                  -> #00000000000000000000000000000001  Subnormal
decq100 apply   999999999999999999999999999999999e-6176 -> #00000ff3fcff3fcff3fcff3fcff3fcff  Subnormal

-- same again, negatives
-- Nmax and similar
decq122 apply  -9.999999999999999999999999999999999E+6144  -> #f7ffcff3fcff3fcff3fcff3fcff3fcff
decq123 apply   #f7ffcff3fcff3fcff3fcff3fcff3fcff -> -9.999999999999999999999999999999999E+6144
decq124 apply  -1.234567890123456789012345678901234E+6144 -> #c7ffd34b9c1e28e56f3c127177823534
decq125 apply   #c7ffd34b9c1e28e56f3c127177823534 -> -1.234567890123456789012345678901234E+6144
-- fold-downs (more below)
decq130 apply  -1.23E+6144    -> #c7ffd300000000000000000000000000 Clamped
decq131 apply   #c7ffd300000000000000000000000000       -> -1.230000000000000000000000000000000E+6144
decq132 apply  -1E+6144       -> #c7ffc000000000000000000000000000 Clamped
decq133 apply   #c7ffc000000000000000000000000000       -> -1.000000000000000000000000000000000E+6144

decq151 apply  -12345                   -> #a20800000000000000000000000049c5
decq152 apply   #a20800000000000000000000000049c5       -> -12345
decq153 apply  -1234                    -> #a2080000000000000000000000000534
decq154 apply   #a2080000000000000000000000000534       -> -1234
decq155 apply  -123                     -> #a20800000000000000000000000000a3
decq156 apply   #a20800000000000000000000000000a3       -> -123
decq157 apply  -12                      -> #a2080000000000000000000000000012
decq158 apply   #a2080000000000000000000000000012       -> -12
decq159 apply  -1                       -> #a2080000000000000000000000000001
decq160 apply   #a2080000000000000000000000000001       -> -1
decq161 apply  -1.23                    -> #a20780000000000000000000000000a3
decq162 apply   #a20780000000000000000000000000a3       -> -1.23
decq163 apply  -123.45                  -> #a20780000000000000000000000049c5
decq164 apply   #a20780000000000000000000000049c5       -> -123.45

-- Nmin and below
decq171 apply  -1E-6143                                    -> #80084000000000000000000000000001
decq172 apply   #80084000000000000000000000000001          -> -1E-6143
decq173 apply  -1.000000000000000000000000000000000E-6143  -> #84000000000000000000000000000000
decq174 apply   #84000000000000000000000000000000          -> -1.000000000000000000000000000000000E-6143
decq175 apply  -1.000000000000000000000000000000001E-6143  -> #84000000000000000000000000000001
decq176 apply   #84000000000000000000000000000001          -> -1.000000000000000000000000000000001E-6143

decq177 apply  -0.100000000000000000000000000000000E-6143  -> #80000800000000000000000000000000      Subnormal
decq178 apply   #80000800000000000000000000000000          -> -1.00000000000000000000000000000000E-6144  Subnormal
decq179 apply  -0.000000000000000000000000000000010E-6143  -> #80000000000000000000000000000010      Subnormal
decq180 apply   #80000000000000000000000000000010          -> -1.0E-6175              Subnormal
decq181 apply  -0.00000000000000000000000000000001E-6143   -> #80004000000000000000000000000001      Subnormal
decq182 apply   #80004000000000000000000000000001          -> -1E-6175                Subnormal
decq183 apply  -0.000000000000000000000000000000001E-6143  -> #80000000000000000000000000000001      Subnormal
decq184 apply   #80000000000000000000000000000001          -> -1E-6176                 Subnormal

-- underflow edge cases
decq190 apply   -1e-6176                  -> #80000000000000000000000000000001  Subnormal
decq200 apply   -999999999999999999999999999999999e-6176 -> #80000ff3fcff3fcff3fcff3fcff3fcff  Subnormal

-- zeros
decq400 apply   0E-8000                 -> #00000000000000000000000000000000  Clamped
decq401 apply   0E-6177                 -> #00000000000000000000000000000000  Clamped
decq402 apply   0E-6176                 -> #00000000000000000000000000000000
decq403 apply   #00000000000000000000000000000000       -> 0E-6176
decq404 apply   0.000000000000000000000000000000000E-6143  -> #00000000000000000000000000000000
decq405 apply   #00000000000000000000000000000000       -> 0E-6176
decq406 apply   0E-2                    -> #22078000000000000000000000000000
decq407 apply   #22078000000000000000000000000000       -> 0.00
decq408 apply   0                       -> #22080000000000000000000000000000
decq409 apply   #22080000000000000000000000000000       -> 0
decq410 apply   0E+3                    -> #2208c000000000000000000000000000
decq411 apply   #2208c000000000000000000000000000       -> 0E+3
decq412 apply   0E+6111                 -> #43ffc000000000000000000000000000
decq413 apply   #43ffc000000000000000000000000000       -> 0E+6111
-- clamped zeros...
decq414 apply   0E+6112                 -> #43ffc000000000000000000000000000  Clamped
decq415 apply   #43ffc000000000000000000000000000       -> 0E+6111
decq416 apply   0E+6144                 -> #43ffc000000000000000000000000000  Clamped
decq417 apply   #43ffc000000000000000000000000000       -> 0E+6111
decq418 apply   0E+8000                 -> #43ffc000000000000000000000000000  Clamped
decq419 apply   #43ffc000000000000000000000000000       -> 0E+6111

-- negative zeros
decq420 apply  -0E-8000                 -> #80000000000000000000000000000000  Clamped
decq421 apply  -0E-6177                 -> #80000000000000000000000000000000  Clamped
decq422 apply  -0E-6176                 -> #80000000000000000000000000000000
decq423 apply   #80000000000000000000000000000000       -> -0E-6176
decq424 apply  -0.000000000000000000000000000000000E-6143  -> #80000000000000000000000000000000
decq425 apply   #80000000000000000000000000000000       -> -0E-6176
decq426 apply  -0E-2                    -> #a2078000000000000000000000000000
decq427 apply   #a2078000000000000000000000000000       -> -0.00
decq428 apply  -0                       -> #a2080000000000000000000000000000
decq429 apply   #a2080000000000000000000000000000       -> -0
decq430 apply  -0E+3                    -> #a208c000000000000000000000000000
decq431 apply   #a208c000000000000000000000000000       -> -0E+3
decq432 apply  -0E+6111                 -> #c3ffc000000000000000000000000000
decq433 apply   #c3ffc000000000000000000000000000       -> -0E+6111
-- clamped zeros...
decq434 apply  -0E+6112                 -> #c3ffc000000000000000000000000000  Clamped
decq435 apply   #c3ffc000000000000000000000000000       -> -0E+6111
decq436 apply  -0E+6144                 -> #c3ffc000000000000000000000000000  Clamped
decq437 apply   #c3ffc000000000000000000000000000       -> -0E+6111
decq438 apply  -0E+8000                 -> #c3ffc000000000000000000000000000  Clamped
decq439 apply   #c3ffc000000000000000000000000000       -> -0E+6111

-- exponent lengths
decq440 apply   #22080000000000000000000000000007       -> 7
decq441 apply   7 -> #22080000000000000000000000000007
decq442 apply   #220a4000000000000000000000000007       -> 7E+9
decq443 apply   7E+9 -> #220a4000000000000000000000000007
decq444 apply   #2220c000000000000000000000000007       -> 7E+99
decq445 apply   7E+99 -> #2220c000000000000000000000000007
decq446 apply   #2301c000000000000000000000000007       -> 7E+999
decq447 apply   7E+999 -> #2301c000000000000000000000000007
decq448 apply   #43e3c000000000000000000000000007       -> 7E+5999
decq449 apply   7E+5999 -> #43e3c000000000000000000000000007

-- Specials
decq500 apply   Infinity                          -> #78000000000000000000000000000000
decq501 apply   #78787878787878787878787878787878 -> #78000000000000000000000000000000
decq502 apply   #78000000000000000000000000000000 -> Infinity
decq503 apply   #79797979797979797979797979797979 -> #78000000000000000000000000000000
decq504 apply   #79000000000000000000000000000000 -> Infinity
decq505 apply   #7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #78000000000000000000000000000000
decq506 apply   #7a000000000000000000000000000000 -> Infinity
decq507 apply   #7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #78000000000000000000000000000000
decq508 apply   #7b000000000000000000000000000000 -> Infinity

decq509 apply   NaN                               -> #7c000000000000000000000000000000
decq510 apply   #7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #7c003c7c7c7c7c7c7c7c7c7c7c7c7c7c
decq511 apply   #7c000000000000000000000000000000 -> NaN
decq512 apply   #7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #7c003d7d7d7d7d7d7d7d7d7d7d7d7d7d
decq513 apply   #7d000000000000000000000000000000 -> NaN
decq514 apply   #7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #7e003e7e7c7e7e7e7e7c7e7e7e7e7c7e
decq515 apply   #7e000000000000000000000000000000 -> sNaN
decq516 apply   #7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #7e003f7f7c7f7f7f7f7c7f7f7f7f7c7f
decq517 apply   #7f000000000000000000000000000000 -> sNaN
decq518 apply   #7fffffffffffffffffffffffffffffff -> sNaN999999999999999999999999999999999
decq519 apply   #7fffffffffffffffffffffffffffffff -> #7e000ff3fcff3fcff3fcff3fcff3fcff

decq520 apply   -Infinity                         -> #f8000000000000000000000000000000
decq521 apply   #f8787878787878787878787878787878 -> #f8000000000000000000000000000000
decq522 apply   #f8000000000000000000000000000000 -> -Infinity
decq523 apply   #f9797979797979797979797979797979 -> #f8000000000000000000000000000000
decq524 apply   #f9000000000000000000000000000000 -> -Infinity
decq525 apply   #fa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #f8000000000000000000000000000000
decq526 apply   #fa000000000000000000000000000000 -> -Infinity
decq527 apply   #fb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #f8000000000000000000000000000000
decq528 apply   #fb000000000000000000000000000000 -> -Infinity

decq529 apply   -NaN                              -> #fc000000000000000000000000000000
decq530 apply   #fc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #fc003c7c7c7c7c7c7c7c7c7c7c7c7c7c
decq531 apply   #fc000000000000000000000000000000 -> -NaN
decq532 apply   #fd7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #fc003d7d7d7d7d7d7d7d7d7d7d7d7d7d
decq533 apply   #fd000000000000000000000000000000 -> -NaN
decq534 apply   #fe7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #fe003e7e7c7e7e7e7e7c7e7e7e7e7c7e
decq535 apply   #fe000000000000000000000000000000 -> -sNaN
decq536 apply   #ff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #fe003f7f7c7f7f7f7f7c7f7f7f7f7c7f
decq537 apply   #ff000000000000000000000000000000 -> -sNaN
decq538 apply   #ffffffffffffffffffffffffffffffff -> -sNaN999999999999999999999999999999999
decq539 apply   #ffffffffffffffffffffffffffffffff -> #fe000ff3fcff3fcff3fcff3fcff3fcff

decq540 apply   NaN               -> #7c000000000000000000000000000000
decq541 apply   NaN0              -> #7c000000000000000000000000000000
decq542 apply   NaN1              -> #7c000000000000000000000000000001
decq543 apply   NaN12             -> #7c000000000000000000000000000012
decq544 apply   NaN79             -> #7c000000000000000000000000000079
decq545 apply   NaN12345          -> #7c0000000000000000000000000049c5
decq546 apply   NaN123456         -> #7c000000000000000000000000028e56
decq547 apply   NaN799799         -> #7c0000000000000000000000000f7fdf
decq548 apply   NaN799799799799799799799799799799799  -> #7c003dff7fdff7fdff7fdff7fdff7fdf
decq549 apply   NaN999999999999999999999999999999999  -> #7c000ff3fcff3fcff3fcff3fcff3fcff
decq550 apply     9999999999999999999999999999999999  -> #6e080ff3fcff3fcff3fcff3fcff3fcff

-- fold-down full sequence
decq601 apply   1E+6144                 -> #47ffc000000000000000000000000000 Clamped
decq602 apply   #47ffc000000000000000000000000000       -> 1.000000000000000000000000000000000E+6144
decq603 apply   1E+6143                 -> #43ffc800000000000000000000000000 Clamped
decq604 apply   #43ffc800000000000000000000000000       -> 1.00000000000000000000000000000000E+6143
decq605 apply   1E+6142                 -> #43ffc100000000000000000000000000 Clamped
decq606 apply   #43ffc100000000000000000000000000       -> 1.0000000000000000000000000000000E+6142
decq607 apply   1E+6141                 -> #43ffc010000000000000000000000000 Clamped
decq608 apply   #43ffc010000000000000000000000000       -> 1.000000000000000000000000000000E+6141
decq609 apply   1E+6140                 -> #43ffc002000000000000000000000000 Clamped
decq610 apply   #43ffc002000000000000000000000000       -> 1.00000000000000000000000000000E+6140
decq611 apply   1E+6139                 -> #43ffc000400000000000000000000000 Clamped
decq612 apply   #43ffc000400000000000000000000000       -> 1.0000000000000000000000000000E+6139
decq613 apply   1E+6138                 -> #43ffc000040000000000000000000000 Clamped
decq614 apply   #43ffc000040000000000000000000000       -> 1.000000000000000000000000000E+6138
decq615 apply   1E+6137                 -> #43ffc000008000000000000000000000 Clamped
decq616 apply   #43ffc000008000000000000000000000       -> 1.00000000000000000000000000E+6137
decq617 apply   1E+6136                 -> #43ffc000001000000000000000000000 Clamped
decq618 apply   #43ffc000001000000000000000000000       -> 1.0000000000000000000000000E+6136
decq619 apply   1E+6135                 -> #43ffc000000100000000000000000000 Clamped
decq620 apply   #43ffc000000100000000000000000000       -> 1.000000000000000000000000E+6135
decq621 apply   1E+6134                 -> #43ffc000000020000000000000000000 Clamped
decq622 apply   #43ffc000000020000000000000000000       -> 1.00000000000000000000000E+6134
decq623 apply   1E+6133                 -> #43ffc000000004000000000000000000 Clamped
decq624 apply   #43ffc000000004000000000000000000       -> 1.0000000000000000000000E+6133
decq625 apply   1E+6132                 -> #43ffc000000000400000000000000000 Clamped
decq626 apply   #43ffc000000000400000000000000000       -> 1.000000000000000000000E+6132
decq627 apply   1E+6131                 -> #43ffc000000000080000000000000000 Clamped
decq628 apply   #43ffc000000000080000000000000000       -> 1.00000000000000000000E+6131
decq629 apply   1E+6130                 -> #43ffc000000000010000000000000000 Clamped
decq630 apply   #43ffc000000000010000000000000000       -> 1.0000000000000000000E+6130
decq631 apply   1E+6129                 -> #43ffc000000000001000000000000000 Clamped
decq632 apply   #43ffc000000000001000000000000000       -> 1.000000000000000000E+6129
decq633 apply   1E+6128                 -> #43ffc000000000000200000000000000 Clamped
decq634 apply   #43ffc000000000000200000000000000       -> 1.00000000000000000E+6128
decq635 apply   1E+6127                 -> #43ffc000000000000040000000000000 Clamped
decq636 apply   #43ffc000000000000040000000000000       -> 1.0000000000000000E+6127
decq637 apply   1E+6126                 -> #43ffc000000000000004000000000000 Clamped
decq638 apply   #43ffc000000000000004000000000000       -> 1.000000000000000E+6126
decq639 apply   1E+6125                 -> #43ffc000000000000000800000000000 Clamped
decq640 apply   #43ffc000000000000000800000000000       -> 1.00000000000000E+6125
decq641 apply   1E+6124                 -> #43ffc000000000000000100000000000 Clamped
decq642 apply   #43ffc000000000000000100000000000       -> 1.0000000000000E+6124
decq643 apply   1E+6123                 -> #43ffc000000000000000010000000000 Clamped
decq644 apply   #43ffc000000000000000010000000000       -> 1.000000000000E+6123
decq645 apply   1E+6122                 -> #43ffc000000000000000002000000000 Clamped
decq646 apply   #43ffc000000000000000002000000000       -> 1.00000000000E+6122
decq647 apply   1E+6121                 -> #43ffc000000000000000000400000000 Clamped
decq648 apply   #43ffc000000000000000000400000000       -> 1.0000000000E+6121
decq649 apply   1E+6120                 -> #43ffc000000000000000000040000000 Clamped
decq650 apply   #43ffc000000000000000000040000000       -> 1.000000000E+6120
decq651 apply   1E+6119                 -> #43ffc000000000000000000008000000 Clamped
decq652 apply   #43ffc000000000000000000008000000       -> 1.00000000E+6119
decq653 apply   1E+6118                 -> #43ffc000000000000000000001000000 Clamped
decq654 apply   #43ffc000000000000000000001000000       -> 1.0000000E+6118
decq655 apply   1E+6117                 -> #43ffc000000000000000000000100000 Clamped
decq656 apply   #43ffc000000000000000000000100000       -> 1.000000E+6117
decq657 apply   1E+6116                 -> #43ffc000000000000000000000020000 Clamped
decq658 apply   #43ffc000000000000000000000020000       -> 1.00000E+6116
decq659 apply   1E+6115                 -> #43ffc000000000000000000000004000 Clamped
decq660 apply   #43ffc000000000000000000000004000       -> 1.0000E+6115
decq661 apply   1E+6114                 -> #43ffc000000000000000000000000400 Clamped
decq662 apply   #43ffc000000000000000000000000400       -> 1.000E+6114
decq663 apply   1E+6113                 -> #43ffc000000000000000000000000080 Clamped
decq664 apply   #43ffc000000000000000000000000080       -> 1.00E+6113
decq665 apply   1E+6112                 -> #43ffc000000000000000000000000010 Clamped
decq666 apply   #43ffc000000000000000000000000010       -> 1.0E+6112
decq667 apply   1E+6111                 -> #43ffc000000000000000000000000001
decq668 apply   #43ffc000000000000000000000000001       -> 1E+6111
decq669 apply   1E+6110                 -> #43ff8000000000000000000000000001
decq670 apply   #43ff8000000000000000000000000001       -> 1E+6110

-- Selected DPD codes
decq700 apply   #22080000000000000000000000000000       -> 0
decq701 apply   #22080000000000000000000000000009       -> 9
decq702 apply   #22080000000000000000000000000010       -> 10
decq703 apply   #22080000000000000000000000000019       -> 19
decq704 apply   #22080000000000000000000000000020       -> 20
decq705 apply   #22080000000000000000000000000029       -> 29
decq706 apply   #22080000000000000000000000000030       -> 30
decq707 apply   #22080000000000000000000000000039       -> 39
decq708 apply   #22080000000000000000000000000040       -> 40
decq709 apply   #22080000000000000000000000000049       -> 49
decq710 apply   #22080000000000000000000000000050       -> 50
decq711 apply   #22080000000000000000000000000059       -> 59
decq712 apply   #22080000000000000000000000000060       -> 60
decq713 apply   #22080000000000000000000000000069       -> 69
decq714 apply   #22080000000000000000000000000070       -> 70
decq715 apply   #22080000000000000000000000000071       -> 71
decq716 apply   #22080000000000000000000000000072       -> 72
decq717 apply   #22080000000000000000000000000073       -> 73
decq718 apply   #22080000000000000000000000000074       -> 74
decq719 apply   #22080000000000000000000000000075       -> 75
decq720 apply   #22080000000000000000000000000076       -> 76
decq721 apply   #22080000000000000000000000000077       -> 77
decq722 apply   #22080000000000000000000000000078       -> 78
decq723 apply   #22080000000000000000000000000079       -> 79

decq730 apply   #2208000000000000000000000000029e       -> 994
decq731 apply   #2208000000000000000000000000029f       -> 995
decq732 apply   #220800000000000000000000000002a0       -> 520
decq733 apply   #220800000000000000000000000002a1       -> 521

-- DPD: one of each of the huffman groups
decq740 apply   #220800000000000000000000000003f7       -> 777
decq741 apply   #220800000000000000000000000003f8       -> 778
decq742 apply   #220800000000000000000000000003eb       -> 787
decq743 apply   #2208000000000000000000000000037d       -> 877
decq744 apply   #2208000000000000000000000000039f       -> 997
decq745 apply   #220800000000000000000000000003bf       -> 979
decq746 apply   #220800000000000000000000000003df       -> 799
decq747 apply   #2208000000000000000000000000006e       -> 888


-- DPD all-highs cases (includes the 24 redundant codes)
decq750 apply   #2208000000000000000000000000006e       -> 888
decq751 apply   #2208000000000000000000000000016e       -> 888
decq752 apply   #2208000000000000000000000000026e       -> 888
decq753 apply   #2208000000000000000000000000036e       -> 888
decq754 apply   #2208000000000000000000000000006f       -> 889
decq755 apply   #2208000000000000000000000000016f       -> 889
decq756 apply   #2208000000000000000000000000026f       -> 889
decq757 apply   #2208000000000000000000000000036f       -> 889

decq760 apply   #2208000000000000000000000000007e       -> 898
decq761 apply   #2208000000000000000000000000017e       -> 898
decq762 apply   #2208000000000000000000000000027e       -> 898
decq763 apply   #2208000000000000000000000000037e       -> 898
decq764 apply   #2208000000000000000000000000007f       -> 899
decq765 apply   #2208000000000000000000000000017f       -> 899
decq766 apply   #2208000000000000000000000000027f       -> 899
decq767 apply   #2208000000000000000000000000037f       -> 899

decq770 apply   #220800000000000000000000000000ee       -> 988
decq771 apply   #220800000000000000000000000001ee       -> 988
decq772 apply   #220800000000000000000000000002ee       -> 988
decq773 apply   #220800000000000000000000000003ee       -> 988
decq774 apply   #220800000000000000000000000000ef       -> 989
decq775 apply   #220800000000000000000000000001ef       -> 989
decq776 apply   #220800000000000000000000000002ef       -> 989
decq777 apply   #220800000000000000000000000003ef       -> 989

decq780 apply   #220800000000000000000000000000fe       -> 998
decq781 apply   #220800000000000000000000000001fe       -> 998
decq782 apply   #220800000000000000000000000002fe       -> 998
decq783 apply   #220800000000000000000000000003fe       -> 998
decq784 apply   #220800000000000000000000000000ff       -> 999
decq785 apply   #220800000000000000000000000001ff       -> 999
decq786 apply   #220800000000000000000000000002ff       -> 999
decq787 apply   #220800000000000000000000000003ff       -> 999

-- Miscellaneous (testers' queries, etc.)

decq790 apply   #2208000000000000000000000000c000       -> 30000
decq791 apply   #22080000000000000000000000007800       -> 890000
decq792 apply   30000 -> #2208000000000000000000000000c000
decq793 apply   890000 -> #22080000000000000000000000007800

-- values around [u]int32 edges (zeros done earlier)
decq800 apply -2147483646  -> #a208000000000000000000008c78af46
decq801 apply -2147483647  -> #a208000000000000000000008c78af47
decq802 apply -2147483648  -> #a208000000000000000000008c78af48
decq803 apply -2147483649  -> #a208000000000000000000008c78af49
decq804 apply  2147483646  -> #2208000000000000000000008c78af46
decq805 apply  2147483647  -> #2208000000000000000000008c78af47
decq806 apply  2147483648  -> #2208000000000000000000008c78af48
decq807 apply  2147483649  -> #2208000000000000000000008c78af49
decq808 apply  4294967294  -> #22080000000000000000000115afb55a
decq809 apply  4294967295  -> #22080000000000000000000115afb55b
decq810 apply  4294967296  -> #22080000000000000000000115afb57a
decq811 apply  4294967297  -> #22080000000000000000000115afb57b

decq820 apply  #a208000000000000000000008c78af46 -> -2147483646
decq821 apply  #a208000000000000000000008c78af47 -> -2147483647
decq822 apply  #a208000000000000000000008c78af48 -> -2147483648
decq823 apply  #a208000000000000000000008c78af49 -> -2147483649
decq824 apply  #2208000000000000000000008c78af46 ->  2147483646
decq825 apply  #2208000000000000000000008c78af47 ->  2147483647
decq826 apply  #2208000000000000000000008c78af48 ->  2147483648
decq827 apply  #2208000000000000000000008c78af49 ->  2147483649
decq828 apply  #22080000000000000000000115afb55a ->  4294967294
decq829 apply  #22080000000000000000000115afb55b ->  4294967295
decq830 apply  #22080000000000000000000115afb57a ->  4294967296
decq831 apply  #22080000000000000000000115afb57b ->  4294967297

-- VG testcase
decq840 apply    #2080000000000000F294000000172636 -> 8.81125000000001349436E-1548
decq841 apply    #20800000000000008000000000000000 -> 8.000000000000000000E-1550
decq842 apply    #1EF98490000000010F6E4E0000000000 -> 7.049000000000010795488000000000000E-3097
decq843 multiply #20800000000000008000000000000000 #2080000000000000F294000000172636 -> #1EF98490000000010F6E4E0000000000 Rounded