| Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 1 | ------------------------------------------------------------------------
 | 
 | 2 | -- dqEncode.decTest -- decimal sixteen-byte format testcases          --
 | 
| Benjamin Peterson | f17ff4e | 2008-07-31 16:32:12 +0000 | [diff] [blame] | 3 | -- Copyright (c) IBM Corporation, 2000, 2008.  All rights reserved.   --
 | 
| Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 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@uk.ibm.com                                                   --
 | 
 | 19 | ------------------------------------------------------------------------
 | 
 | 20 | -- [Previously called decimal128.decTest]
 | 
| Mark Dickinson | 8a54653 | 2009-10-08 16:30:38 +0000 | [diff] [blame] | 21 | version: 2.59
 | 
| Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 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
 | 
| Guido van Rossum | 0d3fb8a | 2007-11-26 23:23:18 +0000 | [diff] [blame] | 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 | 
 |