| 1 | ------------------------------------------------------------------------
|
|---|
| 2 | -- rescale.decTest -- decimal rescale operation --
|
|---|
| 3 | -- Copyright (c) IBM Corporation, 1981, 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@uk.ibm.com --
|
|---|
| 19 | ------------------------------------------------------------------------
|
|---|
| 20 | version: 2.59
|
|---|
| 21 |
|
|---|
| 22 | -- [obsolete] Quantize.decTest has the improved version
|
|---|
| 23 |
|
|---|
| 24 | -- 2004.03.15 Underflow for quantize is suppressed
|
|---|
| 25 |
|
|---|
| 26 | extended: 1
|
|---|
| 27 | precision: 9
|
|---|
| 28 | rounding: half_up
|
|---|
| 29 | maxExponent: 999
|
|---|
| 30 | minexponent: -999
|
|---|
| 31 |
|
|---|
| 32 | -- sanity checks
|
|---|
| 33 |
|
|---|
| 34 | resx001 rescale 0 0 -> 0
|
|---|
| 35 | resx002 rescale 1 0 -> 1
|
|---|
| 36 | resx003 rescale 0.1 +2 -> 0E+2 Inexact Rounded
|
|---|
| 37 | resx005 rescale 0.1 +1 -> 0E+1 Inexact Rounded
|
|---|
| 38 | resx006 rescale 0.1 0 -> 0 Inexact Rounded
|
|---|
| 39 | resx007 rescale 0.1 -1 -> 0.1
|
|---|
| 40 | resx008 rescale 0.1 -2 -> 0.10
|
|---|
| 41 | resx009 rescale 0.1 -3 -> 0.100
|
|---|
| 42 | resx010 rescale 0.9 +2 -> 0E+2 Inexact Rounded
|
|---|
| 43 | resx011 rescale 0.9 +1 -> 0E+1 Inexact Rounded
|
|---|
| 44 | resx012 rescale 0.9 +0 -> 1 Inexact Rounded
|
|---|
| 45 | resx013 rescale 0.9 -1 -> 0.9
|
|---|
| 46 | resx014 rescale 0.9 -2 -> 0.90
|
|---|
| 47 | resx015 rescale 0.9 -3 -> 0.900
|
|---|
| 48 | -- negatives
|
|---|
| 49 | resx021 rescale -0 0 -> -0
|
|---|
| 50 | resx022 rescale -1 0 -> -1
|
|---|
| 51 | resx023 rescale -0.1 +2 -> -0E+2 Inexact Rounded
|
|---|
| 52 | resx025 rescale -0.1 +1 -> -0E+1 Inexact Rounded
|
|---|
| 53 | resx026 rescale -0.1 0 -> -0 Inexact Rounded
|
|---|
| 54 | resx027 rescale -0.1 -1 -> -0.1
|
|---|
| 55 | resx028 rescale -0.1 -2 -> -0.10
|
|---|
| 56 | resx029 rescale -0.1 -3 -> -0.100
|
|---|
| 57 | resx030 rescale -0.9 +2 -> -0E+2 Inexact Rounded
|
|---|
| 58 | resx031 rescale -0.9 +1 -> -0E+1 Inexact Rounded
|
|---|
| 59 | resx032 rescale -0.9 +0 -> -1 Inexact Rounded
|
|---|
| 60 | resx033 rescale -0.9 -1 -> -0.9
|
|---|
| 61 | resx034 rescale -0.9 -2 -> -0.90
|
|---|
| 62 | resx035 rescale -0.9 -3 -> -0.900
|
|---|
| 63 | resx036 rescale -0.5 +2 -> -0E+2 Inexact Rounded
|
|---|
| 64 | resx037 rescale -0.5 +1 -> -0E+1 Inexact Rounded
|
|---|
| 65 | resx038 rescale -0.5 +0 -> -1 Inexact Rounded
|
|---|
| 66 | resx039 rescale -0.5 -1 -> -0.5
|
|---|
| 67 | resx040 rescale -0.5 -2 -> -0.50
|
|---|
| 68 | resx041 rescale -0.5 -3 -> -0.500
|
|---|
| 69 | resx042 rescale -0.9 +2 -> -0E+2 Inexact Rounded
|
|---|
| 70 | resx043 rescale -0.9 +1 -> -0E+1 Inexact Rounded
|
|---|
| 71 | resx044 rescale -0.9 +0 -> -1 Inexact Rounded
|
|---|
| 72 | resx045 rescale -0.9 -1 -> -0.9
|
|---|
| 73 | resx046 rescale -0.9 -2 -> -0.90
|
|---|
| 74 | resx047 rescale -0.9 -3 -> -0.900
|
|---|
| 75 |
|
|---|
| 76 | -- examples from Specification
|
|---|
| 77 | resx060 rescale 2.17 -3 -> 2.170
|
|---|
| 78 | resx061 rescale 2.17 -2 -> 2.17
|
|---|
| 79 | resx062 rescale 2.17 -1 -> 2.2 Inexact Rounded
|
|---|
| 80 | resx063 rescale 2.17 0 -> 2 Inexact Rounded
|
|---|
| 81 | resx064 rescale 2.17 +1 -> 0E+1 Inexact Rounded
|
|---|
| 82 | resx065 rescale 2 Inf -> NaN Invalid_operation
|
|---|
| 83 | resx066 rescale -0.1 0 -> -0 Inexact Rounded
|
|---|
| 84 | resx067 rescale -0 5 -> -0E+5
|
|---|
| 85 | resx068 rescale +35236450.6 -2 -> NaN Invalid_operation
|
|---|
| 86 | resx069 rescale -35236450.6 -2 -> NaN Invalid_operation
|
|---|
| 87 | resx070 rescale 217 -1 -> 217.0
|
|---|
| 88 | resx071 rescale 217 0 -> 217
|
|---|
| 89 | resx072 rescale 217 +1 -> 2.2E+2 Inexact Rounded
|
|---|
| 90 | resx073 rescale 217 +2 -> 2E+2 Inexact Rounded
|
|---|
| 91 |
|
|---|
| 92 | -- general tests ..
|
|---|
| 93 | resx089 rescale 12 +4 -> 0E+4 Inexact Rounded
|
|---|
| 94 | resx090 rescale 12 +3 -> 0E+3 Inexact Rounded
|
|---|
| 95 | resx091 rescale 12 +2 -> 0E+2 Inexact Rounded
|
|---|
| 96 | resx092 rescale 12 +1 -> 1E+1 Inexact Rounded
|
|---|
| 97 | resx093 rescale 1.2345 -2 -> 1.23 Inexact Rounded
|
|---|
| 98 | resx094 rescale 1.2355 -2 -> 1.24 Inexact Rounded
|
|---|
| 99 | resx095 rescale 1.2345 -6 -> 1.234500
|
|---|
| 100 | resx096 rescale 9.9999 -2 -> 10.00 Inexact Rounded
|
|---|
| 101 | resx097 rescale 0.0001 -2 -> 0.00 Inexact Rounded
|
|---|
| 102 | resx098 rescale 0.001 -2 -> 0.00 Inexact Rounded
|
|---|
| 103 | resx099 rescale 0.009 -2 -> 0.01 Inexact Rounded
|
|---|
| 104 | resx100 rescale 92 +2 -> 1E+2 Inexact Rounded
|
|---|
| 105 |
|
|---|
| 106 | resx101 rescale -1 0 -> -1
|
|---|
| 107 | resx102 rescale -1 -1 -> -1.0
|
|---|
| 108 | resx103 rescale -1 -2 -> -1.00
|
|---|
| 109 | resx104 rescale 0 0 -> 0
|
|---|
| 110 | resx105 rescale 0 -1 -> 0.0
|
|---|
| 111 | resx106 rescale 0 -2 -> 0.00
|
|---|
| 112 | resx107 rescale 0.00 0 -> 0
|
|---|
| 113 | resx108 rescale 0 +1 -> 0E+1
|
|---|
| 114 | resx109 rescale 0 +2 -> 0E+2
|
|---|
| 115 | resx110 rescale +1 0 -> 1
|
|---|
| 116 | resx111 rescale +1 -1 -> 1.0
|
|---|
| 117 | resx112 rescale +1 -2 -> 1.00
|
|---|
| 118 |
|
|---|
| 119 | resx120 rescale 1.04 -3 -> 1.040
|
|---|
| 120 | resx121 rescale 1.04 -2 -> 1.04
|
|---|
| 121 | resx122 rescale 1.04 -1 -> 1.0 Inexact Rounded
|
|---|
| 122 | resx123 rescale 1.04 0 -> 1 Inexact Rounded
|
|---|
| 123 | resx124 rescale 1.05 -3 -> 1.050
|
|---|
| 124 | resx125 rescale 1.05 -2 -> 1.05
|
|---|
| 125 | resx126 rescale 1.05 -1 -> 1.1 Inexact Rounded
|
|---|
| 126 | resx127 rescale 1.05 0 -> 1 Inexact Rounded
|
|---|
| 127 | resx128 rescale 1.05 -3 -> 1.050
|
|---|
| 128 | resx129 rescale 1.05 -2 -> 1.05
|
|---|
| 129 | resx130 rescale 1.05 -1 -> 1.1 Inexact Rounded
|
|---|
| 130 | resx131 rescale 1.05 0 -> 1 Inexact Rounded
|
|---|
| 131 | resx132 rescale 1.06 -3 -> 1.060
|
|---|
| 132 | resx133 rescale 1.06 -2 -> 1.06
|
|---|
| 133 | resx134 rescale 1.06 -1 -> 1.1 Inexact Rounded
|
|---|
| 134 | resx135 rescale 1.06 0 -> 1 Inexact Rounded
|
|---|
| 135 |
|
|---|
| 136 | resx140 rescale -10 -2 -> -10.00
|
|---|
| 137 | resx141 rescale +1 -2 -> 1.00
|
|---|
| 138 | resx142 rescale +10 -2 -> 10.00
|
|---|
| 139 | resx143 rescale 1E+10 -2 -> NaN Invalid_operation
|
|---|
| 140 | resx144 rescale 1E-10 -2 -> 0.00 Inexact Rounded
|
|---|
| 141 | resx145 rescale 1E-3 -2 -> 0.00 Inexact Rounded
|
|---|
| 142 | resx146 rescale 1E-2 -2 -> 0.01
|
|---|
| 143 | resx147 rescale 1E-1 -2 -> 0.10
|
|---|
| 144 | resx148 rescale 0E-10 -2 -> 0.00
|
|---|
| 145 |
|
|---|
| 146 | resx150 rescale 1.0600 -5 -> 1.06000
|
|---|
| 147 | resx151 rescale 1.0600 -4 -> 1.0600
|
|---|
| 148 | resx152 rescale 1.0600 -3 -> 1.060 Rounded
|
|---|
| 149 | resx153 rescale 1.0600 -2 -> 1.06 Rounded
|
|---|
| 150 | resx154 rescale 1.0600 -1 -> 1.1 Inexact Rounded
|
|---|
| 151 | resx155 rescale 1.0600 0 -> 1 Inexact Rounded
|
|---|
| 152 |
|
|---|
| 153 | -- +ve exponents ..
|
|---|
| 154 | resx201 rescale -1 +0 -> -1
|
|---|
| 155 | resx202 rescale -1 +1 -> -0E+1 Inexact Rounded
|
|---|
| 156 | resx203 rescale -1 +2 -> -0E+2 Inexact Rounded
|
|---|
| 157 | resx204 rescale 0 +0 -> 0
|
|---|
| 158 | resx205 rescale 0 +1 -> 0E+1
|
|---|
| 159 | resx206 rescale 0 +2 -> 0E+2
|
|---|
| 160 | resx207 rescale +1 +0 -> 1
|
|---|
| 161 | resx208 rescale +1 +1 -> 0E+1 Inexact Rounded
|
|---|
| 162 | resx209 rescale +1 +2 -> 0E+2 Inexact Rounded
|
|---|
| 163 |
|
|---|
| 164 | resx220 rescale 1.04 +3 -> 0E+3 Inexact Rounded
|
|---|
| 165 | resx221 rescale 1.04 +2 -> 0E+2 Inexact Rounded
|
|---|
| 166 | resx222 rescale 1.04 +1 -> 0E+1 Inexact Rounded
|
|---|
| 167 | resx223 rescale 1.04 +0 -> 1 Inexact Rounded
|
|---|
| 168 | resx224 rescale 1.05 +3 -> 0E+3 Inexact Rounded
|
|---|
| 169 | resx225 rescale 1.05 +2 -> 0E+2 Inexact Rounded
|
|---|
| 170 | resx226 rescale 1.05 +1 -> 0E+1 Inexact Rounded
|
|---|
| 171 | resx227 rescale 1.05 +0 -> 1 Inexact Rounded
|
|---|
| 172 | resx228 rescale 1.05 +3 -> 0E+3 Inexact Rounded
|
|---|
| 173 | resx229 rescale 1.05 +2 -> 0E+2 Inexact Rounded
|
|---|
| 174 | resx230 rescale 1.05 +1 -> 0E+1 Inexact Rounded
|
|---|
| 175 | resx231 rescale 1.05 +0 -> 1 Inexact Rounded
|
|---|
| 176 | resx232 rescale 1.06 +3 -> 0E+3 Inexact Rounded
|
|---|
| 177 | resx233 rescale 1.06 +2 -> 0E+2 Inexact Rounded
|
|---|
| 178 | resx234 rescale 1.06 +1 -> 0E+1 Inexact Rounded
|
|---|
| 179 | resx235 rescale 1.06 +0 -> 1 Inexact Rounded
|
|---|
| 180 |
|
|---|
| 181 | resx240 rescale -10 +1 -> -1E+1 Rounded
|
|---|
| 182 | resx241 rescale +1 +1 -> 0E+1 Inexact Rounded
|
|---|
| 183 | resx242 rescale +10 +1 -> 1E+1 Rounded
|
|---|
| 184 | resx243 rescale 1E+1 +1 -> 1E+1 -- underneath this is E+1
|
|---|
| 185 | resx244 rescale 1E+2 +1 -> 1.0E+2 -- underneath this is E+1
|
|---|
| 186 | resx245 rescale 1E+3 +1 -> 1.00E+3 -- underneath this is E+1
|
|---|
| 187 | resx246 rescale 1E+4 +1 -> 1.000E+4 -- underneath this is E+1
|
|---|
| 188 | resx247 rescale 1E+5 +1 -> 1.0000E+5 -- underneath this is E+1
|
|---|
| 189 | resx248 rescale 1E+6 +1 -> 1.00000E+6 -- underneath this is E+1
|
|---|
| 190 | resx249 rescale 1E+7 +1 -> 1.000000E+7 -- underneath this is E+1
|
|---|
| 191 | resx250 rescale 1E+8 +1 -> 1.0000000E+8 -- underneath this is E+1
|
|---|
| 192 | resx251 rescale 1E+9 +1 -> 1.00000000E+9 -- underneath this is E+1
|
|---|
| 193 | -- next one tries to add 9 zeros
|
|---|
| 194 | resx252 rescale 1E+10 +1 -> NaN Invalid_operation
|
|---|
| 195 | resx253 rescale 1E-10 +1 -> 0E+1 Inexact Rounded
|
|---|
| 196 | resx254 rescale 1E-2 +1 -> 0E+1 Inexact Rounded
|
|---|
| 197 | resx255 rescale 0E-10 +1 -> 0E+1
|
|---|
| 198 | resx256 rescale -0E-10 +1 -> -0E+1
|
|---|
| 199 | resx257 rescale -0E-1 +1 -> -0E+1
|
|---|
| 200 | resx258 rescale -0 +1 -> -0E+1
|
|---|
| 201 | resx259 rescale -0E+1 +1 -> -0E+1
|
|---|
| 202 |
|
|---|
| 203 | resx260 rescale -10 +2 -> -0E+2 Inexact Rounded
|
|---|
| 204 | resx261 rescale +1 +2 -> 0E+2 Inexact Rounded
|
|---|
| 205 | resx262 rescale +10 +2 -> 0E+2 Inexact Rounded
|
|---|
| 206 | resx263 rescale 1E+1 +2 -> 0E+2 Inexact Rounded
|
|---|
| 207 | resx264 rescale 1E+2 +2 -> 1E+2
|
|---|
| 208 | resx265 rescale 1E+3 +2 -> 1.0E+3
|
|---|
| 209 | resx266 rescale 1E+4 +2 -> 1.00E+4
|
|---|
| 210 | resx267 rescale 1E+5 +2 -> 1.000E+5
|
|---|
| 211 | resx268 rescale 1E+6 +2 -> 1.0000E+6
|
|---|
| 212 | resx269 rescale 1E+7 +2 -> 1.00000E+7
|
|---|
| 213 | resx270 rescale 1E+8 +2 -> 1.000000E+8
|
|---|
| 214 | resx271 rescale 1E+9 +2 -> 1.0000000E+9
|
|---|
| 215 | resx272 rescale 1E+10 +2 -> 1.00000000E+10
|
|---|
| 216 | resx273 rescale 1E-10 +2 -> 0E+2 Inexact Rounded
|
|---|
| 217 | resx274 rescale 1E-2 +2 -> 0E+2 Inexact Rounded
|
|---|
| 218 | resx275 rescale 0E-10 +2 -> 0E+2
|
|---|
| 219 |
|
|---|
| 220 | resx280 rescale -10 +3 -> -0E+3 Inexact Rounded
|
|---|
| 221 | resx281 rescale +1 +3 -> 0E+3 Inexact Rounded
|
|---|
| 222 | resx282 rescale +10 +3 -> 0E+3 Inexact Rounded
|
|---|
| 223 | resx283 rescale 1E+1 +3 -> 0E+3 Inexact Rounded
|
|---|
| 224 | resx284 rescale 1E+2 +3 -> 0E+3 Inexact Rounded
|
|---|
| 225 | resx285 rescale 1E+3 +3 -> 1E+3
|
|---|
| 226 | resx286 rescale 1E+4 +3 -> 1.0E+4
|
|---|
| 227 | resx287 rescale 1E+5 +3 -> 1.00E+5
|
|---|
| 228 | resx288 rescale 1E+6 +3 -> 1.000E+6
|
|---|
| 229 | resx289 rescale 1E+7 +3 -> 1.0000E+7
|
|---|
| 230 | resx290 rescale 1E+8 +3 -> 1.00000E+8
|
|---|
| 231 | resx291 rescale 1E+9 +3 -> 1.000000E+9
|
|---|
| 232 | resx292 rescale 1E+10 +3 -> 1.0000000E+10
|
|---|
| 233 | resx293 rescale 1E-10 +3 -> 0E+3 Inexact Rounded
|
|---|
| 234 | resx294 rescale 1E-2 +3 -> 0E+3 Inexact Rounded
|
|---|
| 235 | resx295 rescale 0E-10 +3 -> 0E+3
|
|---|
| 236 |
|
|---|
| 237 | -- round up from below [sign wrong in JIT compiler once]
|
|---|
| 238 | resx300 rescale 0.0078 -5 -> 0.00780
|
|---|
| 239 | resx301 rescale 0.0078 -4 -> 0.0078
|
|---|
| 240 | resx302 rescale 0.0078 -3 -> 0.008 Inexact Rounded
|
|---|
| 241 | resx303 rescale 0.0078 -2 -> 0.01 Inexact Rounded
|
|---|
| 242 | resx304 rescale 0.0078 -1 -> 0.0 Inexact Rounded
|
|---|
| 243 | resx305 rescale 0.0078 0 -> 0 Inexact Rounded
|
|---|
| 244 | resx306 rescale 0.0078 +1 -> 0E+1 Inexact Rounded
|
|---|
| 245 | resx307 rescale 0.0078 +2 -> 0E+2 Inexact Rounded
|
|---|
| 246 |
|
|---|
| 247 | resx310 rescale -0.0078 -5 -> -0.00780
|
|---|
| 248 | resx311 rescale -0.0078 -4 -> -0.0078
|
|---|
| 249 | resx312 rescale -0.0078 -3 -> -0.008 Inexact Rounded
|
|---|
| 250 | resx313 rescale -0.0078 -2 -> -0.01 Inexact Rounded
|
|---|
| 251 | resx314 rescale -0.0078 -1 -> -0.0 Inexact Rounded
|
|---|
| 252 | resx315 rescale -0.0078 0 -> -0 Inexact Rounded
|
|---|
| 253 | resx316 rescale -0.0078 +1 -> -0E+1 Inexact Rounded
|
|---|
| 254 | resx317 rescale -0.0078 +2 -> -0E+2 Inexact Rounded
|
|---|
| 255 |
|
|---|
| 256 | resx320 rescale 0.078 -5 -> 0.07800
|
|---|
| 257 | resx321 rescale 0.078 -4 -> 0.0780
|
|---|
| 258 | resx322 rescale 0.078 -3 -> 0.078
|
|---|
| 259 | resx323 rescale 0.078 -2 -> 0.08 Inexact Rounded
|
|---|
| 260 | resx324 rescale 0.078 -1 -> 0.1 Inexact Rounded
|
|---|
| 261 | resx325 rescale 0.078 0 -> 0 Inexact Rounded
|
|---|
| 262 | resx326 rescale 0.078 +1 -> 0E+1 Inexact Rounded
|
|---|
| 263 | resx327 rescale 0.078 +2 -> 0E+2 Inexact Rounded
|
|---|
| 264 |
|
|---|
| 265 | resx330 rescale -0.078 -5 -> -0.07800
|
|---|
| 266 | resx331 rescale -0.078 -4 -> -0.0780
|
|---|
| 267 | resx332 rescale -0.078 -3 -> -0.078
|
|---|
| 268 | resx333 rescale -0.078 -2 -> -0.08 Inexact Rounded
|
|---|
| 269 | resx334 rescale -0.078 -1 -> -0.1 Inexact Rounded
|
|---|
| 270 | resx335 rescale -0.078 0 -> -0 Inexact Rounded
|
|---|
| 271 | resx336 rescale -0.078 +1 -> -0E+1 Inexact Rounded
|
|---|
| 272 | resx337 rescale -0.078 +2 -> -0E+2 Inexact Rounded
|
|---|
| 273 |
|
|---|
| 274 | resx340 rescale 0.78 -5 -> 0.78000
|
|---|
| 275 | resx341 rescale 0.78 -4 -> 0.7800
|
|---|
| 276 | resx342 rescale 0.78 -3 -> 0.780
|
|---|
| 277 | resx343 rescale 0.78 -2 -> 0.78
|
|---|
| 278 | resx344 rescale 0.78 -1 -> 0.8 Inexact Rounded
|
|---|
| 279 | resx345 rescale 0.78 0 -> 1 Inexact Rounded
|
|---|
| 280 | resx346 rescale 0.78 +1 -> 0E+1 Inexact Rounded
|
|---|
| 281 | resx347 rescale 0.78 +2 -> 0E+2 Inexact Rounded
|
|---|
| 282 |
|
|---|
| 283 | resx350 rescale -0.78 -5 -> -0.78000
|
|---|
| 284 | resx351 rescale -0.78 -4 -> -0.7800
|
|---|
| 285 | resx352 rescale -0.78 -3 -> -0.780
|
|---|
| 286 | resx353 rescale -0.78 -2 -> -0.78
|
|---|
| 287 | resx354 rescale -0.78 -1 -> -0.8 Inexact Rounded
|
|---|
| 288 | resx355 rescale -0.78 0 -> -1 Inexact Rounded
|
|---|
| 289 | resx356 rescale -0.78 +1 -> -0E+1 Inexact Rounded
|
|---|
| 290 | resx357 rescale -0.78 +2 -> -0E+2 Inexact Rounded
|
|---|
| 291 |
|
|---|
| 292 | resx360 rescale 7.8 -5 -> 7.80000
|
|---|
| 293 | resx361 rescale 7.8 -4 -> 7.8000
|
|---|
| 294 | resx362 rescale 7.8 -3 -> 7.800
|
|---|
| 295 | resx363 rescale 7.8 -2 -> 7.80
|
|---|
| 296 | resx364 rescale 7.8 -1 -> 7.8
|
|---|
| 297 | resx365 rescale 7.8 0 -> 8 Inexact Rounded
|
|---|
| 298 | resx366 rescale 7.8 +1 -> 1E+1 Inexact Rounded
|
|---|
| 299 | resx367 rescale 7.8 +2 -> 0E+2 Inexact Rounded
|
|---|
| 300 | resx368 rescale 7.8 +3 -> 0E+3 Inexact Rounded
|
|---|
| 301 |
|
|---|
| 302 | resx370 rescale -7.8 -5 -> -7.80000
|
|---|
| 303 | resx371 rescale -7.8 -4 -> -7.8000
|
|---|
| 304 | resx372 rescale -7.8 -3 -> -7.800
|
|---|
| 305 | resx373 rescale -7.8 -2 -> -7.80
|
|---|
| 306 | resx374 rescale -7.8 -1 -> -7.8
|
|---|
| 307 | resx375 rescale -7.8 0 -> -8 Inexact Rounded
|
|---|
| 308 | resx376 rescale -7.8 +1 -> -1E+1 Inexact Rounded
|
|---|
| 309 | resx377 rescale -7.8 +2 -> -0E+2 Inexact Rounded
|
|---|
| 310 | resx378 rescale -7.8 +3 -> -0E+3 Inexact Rounded
|
|---|
| 311 |
|
|---|
| 312 | -- some individuals
|
|---|
| 313 | precision: 9
|
|---|
| 314 | resx380 rescale 352364.506 -2 -> 352364.51 Inexact Rounded
|
|---|
| 315 | resx381 rescale 3523645.06 -2 -> 3523645.06
|
|---|
| 316 | resx382 rescale 35236450.6 -2 -> NaN Invalid_operation
|
|---|
| 317 | resx383 rescale 352364506 -2 -> NaN Invalid_operation
|
|---|
| 318 | resx384 rescale -352364.506 -2 -> -352364.51 Inexact Rounded
|
|---|
| 319 | resx385 rescale -3523645.06 -2 -> -3523645.06
|
|---|
| 320 | resx386 rescale -35236450.6 -2 -> NaN Invalid_operation
|
|---|
| 321 | resx387 rescale -352364506 -2 -> NaN Invalid_operation
|
|---|
| 322 |
|
|---|
| 323 | rounding: down
|
|---|
| 324 | resx389 rescale 35236450.6 -2 -> NaN Invalid_operation
|
|---|
| 325 | -- ? should that one instead have been:
|
|---|
| 326 | -- resx389 rescale 35236450.6 -2 -> NaN Invalid_operation
|
|---|
| 327 | rounding: half_up
|
|---|
| 328 |
|
|---|
| 329 | -- and a few more from e-mail discussions
|
|---|
| 330 | precision: 7
|
|---|
| 331 | resx391 rescale 12.34567 -3 -> 12.346 Inexact Rounded
|
|---|
| 332 | resx392 rescale 123.4567 -3 -> 123.457 Inexact Rounded
|
|---|
| 333 | resx393 rescale 1234.567 -3 -> 1234.567
|
|---|
| 334 | resx394 rescale 12345.67 -3 -> NaN Invalid_operation
|
|---|
| 335 | resx395 rescale 123456.7 -3 -> NaN Invalid_operation
|
|---|
| 336 | resx396 rescale 1234567. -3 -> NaN Invalid_operation
|
|---|
| 337 |
|
|---|
| 338 | -- some 9999 round-up cases
|
|---|
| 339 | precision: 9
|
|---|
| 340 | resx400 rescale 9.999 -5 -> 9.99900
|
|---|
| 341 | resx401 rescale 9.999 -4 -> 9.9990
|
|---|
| 342 | resx402 rescale 9.999 -3 -> 9.999
|
|---|
| 343 | resx403 rescale 9.999 -2 -> 10.00 Inexact Rounded
|
|---|
| 344 | resx404 rescale 9.999 -1 -> 10.0 Inexact Rounded
|
|---|
| 345 | resx405 rescale 9.999 0 -> 10 Inexact Rounded
|
|---|
| 346 | resx406 rescale 9.999 1 -> 1E+1 Inexact Rounded
|
|---|
| 347 | resx407 rescale 9.999 2 -> 0E+2 Inexact Rounded
|
|---|
| 348 |
|
|---|
| 349 | resx410 rescale 0.999 -5 -> 0.99900
|
|---|
| 350 | resx411 rescale 0.999 -4 -> 0.9990
|
|---|
| 351 | resx412 rescale 0.999 -3 -> 0.999
|
|---|
| 352 | resx413 rescale 0.999 -2 -> 1.00 Inexact Rounded
|
|---|
| 353 | resx414 rescale 0.999 -1 -> 1.0 Inexact Rounded
|
|---|
| 354 | resx415 rescale 0.999 0 -> 1 Inexact Rounded
|
|---|
| 355 | resx416 rescale 0.999 1 -> 0E+1 Inexact Rounded
|
|---|
| 356 |
|
|---|
| 357 | resx420 rescale 0.0999 -5 -> 0.09990
|
|---|
| 358 | resx421 rescale 0.0999 -4 -> 0.0999
|
|---|
| 359 | resx422 rescale 0.0999 -3 -> 0.100 Inexact Rounded
|
|---|
| 360 | resx423 rescale 0.0999 -2 -> 0.10 Inexact Rounded
|
|---|
| 361 | resx424 rescale 0.0999 -1 -> 0.1 Inexact Rounded
|
|---|
| 362 | resx425 rescale 0.0999 0 -> 0 Inexact Rounded
|
|---|
| 363 | resx426 rescale 0.0999 1 -> 0E+1 Inexact Rounded
|
|---|
| 364 |
|
|---|
| 365 | resx430 rescale 0.00999 -5 -> 0.00999
|
|---|
| 366 | resx431 rescale 0.00999 -4 -> 0.0100 Inexact Rounded
|
|---|
| 367 | resx432 rescale 0.00999 -3 -> 0.010 Inexact Rounded
|
|---|
| 368 | resx433 rescale 0.00999 -2 -> 0.01 Inexact Rounded
|
|---|
| 369 | resx434 rescale 0.00999 -1 -> 0.0 Inexact Rounded
|
|---|
| 370 | resx435 rescale 0.00999 0 -> 0 Inexact Rounded
|
|---|
| 371 | resx436 rescale 0.00999 1 -> 0E+1 Inexact Rounded
|
|---|
| 372 |
|
|---|
| 373 | resx440 rescale 0.000999 -5 -> 0.00100 Inexact Rounded
|
|---|
| 374 | resx441 rescale 0.000999 -4 -> 0.0010 Inexact Rounded
|
|---|
| 375 | resx442 rescale 0.000999 -3 -> 0.001 Inexact Rounded
|
|---|
| 376 | resx443 rescale 0.000999 -2 -> 0.00 Inexact Rounded
|
|---|
| 377 | resx444 rescale 0.000999 -1 -> 0.0 Inexact Rounded
|
|---|
| 378 | resx445 rescale 0.000999 0 -> 0 Inexact Rounded
|
|---|
| 379 | resx446 rescale 0.000999 1 -> 0E+1 Inexact Rounded
|
|---|
| 380 |
|
|---|
| 381 | precision: 8
|
|---|
| 382 | resx449 rescale 9.999E-15 -23 -> NaN Invalid_operation
|
|---|
| 383 | resx450 rescale 9.999E-15 -22 -> 9.9990000E-15
|
|---|
| 384 | resx451 rescale 9.999E-15 -21 -> 9.999000E-15
|
|---|
| 385 | resx452 rescale 9.999E-15 -20 -> 9.99900E-15
|
|---|
| 386 | resx453 rescale 9.999E-15 -19 -> 9.9990E-15
|
|---|
| 387 | resx454 rescale 9.999E-15 -18 -> 9.999E-15
|
|---|
| 388 | resx455 rescale 9.999E-15 -17 -> 1.000E-14 Inexact Rounded
|
|---|
| 389 | resx456 rescale 9.999E-15 -16 -> 1.00E-14 Inexact Rounded
|
|---|
| 390 | resx457 rescale 9.999E-15 -15 -> 1.0E-14 Inexact Rounded
|
|---|
| 391 | resx458 rescale 9.999E-15 -14 -> 1E-14 Inexact Rounded
|
|---|
| 392 | resx459 rescale 9.999E-15 -13 -> 0E-13 Inexact Rounded
|
|---|
| 393 | resx460 rescale 9.999E-15 -12 -> 0E-12 Inexact Rounded
|
|---|
| 394 | resx461 rescale 9.999E-15 -11 -> 0E-11 Inexact Rounded
|
|---|
| 395 | resx462 rescale 9.999E-15 -10 -> 0E-10 Inexact Rounded
|
|---|
| 396 | resx463 rescale 9.999E-15 -9 -> 0E-9 Inexact Rounded
|
|---|
| 397 | resx464 rescale 9.999E-15 -8 -> 0E-8 Inexact Rounded
|
|---|
| 398 | resx465 rescale 9.999E-15 -7 -> 0E-7 Inexact Rounded
|
|---|
| 399 | resx466 rescale 9.999E-15 -6 -> 0.000000 Inexact Rounded
|
|---|
| 400 | resx467 rescale 9.999E-15 -5 -> 0.00000 Inexact Rounded
|
|---|
| 401 | resx468 rescale 9.999E-15 -4 -> 0.0000 Inexact Rounded
|
|---|
| 402 | resx469 rescale 9.999E-15 -3 -> 0.000 Inexact Rounded
|
|---|
| 403 | resx470 rescale 9.999E-15 -2 -> 0.00 Inexact Rounded
|
|---|
| 404 | resx471 rescale 9.999E-15 -1 -> 0.0 Inexact Rounded
|
|---|
| 405 | resx472 rescale 9.999E-15 0 -> 0 Inexact Rounded
|
|---|
| 406 | resx473 rescale 9.999E-15 1 -> 0E+1 Inexact Rounded
|
|---|
| 407 |
|
|---|
| 408 | -- [additional tests for "don't fit" edge cases are in
|
|---|
| 409 | -- quantize.decTest. Here's a critical one.]
|
|---|
| 410 | precision: 3
|
|---|
| 411 | resx480 rescale 0.9999 -3 -> NaN Invalid_operation
|
|---|
| 412 |
|
|---|
| 413 |
|
|---|
| 414 | -- long operand checks [rhs checks removed]
|
|---|
| 415 | maxexponent: 999
|
|---|
| 416 | minexponent: -999
|
|---|
| 417 | precision: 9
|
|---|
| 418 | resx481 rescale 12345678000 +3 -> 1.2345678E+10 Rounded
|
|---|
| 419 | resx482 rescale 1234567800 +1 -> 1.23456780E+9 Rounded
|
|---|
| 420 | resx483 rescale 1234567890 +1 -> 1.23456789E+9 Rounded
|
|---|
| 421 | resx484 rescale 1234567891 +1 -> 1.23456789E+9 Inexact Rounded
|
|---|
| 422 | resx485 rescale 12345678901 +2 -> 1.23456789E+10 Inexact Rounded
|
|---|
| 423 | resx486 rescale 1234567896 +1 -> 1.23456790E+9 Inexact Rounded
|
|---|
| 424 | -- a potential double-round
|
|---|
| 425 | resx487 rescale 1234.987643 -4 -> 1234.9876 Inexact Rounded
|
|---|
| 426 | resx488 rescale 1234.987647 -4 -> 1234.9876 Inexact Rounded
|
|---|
| 427 |
|
|---|
| 428 | precision: 15
|
|---|
| 429 | resx491 rescale 12345678000 +3 -> 1.2345678E+10 Rounded
|
|---|
| 430 | resx492 rescale 1234567800 +1 -> 1.23456780E+9 Rounded
|
|---|
| 431 | resx493 rescale 1234567890 +1 -> 1.23456789E+9 Rounded
|
|---|
| 432 | resx494 rescale 1234567891 +1 -> 1.23456789E+9 Inexact Rounded
|
|---|
| 433 | resx495 rescale 12345678901 +2 -> 1.23456789E+10 Inexact Rounded
|
|---|
| 434 | resx496 rescale 1234567896 +1 -> 1.23456790E+9 Inexact Rounded
|
|---|
| 435 | resx497 rescale 1234.987643 -4 -> 1234.9876 Inexact Rounded
|
|---|
| 436 | resx498 rescale 1234.987647 -4 -> 1234.9876 Inexact Rounded
|
|---|
| 437 |
|
|---|
| 438 | -- Zeros
|
|---|
| 439 | resx500 rescale 0 1 -> 0E+1
|
|---|
| 440 | resx501 rescale 0 0 -> 0
|
|---|
| 441 | resx502 rescale 0 -1 -> 0.0
|
|---|
| 442 | resx503 rescale 0.0 -1 -> 0.0
|
|---|
| 443 | resx504 rescale 0.0 0 -> 0
|
|---|
| 444 | resx505 rescale 0.0 +1 -> 0E+1
|
|---|
| 445 | resx506 rescale 0E+1 -1 -> 0.0
|
|---|
| 446 | resx507 rescale 0E+1 0 -> 0
|
|---|
| 447 | resx508 rescale 0E+1 +1 -> 0E+1
|
|---|
| 448 | resx509 rescale -0 1 -> -0E+1
|
|---|
| 449 | resx510 rescale -0 0 -> -0
|
|---|
| 450 | resx511 rescale -0 -1 -> -0.0
|
|---|
| 451 | resx512 rescale -0.0 -1 -> -0.0
|
|---|
| 452 | resx513 rescale -0.0 0 -> -0
|
|---|
| 453 | resx514 rescale -0.0 +1 -> -0E+1
|
|---|
| 454 | resx515 rescale -0E+1 -1 -> -0.0
|
|---|
| 455 | resx516 rescale -0E+1 0 -> -0
|
|---|
| 456 | resx517 rescale -0E+1 +1 -> -0E+1
|
|---|
| 457 |
|
|---|
| 458 | -- Suspicious RHS values
|
|---|
| 459 | maxexponent: 999999999
|
|---|
| 460 | minexponent: -999999999
|
|---|
| 461 | precision: 15
|
|---|
| 462 | resx520 rescale 1.234 999999E+3 -> 0E+999999000 Inexact Rounded
|
|---|
| 463 | resx521 rescale 123.456 999999E+3 -> 0E+999999000 Inexact Rounded
|
|---|
| 464 | resx522 rescale 1.234 999999999 -> 0E+999999999 Inexact Rounded
|
|---|
| 465 | resx523 rescale 123.456 999999999 -> 0E+999999999 Inexact Rounded
|
|---|
| 466 | resx524 rescale 123.456 1000000000 -> NaN Invalid_operation
|
|---|
| 467 | resx525 rescale 123.456 12345678903 -> NaN Invalid_operation
|
|---|
| 468 | -- next four are "won't fit" overflows
|
|---|
| 469 | resx526 rescale 1.234 -999999E+3 -> NaN Invalid_operation
|
|---|
| 470 | resx527 rescale 123.456 -999999E+3 -> NaN Invalid_operation
|
|---|
| 471 | resx528 rescale 1.234 -999999999 -> NaN Invalid_operation
|
|---|
| 472 | resx529 rescale 123.456 -999999999 -> NaN Invalid_operation
|
|---|
| 473 | resx530 rescale 123.456 -1000000014 -> NaN Invalid_operation
|
|---|
| 474 | resx531 rescale 123.456 -12345678903 -> NaN Invalid_operation
|
|---|
| 475 |
|
|---|
| 476 | maxexponent: 999
|
|---|
| 477 | minexponent: -999
|
|---|
| 478 | precision: 15
|
|---|
| 479 | resx532 rescale 1.234E+999 999 -> 1E+999 Inexact Rounded
|
|---|
| 480 | resx533 rescale 1.234E+998 999 -> 0E+999 Inexact Rounded
|
|---|
| 481 | resx534 rescale 1.234 999 -> 0E+999 Inexact Rounded
|
|---|
| 482 | resx535 rescale 1.234 1000 -> NaN Invalid_operation
|
|---|
| 483 | resx536 rescale 1.234 5000 -> NaN Invalid_operation
|
|---|
| 484 | resx537 rescale 0 -999 -> 0E-999
|
|---|
| 485 | -- next two are "won't fit" overflows
|
|---|
| 486 | resx538 rescale 1.234 -999 -> NaN Invalid_operation
|
|---|
| 487 | resx539 rescale 1.234 -1000 -> NaN Invalid_operation
|
|---|
| 488 | resx540 rescale 1.234 -5000 -> NaN Invalid_operation
|
|---|
| 489 | -- [more below]
|
|---|
| 490 |
|
|---|
| 491 | -- check bounds (lhs maybe out of range for destination, etc.)
|
|---|
| 492 | precision: 7
|
|---|
| 493 | resx541 rescale 1E+999 +999 -> 1E+999
|
|---|
| 494 | resx542 rescale 1E+1000 +999 -> NaN Invalid_operation
|
|---|
| 495 | resx543 rescale 1E+999 +1000 -> NaN Invalid_operation
|
|---|
| 496 | resx544 rescale 1E-999 -999 -> 1E-999
|
|---|
| 497 | resx545 rescale 1E-1000 -999 -> 0E-999 Inexact Rounded
|
|---|
| 498 | resx546 rescale 1E-999 -1000 -> 1.0E-999
|
|---|
| 499 | resx547 rescale 1E-1005 -999 -> 0E-999 Inexact Rounded
|
|---|
| 500 | resx548 rescale 1E-1006 -999 -> 0E-999 Inexact Rounded
|
|---|
| 501 | resx549 rescale 1E-1007 -999 -> 0E-999 Inexact Rounded
|
|---|
| 502 | resx550 rescale 1E-998 -1005 -> NaN Invalid_operation -- won't fit
|
|---|
| 503 | resx551 rescale 1E-999 -1005 -> 1.000000E-999
|
|---|
| 504 | resx552 rescale 1E-1000 -1005 -> 1.00000E-1000 Subnormal
|
|---|
| 505 | resx553 rescale 1E-999 -1006 -> NaN Invalid_operation
|
|---|
| 506 | resx554 rescale 1E-999 -1007 -> NaN Invalid_operation
|
|---|
| 507 | -- related subnormal rounding
|
|---|
| 508 | resx555 rescale 1.666666E-999 -1005 -> 1.666666E-999
|
|---|
| 509 | resx556 rescale 1.666666E-1000 -1005 -> 1.66667E-1000 Subnormal Inexact Rounded
|
|---|
| 510 | resx557 rescale 1.666666E-1001 -1005 -> 1.6667E-1001 Subnormal Inexact Rounded
|
|---|
| 511 | resx558 rescale 1.666666E-1002 -1005 -> 1.667E-1002 Subnormal Inexact Rounded
|
|---|
| 512 | resx559 rescale 1.666666E-1003 -1005 -> 1.67E-1003 Subnormal Inexact Rounded
|
|---|
| 513 | resx560 rescale 1.666666E-1004 -1005 -> 1.7E-1004 Subnormal Inexact Rounded
|
|---|
| 514 | resx561 rescale 1.666666E-1005 -1005 -> 2E-1005 Subnormal Inexact Rounded
|
|---|
| 515 | resx562 rescale 1.666666E-1006 -1005 -> 0E-1005 Inexact Rounded
|
|---|
| 516 | resx563 rescale 1.666666E-1007 -1005 -> 0E-1005 Inexact Rounded
|
|---|
| 517 |
|
|---|
| 518 | -- fractional RHS, some good and some bad
|
|---|
| 519 | precision: 9
|
|---|
| 520 | resx564 rescale 222 +2.0 -> 2E+2 Inexact Rounded
|
|---|
| 521 | resx565 rescale 222 +2.00000000 -> 2E+2 Inexact Rounded
|
|---|
| 522 | resx566 rescale 222 +2.00100000000 -> NaN Invalid_operation
|
|---|
| 523 | resx567 rescale 222 +2.000001 -> NaN Invalid_operation
|
|---|
| 524 | resx568 rescale 222 +2.000000001 -> NaN Invalid_operation
|
|---|
| 525 | resx569 rescale 222 +2.0000000001 -> NaN Invalid_operation
|
|---|
| 526 | resx570 rescale 222 +2.00000000001 -> NaN Invalid_operation
|
|---|
| 527 | resx571 rescale 222 +2.99999999999 -> NaN Invalid_operation
|
|---|
| 528 | resx572 rescale 222 -2.00000000 -> 222.00
|
|---|
| 529 | resx573 rescale 222 -2.00100000000 -> NaN Invalid_operation
|
|---|
| 530 | resx574 rescale 222 -2.0000001000 -> NaN Invalid_operation
|
|---|
| 531 | resx575 rescale 222 -2.00000000001 -> NaN Invalid_operation
|
|---|
| 532 | resx576 rescale 222 -2.99999999999 -> NaN Invalid_operation
|
|---|
| 533 |
|
|---|
| 534 | -- Specials
|
|---|
| 535 | resx580 rescale Inf -Inf -> Infinity
|
|---|
| 536 | resx581 rescale Inf -1000 -> NaN Invalid_operation
|
|---|
| 537 | resx582 rescale Inf -1 -> NaN Invalid_operation
|
|---|
| 538 | resx583 rescale Inf 0 -> NaN Invalid_operation
|
|---|
| 539 | resx584 rescale Inf 1 -> NaN Invalid_operation
|
|---|
| 540 | resx585 rescale Inf 1000 -> NaN Invalid_operation
|
|---|
| 541 | resx586 rescale Inf Inf -> Infinity
|
|---|
| 542 | resx587 rescale -1000 Inf -> NaN Invalid_operation
|
|---|
| 543 | resx588 rescale -Inf Inf -> -Infinity
|
|---|
| 544 | resx589 rescale -1 Inf -> NaN Invalid_operation
|
|---|
| 545 | resx590 rescale 0 Inf -> NaN Invalid_operation
|
|---|
| 546 | resx591 rescale 1 Inf -> NaN Invalid_operation
|
|---|
| 547 | resx592 rescale 1000 Inf -> NaN Invalid_operation
|
|---|
| 548 | resx593 rescale Inf Inf -> Infinity
|
|---|
| 549 | resx594 rescale Inf -0 -> NaN Invalid_operation
|
|---|
| 550 | resx595 rescale -0 Inf -> NaN Invalid_operation
|
|---|
| 551 |
|
|---|
| 552 | resx600 rescale -Inf -Inf -> -Infinity
|
|---|
| 553 | resx601 rescale -Inf -1000 -> NaN Invalid_operation
|
|---|
| 554 | resx602 rescale -Inf -1 -> NaN Invalid_operation
|
|---|
| 555 | resx603 rescale -Inf 0 -> NaN Invalid_operation
|
|---|
| 556 | resx604 rescale -Inf 1 -> NaN Invalid_operation
|
|---|
| 557 | resx605 rescale -Inf 1000 -> NaN Invalid_operation
|
|---|
| 558 | resx606 rescale -Inf Inf -> -Infinity
|
|---|
| 559 | resx607 rescale -1000 Inf -> NaN Invalid_operation
|
|---|
| 560 | resx608 rescale -Inf -Inf -> -Infinity
|
|---|
| 561 | resx609 rescale -1 -Inf -> NaN Invalid_operation
|
|---|
| 562 | resx610 rescale 0 -Inf -> NaN Invalid_operation
|
|---|
| 563 | resx611 rescale 1 -Inf -> NaN Invalid_operation
|
|---|
| 564 | resx612 rescale 1000 -Inf -> NaN Invalid_operation
|
|---|
| 565 | resx613 rescale Inf -Inf -> Infinity
|
|---|
| 566 | resx614 rescale -Inf -0 -> NaN Invalid_operation
|
|---|
| 567 | resx615 rescale -0 -Inf -> NaN Invalid_operation
|
|---|
| 568 |
|
|---|
| 569 | resx621 rescale NaN -Inf -> NaN
|
|---|
| 570 | resx622 rescale NaN -1000 -> NaN
|
|---|
| 571 | resx623 rescale NaN -1 -> NaN
|
|---|
| 572 | resx624 rescale NaN 0 -> NaN
|
|---|
| 573 | resx625 rescale NaN 1 -> NaN
|
|---|
| 574 | resx626 rescale NaN 1000 -> NaN
|
|---|
| 575 | resx627 rescale NaN Inf -> NaN
|
|---|
| 576 | resx628 rescale NaN NaN -> NaN
|
|---|
| 577 | resx629 rescale -Inf NaN -> NaN
|
|---|
| 578 | resx630 rescale -1000 NaN -> NaN
|
|---|
| 579 | resx631 rescale -1 NaN -> NaN
|
|---|
| 580 | resx632 rescale 0 NaN -> NaN
|
|---|
| 581 | resx633 rescale 1 -NaN -> -NaN
|
|---|
| 582 | resx634 rescale 1000 NaN -> NaN
|
|---|
| 583 | resx635 rescale Inf NaN -> NaN
|
|---|
| 584 | resx636 rescale NaN -0 -> NaN
|
|---|
| 585 | resx637 rescale -0 NaN -> NaN
|
|---|
| 586 |
|
|---|
| 587 | resx641 rescale sNaN -Inf -> NaN Invalid_operation
|
|---|
| 588 | resx642 rescale sNaN -1000 -> NaN Invalid_operation
|
|---|
| 589 | resx643 rescale sNaN -1 -> NaN Invalid_operation
|
|---|
| 590 | resx644 rescale sNaN 0 -> NaN Invalid_operation
|
|---|
| 591 | resx645 rescale sNaN 1 -> NaN Invalid_operation
|
|---|
| 592 | resx646 rescale sNaN 1000 -> NaN Invalid_operation
|
|---|
| 593 | resx647 rescale -sNaN NaN -> -NaN Invalid_operation
|
|---|
| 594 | resx648 rescale sNaN -sNaN -> NaN Invalid_operation
|
|---|
| 595 | resx649 rescale NaN sNaN -> NaN Invalid_operation
|
|---|
| 596 | resx650 rescale -Inf sNaN -> NaN Invalid_operation
|
|---|
| 597 | resx651 rescale -1000 sNaN -> NaN Invalid_operation
|
|---|
| 598 | resx652 rescale -1 sNaN -> NaN Invalid_operation
|
|---|
| 599 | resx653 rescale 0 sNaN -> NaN Invalid_operation
|
|---|
| 600 | resx654 rescale 1 -sNaN -> -NaN Invalid_operation
|
|---|
| 601 | resx655 rescale 1000 sNaN -> NaN Invalid_operation
|
|---|
| 602 | resx656 rescale Inf sNaN -> NaN Invalid_operation
|
|---|
| 603 | resx657 rescale NaN sNaN -> NaN Invalid_operation
|
|---|
| 604 | resx658 rescale sNaN -0 -> NaN Invalid_operation
|
|---|
| 605 | resx659 rescale -0 sNaN -> NaN Invalid_operation
|
|---|
| 606 |
|
|---|
| 607 | -- propagating NaNs
|
|---|
| 608 | resx661 rescale NaN9 -Inf -> NaN9
|
|---|
| 609 | resx662 rescale NaN81 919 -> NaN81
|
|---|
| 610 | resx663 rescale NaN72 Inf -> NaN72
|
|---|
| 611 | resx664 rescale -NaN66 NaN5 -> -NaN66
|
|---|
| 612 | resx665 rescale -Inf NaN4 -> NaN4
|
|---|
| 613 | resx666 rescale -919 NaN32 -> NaN32
|
|---|
| 614 | resx667 rescale Inf NaN2 -> NaN2
|
|---|
| 615 |
|
|---|
| 616 | resx671 rescale sNaN99 -Inf -> NaN99 Invalid_operation
|
|---|
| 617 | resx672 rescale -sNaN98 -11 -> -NaN98 Invalid_operation
|
|---|
| 618 | resx673 rescale sNaN97 NaN -> NaN97 Invalid_operation
|
|---|
| 619 | resx674 rescale sNaN16 sNaN94 -> NaN16 Invalid_operation
|
|---|
| 620 | resx675 rescale NaN95 sNaN93 -> NaN93 Invalid_operation
|
|---|
| 621 | resx676 rescale -Inf sNaN92 -> NaN92 Invalid_operation
|
|---|
| 622 | resx677 rescale 088 -sNaN91 -> -NaN91 Invalid_operation
|
|---|
| 623 | resx678 rescale Inf -sNaN90 -> -NaN90 Invalid_operation
|
|---|
| 624 | resx679 rescale NaN sNaN87 -> NaN87 Invalid_operation
|
|---|
| 625 |
|
|---|
| 626 | -- subnormals and underflow
|
|---|
| 627 | precision: 4
|
|---|
| 628 | maxexponent: 999
|
|---|
| 629 | minexponent: -999
|
|---|
| 630 | resx710 rescale 1.00E-999 -999 -> 1E-999 Rounded
|
|---|
| 631 | resx711 rescale 0.1E-999 -1000 -> 1E-1000 Subnormal
|
|---|
| 632 | resx712 rescale 0.10E-999 -1000 -> 1E-1000 Subnormal Rounded
|
|---|
| 633 | resx713 rescale 0.100E-999 -1000 -> 1E-1000 Subnormal Rounded
|
|---|
| 634 | resx714 rescale 0.01E-999 -1001 -> 1E-1001 Subnormal
|
|---|
| 635 | -- next is rounded to Emin
|
|---|
| 636 | resx715 rescale 0.999E-999 -999 -> 1E-999 Inexact Rounded
|
|---|
| 637 | resx716 rescale 0.099E-999 -1000 -> 1E-1000 Inexact Rounded Subnormal
|
|---|
| 638 |
|
|---|
| 639 | resx717 rescale 0.009E-999 -1001 -> 1E-1001 Inexact Rounded Subnormal
|
|---|
| 640 | resx718 rescale 0.001E-999 -1001 -> 0E-1001 Inexact Rounded
|
|---|
| 641 | resx719 rescale 0.0009E-999 -1001 -> 0E-1001 Inexact Rounded
|
|---|
| 642 | resx720 rescale 0.0001E-999 -1001 -> 0E-1001 Inexact Rounded
|
|---|
| 643 |
|
|---|
| 644 | resx730 rescale -1.00E-999 -999 -> -1E-999 Rounded
|
|---|
| 645 | resx731 rescale -0.1E-999 -999 -> -0E-999 Rounded Inexact
|
|---|
| 646 | resx732 rescale -0.10E-999 -999 -> -0E-999 Rounded Inexact
|
|---|
| 647 | resx733 rescale -0.100E-999 -999 -> -0E-999 Rounded Inexact
|
|---|
| 648 | resx734 rescale -0.01E-999 -999 -> -0E-999 Inexact Rounded
|
|---|
| 649 | -- next is rounded to Emin
|
|---|
| 650 | resx735 rescale -0.999E-999 -999 -> -1E-999 Inexact Rounded
|
|---|
| 651 | resx736 rescale -0.099E-999 -999 -> -0E-999 Inexact Rounded
|
|---|
| 652 | resx737 rescale -0.009E-999 -999 -> -0E-999 Inexact Rounded
|
|---|
| 653 | resx738 rescale -0.001E-999 -999 -> -0E-999 Inexact Rounded
|
|---|
| 654 | resx739 rescale -0.0001E-999 -999 -> -0E-999 Inexact Rounded
|
|---|
| 655 |
|
|---|
| 656 | resx740 rescale -1.00E-999 -1000 -> -1.0E-999 Rounded
|
|---|
| 657 | resx741 rescale -0.1E-999 -1000 -> -1E-1000 Subnormal
|
|---|
| 658 | resx742 rescale -0.10E-999 -1000 -> -1E-1000 Subnormal Rounded
|
|---|
| 659 | resx743 rescale -0.100E-999 -1000 -> -1E-1000 Subnormal Rounded
|
|---|
| 660 | resx744 rescale -0.01E-999 -1000 -> -0E-1000 Inexact Rounded
|
|---|
| 661 | -- next is rounded to Emin
|
|---|
| 662 | resx745 rescale -0.999E-999 -1000 -> -1.0E-999 Inexact Rounded
|
|---|
| 663 | resx746 rescale -0.099E-999 -1000 -> -1E-1000 Inexact Rounded Subnormal
|
|---|
| 664 | resx747 rescale -0.009E-999 -1000 -> -0E-1000 Inexact Rounded
|
|---|
| 665 | resx748 rescale -0.001E-999 -1000 -> -0E-1000 Inexact Rounded
|
|---|
| 666 | resx749 rescale -0.0001E-999 -1000 -> -0E-1000 Inexact Rounded
|
|---|
| 667 |
|
|---|
| 668 | resx750 rescale -1.00E-999 -1001 -> -1.00E-999
|
|---|
| 669 | resx751 rescale -0.1E-999 -1001 -> -1.0E-1000 Subnormal
|
|---|
| 670 | resx752 rescale -0.10E-999 -1001 -> -1.0E-1000 Subnormal
|
|---|
| 671 | resx753 rescale -0.100E-999 -1001 -> -1.0E-1000 Subnormal Rounded
|
|---|
| 672 | resx754 rescale -0.01E-999 -1001 -> -1E-1001 Subnormal
|
|---|
| 673 | -- next is rounded to Emin
|
|---|
| 674 | resx755 rescale -0.999E-999 -1001 -> -1.00E-999 Inexact Rounded
|
|---|
| 675 | resx756 rescale -0.099E-999 -1001 -> -1.0E-1000 Inexact Rounded Subnormal
|
|---|
| 676 | resx757 rescale -0.009E-999 -1001 -> -1E-1001 Inexact Rounded Subnormal
|
|---|
| 677 | resx758 rescale -0.001E-999 -1001 -> -0E-1001 Inexact Rounded
|
|---|
| 678 | resx759 rescale -0.0001E-999 -1001 -> -0E-1001 Inexact Rounded
|
|---|
| 679 |
|
|---|
| 680 | resx760 rescale -1.00E-999 -1002 -> -1.000E-999
|
|---|
| 681 | resx761 rescale -0.1E-999 -1002 -> -1.00E-1000 Subnormal
|
|---|
| 682 | resx762 rescale -0.10E-999 -1002 -> -1.00E-1000 Subnormal
|
|---|
| 683 | resx763 rescale -0.100E-999 -1002 -> -1.00E-1000 Subnormal
|
|---|
| 684 | resx764 rescale -0.01E-999 -1002 -> -1.0E-1001 Subnormal
|
|---|
| 685 | resx765 rescale -0.999E-999 -1002 -> -9.99E-1000 Subnormal
|
|---|
| 686 | resx766 rescale -0.099E-999 -1002 -> -9.9E-1001 Subnormal
|
|---|
| 687 | resx767 rescale -0.009E-999 -1002 -> -9E-1002 Subnormal
|
|---|
| 688 | resx768 rescale -0.001E-999 -1002 -> -1E-1002 Subnormal
|
|---|
| 689 | resx769 rescale -0.0001E-999 -1002 -> -0E-1002 Inexact Rounded
|
|---|
| 690 |
|
|---|
| 691 | -- rhs must be no less than Etiny
|
|---|
| 692 | resx770 rescale -1.00E-999 -1003 -> NaN Invalid_operation
|
|---|
| 693 | resx771 rescale -0.1E-999 -1003 -> NaN Invalid_operation
|
|---|
| 694 | resx772 rescale -0.10E-999 -1003 -> NaN Invalid_operation
|
|---|
| 695 | resx773 rescale -0.100E-999 -1003 -> NaN Invalid_operation
|
|---|
| 696 | resx774 rescale -0.01E-999 -1003 -> NaN Invalid_operation
|
|---|
| 697 | resx775 rescale -0.999E-999 -1003 -> NaN Invalid_operation
|
|---|
| 698 | resx776 rescale -0.099E-999 -1003 -> NaN Invalid_operation
|
|---|
| 699 | resx777 rescale -0.009E-999 -1003 -> NaN Invalid_operation
|
|---|
| 700 | resx778 rescale -0.001E-999 -1003 -> NaN Invalid_operation
|
|---|
| 701 | resx779 rescale -0.0001E-999 -1003 -> NaN Invalid_operation
|
|---|
| 702 |
|
|---|
| 703 | precision: 9
|
|---|
| 704 | maxExponent: 999999999
|
|---|
| 705 | minexponent: -999999999
|
|---|
| 706 |
|
|---|
| 707 | -- getInt worries
|
|---|
| 708 | resx801 rescale 0 1000000000 -> NaN Invalid_operation
|
|---|
| 709 | resx802 rescale 0 -1000000000 -> 0E-1000000000
|
|---|
| 710 | resx803 rescale 0 2000000000 -> NaN Invalid_operation
|
|---|
| 711 | resx804 rescale 0 -2000000000 -> NaN Invalid_operation
|
|---|
| 712 | resx805 rescale 0 3000000000 -> NaN Invalid_operation
|
|---|
| 713 | resx806 rescale 0 -3000000000 -> NaN Invalid_operation
|
|---|
| 714 | resx807 rescale 0 4000000000 -> NaN Invalid_operation
|
|---|
| 715 | resx808 rescale 0 -4000000000 -> NaN Invalid_operation
|
|---|
| 716 | resx809 rescale 0 5000000000 -> NaN Invalid_operation
|
|---|
| 717 | resx810 rescale 0 -5000000000 -> NaN Invalid_operation
|
|---|
| 718 | resx811 rescale 0 6000000000 -> NaN Invalid_operation
|
|---|
| 719 | resx812 rescale 0 -6000000000 -> NaN Invalid_operation
|
|---|
| 720 | resx813 rescale 0 7000000000 -> NaN Invalid_operation
|
|---|
| 721 | resx814 rescale 0 -7000000000 -> NaN Invalid_operation
|
|---|
| 722 | resx815 rescale 0 8000000000 -> NaN Invalid_operation
|
|---|
| 723 | resx816 rescale 0 -8000000000 -> NaN Invalid_operation
|
|---|
| 724 | resx817 rescale 0 9000000000 -> NaN Invalid_operation
|
|---|
| 725 | resx818 rescale 0 -9000000000 -> NaN Invalid_operation
|
|---|
| 726 | resx819 rescale 0 9999999999 -> NaN Invalid_operation
|
|---|
| 727 | resx820 rescale 0 -9999999999 -> NaN Invalid_operation
|
|---|
| 728 | resx821 rescale 0 10000000000 -> NaN Invalid_operation
|
|---|
| 729 | resx822 rescale 0 -10000000000 -> NaN Invalid_operation
|
|---|
| 730 |
|
|---|
| 731 | resx831 rescale 1 0E-1 -> 1
|
|---|
| 732 | resx832 rescale 1 0E-2 -> 1
|
|---|
| 733 | resx833 rescale 1 0E-3 -> 1
|
|---|
| 734 | resx834 rescale 1 0E-4 -> 1
|
|---|
| 735 | resx835 rescale 1 0E-100 -> 1
|
|---|
| 736 | resx836 rescale 1 0E-100000 -> 1
|
|---|
| 737 | resx837 rescale 1 0E+100 -> 1
|
|---|
| 738 | resx838 rescale 1 0E+100000 -> 1
|
|---|
| 739 |
|
|---|
| 740 | resx841 rescale 0 5E-1000000 -> NaN Invalid_operation
|
|---|
| 741 | resx842 rescale 0 5E-1000000 -> NaN Invalid_operation
|
|---|
| 742 | resx843 rescale 0 999999999 -> 0E+999999999
|
|---|
| 743 | resx844 rescale 0 1000000000 -> NaN Invalid_operation
|
|---|
| 744 | resx845 rescale 0 -999999999 -> 0E-999999999
|
|---|
| 745 | resx846 rescale 0 -1000000000 -> 0E-1000000000
|
|---|
| 746 | resx847 rescale 0 -1000000001 -> 0E-1000000001
|
|---|
| 747 | resx848 rescale 0 -1000000002 -> 0E-1000000002
|
|---|
| 748 | resx849 rescale 0 -1000000003 -> 0E-1000000003
|
|---|
| 749 | resx850 rescale 0 -1000000004 -> 0E-1000000004
|
|---|
| 750 | resx851 rescale 0 -1000000005 -> 0E-1000000005
|
|---|
| 751 | resx852 rescale 0 -1000000006 -> 0E-1000000006
|
|---|
| 752 | resx853 rescale 0 -1000000007 -> 0E-1000000007
|
|---|
| 753 | resx854 rescale 0 -1000000008 -> NaN Invalid_operation
|
|---|
| 754 |
|
|---|
| 755 | resx861 rescale 1 +2147483649 -> NaN Invalid_operation
|
|---|
| 756 | resx862 rescale 1 +2147483648 -> NaN Invalid_operation
|
|---|
| 757 | resx863 rescale 1 +2147483647 -> NaN Invalid_operation
|
|---|
| 758 | resx864 rescale 1 -2147483647 -> NaN Invalid_operation
|
|---|
| 759 | resx865 rescale 1 -2147483648 -> NaN Invalid_operation
|
|---|
| 760 | resx866 rescale 1 -2147483649 -> NaN Invalid_operation
|
|---|
| 761 |
|
|---|
| 762 | -- Null tests
|
|---|
| 763 | res900 rescale 10 # -> NaN Invalid_operation
|
|---|
| 764 | res901 rescale # 10 -> NaN Invalid_operation
|
|---|