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