1 ------------------------------------------------------------------------
\r
2 -- dqEncode.decTest -- decimal sixteen-byte format testcases --
\r
3 -- Copyright (c) IBM Corporation, 2000, 2008. All rights reserved. --
\r
4 ------------------------------------------------------------------------
\r
5 -- Please see the document "General Decimal Arithmetic Testcases" --
\r
6 -- at http://www2.hursley.ibm.com/decimal for the description of --
\r
7 -- these testcases. --
\r
9 -- These testcases are experimental ('beta' versions), and they --
\r
10 -- may contain errors. They are offered on an as-is basis. In --
\r
11 -- particular, achieving the same results as the tests here is not --
\r
12 -- a guarantee that an implementation complies with any Standard --
\r
13 -- or specification. The tests are not exhaustive. --
\r
15 -- Please send comments, suggestions, and corrections to the author: --
\r
16 -- Mike Cowlishaw, IBM Fellow --
\r
17 -- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
\r
18 -- mfc@uk.ibm.com --
\r
19 ------------------------------------------------------------------------
\r
20 -- [Previously called decimal128.decTest]
\r
23 -- This set of tests is for the sixteen-byte concrete representation.
\r
24 -- Its characteristics are:
\r
27 -- 5 bits combination field
\r
28 -- 12 bits exponent continuation
\r
29 -- 110 bits coefficient continuation
\r
31 -- Total exponent length 14 bits
\r
32 -- Total coefficient length 114 bits (34 digits)
\r
34 -- Elimit = 12287 (maximum encoded exponent)
\r
35 -- Emax = 6144 (largest exponent value)
\r
36 -- Emin = -6143 (smallest exponent value)
\r
37 -- bias = 6176 (subtracted from encoded exponent) = -Etiny
\r
39 -- The testcases here have only exactly representable data on the
\r
40 -- 'left-hand-side'; rounding from strings is tested in 'base'
\r
50 -- General testcases
\r
51 -- (mostly derived from the Strawman 4 document and examples)
\r
52 decq001 apply #A20780000000000000000000000003D0 -> -7.50
\r
53 decq002 apply -7.50 -> #A20780000000000000000000000003D0
\r
54 -- derivative canonical plain strings
\r
55 decq003 apply #A20840000000000000000000000003D0 -> -7.50E+3
\r
56 decq004 apply -7.50E+3 -> #A20840000000000000000000000003D0
\r
57 decq005 apply #A20800000000000000000000000003D0 -> -750
\r
58 decq006 apply -750 -> #A20800000000000000000000000003D0
\r
59 decq007 apply #A207c0000000000000000000000003D0 -> -75.0
\r
60 decq008 apply -75.0 -> #A207c0000000000000000000000003D0
\r
61 decq009 apply #A20740000000000000000000000003D0 -> -0.750
\r
62 decq010 apply -0.750 -> #A20740000000000000000000000003D0
\r
63 decq011 apply #A20700000000000000000000000003D0 -> -0.0750
\r
64 decq012 apply -0.0750 -> #A20700000000000000000000000003D0
\r
65 decq013 apply #A20680000000000000000000000003D0 -> -0.000750
\r
66 decq014 apply -0.000750 -> #A20680000000000000000000000003D0
\r
67 decq015 apply #A20600000000000000000000000003D0 -> -0.00000750
\r
68 decq016 apply -0.00000750 -> #A20600000000000000000000000003D0
\r
69 decq017 apply #A205c0000000000000000000000003D0 -> -7.50E-7
\r
70 decq018 apply -7.50E-7 -> #A205c0000000000000000000000003D0
\r
73 decq020 apply 1234567890123456789012345678901234 -> #2608134b9c1e28e56f3c127177823534
\r
74 decq021 apply -1234567890123456789012345678901234 -> #a608134b9c1e28e56f3c127177823534
\r
75 decq022 apply 1111111111111111111111111111111111 -> #26080912449124491244912449124491
\r
78 decq031 apply 9.999999999999999999999999999999999E+6144 -> #77ffcff3fcff3fcff3fcff3fcff3fcff
\r
79 decq032 apply #77ffcff3fcff3fcff3fcff3fcff3fcff -> 9.999999999999999999999999999999999E+6144
\r
80 decq033 apply 1.234567890123456789012345678901234E+6144 -> #47ffd34b9c1e28e56f3c127177823534
\r
81 decq034 apply #47ffd34b9c1e28e56f3c127177823534 -> 1.234567890123456789012345678901234E+6144
\r
82 -- fold-downs (more below)
\r
83 decq035 apply 1.23E+6144 -> #47ffd300000000000000000000000000 Clamped
\r
84 decq036 apply #47ffd300000000000000000000000000 -> 1.230000000000000000000000000000000E+6144
\r
85 decq037 apply 1E+6144 -> #47ffc000000000000000000000000000 Clamped
\r
86 decq038 apply #47ffc000000000000000000000000000 -> 1.000000000000000000000000000000000E+6144
\r
88 decq051 apply 12345 -> #220800000000000000000000000049c5
\r
89 decq052 apply #220800000000000000000000000049c5 -> 12345
\r
90 decq053 apply 1234 -> #22080000000000000000000000000534
\r
91 decq054 apply #22080000000000000000000000000534 -> 1234
\r
92 decq055 apply 123 -> #220800000000000000000000000000a3
\r
93 decq056 apply #220800000000000000000000000000a3 -> 123
\r
94 decq057 apply 12 -> #22080000000000000000000000000012
\r
95 decq058 apply #22080000000000000000000000000012 -> 12
\r
96 decq059 apply 1 -> #22080000000000000000000000000001
\r
97 decq060 apply #22080000000000000000000000000001 -> 1
\r
98 decq061 apply 1.23 -> #220780000000000000000000000000a3
\r
99 decq062 apply #220780000000000000000000000000a3 -> 1.23
\r
100 decq063 apply 123.45 -> #220780000000000000000000000049c5
\r
101 decq064 apply #220780000000000000000000000049c5 -> 123.45
\r
104 decq071 apply 1E-6143 -> #00084000000000000000000000000001
\r
105 decq072 apply #00084000000000000000000000000001 -> 1E-6143
\r
106 decq073 apply 1.000000000000000000000000000000000E-6143 -> #04000000000000000000000000000000
\r
107 decq074 apply #04000000000000000000000000000000 -> 1.000000000000000000000000000000000E-6143
\r
108 decq075 apply 1.000000000000000000000000000000001E-6143 -> #04000000000000000000000000000001
\r
109 decq076 apply #04000000000000000000000000000001 -> 1.000000000000000000000000000000001E-6143
\r
111 decq077 apply 0.100000000000000000000000000000000E-6143 -> #00000800000000000000000000000000 Subnormal
\r
112 decq078 apply #00000800000000000000000000000000 -> 1.00000000000000000000000000000000E-6144 Subnormal
\r
113 decq079 apply 0.000000000000000000000000000000010E-6143 -> #00000000000000000000000000000010 Subnormal
\r
114 decq080 apply #00000000000000000000000000000010 -> 1.0E-6175 Subnormal
\r
115 decq081 apply 0.00000000000000000000000000000001E-6143 -> #00004000000000000000000000000001 Subnormal
\r
116 decq082 apply #00004000000000000000000000000001 -> 1E-6175 Subnormal
\r
117 decq083 apply 0.000000000000000000000000000000001E-6143 -> #00000000000000000000000000000001 Subnormal
\r
118 decq084 apply #00000000000000000000000000000001 -> 1E-6176 Subnormal
\r
120 -- underflows cannot be tested for simple copies, check edge cases
\r
121 decq090 apply 1e-6176 -> #00000000000000000000000000000001 Subnormal
\r
122 decq100 apply 999999999999999999999999999999999e-6176 -> #00000ff3fcff3fcff3fcff3fcff3fcff Subnormal
\r
124 -- same again, negatives
\r
125 -- Nmax and similar
\r
126 decq122 apply -9.999999999999999999999999999999999E+6144 -> #f7ffcff3fcff3fcff3fcff3fcff3fcff
\r
127 decq123 apply #f7ffcff3fcff3fcff3fcff3fcff3fcff -> -9.999999999999999999999999999999999E+6144
\r
128 decq124 apply -1.234567890123456789012345678901234E+6144 -> #c7ffd34b9c1e28e56f3c127177823534
\r
129 decq125 apply #c7ffd34b9c1e28e56f3c127177823534 -> -1.234567890123456789012345678901234E+6144
\r
130 -- fold-downs (more below)
\r
131 decq130 apply -1.23E+6144 -> #c7ffd300000000000000000000000000 Clamped
\r
132 decq131 apply #c7ffd300000000000000000000000000 -> -1.230000000000000000000000000000000E+6144
\r
133 decq132 apply -1E+6144 -> #c7ffc000000000000000000000000000 Clamped
\r
134 decq133 apply #c7ffc000000000000000000000000000 -> -1.000000000000000000000000000000000E+6144
\r
136 decq151 apply -12345 -> #a20800000000000000000000000049c5
\r
137 decq152 apply #a20800000000000000000000000049c5 -> -12345
\r
138 decq153 apply -1234 -> #a2080000000000000000000000000534
\r
139 decq154 apply #a2080000000000000000000000000534 -> -1234
\r
140 decq155 apply -123 -> #a20800000000000000000000000000a3
\r
141 decq156 apply #a20800000000000000000000000000a3 -> -123
\r
142 decq157 apply -12 -> #a2080000000000000000000000000012
\r
143 decq158 apply #a2080000000000000000000000000012 -> -12
\r
144 decq159 apply -1 -> #a2080000000000000000000000000001
\r
145 decq160 apply #a2080000000000000000000000000001 -> -1
\r
146 decq161 apply -1.23 -> #a20780000000000000000000000000a3
\r
147 decq162 apply #a20780000000000000000000000000a3 -> -1.23
\r
148 decq163 apply -123.45 -> #a20780000000000000000000000049c5
\r
149 decq164 apply #a20780000000000000000000000049c5 -> -123.45
\r
152 decq171 apply -1E-6143 -> #80084000000000000000000000000001
\r
153 decq172 apply #80084000000000000000000000000001 -> -1E-6143
\r
154 decq173 apply -1.000000000000000000000000000000000E-6143 -> #84000000000000000000000000000000
\r
155 decq174 apply #84000000000000000000000000000000 -> -1.000000000000000000000000000000000E-6143
\r
156 decq175 apply -1.000000000000000000000000000000001E-6143 -> #84000000000000000000000000000001
\r
157 decq176 apply #84000000000000000000000000000001 -> -1.000000000000000000000000000000001E-6143
\r
159 decq177 apply -0.100000000000000000000000000000000E-6143 -> #80000800000000000000000000000000 Subnormal
\r
160 decq178 apply #80000800000000000000000000000000 -> -1.00000000000000000000000000000000E-6144 Subnormal
\r
161 decq179 apply -0.000000000000000000000000000000010E-6143 -> #80000000000000000000000000000010 Subnormal
\r
162 decq180 apply #80000000000000000000000000000010 -> -1.0E-6175 Subnormal
\r
163 decq181 apply -0.00000000000000000000000000000001E-6143 -> #80004000000000000000000000000001 Subnormal
\r
164 decq182 apply #80004000000000000000000000000001 -> -1E-6175 Subnormal
\r
165 decq183 apply -0.000000000000000000000000000000001E-6143 -> #80000000000000000000000000000001 Subnormal
\r
166 decq184 apply #80000000000000000000000000000001 -> -1E-6176 Subnormal
\r
168 -- underflow edge cases
\r
169 decq190 apply -1e-6176 -> #80000000000000000000000000000001 Subnormal
\r
170 decq200 apply -999999999999999999999999999999999e-6176 -> #80000ff3fcff3fcff3fcff3fcff3fcff Subnormal
\r
173 decq400 apply 0E-8000 -> #00000000000000000000000000000000 Clamped
\r
174 decq401 apply 0E-6177 -> #00000000000000000000000000000000 Clamped
\r
175 decq402 apply 0E-6176 -> #00000000000000000000000000000000
\r
176 decq403 apply #00000000000000000000000000000000 -> 0E-6176
\r
177 decq404 apply 0.000000000000000000000000000000000E-6143 -> #00000000000000000000000000000000
\r
178 decq405 apply #00000000000000000000000000000000 -> 0E-6176
\r
179 decq406 apply 0E-2 -> #22078000000000000000000000000000
\r
180 decq407 apply #22078000000000000000000000000000 -> 0.00
\r
181 decq408 apply 0 -> #22080000000000000000000000000000
\r
182 decq409 apply #22080000000000000000000000000000 -> 0
\r
183 decq410 apply 0E+3 -> #2208c000000000000000000000000000
\r
184 decq411 apply #2208c000000000000000000000000000 -> 0E+3
\r
185 decq412 apply 0E+6111 -> #43ffc000000000000000000000000000
\r
186 decq413 apply #43ffc000000000000000000000000000 -> 0E+6111
\r
187 -- clamped zeros...
\r
188 decq414 apply 0E+6112 -> #43ffc000000000000000000000000000 Clamped
\r
189 decq415 apply #43ffc000000000000000000000000000 -> 0E+6111
\r
190 decq416 apply 0E+6144 -> #43ffc000000000000000000000000000 Clamped
\r
191 decq417 apply #43ffc000000000000000000000000000 -> 0E+6111
\r
192 decq418 apply 0E+8000 -> #43ffc000000000000000000000000000 Clamped
\r
193 decq419 apply #43ffc000000000000000000000000000 -> 0E+6111
\r
196 decq420 apply -0E-8000 -> #80000000000000000000000000000000 Clamped
\r
197 decq421 apply -0E-6177 -> #80000000000000000000000000000000 Clamped
\r
198 decq422 apply -0E-6176 -> #80000000000000000000000000000000
\r
199 decq423 apply #80000000000000000000000000000000 -> -0E-6176
\r
200 decq424 apply -0.000000000000000000000000000000000E-6143 -> #80000000000000000000000000000000
\r
201 decq425 apply #80000000000000000000000000000000 -> -0E-6176
\r
202 decq426 apply -0E-2 -> #a2078000000000000000000000000000
\r
203 decq427 apply #a2078000000000000000000000000000 -> -0.00
\r
204 decq428 apply -0 -> #a2080000000000000000000000000000
\r
205 decq429 apply #a2080000000000000000000000000000 -> -0
\r
206 decq430 apply -0E+3 -> #a208c000000000000000000000000000
\r
207 decq431 apply #a208c000000000000000000000000000 -> -0E+3
\r
208 decq432 apply -0E+6111 -> #c3ffc000000000000000000000000000
\r
209 decq433 apply #c3ffc000000000000000000000000000 -> -0E+6111
\r
210 -- clamped zeros...
\r
211 decq434 apply -0E+6112 -> #c3ffc000000000000000000000000000 Clamped
\r
212 decq435 apply #c3ffc000000000000000000000000000 -> -0E+6111
\r
213 decq436 apply -0E+6144 -> #c3ffc000000000000000000000000000 Clamped
\r
214 decq437 apply #c3ffc000000000000000000000000000 -> -0E+6111
\r
215 decq438 apply -0E+8000 -> #c3ffc000000000000000000000000000 Clamped
\r
216 decq439 apply #c3ffc000000000000000000000000000 -> -0E+6111
\r
218 -- exponent lengths
\r
219 decq440 apply #22080000000000000000000000000007 -> 7
\r
220 decq441 apply 7 -> #22080000000000000000000000000007
\r
221 decq442 apply #220a4000000000000000000000000007 -> 7E+9
\r
222 decq443 apply 7E+9 -> #220a4000000000000000000000000007
\r
223 decq444 apply #2220c000000000000000000000000007 -> 7E+99
\r
224 decq445 apply 7E+99 -> #2220c000000000000000000000000007
\r
225 decq446 apply #2301c000000000000000000000000007 -> 7E+999
\r
226 decq447 apply 7E+999 -> #2301c000000000000000000000000007
\r
227 decq448 apply #43e3c000000000000000000000000007 -> 7E+5999
\r
228 decq449 apply 7E+5999 -> #43e3c000000000000000000000000007
\r
231 decq500 apply Infinity -> #78000000000000000000000000000000
\r
232 decq501 apply #78787878787878787878787878787878 -> #78000000000000000000000000000000
\r
233 decq502 apply #78000000000000000000000000000000 -> Infinity
\r
234 decq503 apply #79797979797979797979797979797979 -> #78000000000000000000000000000000
\r
235 decq504 apply #79000000000000000000000000000000 -> Infinity
\r
236 decq505 apply #7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #78000000000000000000000000000000
\r
237 decq506 apply #7a000000000000000000000000000000 -> Infinity
\r
238 decq507 apply #7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #78000000000000000000000000000000
\r
239 decq508 apply #7b000000000000000000000000000000 -> Infinity
\r
241 decq509 apply NaN -> #7c000000000000000000000000000000
\r
242 decq510 apply #7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #7c003c7c7c7c7c7c7c7c7c7c7c7c7c7c
\r
243 decq511 apply #7c000000000000000000000000000000 -> NaN
\r
244 decq512 apply #7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #7c003d7d7d7d7d7d7d7d7d7d7d7d7d7d
\r
245 decq513 apply #7d000000000000000000000000000000 -> NaN
\r
246 decq514 apply #7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #7e003e7e7c7e7e7e7e7c7e7e7e7e7c7e
\r
247 decq515 apply #7e000000000000000000000000000000 -> sNaN
\r
248 decq516 apply #7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #7e003f7f7c7f7f7f7f7c7f7f7f7f7c7f
\r
249 decq517 apply #7f000000000000000000000000000000 -> sNaN
\r
250 decq518 apply #7fffffffffffffffffffffffffffffff -> sNaN999999999999999999999999999999999
\r
251 decq519 apply #7fffffffffffffffffffffffffffffff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
\r
253 decq520 apply -Infinity -> #f8000000000000000000000000000000
\r
254 decq521 apply #f8787878787878787878787878787878 -> #f8000000000000000000000000000000
\r
255 decq522 apply #f8000000000000000000000000000000 -> -Infinity
\r
256 decq523 apply #f9797979797979797979797979797979 -> #f8000000000000000000000000000000
\r
257 decq524 apply #f9000000000000000000000000000000 -> -Infinity
\r
258 decq525 apply #fa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #f8000000000000000000000000000000
\r
259 decq526 apply #fa000000000000000000000000000000 -> -Infinity
\r
260 decq527 apply #fb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #f8000000000000000000000000000000
\r
261 decq528 apply #fb000000000000000000000000000000 -> -Infinity
\r
263 decq529 apply -NaN -> #fc000000000000000000000000000000
\r
264 decq530 apply #fc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #fc003c7c7c7c7c7c7c7c7c7c7c7c7c7c
\r
265 decq531 apply #fc000000000000000000000000000000 -> -NaN
\r
266 decq532 apply #fd7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #fc003d7d7d7d7d7d7d7d7d7d7d7d7d7d
\r
267 decq533 apply #fd000000000000000000000000000000 -> -NaN
\r
268 decq534 apply #fe7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #fe003e7e7c7e7e7e7e7c7e7e7e7e7c7e
\r
269 decq535 apply #fe000000000000000000000000000000 -> -sNaN
\r
270 decq536 apply #ff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #fe003f7f7c7f7f7f7f7c7f7f7f7f7c7f
\r
271 decq537 apply #ff000000000000000000000000000000 -> -sNaN
\r
272 decq538 apply #ffffffffffffffffffffffffffffffff -> -sNaN999999999999999999999999999999999
\r
273 decq539 apply #ffffffffffffffffffffffffffffffff -> #fe000ff3fcff3fcff3fcff3fcff3fcff
\r
275 decq540 apply NaN -> #7c000000000000000000000000000000
\r
276 decq541 apply NaN0 -> #7c000000000000000000000000000000
\r
277 decq542 apply NaN1 -> #7c000000000000000000000000000001
\r
278 decq543 apply NaN12 -> #7c000000000000000000000000000012
\r
279 decq544 apply NaN79 -> #7c000000000000000000000000000079
\r
280 decq545 apply NaN12345 -> #7c0000000000000000000000000049c5
\r
281 decq546 apply NaN123456 -> #7c000000000000000000000000028e56
\r
282 decq547 apply NaN799799 -> #7c0000000000000000000000000f7fdf
\r
283 decq548 apply NaN799799799799799799799799799799799 -> #7c003dff7fdff7fdff7fdff7fdff7fdf
\r
284 decq549 apply NaN999999999999999999999999999999999 -> #7c000ff3fcff3fcff3fcff3fcff3fcff
\r
285 decq550 apply 9999999999999999999999999999999999 -> #6e080ff3fcff3fcff3fcff3fcff3fcff
\r
287 -- fold-down full sequence
\r
288 decq601 apply 1E+6144 -> #47ffc000000000000000000000000000 Clamped
\r
289 decq602 apply #47ffc000000000000000000000000000 -> 1.000000000000000000000000000000000E+6144
\r
290 decq603 apply 1E+6143 -> #43ffc800000000000000000000000000 Clamped
\r
291 decq604 apply #43ffc800000000000000000000000000 -> 1.00000000000000000000000000000000E+6143
\r
292 decq605 apply 1E+6142 -> #43ffc100000000000000000000000000 Clamped
\r
293 decq606 apply #43ffc100000000000000000000000000 -> 1.0000000000000000000000000000000E+6142
\r
294 decq607 apply 1E+6141 -> #43ffc010000000000000000000000000 Clamped
\r
295 decq608 apply #43ffc010000000000000000000000000 -> 1.000000000000000000000000000000E+6141
\r
296 decq609 apply 1E+6140 -> #43ffc002000000000000000000000000 Clamped
\r
297 decq610 apply #43ffc002000000000000000000000000 -> 1.00000000000000000000000000000E+6140
\r
298 decq611 apply 1E+6139 -> #43ffc000400000000000000000000000 Clamped
\r
299 decq612 apply #43ffc000400000000000000000000000 -> 1.0000000000000000000000000000E+6139
\r
300 decq613 apply 1E+6138 -> #43ffc000040000000000000000000000 Clamped
\r
301 decq614 apply #43ffc000040000000000000000000000 -> 1.000000000000000000000000000E+6138
\r
302 decq615 apply 1E+6137 -> #43ffc000008000000000000000000000 Clamped
\r
303 decq616 apply #43ffc000008000000000000000000000 -> 1.00000000000000000000000000E+6137
\r
304 decq617 apply 1E+6136 -> #43ffc000001000000000000000000000 Clamped
\r
305 decq618 apply #43ffc000001000000000000000000000 -> 1.0000000000000000000000000E+6136
\r
306 decq619 apply 1E+6135 -> #43ffc000000100000000000000000000 Clamped
\r
307 decq620 apply #43ffc000000100000000000000000000 -> 1.000000000000000000000000E+6135
\r
308 decq621 apply 1E+6134 -> #43ffc000000020000000000000000000 Clamped
\r
309 decq622 apply #43ffc000000020000000000000000000 -> 1.00000000000000000000000E+6134
\r
310 decq623 apply 1E+6133 -> #43ffc000000004000000000000000000 Clamped
\r
311 decq624 apply #43ffc000000004000000000000000000 -> 1.0000000000000000000000E+6133
\r
312 decq625 apply 1E+6132 -> #43ffc000000000400000000000000000 Clamped
\r
313 decq626 apply #43ffc000000000400000000000000000 -> 1.000000000000000000000E+6132
\r
314 decq627 apply 1E+6131 -> #43ffc000000000080000000000000000 Clamped
\r
315 decq628 apply #43ffc000000000080000000000000000 -> 1.00000000000000000000E+6131
\r
316 decq629 apply 1E+6130 -> #43ffc000000000010000000000000000 Clamped
\r
317 decq630 apply #43ffc000000000010000000000000000 -> 1.0000000000000000000E+6130
\r
318 decq631 apply 1E+6129 -> #43ffc000000000001000000000000000 Clamped
\r
319 decq632 apply #43ffc000000000001000000000000000 -> 1.000000000000000000E+6129
\r
320 decq633 apply 1E+6128 -> #43ffc000000000000200000000000000 Clamped
\r
321 decq634 apply #43ffc000000000000200000000000000 -> 1.00000000000000000E+6128
\r
322 decq635 apply 1E+6127 -> #43ffc000000000000040000000000000 Clamped
\r
323 decq636 apply #43ffc000000000000040000000000000 -> 1.0000000000000000E+6127
\r
324 decq637 apply 1E+6126 -> #43ffc000000000000004000000000000 Clamped
\r
325 decq638 apply #43ffc000000000000004000000000000 -> 1.000000000000000E+6126
\r
326 decq639 apply 1E+6125 -> #43ffc000000000000000800000000000 Clamped
\r
327 decq640 apply #43ffc000000000000000800000000000 -> 1.00000000000000E+6125
\r
328 decq641 apply 1E+6124 -> #43ffc000000000000000100000000000 Clamped
\r
329 decq642 apply #43ffc000000000000000100000000000 -> 1.0000000000000E+6124
\r
330 decq643 apply 1E+6123 -> #43ffc000000000000000010000000000 Clamped
\r
331 decq644 apply #43ffc000000000000000010000000000 -> 1.000000000000E+6123
\r
332 decq645 apply 1E+6122 -> #43ffc000000000000000002000000000 Clamped
\r
333 decq646 apply #43ffc000000000000000002000000000 -> 1.00000000000E+6122
\r
334 decq647 apply 1E+6121 -> #43ffc000000000000000000400000000 Clamped
\r
335 decq648 apply #43ffc000000000000000000400000000 -> 1.0000000000E+6121
\r
336 decq649 apply 1E+6120 -> #43ffc000000000000000000040000000 Clamped
\r
337 decq650 apply #43ffc000000000000000000040000000 -> 1.000000000E+6120
\r
338 decq651 apply 1E+6119 -> #43ffc000000000000000000008000000 Clamped
\r
339 decq652 apply #43ffc000000000000000000008000000 -> 1.00000000E+6119
\r
340 decq653 apply 1E+6118 -> #43ffc000000000000000000001000000 Clamped
\r
341 decq654 apply #43ffc000000000000000000001000000 -> 1.0000000E+6118
\r
342 decq655 apply 1E+6117 -> #43ffc000000000000000000000100000 Clamped
\r
343 decq656 apply #43ffc000000000000000000000100000 -> 1.000000E+6117
\r
344 decq657 apply 1E+6116 -> #43ffc000000000000000000000020000 Clamped
\r
345 decq658 apply #43ffc000000000000000000000020000 -> 1.00000E+6116
\r
346 decq659 apply 1E+6115 -> #43ffc000000000000000000000004000 Clamped
\r
347 decq660 apply #43ffc000000000000000000000004000 -> 1.0000E+6115
\r
348 decq661 apply 1E+6114 -> #43ffc000000000000000000000000400 Clamped
\r
349 decq662 apply #43ffc000000000000000000000000400 -> 1.000E+6114
\r
350 decq663 apply 1E+6113 -> #43ffc000000000000000000000000080 Clamped
\r
351 decq664 apply #43ffc000000000000000000000000080 -> 1.00E+6113
\r
352 decq665 apply 1E+6112 -> #43ffc000000000000000000000000010 Clamped
\r
353 decq666 apply #43ffc000000000000000000000000010 -> 1.0E+6112
\r
354 decq667 apply 1E+6111 -> #43ffc000000000000000000000000001
\r
355 decq668 apply #43ffc000000000000000000000000001 -> 1E+6111
\r
356 decq669 apply 1E+6110 -> #43ff8000000000000000000000000001
\r
357 decq670 apply #43ff8000000000000000000000000001 -> 1E+6110
\r
359 -- Selected DPD codes
\r
360 decq700 apply #22080000000000000000000000000000 -> 0
\r
361 decq701 apply #22080000000000000000000000000009 -> 9
\r
362 decq702 apply #22080000000000000000000000000010 -> 10
\r
363 decq703 apply #22080000000000000000000000000019 -> 19
\r
364 decq704 apply #22080000000000000000000000000020 -> 20
\r
365 decq705 apply #22080000000000000000000000000029 -> 29
\r
366 decq706 apply #22080000000000000000000000000030 -> 30
\r
367 decq707 apply #22080000000000000000000000000039 -> 39
\r
368 decq708 apply #22080000000000000000000000000040 -> 40
\r
369 decq709 apply #22080000000000000000000000000049 -> 49
\r
370 decq710 apply #22080000000000000000000000000050 -> 50
\r
371 decq711 apply #22080000000000000000000000000059 -> 59
\r
372 decq712 apply #22080000000000000000000000000060 -> 60
\r
373 decq713 apply #22080000000000000000000000000069 -> 69
\r
374 decq714 apply #22080000000000000000000000000070 -> 70
\r
375 decq715 apply #22080000000000000000000000000071 -> 71
\r
376 decq716 apply #22080000000000000000000000000072 -> 72
\r
377 decq717 apply #22080000000000000000000000000073 -> 73
\r
378 decq718 apply #22080000000000000000000000000074 -> 74
\r
379 decq719 apply #22080000000000000000000000000075 -> 75
\r
380 decq720 apply #22080000000000000000000000000076 -> 76
\r
381 decq721 apply #22080000000000000000000000000077 -> 77
\r
382 decq722 apply #22080000000000000000000000000078 -> 78
\r
383 decq723 apply #22080000000000000000000000000079 -> 79
\r
385 decq730 apply #2208000000000000000000000000029e -> 994
\r
386 decq731 apply #2208000000000000000000000000029f -> 995
\r
387 decq732 apply #220800000000000000000000000002a0 -> 520
\r
388 decq733 apply #220800000000000000000000000002a1 -> 521
\r
390 -- DPD: one of each of the huffman groups
\r
391 decq740 apply #220800000000000000000000000003f7 -> 777
\r
392 decq741 apply #220800000000000000000000000003f8 -> 778
\r
393 decq742 apply #220800000000000000000000000003eb -> 787
\r
394 decq743 apply #2208000000000000000000000000037d -> 877
\r
395 decq744 apply #2208000000000000000000000000039f -> 997
\r
396 decq745 apply #220800000000000000000000000003bf -> 979
\r
397 decq746 apply #220800000000000000000000000003df -> 799
\r
398 decq747 apply #2208000000000000000000000000006e -> 888
\r
401 -- DPD all-highs cases (includes the 24 redundant codes)
\r
402 decq750 apply #2208000000000000000000000000006e -> 888
\r
403 decq751 apply #2208000000000000000000000000016e -> 888
\r
404 decq752 apply #2208000000000000000000000000026e -> 888
\r
405 decq753 apply #2208000000000000000000000000036e -> 888
\r
406 decq754 apply #2208000000000000000000000000006f -> 889
\r
407 decq755 apply #2208000000000000000000000000016f -> 889
\r
408 decq756 apply #2208000000000000000000000000026f -> 889
\r
409 decq757 apply #2208000000000000000000000000036f -> 889
\r
411 decq760 apply #2208000000000000000000000000007e -> 898
\r
412 decq761 apply #2208000000000000000000000000017e -> 898
\r
413 decq762 apply #2208000000000000000000000000027e -> 898
\r
414 decq763 apply #2208000000000000000000000000037e -> 898
\r
415 decq764 apply #2208000000000000000000000000007f -> 899
\r
416 decq765 apply #2208000000000000000000000000017f -> 899
\r
417 decq766 apply #2208000000000000000000000000027f -> 899
\r
418 decq767 apply #2208000000000000000000000000037f -> 899
\r
420 decq770 apply #220800000000000000000000000000ee -> 988
\r
421 decq771 apply #220800000000000000000000000001ee -> 988
\r
422 decq772 apply #220800000000000000000000000002ee -> 988
\r
423 decq773 apply #220800000000000000000000000003ee -> 988
\r
424 decq774 apply #220800000000000000000000000000ef -> 989
\r
425 decq775 apply #220800000000000000000000000001ef -> 989
\r
426 decq776 apply #220800000000000000000000000002ef -> 989
\r
427 decq777 apply #220800000000000000000000000003ef -> 989
\r
429 decq780 apply #220800000000000000000000000000fe -> 998
\r
430 decq781 apply #220800000000000000000000000001fe -> 998
\r
431 decq782 apply #220800000000000000000000000002fe -> 998
\r
432 decq783 apply #220800000000000000000000000003fe -> 998
\r
433 decq784 apply #220800000000000000000000000000ff -> 999
\r
434 decq785 apply #220800000000000000000000000001ff -> 999
\r
435 decq786 apply #220800000000000000000000000002ff -> 999
\r
436 decq787 apply #220800000000000000000000000003ff -> 999
\r
438 -- Miscellaneous (testers' queries, etc.)
\r
440 decq790 apply #2208000000000000000000000000c000 -> 30000
\r
441 decq791 apply #22080000000000000000000000007800 -> 890000
\r
442 decq792 apply 30000 -> #2208000000000000000000000000c000
\r
443 decq793 apply 890000 -> #22080000000000000000000000007800
\r
445 -- values around [u]int32 edges (zeros done earlier)
\r
446 decq800 apply -2147483646 -> #a208000000000000000000008c78af46
\r
447 decq801 apply -2147483647 -> #a208000000000000000000008c78af47
\r
448 decq802 apply -2147483648 -> #a208000000000000000000008c78af48
\r
449 decq803 apply -2147483649 -> #a208000000000000000000008c78af49
\r
450 decq804 apply 2147483646 -> #2208000000000000000000008c78af46
\r
451 decq805 apply 2147483647 -> #2208000000000000000000008c78af47
\r
452 decq806 apply 2147483648 -> #2208000000000000000000008c78af48
\r
453 decq807 apply 2147483649 -> #2208000000000000000000008c78af49
\r
454 decq808 apply 4294967294 -> #22080000000000000000000115afb55a
\r
455 decq809 apply 4294967295 -> #22080000000000000000000115afb55b
\r
456 decq810 apply 4294967296 -> #22080000000000000000000115afb57a
\r
457 decq811 apply 4294967297 -> #22080000000000000000000115afb57b
\r
459 decq820 apply #a208000000000000000000008c78af46 -> -2147483646
\r
460 decq821 apply #a208000000000000000000008c78af47 -> -2147483647
\r
461 decq822 apply #a208000000000000000000008c78af48 -> -2147483648
\r
462 decq823 apply #a208000000000000000000008c78af49 -> -2147483649
\r
463 decq824 apply #2208000000000000000000008c78af46 -> 2147483646
\r
464 decq825 apply #2208000000000000000000008c78af47 -> 2147483647
\r
465 decq826 apply #2208000000000000000000008c78af48 -> 2147483648
\r
466 decq827 apply #2208000000000000000000008c78af49 -> 2147483649
\r
467 decq828 apply #22080000000000000000000115afb55a -> 4294967294
\r
468 decq829 apply #22080000000000000000000115afb55b -> 4294967295
\r
469 decq830 apply #22080000000000000000000115afb57a -> 4294967296
\r
470 decq831 apply #22080000000000000000000115afb57b -> 4294967297
\r
473 decq840 apply #2080000000000000F294000000172636 -> 8.81125000000001349436E-1548
\r
474 decq841 apply #20800000000000008000000000000000 -> 8.000000000000000000E-1550
\r
475 decq842 apply #1EF98490000000010F6E4E0000000000 -> 7.049000000000010795488000000000000E-3097
\r
476 decq843 multiply #20800000000000008000000000000000 #2080000000000000F294000000172636 -> #1EF98490000000010F6E4E0000000000 Rounded
\r