1 ------------------------------------------------------------------------ 2 -- ddSameQuantum.decTest -- check decDouble 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 -- All operands and results are decDoubles. 23 precision: 16 24 maxExponent: 384 25 minExponent: -383 26 extended: 1 27 clamp: 1 28 rounding: half_even 29 30 ddsamq001 samequantum 0 0 -> 1 31 ddsamq002 samequantum 0 1 -> 1 32 ddsamq003 samequantum 1 0 -> 1 33 ddsamq004 samequantum 1 1 -> 1 34 35 ddsamq011 samequantum 10 1E+1 -> 0 36 ddsamq012 samequantum 10E+1 10E+1 -> 1 37 ddsamq013 samequantum 100 10E+1 -> 0 38 ddsamq014 samequantum 100 1E+2 -> 0 39 ddsamq015 samequantum 0.1 1E-2 -> 0 40 ddsamq016 samequantum 0.1 1E-1 -> 1 41 ddsamq017 samequantum 0.1 1E-0 -> 0 42 ddsamq018 samequantum 999 999 -> 1 43 ddsamq019 samequantum 999E-1 99.9 -> 1 44 ddsamq020 samequantum 111E-1 22.2 -> 1 45 ddsamq021 samequantum 111E-1 1234.2 -> 1 46 47 -- zeros 48 ddsamq030 samequantum 0.0 1.1 -> 1 49 ddsamq031 samequantum 0.0 1.11 -> 0 50 ddsamq032 samequantum 0.0 0 -> 0 51 ddsamq033 samequantum 0.0 0.0 -> 1 52 ddsamq034 samequantum 0.0 0.00 -> 0 53 ddsamq035 samequantum 0E+1 0E+0 -> 0 54 ddsamq036 samequantum 0E+1 0E+1 -> 1 55 ddsamq037 samequantum 0E+1 0E+2 -> 0 56 ddsamq038 samequantum 0E-17 0E-16 -> 0 57 ddsamq039 samequantum 0E-17 0E-17 -> 1 58 ddsamq040 samequantum 0E-17 0E-18 -> 0 59 ddsamq041 samequantum 0E-17 0.0E-15 -> 0 60 ddsamq042 samequantum 0E-17 0.0E-16 -> 1 61 ddsamq043 samequantum 0E-17 0.0E-17 -> 0 62 ddsamq044 samequantum -0E-17 0.0E-16 -> 1 63 ddsamq045 samequantum 0E-17 -0.0E-17 -> 0 64 ddsamq046 samequantum 0E-17 -0.0E-16 -> 1 65 ddsamq047 samequantum -0E-17 0.0E-17 -> 0 66 ddsamq048 samequantum -0E-17 -0.0E-16 -> 1 67 ddsamq049 samequantum -0E-17 -0.0E-17 -> 0 68 69 -- Nmax, Nmin, Ntiny 70 ddsamq051 samequantum 9.999999999999999E+384 9.999999999999999E+384 -> 1 71 ddsamq052 samequantum 1E-383 1E-383 -> 1 72 ddsamq053 samequantum 1.000000000000000E-383 1.000000000000000E-383 -> 1 73 ddsamq054 samequantum 1E-398 1E-398 -> 1 74 ddsamq055 samequantum 9.999999999999999E+384 9.999999999999999E+384 -> 1 75 ddsamq056 samequantum 1E-383 1E-383 -> 1 76 ddsamq057 samequantum 1.000000000000000E-383 1.000000000000000E-383 -> 1 77 ddsamq058 samequantum 1E-398 1E-398 -> 1 78 79 ddsamq061 samequantum -1E-398 -1E-398 -> 1 80 ddsamq062 samequantum -1.000000000000000E-383 -1.000000000000000E-383 -> 1 81 ddsamq063 samequantum -1E-383 -1E-383 -> 1 82 ddsamq064 samequantum -9.999999999999999E+384 -9.999999999999999E+384 -> 1 83 ddsamq065 samequantum -1E-398 -1E-398 -> 1 84 ddsamq066 samequantum -1.000000000000000E-383 -1.000000000000000E-383 -> 1 85 ddsamq067 samequantum -1E-383 -1E-383 -> 1 86 ddsamq068 samequantum -9.999999999999999E+384 -9.999999999999999E+384 -> 1 87 88 ddsamq071 samequantum -4E-398 -1E-398 -> 1 89 ddsamq072 samequantum -4.000000000000000E-383 -1.000040000000000E-383 -> 1 90 ddsamq073 samequantum -4E-383 -1E-383 -> 1 91 ddsamq074 samequantum -4.999999999999999E+384 -9.999999999949999E+384 -> 1 92 ddsamq075 samequantum -4E-398 -1E-398 -> 1 93 ddsamq076 samequantum -4.000000000000000E-383 -1.004000000000000E-383 -> 1 94 ddsamq077 samequantum -4E-383 -1E-383 -> 1 95 ddsamq078 samequantum -4.999999999999999E+384 -9.949999999999999E+384 -> 1 96 97 ddsamq081 samequantum -4E-397 -1E-398 -> 0 98 ddsamq082 samequantum -4.000000000000000E-383 -1.000040000000000E-336 -> 0 99 ddsamq083 samequantum -4E-346 -1E-383 -> 0 100 ddsamq084 samequantum -4.999999999999999E+384 -9.999499999999999E+336 -> 0 101 ddsamq085 samequantum -4E-397 -1E-398 -> 0 102 ddsamq086 samequantum -4.000000000000000E-383 -1.004000000000000E-336 -> 0 103 ddsamq087 samequantum -4E-346 -1E-383 -> 0 104 ddsamq088 samequantum -4.999999999999999E+384 -9.949999999999999E+336 -> 0 105 106 -- specials & combinations 107 ddsamq0110 samequantum -Inf -Inf -> 1 108 ddsamq0111 samequantum -Inf Inf -> 1 109 ddsamq0112 samequantum -Inf NaN -> 0 110 ddsamq0113 samequantum -Inf -7E+3 -> 0 111 ddsamq0114 samequantum -Inf -7 -> 0 112 ddsamq0115 samequantum -Inf -7E-3 -> 0 113 ddsamq0116 samequantum -Inf -0E-3 -> 0 114 ddsamq0117 samequantum -Inf -0 -> 0 115 ddsamq0118 samequantum -Inf -0E+3 -> 0 116 ddsamq0119 samequantum -Inf 0E-3 -> 0 117 ddsamq0120 samequantum -Inf 0 -> 0 118 ddsamq0121 samequantum -Inf 0E+3 -> 0 119 ddsamq0122 samequantum -Inf 7E-3 -> 0 120 ddsamq0123 samequantum -Inf 7 -> 0 121 ddsamq0124 samequantum -Inf 7E+3 -> 0 122 ddsamq0125 samequantum -Inf sNaN -> 0 123 124 ddsamq0210 samequantum Inf -Inf -> 1 125 ddsamq0211 samequantum Inf Inf -> 1 126 ddsamq0212 samequantum Inf NaN -> 0 127 ddsamq0213 samequantum Inf -7E+3 -> 0 128 ddsamq0214 samequantum Inf -7 -> 0 129 ddsamq0215 samequantum Inf -7E-3 -> 0 130 ddsamq0216 samequantum Inf -0E-3 -> 0 131 ddsamq0217 samequantum Inf -0 -> 0 132 ddsamq0218 samequantum Inf -0E+3 -> 0 133 ddsamq0219 samequantum Inf 0E-3 -> 0 134 ddsamq0220 samequantum Inf 0 -> 0 135 ddsamq0221 samequantum Inf 0E+3 -> 0 136 ddsamq0222 samequantum Inf 7E-3 -> 0 137 ddsamq0223 samequantum Inf 7 -> 0 138 ddsamq0224 samequantum Inf 7E+3 -> 0 139 ddsamq0225 samequantum Inf sNaN -> 0 140 141 ddsamq0310 samequantum NaN -Inf -> 0 142 ddsamq0311 samequantum NaN Inf -> 0 143 ddsamq0312 samequantum NaN NaN -> 1 144 ddsamq0313 samequantum NaN -7E+3 -> 0 145 ddsamq0314 samequantum NaN -7 -> 0 146 ddsamq0315 samequantum NaN -7E-3 -> 0 147 ddsamq0316 samequantum NaN -0E-3 -> 0 148 ddsamq0317 samequantum NaN -0 -> 0 149 ddsamq0318 samequantum NaN -0E+3 -> 0 150 ddsamq0319 samequantum NaN 0E-3 -> 0 151 ddsamq0320 samequantum NaN 0 -> 0 152 ddsamq0321 samequantum NaN 0E+3 -> 0 153 ddsamq0322 samequantum NaN 7E-3 -> 0 154 ddsamq0323 samequantum NaN 7 -> 0 155 ddsamq0324 samequantum NaN 7E+3 -> 0 156 ddsamq0325 samequantum NaN sNaN -> 1 157 158 ddsamq0410 samequantum -7E+3 -Inf -> 0 159 ddsamq0411 samequantum -7E+3 Inf -> 0 160 ddsamq0412 samequantum -7E+3 NaN -> 0 161 ddsamq0413 samequantum -7E+3 -7E+3 -> 1 162 ddsamq0414 samequantum -7E+3 -7 -> 0 163 ddsamq0415 samequantum -7E+3 -7E-3 -> 0 164 ddsamq0416 samequantum -7E+3 -0E-3 -> 0 165 ddsamq0417 samequantum -7E+3 -0 -> 0 166 ddsamq0418 samequantum -7E+3 -0E+3 -> 1 167 ddsamq0419 samequantum -7E+3 0E-3 -> 0 168 ddsamq0420 samequantum -7E+3 0 -> 0 169 ddsamq0421 samequantum -7E+3 0E+3 -> 1 170 ddsamq0422 samequantum -7E+3 7E-3 -> 0 171 ddsamq0423 samequantum -7E+3 7 -> 0 172 ddsamq0424 samequantum -7E+3 7E+3 -> 1 173 ddsamq0425 samequantum -7E+3 sNaN -> 0 174 175 ddsamq0510 samequantum -7 -Inf -> 0 176 ddsamq0511 samequantum -7 Inf -> 0 177 ddsamq0512 samequantum -7 NaN -> 0 178 ddsamq0513 samequantum -7 -7E+3 -> 0 179 ddsamq0514 samequantum -7 -7 -> 1 180 ddsamq0515 samequantum -7 -7E-3 -> 0 181 ddsamq0516 samequantum -7 -0E-3 -> 0 182 ddsamq0517 samequantum -7 -0 -> 1 183 ddsamq0518 samequantum -7 -0E+3 -> 0 184 ddsamq0519 samequantum -7 0E-3 -> 0 185 ddsamq0520 samequantum -7 0 -> 1 186 ddsamq0521 samequantum -7 0E+3 -> 0 187 ddsamq0522 samequantum -7 7E-3 -> 0 188 ddsamq0523 samequantum -7 7 -> 1 189 ddsamq0524 samequantum -7 7E+3 -> 0 190 ddsamq0525 samequantum -7 sNaN -> 0 191 192 ddsamq0610 samequantum -7E-3 -Inf -> 0 193 ddsamq0611 samequantum -7E-3 Inf -> 0 194 ddsamq0612 samequantum -7E-3 NaN -> 0 195 ddsamq0613 samequantum -7E-3 -7E+3 -> 0 196 ddsamq0614 samequantum -7E-3 -7 -> 0 197 ddsamq0615 samequantum -7E-3 -7E-3 -> 1 198 ddsamq0616 samequantum -7E-3 -0E-3 -> 1 199 ddsamq0617 samequantum -7E-3 -0 -> 0 200 ddsamq0618 samequantum -7E-3 -0E+3 -> 0 201 ddsamq0619 samequantum -7E-3 0E-3 -> 1 202 ddsamq0620 samequantum -7E-3 0 -> 0 203 ddsamq0621 samequantum -7E-3 0E+3 -> 0 204 ddsamq0622 samequantum -7E-3 7E-3 -> 1 205 ddsamq0623 samequantum -7E-3 7 -> 0 206 ddsamq0624 samequantum -7E-3 7E+3 -> 0 207 ddsamq0625 samequantum -7E-3 sNaN -> 0 208 209 ddsamq0710 samequantum -0E-3 -Inf -> 0 210 ddsamq0711 samequantum -0E-3 Inf -> 0 211 ddsamq0712 samequantum -0E-3 NaN -> 0 212 ddsamq0713 samequantum -0E-3 -7E+3 -> 0 213 ddsamq0714 samequantum -0E-3 -7 -> 0 214 ddsamq0715 samequantum -0E-3 -7E-3 -> 1 215 ddsamq0716 samequantum -0E-3 -0E-3 -> 1 216 ddsamq0717 samequantum -0E-3 -0 -> 0 217 ddsamq0718 samequantum -0E-3 -0E+3 -> 0 218 ddsamq0719 samequantum -0E-3 0E-3 -> 1 219 ddsamq0720 samequantum -0E-3 0 -> 0 220 ddsamq0721 samequantum -0E-3 0E+3 -> 0 221 ddsamq0722 samequantum -0E-3 7E-3 -> 1 222 ddsamq0723 samequantum -0E-3 7 -> 0 223 ddsamq0724 samequantum -0E-3 7E+3 -> 0 224 ddsamq0725 samequantum -0E-3 sNaN -> 0 225 226 ddsamq0810 samequantum -0 -Inf -> 0 227 ddsamq0811 samequantum -0 Inf -> 0 228 ddsamq0812 samequantum -0 NaN -> 0 229 ddsamq0813 samequantum -0 -7E+3 -> 0 230 ddsamq0814 samequantum -0 -7 -> 1 231 ddsamq0815 samequantum -0 -7E-3 -> 0 232 ddsamq0816 samequantum -0 -0E-3 -> 0 233 ddsamq0817 samequantum -0 -0 -> 1 234 ddsamq0818 samequantum -0 -0E+3 -> 0 235 ddsamq0819 samequantum -0 0E-3 -> 0 236 ddsamq0820 samequantum -0 0 -> 1 237 ddsamq0821 samequantum -0 0E+3 -> 0 238 ddsamq0822 samequantum -0 7E-3 -> 0 239 ddsamq0823 samequantum -0 7 -> 1 240 ddsamq0824 samequantum -0 7E+3 -> 0 241 ddsamq0825 samequantum -0 sNaN -> 0 242 243 ddsamq0910 samequantum -0E+3 -Inf -> 0 244 ddsamq0911 samequantum -0E+3 Inf -> 0 245 ddsamq0912 samequantum -0E+3 NaN -> 0 246 ddsamq0913 samequantum -0E+3 -7E+3 -> 1 247 ddsamq0914 samequantum -0E+3 -7 -> 0 248 ddsamq0915 samequantum -0E+3 -7E-3 -> 0 249 ddsamq0916 samequantum -0E+3 -0E-3 -> 0 250 ddsamq0917 samequantum -0E+3 -0 -> 0 251 ddsamq0918 samequantum -0E+3 -0E+3 -> 1 252 ddsamq0919 samequantum -0E+3 0E-3 -> 0 253 ddsamq0920 samequantum -0E+3 0 -> 0 254 ddsamq0921 samequantum -0E+3 0E+3 -> 1 255 ddsamq0922 samequantum -0E+3 7E-3 -> 0 256 ddsamq0923 samequantum -0E+3 7 -> 0 257 ddsamq0924 samequantum -0E+3 7E+3 -> 1 258 ddsamq0925 samequantum -0E+3 sNaN -> 0 259 260 ddsamq1110 samequantum 0E-3 -Inf -> 0 261 ddsamq1111 samequantum 0E-3 Inf -> 0 262 ddsamq1112 samequantum 0E-3 NaN -> 0 263 ddsamq1113 samequantum 0E-3 -7E+3 -> 0 264 ddsamq1114 samequantum 0E-3 -7 -> 0 265 ddsamq1115 samequantum 0E-3 -7E-3 -> 1 266 ddsamq1116 samequantum 0E-3 -0E-3 -> 1 267 ddsamq1117 samequantum 0E-3 -0 -> 0 268 ddsamq1118 samequantum 0E-3 -0E+3 -> 0 269 ddsamq1119 samequantum 0E-3 0E-3 -> 1 270 ddsamq1120 samequantum 0E-3 0 -> 0 271 ddsamq1121 samequantum 0E-3 0E+3 -> 0 272 ddsamq1122 samequantum 0E-3 7E-3 -> 1 273 ddsamq1123 samequantum 0E-3 7 -> 0 274 ddsamq1124 samequantum 0E-3 7E+3 -> 0 275 ddsamq1125 samequantum 0E-3 sNaN -> 0 276 277 ddsamq1210 samequantum 0 -Inf -> 0 278 ddsamq1211 samequantum 0 Inf -> 0 279 ddsamq1212 samequantum 0 NaN -> 0 280 ddsamq1213 samequantum 0 -7E+3 -> 0 281 ddsamq1214 samequantum 0 -7 -> 1 282 ddsamq1215 samequantum 0 -7E-3 -> 0 283 ddsamq1216 samequantum 0 -0E-3 -> 0 284 ddsamq1217 samequantum 0 -0 -> 1 285 ddsamq1218 samequantum 0 -0E+3 -> 0 286 ddsamq1219 samequantum 0 0E-3 -> 0 287 ddsamq1220 samequantum 0 0 -> 1 288 ddsamq1221 samequantum 0 0E+3 -> 0 289 ddsamq1222 samequantum 0 7E-3 -> 0 290 ddsamq1223 samequantum 0 7 -> 1 291 ddsamq1224 samequantum 0 7E+3 -> 0 292 ddsamq1225 samequantum 0 sNaN -> 0 293 294 ddsamq1310 samequantum 0E+3 -Inf -> 0 295 ddsamq1311 samequantum 0E+3 Inf -> 0 296 ddsamq1312 samequantum 0E+3 NaN -> 0 297 ddsamq1313 samequantum 0E+3 -7E+3 -> 1 298 ddsamq1314 samequantum 0E+3 -7 -> 0 299 ddsamq1315 samequantum 0E+3 -7E-3 -> 0 300 ddsamq1316 samequantum 0E+3 -0E-3 -> 0 301 ddsamq1317 samequantum 0E+3 -0 -> 0 302 ddsamq1318 samequantum 0E+3 -0E+3 -> 1 303 ddsamq1319 samequantum 0E+3 0E-3 -> 0 304 ddsamq1320 samequantum 0E+3 0 -> 0 305 ddsamq1321 samequantum 0E+3 0E+3 -> 1 306 ddsamq1322 samequantum 0E+3 7E-3 -> 0 307 ddsamq1323 samequantum 0E+3 7 -> 0 308 ddsamq1324 samequantum 0E+3 7E+3 -> 1 309 ddsamq1325 samequantum 0E+3 sNaN -> 0 310 311 ddsamq1410 samequantum 7E-3 -Inf -> 0 312 ddsamq1411 samequantum 7E-3 Inf -> 0 313 ddsamq1412 samequantum 7E-3 NaN -> 0 314 ddsamq1413 samequantum 7E-3 -7E+3 -> 0 315 ddsamq1414 samequantum 7E-3 -7 -> 0 316 ddsamq1415 samequantum 7E-3 -7E-3 -> 1 317 ddsamq1416 samequantum 7E-3 -0E-3 -> 1 318 ddsamq1417 samequantum 7E-3 -0 -> 0 319 ddsamq1418 samequantum 7E-3 -0E+3 -> 0 320 ddsamq1419 samequantum 7E-3 0E-3 -> 1 321 ddsamq1420 samequantum 7E-3 0 -> 0 322 ddsamq1421 samequantum 7E-3 0E+3 -> 0 323 ddsamq1422 samequantum 7E-3 7E-3 -> 1 324 ddsamq1423 samequantum 7E-3 7 -> 0 325 ddsamq1424 samequantum 7E-3 7E+3 -> 0 326 ddsamq1425 samequantum 7E-3 sNaN -> 0 327 328 ddsamq1510 samequantum 7 -Inf -> 0 329 ddsamq1511 samequantum 7 Inf -> 0 330 ddsamq1512 samequantum 7 NaN -> 0 331 ddsamq1513 samequantum 7 -7E+3 -> 0 332 ddsamq1514 samequantum 7 -7 -> 1 333 ddsamq1515 samequantum 7 -7E-3 -> 0 334 ddsamq1516 samequantum 7 -0E-3 -> 0 335 ddsamq1517 samequantum 7 -0 -> 1 336 ddsamq1518 samequantum 7 -0E+3 -> 0 337 ddsamq1519 samequantum 7 0E-3 -> 0 338 ddsamq1520 samequantum 7 0 -> 1 339 ddsamq1521 samequantum 7 0E+3 -> 0 340 ddsamq1522 samequantum 7 7E-3 -> 0 341 ddsamq1523 samequantum 7 7 -> 1 342 ddsamq1524 samequantum 7 7E+3 -> 0 343 ddsamq1525 samequantum 7 sNaN -> 0 344 345 ddsamq1610 samequantum 7E+3 -Inf -> 0 346 ddsamq1611 samequantum 7E+3 Inf -> 0 347 ddsamq1612 samequantum 7E+3 NaN -> 0 348 ddsamq1613 samequantum 7E+3 -7E+3 -> 1 349 ddsamq1614 samequantum 7E+3 -7 -> 0 350 ddsamq1615 samequantum 7E+3 -7E-3 -> 0 351 ddsamq1616 samequantum 7E+3 -0E-3 -> 0 352 ddsamq1617 samequantum 7E+3 -0 -> 0 353 ddsamq1618 samequantum 7E+3 -0E+3 -> 1 354 ddsamq1619 samequantum 7E+3 0E-3 -> 0 355 ddsamq1620 samequantum 7E+3 0 -> 0 356 ddsamq1621 samequantum 7E+3 0E+3 -> 1 357 ddsamq1622 samequantum 7E+3 7E-3 -> 0 358 ddsamq1623 samequantum 7E+3 7 -> 0 359 ddsamq1624 samequantum 7E+3 7E+3 -> 1 360 ddsamq1625 samequantum 7E+3 sNaN -> 0 361 362 ddsamq1710 samequantum sNaN -Inf -> 0 363 ddsamq1711 samequantum sNaN Inf -> 0 364 ddsamq1712 samequantum sNaN NaN -> 1 365 ddsamq1713 samequantum sNaN -7E+3 -> 0 366 ddsamq1714 samequantum sNaN -7 -> 0 367 ddsamq1715 samequantum sNaN -7E-3 -> 0 368 ddsamq1716 samequantum sNaN -0E-3 -> 0 369 ddsamq1717 samequantum sNaN -0 -> 0 370 ddsamq1718 samequantum sNaN -0E+3 -> 0 371 ddsamq1719 samequantum sNaN 0E-3 -> 0 372 ddsamq1720 samequantum sNaN 0 -> 0 373 ddsamq1721 samequantum sNaN 0E+3 -> 0 374 ddsamq1722 samequantum sNaN 7E-3 -> 0 375 ddsamq1723 samequantum sNaN 7 -> 0 376 ddsamq1724 samequantum sNaN 7E+3 -> 0 377 ddsamq1725 samequantum sNaN sNaN -> 1 378 -- noisy NaNs 379 ddsamq1730 samequantum sNaN3 sNaN3 -> 1 380 ddsamq1731 samequantum sNaN3 sNaN4 -> 1 381 ddsamq1732 samequantum NaN3 NaN3 -> 1 382 ddsamq1733 samequantum NaN3 NaN4 -> 1 383 ddsamq1734 samequantum sNaN3 3 -> 0 384 ddsamq1735 samequantum NaN3 3 -> 0 385 ddsamq1736 samequantum 4 sNaN4 -> 0 386 ddsamq1737 samequantum 3 NaN3 -> 0 387 ddsamq1738 samequantum Inf sNaN4 -> 0 388 ddsamq1739 samequantum -Inf NaN3 -> 0 389 390