1 ------------------------------------------------------------------------ 2 -- samequantum.decTest -- check quantums match -- 3 -- Copyright (c) IBM Corporation, 2001, 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 version: 2.59 21 22 extended: 1 23 precision: 9 24 rounding: half_up 25 maxExponent: 999 26 minExponent: -999 27 28 samq001 samequantum 0 0 -> 1 29 samq002 samequantum 0 1 -> 1 30 samq003 samequantum 1 0 -> 1 31 samq004 samequantum 1 1 -> 1 32 33 samq011 samequantum 10 1E+1 -> 0 34 samq012 samequantum 10E+1 10E+1 -> 1 35 samq013 samequantum 100 10E+1 -> 0 36 samq014 samequantum 100 1E+2 -> 0 37 samq015 samequantum 0.1 1E-2 -> 0 38 samq016 samequantum 0.1 1E-1 -> 1 39 samq017 samequantum 0.1 1E-0 -> 0 40 samq018 samequantum 999 999 -> 1 41 samq019 samequantum 999E-1 99.9 -> 1 42 samq020 samequantum 111E-1 22.2 -> 1 43 samq021 samequantum 111E-1 1234.2 -> 1 44 45 -- zeros 46 samq030 samequantum 0.0 1.1 -> 1 47 samq031 samequantum 0.0 1.11 -> 0 48 samq032 samequantum 0.0 0 -> 0 49 samq033 samequantum 0.0 0.0 -> 1 50 samq034 samequantum 0.0 0.00 -> 0 51 samq035 samequantum 0E+1 0E+0 -> 0 52 samq036 samequantum 0E+1 0E+1 -> 1 53 samq037 samequantum 0E+1 0E+2 -> 0 54 samq038 samequantum 0E-17 0E-16 -> 0 55 samq039 samequantum 0E-17 0E-17 -> 1 56 samq040 samequantum 0E-17 0E-18 -> 0 57 samq041 samequantum 0E-17 0.0E-15 -> 0 58 samq042 samequantum 0E-17 0.0E-16 -> 1 59 samq043 samequantum 0E-17 0.0E-17 -> 0 60 samq044 samequantum -0E-17 0.0E-16 -> 1 61 samq045 samequantum 0E-17 -0.0E-17 -> 0 62 samq046 samequantum 0E-17 -0.0E-16 -> 1 63 samq047 samequantum -0E-17 0.0E-17 -> 0 64 samq048 samequantum -0E-17 -0.0E-16 -> 1 65 samq049 samequantum -0E-17 -0.0E-17 -> 0 66 67 -- Nmax, Nmin, Ntiny 68 samq051 samequantum 9.99999999E+999 9.99999999E+999 -> 1 69 samq052 samequantum 1E-999 1E-999 -> 1 70 samq053 samequantum 1.00000000E-999 1.00000000E-999 -> 1 71 samq054 samequantum 1E-1007 1E-1007 -> 1 72 samq055 samequantum 9.99999999E+999 9.99999999E+999 -> 1 73 samq056 samequantum 1E-999 1E-999 -> 1 74 samq057 samequantum 1.00000000E-999 1.00000000E-999 -> 1 75 samq058 samequantum 1E-1007 1E-1007 -> 1 76 77 samq061 samequantum -1E-1007 -1E-1007 -> 1 78 samq062 samequantum -1.00000000E-999 -1.00000000E-999 -> 1 79 samq063 samequantum -1E-999 -1E-999 -> 1 80 samq064 samequantum -9.99999999E+999 -9.99999999E+999 -> 1 81 samq065 samequantum -1E-1007 -1E-1007 -> 1 82 samq066 samequantum -1.00000000E-999 -1.00000000E-999 -> 1 83 samq067 samequantum -1E-999 -1E-999 -> 1 84 samq068 samequantum -9.99999999E+999 -9.99999999E+999 -> 1 85 86 samq071 samequantum -4E-1007 -1E-1007 -> 1 87 samq072 samequantum -4.00000000E-999 -1.00004000E-999 -> 1 88 samq073 samequantum -4E-999 -1E-999 -> 1 89 samq074 samequantum -4.99999999E+999 -9.99949999E+999 -> 1 90 samq075 samequantum -4E-1007 -1E-1007 -> 1 91 samq076 samequantum -4.00000000E-999 -1.00400000E-999 -> 1 92 samq077 samequantum -4E-999 -1E-999 -> 1 93 samq078 samequantum -4.99999999E+999 -9.94999999E+999 -> 1 94 95 samq081 samequantum -4E-1006 -1E-1007 -> 0 96 samq082 samequantum -4.00000000E-999 -1.00004000E-996 -> 0 97 samq083 samequantum -4E-996 -1E-999 -> 0 98 samq084 samequantum -4.99999999E+999 -9.99949999E+996 -> 0 99 samq085 samequantum -4E-1006 -1E-1007 -> 0 100 samq086 samequantum -4.00000000E-999 -1.00400000E-996 -> 0 101 samq087 samequantum -4E-996 -1E-999 -> 0 102 samq088 samequantum -4.99999999E+999 -9.94999999E+996 -> 0 103 104 -- specials & combinations 105 samq0110 samequantum -Inf -Inf -> 1 106 samq0111 samequantum -Inf Inf -> 1 107 samq0112 samequantum -Inf NaN -> 0 108 samq0113 samequantum -Inf -7E+3 -> 0 109 samq0114 samequantum -Inf -7 -> 0 110 samq0115 samequantum -Inf -7E-3 -> 0 111 samq0116 samequantum -Inf -0E-3 -> 0 112 samq0117 samequantum -Inf -0 -> 0 113 samq0118 samequantum -Inf -0E+3 -> 0 114 samq0119 samequantum -Inf 0E-3 -> 0 115 samq0120 samequantum -Inf 0 -> 0 116 samq0121 samequantum -Inf 0E+3 -> 0 117 samq0122 samequantum -Inf 7E-3 -> 0 118 samq0123 samequantum -Inf 7 -> 0 119 samq0124 samequantum -Inf 7E+3 -> 0 120 samq0125 samequantum -Inf sNaN -> 0 121 122 samq0210 samequantum Inf -Inf -> 1 123 samq0211 samequantum Inf Inf -> 1 124 samq0212 samequantum Inf NaN -> 0 125 samq0213 samequantum Inf -7E+3 -> 0 126 samq0214 samequantum Inf -7 -> 0 127 samq0215 samequantum Inf -7E-3 -> 0 128 samq0216 samequantum Inf -0E-3 -> 0 129 samq0217 samequantum Inf -0 -> 0 130 samq0218 samequantum Inf -0E+3 -> 0 131 samq0219 samequantum Inf 0E-3 -> 0 132 samq0220 samequantum Inf 0 -> 0 133 samq0221 samequantum Inf 0E+3 -> 0 134 samq0222 samequantum Inf 7E-3 -> 0 135 samq0223 samequantum Inf 7 -> 0 136 samq0224 samequantum Inf 7E+3 -> 0 137 samq0225 samequantum Inf sNaN -> 0 138 139 samq0310 samequantum NaN -Inf -> 0 140 samq0311 samequantum NaN Inf -> 0 141 samq0312 samequantum NaN NaN -> 1 142 samq0313 samequantum NaN -7E+3 -> 0 143 samq0314 samequantum NaN -7 -> 0 144 samq0315 samequantum NaN -7E-3 -> 0 145 samq0316 samequantum NaN -0E-3 -> 0 146 samq0317 samequantum NaN -0 -> 0 147 samq0318 samequantum NaN -0E+3 -> 0 148 samq0319 samequantum NaN 0E-3 -> 0 149 samq0320 samequantum NaN 0 -> 0 150 samq0321 samequantum NaN 0E+3 -> 0 151 samq0322 samequantum NaN 7E-3 -> 0 152 samq0323 samequantum NaN 7 -> 0 153 samq0324 samequantum NaN 7E+3 -> 0 154 samq0325 samequantum NaN sNaN -> 1 155 156 samq0410 samequantum -7E+3 -Inf -> 0 157 samq0411 samequantum -7E+3 Inf -> 0 158 samq0412 samequantum -7E+3 NaN -> 0 159 samq0413 samequantum -7E+3 -7E+3 -> 1 160 samq0414 samequantum -7E+3 -7 -> 0 161 samq0415 samequantum -7E+3 -7E-3 -> 0 162 samq0416 samequantum -7E+3 -0E-3 -> 0 163 samq0417 samequantum -7E+3 -0 -> 0 164 samq0418 samequantum -7E+3 -0E+3 -> 1 165 samq0419 samequantum -7E+3 0E-3 -> 0 166 samq0420 samequantum -7E+3 0 -> 0 167 samq0421 samequantum -7E+3 0E+3 -> 1 168 samq0422 samequantum -7E+3 7E-3 -> 0 169 samq0423 samequantum -7E+3 7 -> 0 170 samq0424 samequantum -7E+3 7E+3 -> 1 171 samq0425 samequantum -7E+3 sNaN -> 0 172 173 samq0510 samequantum -7 -Inf -> 0 174 samq0511 samequantum -7 Inf -> 0 175 samq0512 samequantum -7 NaN -> 0 176 samq0513 samequantum -7 -7E+3 -> 0 177 samq0514 samequantum -7 -7 -> 1 178 samq0515 samequantum -7 -7E-3 -> 0 179 samq0516 samequantum -7 -0E-3 -> 0 180 samq0517 samequantum -7 -0 -> 1 181 samq0518 samequantum -7 -0E+3 -> 0 182 samq0519 samequantum -7 0E-3 -> 0 183 samq0520 samequantum -7 0 -> 1 184 samq0521 samequantum -7 0E+3 -> 0 185 samq0522 samequantum -7 7E-3 -> 0 186 samq0523 samequantum -7 7 -> 1 187 samq0524 samequantum -7 7E+3 -> 0 188 samq0525 samequantum -7 sNaN -> 0 189 190 samq0610 samequantum -7E-3 -Inf -> 0 191 samq0611 samequantum -7E-3 Inf -> 0 192 samq0612 samequantum -7E-3 NaN -> 0 193 samq0613 samequantum -7E-3 -7E+3 -> 0 194 samq0614 samequantum -7E-3 -7 -> 0 195 samq0615 samequantum -7E-3 -7E-3 -> 1 196 samq0616 samequantum -7E-3 -0E-3 -> 1 197 samq0617 samequantum -7E-3 -0 -> 0 198 samq0618 samequantum -7E-3 -0E+3 -> 0 199 samq0619 samequantum -7E-3 0E-3 -> 1 200 samq0620 samequantum -7E-3 0 -> 0 201 samq0621 samequantum -7E-3 0E+3 -> 0 202 samq0622 samequantum -7E-3 7E-3 -> 1 203 samq0623 samequantum -7E-3 7 -> 0 204 samq0624 samequantum -7E-3 7E+3 -> 0 205 samq0625 samequantum -7E-3 sNaN -> 0 206 207 samq0710 samequantum -0E-3 -Inf -> 0 208 samq0711 samequantum -0E-3 Inf -> 0 209 samq0712 samequantum -0E-3 NaN -> 0 210 samq0713 samequantum -0E-3 -7E+3 -> 0 211 samq0714 samequantum -0E-3 -7 -> 0 212 samq0715 samequantum -0E-3 -7E-3 -> 1 213 samq0716 samequantum -0E-3 -0E-3 -> 1 214 samq0717 samequantum -0E-3 -0 -> 0 215 samq0718 samequantum -0E-3 -0E+3 -> 0 216 samq0719 samequantum -0E-3 0E-3 -> 1 217 samq0720 samequantum -0E-3 0 -> 0 218 samq0721 samequantum -0E-3 0E+3 -> 0 219 samq0722 samequantum -0E-3 7E-3 -> 1 220 samq0723 samequantum -0E-3 7 -> 0 221 samq0724 samequantum -0E-3 7E+3 -> 0 222 samq0725 samequantum -0E-3 sNaN -> 0 223 224 samq0810 samequantum -0 -Inf -> 0 225 samq0811 samequantum -0 Inf -> 0 226 samq0812 samequantum -0 NaN -> 0 227 samq0813 samequantum -0 -7E+3 -> 0 228 samq0814 samequantum -0 -7 -> 1 229 samq0815 samequantum -0 -7E-3 -> 0 230 samq0816 samequantum -0 -0E-3 -> 0 231 samq0817 samequantum -0 -0 -> 1 232 samq0818 samequantum -0 -0E+3 -> 0 233 samq0819 samequantum -0 0E-3 -> 0 234 samq0820 samequantum -0 0 -> 1 235 samq0821 samequantum -0 0E+3 -> 0 236 samq0822 samequantum -0 7E-3 -> 0 237 samq0823 samequantum -0 7 -> 1 238 samq0824 samequantum -0 7E+3 -> 0 239 samq0825 samequantum -0 sNaN -> 0 240 241 samq0910 samequantum -0E+3 -Inf -> 0 242 samq0911 samequantum -0E+3 Inf -> 0 243 samq0912 samequantum -0E+3 NaN -> 0 244 samq0913 samequantum -0E+3 -7E+3 -> 1 245 samq0914 samequantum -0E+3 -7 -> 0 246 samq0915 samequantum -0E+3 -7E-3 -> 0 247 samq0916 samequantum -0E+3 -0E-3 -> 0 248 samq0917 samequantum -0E+3 -0 -> 0 249 samq0918 samequantum -0E+3 -0E+3 -> 1 250 samq0919 samequantum -0E+3 0E-3 -> 0 251 samq0920 samequantum -0E+3 0 -> 0 252 samq0921 samequantum -0E+3 0E+3 -> 1 253 samq0922 samequantum -0E+3 7E-3 -> 0 254 samq0923 samequantum -0E+3 7 -> 0 255 samq0924 samequantum -0E+3 7E+3 -> 1 256 samq0925 samequantum -0E+3 sNaN -> 0 257 258 samq1110 samequantum 0E-3 -Inf -> 0 259 samq1111 samequantum 0E-3 Inf -> 0 260 samq1112 samequantum 0E-3 NaN -> 0 261 samq1113 samequantum 0E-3 -7E+3 -> 0 262 samq1114 samequantum 0E-3 -7 -> 0 263 samq1115 samequantum 0E-3 -7E-3 -> 1 264 samq1116 samequantum 0E-3 -0E-3 -> 1 265 samq1117 samequantum 0E-3 -0 -> 0 266 samq1118 samequantum 0E-3 -0E+3 -> 0 267 samq1119 samequantum 0E-3 0E-3 -> 1 268 samq1120 samequantum 0E-3 0 -> 0 269 samq1121 samequantum 0E-3 0E+3 -> 0 270 samq1122 samequantum 0E-3 7E-3 -> 1 271 samq1123 samequantum 0E-3 7 -> 0 272 samq1124 samequantum 0E-3 7E+3 -> 0 273 samq1125 samequantum 0E-3 sNaN -> 0 274 275 samq1210 samequantum 0 -Inf -> 0 276 samq1211 samequantum 0 Inf -> 0 277 samq1212 samequantum 0 NaN -> 0 278 samq1213 samequantum 0 -7E+3 -> 0 279 samq1214 samequantum 0 -7 -> 1 280 samq1215 samequantum 0 -7E-3 -> 0 281 samq1216 samequantum 0 -0E-3 -> 0 282 samq1217 samequantum 0 -0 -> 1 283 samq1218 samequantum 0 -0E+3 -> 0 284 samq1219 samequantum 0 0E-3 -> 0 285 samq1220 samequantum 0 0 -> 1 286 samq1221 samequantum 0 0E+3 -> 0 287 samq1222 samequantum 0 7E-3 -> 0 288 samq1223 samequantum 0 7 -> 1 289 samq1224 samequantum 0 7E+3 -> 0 290 samq1225 samequantum 0 sNaN -> 0 291 292 samq1310 samequantum 0E+3 -Inf -> 0 293 samq1311 samequantum 0E+3 Inf -> 0 294 samq1312 samequantum 0E+3 NaN -> 0 295 samq1313 samequantum 0E+3 -7E+3 -> 1 296 samq1314 samequantum 0E+3 -7 -> 0 297 samq1315 samequantum 0E+3 -7E-3 -> 0 298 samq1316 samequantum 0E+3 -0E-3 -> 0 299 samq1317 samequantum 0E+3 -0 -> 0 300 samq1318 samequantum 0E+3 -0E+3 -> 1 301 samq1319 samequantum 0E+3 0E-3 -> 0 302 samq1320 samequantum 0E+3 0 -> 0 303 samq1321 samequantum 0E+3 0E+3 -> 1 304 samq1322 samequantum 0E+3 7E-3 -> 0 305 samq1323 samequantum 0E+3 7 -> 0 306 samq1324 samequantum 0E+3 7E+3 -> 1 307 samq1325 samequantum 0E+3 sNaN -> 0 308 309 samq1410 samequantum 7E-3 -Inf -> 0 310 samq1411 samequantum 7E-3 Inf -> 0 311 samq1412 samequantum 7E-3 NaN -> 0 312 samq1413 samequantum 7E-3 -7E+3 -> 0 313 samq1414 samequantum 7E-3 -7 -> 0 314 samq1415 samequantum 7E-3 -7E-3 -> 1 315 samq1416 samequantum 7E-3 -0E-3 -> 1 316 samq1417 samequantum 7E-3 -0 -> 0 317 samq1418 samequantum 7E-3 -0E+3 -> 0 318 samq1419 samequantum 7E-3 0E-3 -> 1 319 samq1420 samequantum 7E-3 0 -> 0 320 samq1421 samequantum 7E-3 0E+3 -> 0 321 samq1422 samequantum 7E-3 7E-3 -> 1 322 samq1423 samequantum 7E-3 7 -> 0 323 samq1424 samequantum 7E-3 7E+3 -> 0 324 samq1425 samequantum 7E-3 sNaN -> 0 325 326 samq1510 samequantum 7 -Inf -> 0 327 samq1511 samequantum 7 Inf -> 0 328 samq1512 samequantum 7 NaN -> 0 329 samq1513 samequantum 7 -7E+3 -> 0 330 samq1514 samequantum 7 -7 -> 1 331 samq1515 samequantum 7 -7E-3 -> 0 332 samq1516 samequantum 7 -0E-3 -> 0 333 samq1517 samequantum 7 -0 -> 1 334 samq1518 samequantum 7 -0E+3 -> 0 335 samq1519 samequantum 7 0E-3 -> 0 336 samq1520 samequantum 7 0 -> 1 337 samq1521 samequantum 7 0E+3 -> 0 338 samq1522 samequantum 7 7E-3 -> 0 339 samq1523 samequantum 7 7 -> 1 340 samq1524 samequantum 7 7E+3 -> 0 341 samq1525 samequantum 7 sNaN -> 0 342 343 samq1610 samequantum 7E+3 -Inf -> 0 344 samq1611 samequantum 7E+3 Inf -> 0 345 samq1612 samequantum 7E+3 NaN -> 0 346 samq1613 samequantum 7E+3 -7E+3 -> 1 347 samq1614 samequantum 7E+3 -7 -> 0 348 samq1615 samequantum 7E+3 -7E-3 -> 0 349 samq1616 samequantum 7E+3 -0E-3 -> 0 350 samq1617 samequantum 7E+3 -0 -> 0 351 samq1618 samequantum 7E+3 -0E+3 -> 1 352 samq1619 samequantum 7E+3 0E-3 -> 0 353 samq1620 samequantum 7E+3 0 -> 0 354 samq1621 samequantum 7E+3 0E+3 -> 1 355 samq1622 samequantum 7E+3 7E-3 -> 0 356 samq1623 samequantum 7E+3 7 -> 0 357 samq1624 samequantum 7E+3 7E+3 -> 1 358 samq1625 samequantum 7E+3 sNaN -> 0 359 360 samq1710 samequantum sNaN -Inf -> 0 361 samq1711 samequantum sNaN Inf -> 0 362 samq1712 samequantum sNaN NaN -> 1 363 samq1713 samequantum sNaN -7E+3 -> 0 364 samq1714 samequantum sNaN -7 -> 0 365 samq1715 samequantum sNaN -7E-3 -> 0 366 samq1716 samequantum sNaN -0E-3 -> 0 367 samq1717 samequantum sNaN -0 -> 0 368 samq1718 samequantum sNaN -0E+3 -> 0 369 samq1719 samequantum sNaN 0E-3 -> 0 370 samq1720 samequantum sNaN 0 -> 0 371 samq1721 samequantum sNaN 0E+3 -> 0 372 samq1722 samequantum sNaN 7E-3 -> 0 373 samq1723 samequantum sNaN 7 -> 0 374 samq1724 samequantum sNaN 7E+3 -> 0 375 samq1725 samequantum sNaN sNaN -> 1 376 -- noisy NaNs 377 samq1730 samequantum sNaN3 sNaN3 -> 1 378 samq1731 samequantum sNaN3 sNaN4 -> 1 379 samq1732 samequantum NaN3 NaN3 -> 1 380 samq1733 samequantum NaN3 NaN4 -> 1 381 samq1734 samequantum sNaN3 3 -> 0 382 samq1735 samequantum NaN3 3 -> 0 383 samq1736 samequantum 4 sNaN4 -> 0 384 samq1737 samequantum 3 NaN3 -> 0 385 samq1738 samequantum Inf sNaN4 -> 0 386 samq1739 samequantum -Inf NaN3 -> 0 387 388 389 390