17db96d56Sopenharmony_ci------------------------------------------------------------------------ 27db96d56Sopenharmony_ci-- nextminus.decTest -- decimal next that is less [754r nextdown] -- 37db96d56Sopenharmony_ci-- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. -- 47db96d56Sopenharmony_ci------------------------------------------------------------------------ 57db96d56Sopenharmony_ci-- Please see the document "General Decimal Arithmetic Testcases" -- 67db96d56Sopenharmony_ci-- at http://www2.hursley.ibm.com/decimal for the description of -- 77db96d56Sopenharmony_ci-- these testcases. -- 87db96d56Sopenharmony_ci-- -- 97db96d56Sopenharmony_ci-- These testcases are experimental ('beta' versions), and they -- 107db96d56Sopenharmony_ci-- may contain errors. They are offered on an as-is basis. In -- 117db96d56Sopenharmony_ci-- particular, achieving the same results as the tests here is not -- 127db96d56Sopenharmony_ci-- a guarantee that an implementation complies with any Standard -- 137db96d56Sopenharmony_ci-- or specification. The tests are not exhaustive. -- 147db96d56Sopenharmony_ci-- -- 157db96d56Sopenharmony_ci-- Please send comments, suggestions, and corrections to the author: -- 167db96d56Sopenharmony_ci-- Mike Cowlishaw, IBM Fellow -- 177db96d56Sopenharmony_ci-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK -- 187db96d56Sopenharmony_ci-- mfc@uk.ibm.com -- 197db96d56Sopenharmony_ci------------------------------------------------------------------------ 207db96d56Sopenharmony_civersion: 2.59 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ciextended: 1 237db96d56Sopenharmony_ciprecision: 9 247db96d56Sopenharmony_cirounding: half_up 257db96d56Sopenharmony_cimaxExponent: 384 267db96d56Sopenharmony_ciminexponent: -383 277db96d56Sopenharmony_ci 287db96d56Sopenharmony_cinextm001 nextminus 0.999999995 -> 0.999999994 297db96d56Sopenharmony_cinextm002 nextminus 0.999999996 -> 0.999999995 307db96d56Sopenharmony_cinextm003 nextminus 0.999999997 -> 0.999999996 317db96d56Sopenharmony_cinextm004 nextminus 0.999999998 -> 0.999999997 327db96d56Sopenharmony_cinextm005 nextminus 0.999999999 -> 0.999999998 337db96d56Sopenharmony_cinextm006 nextminus 1.00000000 -> 0.999999999 347db96d56Sopenharmony_cinextm007 nextminus 1.0 -> 0.999999999 357db96d56Sopenharmony_cinextm008 nextminus 1 -> 0.999999999 367db96d56Sopenharmony_cinextm009 nextminus 1.00000001 -> 1.00000000 377db96d56Sopenharmony_cinextm010 nextminus 1.00000002 -> 1.00000001 387db96d56Sopenharmony_cinextm011 nextminus 1.00000003 -> 1.00000002 397db96d56Sopenharmony_cinextm012 nextminus 1.00000004 -> 1.00000003 407db96d56Sopenharmony_cinextm013 nextminus 1.00000005 -> 1.00000004 417db96d56Sopenharmony_cinextm014 nextminus 1.00000006 -> 1.00000005 427db96d56Sopenharmony_cinextm015 nextminus 1.00000007 -> 1.00000006 437db96d56Sopenharmony_cinextm016 nextminus 1.00000008 -> 1.00000007 447db96d56Sopenharmony_cinextm017 nextminus 1.00000009 -> 1.00000008 457db96d56Sopenharmony_cinextm018 nextminus 1.00000010 -> 1.00000009 467db96d56Sopenharmony_cinextm019 nextminus 1.00000011 -> 1.00000010 477db96d56Sopenharmony_cinextm020 nextminus 1.00000012 -> 1.00000011 487db96d56Sopenharmony_ci 497db96d56Sopenharmony_cinextm021 nextminus -0.999999995 -> -0.999999996 507db96d56Sopenharmony_cinextm022 nextminus -0.999999996 -> -0.999999997 517db96d56Sopenharmony_cinextm023 nextminus -0.999999997 -> -0.999999998 527db96d56Sopenharmony_cinextm024 nextminus -0.999999998 -> -0.999999999 537db96d56Sopenharmony_cinextm025 nextminus -0.999999999 -> -1.00000000 547db96d56Sopenharmony_cinextm026 nextminus -1.00000000 -> -1.00000001 557db96d56Sopenharmony_cinextm027 nextminus -1.0 -> -1.00000001 567db96d56Sopenharmony_cinextm028 nextminus -1 -> -1.00000001 577db96d56Sopenharmony_cinextm029 nextminus -1.00000001 -> -1.00000002 587db96d56Sopenharmony_cinextm030 nextminus -1.00000002 -> -1.00000003 597db96d56Sopenharmony_cinextm031 nextminus -1.00000003 -> -1.00000004 607db96d56Sopenharmony_cinextm032 nextminus -1.00000004 -> -1.00000005 617db96d56Sopenharmony_cinextm033 nextminus -1.00000005 -> -1.00000006 627db96d56Sopenharmony_cinextm034 nextminus -1.00000006 -> -1.00000007 637db96d56Sopenharmony_cinextm035 nextminus -1.00000007 -> -1.00000008 647db96d56Sopenharmony_cinextm036 nextminus -1.00000008 -> -1.00000009 657db96d56Sopenharmony_cinextm037 nextminus -1.00000009 -> -1.00000010 667db96d56Sopenharmony_cinextm038 nextminus -1.00000010 -> -1.00000011 677db96d56Sopenharmony_cinextm039 nextminus -1.00000011 -> -1.00000012 687db96d56Sopenharmony_ci 697db96d56Sopenharmony_ci-- input operand is >precision 707db96d56Sopenharmony_cinextm041 nextminus 1.00000010998 -> 1.00000010 717db96d56Sopenharmony_cinextm042 nextminus 1.00000010999 -> 1.00000010 727db96d56Sopenharmony_cinextm043 nextminus 1.00000011000 -> 1.00000010 737db96d56Sopenharmony_cinextm044 nextminus 1.00000011001 -> 1.00000011 747db96d56Sopenharmony_cinextm045 nextminus 1.00000011002 -> 1.00000011 757db96d56Sopenharmony_cinextm046 nextminus 1.00000011002 -> 1.00000011 767db96d56Sopenharmony_cinextm047 nextminus 1.00000011052 -> 1.00000011 777db96d56Sopenharmony_cinextm048 nextminus 1.00000011552 -> 1.00000011 787db96d56Sopenharmony_cinextm049 nextminus -1.00000010998 -> -1.00000011 797db96d56Sopenharmony_cinextm050 nextminus -1.00000010999 -> -1.00000011 807db96d56Sopenharmony_cinextm051 nextminus -1.00000011000 -> -1.00000012 817db96d56Sopenharmony_cinextm052 nextminus -1.00000011001 -> -1.00000012 827db96d56Sopenharmony_cinextm053 nextminus -1.00000011002 -> -1.00000012 837db96d56Sopenharmony_cinextm054 nextminus -1.00000011002 -> -1.00000012 847db96d56Sopenharmony_cinextm055 nextminus -1.00000011052 -> -1.00000012 857db96d56Sopenharmony_cinextm056 nextminus -1.00000011552 -> -1.00000012 867db96d56Sopenharmony_ci-- ultra-tiny inputs 877db96d56Sopenharmony_cinextm060 nextminus 1E-99999 -> 0E-391 887db96d56Sopenharmony_cinextm061 nextminus 1E-999999999 -> 0E-391 897db96d56Sopenharmony_cinextm062 nextminus 1E-391 -> 0E-391 907db96d56Sopenharmony_cinextm063 nextminus -1E-99999 -> -1E-391 917db96d56Sopenharmony_cinextm064 nextminus -1E-999999999 -> -1E-391 927db96d56Sopenharmony_cinextm065 nextminus -1E-391 -> -2E-391 937db96d56Sopenharmony_ci 947db96d56Sopenharmony_ci-- Zeros 957db96d56Sopenharmony_cinextm100 nextminus -0 -> -1E-391 967db96d56Sopenharmony_cinextm101 nextminus 0 -> -1E-391 977db96d56Sopenharmony_cinextm102 nextminus 0.00 -> -1E-391 987db96d56Sopenharmony_cinextm103 nextminus -0.00 -> -1E-391 997db96d56Sopenharmony_cinextm104 nextminus 0E-300 -> -1E-391 1007db96d56Sopenharmony_cinextm105 nextminus 0E+300 -> -1E-391 1017db96d56Sopenharmony_cinextm106 nextminus 0E+30000 -> -1E-391 1027db96d56Sopenharmony_cinextm107 nextminus -0E+30000 -> -1E-391 1037db96d56Sopenharmony_ci 1047db96d56Sopenharmony_ciprecision: 9 1057db96d56Sopenharmony_cimaxExponent: 999 1067db96d56Sopenharmony_ciminexponent: -999 1077db96d56Sopenharmony_ci-- specials 1087db96d56Sopenharmony_cinextm150 nextminus Inf -> 9.99999999E+999 1097db96d56Sopenharmony_cinextm151 nextminus -Inf -> -Infinity 1107db96d56Sopenharmony_cinextm152 nextminus NaN -> NaN 1117db96d56Sopenharmony_cinextm153 nextminus sNaN -> NaN Invalid_operation 1127db96d56Sopenharmony_cinextm154 nextminus NaN77 -> NaN77 1137db96d56Sopenharmony_cinextm155 nextminus sNaN88 -> NaN88 Invalid_operation 1147db96d56Sopenharmony_cinextm156 nextminus -NaN -> -NaN 1157db96d56Sopenharmony_cinextm157 nextminus -sNaN -> -NaN Invalid_operation 1167db96d56Sopenharmony_cinextm158 nextminus -NaN77 -> -NaN77 1177db96d56Sopenharmony_cinextm159 nextminus -sNaN88 -> -NaN88 Invalid_operation 1187db96d56Sopenharmony_ci 1197db96d56Sopenharmony_ci-- Nmax, Nmin, Ntiny, subnormals 1207db96d56Sopenharmony_cinextm170 nextminus 9.99999999E+999 -> 9.99999998E+999 1217db96d56Sopenharmony_cinextm171 nextminus 9.99999998E+999 -> 9.99999997E+999 1227db96d56Sopenharmony_cinextm172 nextminus 1E-999 -> 9.9999999E-1000 1237db96d56Sopenharmony_cinextm173 nextminus 1.00000000E-999 -> 9.9999999E-1000 1247db96d56Sopenharmony_cinextm174 nextminus 9E-1007 -> 8E-1007 1257db96d56Sopenharmony_cinextm175 nextminus 9.9E-1006 -> 9.8E-1006 1267db96d56Sopenharmony_cinextm176 nextminus 9.9999E-1003 -> 9.9998E-1003 1277db96d56Sopenharmony_cinextm177 nextminus 9.9999999E-1000 -> 9.9999998E-1000 1287db96d56Sopenharmony_cinextm178 nextminus 9.9999998E-1000 -> 9.9999997E-1000 1297db96d56Sopenharmony_cinextm179 nextminus 9.9999997E-1000 -> 9.9999996E-1000 1307db96d56Sopenharmony_cinextm180 nextminus 0E-1007 -> -1E-1007 1317db96d56Sopenharmony_cinextm181 nextminus 1E-1007 -> 0E-1007 1327db96d56Sopenharmony_cinextm182 nextminus 2E-1007 -> 1E-1007 1337db96d56Sopenharmony_ci 1347db96d56Sopenharmony_cinextm183 nextminus -0E-1007 -> -1E-1007 1357db96d56Sopenharmony_cinextm184 nextminus -1E-1007 -> -2E-1007 1367db96d56Sopenharmony_cinextm185 nextminus -2E-1007 -> -3E-1007 1377db96d56Sopenharmony_cinextm186 nextminus -10E-1007 -> -1.1E-1006 1387db96d56Sopenharmony_cinextm187 nextminus -100E-1007 -> -1.01E-1005 1397db96d56Sopenharmony_cinextm188 nextminus -100000E-1007 -> -1.00001E-1002 1407db96d56Sopenharmony_cinextm189 nextminus -1.0000E-999 -> -1.00000001E-999 1417db96d56Sopenharmony_cinextm190 nextminus -1.00000000E-999 -> -1.00000001E-999 1427db96d56Sopenharmony_cinextm191 nextminus -1E-999 -> -1.00000001E-999 1437db96d56Sopenharmony_cinextm192 nextminus -9.99999998E+999 -> -9.99999999E+999 1447db96d56Sopenharmony_cinextm193 nextminus -9.99999999E+999 -> -Infinity 1457db96d56Sopenharmony_ci 1467db96d56Sopenharmony_ci-- Null tests 1477db96d56Sopenharmony_cinextm900 nextminus # -> NaN Invalid_operation 1487db96d56Sopenharmony_ci 149