Facundo Batista | 353750c | 2007-09-13 18:13:15 +0000 | [diff] [blame] | 1 | ------------------------------------------------------------------------
|
| 2 | -- class.decTest -- Class operations --
|
Mark Dickinson | fe84cce | 2008-07-27 06:39:07 +0000 | [diff] [blame] | 3 | -- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. --
|
Facundo Batista | 353750c | 2007-09-13 18:13:15 +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 | ------------------------------------------------------------------------
|
Mark Dickinson | 539bff4 | 2009-10-08 16:28:39 +0000 | [diff] [blame] | 20 | version: 2.59
|
Facundo Batista | 353750c | 2007-09-13 18:13:15 +0000 | [diff] [blame] | 21 |
|
| 22 | -- [New 2006.11.27]
|
| 23 |
|
| 24 | precision: 9
|
| 25 | maxExponent: 999
|
| 26 | minExponent: -999
|
| 27 | extended: 1
|
| 28 | clamp: 1
|
| 29 | rounding: half_even
|
| 30 |
|
| 31 | clasx001 class 0 -> +Zero
|
| 32 | clasx002 class 0.00 -> +Zero
|
| 33 | clasx003 class 0E+5 -> +Zero
|
| 34 | clasx004 class 1E-1007 -> +Subnormal
|
| 35 | clasx005 class 0.1E-999 -> +Subnormal
|
| 36 | clasx006 class 0.99999999E-999 -> +Subnormal
|
| 37 | clasx007 class 1.00000000E-999 -> +Normal
|
| 38 | clasx008 class 1E-999 -> +Normal
|
| 39 | clasx009 class 1E-100 -> +Normal
|
| 40 | clasx010 class 1E-10 -> +Normal
|
| 41 | clasx012 class 1E-1 -> +Normal
|
| 42 | clasx013 class 1 -> +Normal
|
| 43 | clasx014 class 2.50 -> +Normal
|
| 44 | clasx015 class 100.100 -> +Normal
|
| 45 | clasx016 class 1E+30 -> +Normal
|
| 46 | clasx017 class 1E+999 -> +Normal
|
| 47 | clasx018 class 9.99999999E+999 -> +Normal
|
| 48 | clasx019 class Inf -> +Infinity
|
| 49 |
|
| 50 | clasx021 class -0 -> -Zero
|
| 51 | clasx022 class -0.00 -> -Zero
|
| 52 | clasx023 class -0E+5 -> -Zero
|
| 53 | clasx024 class -1E-1007 -> -Subnormal
|
| 54 | clasx025 class -0.1E-999 -> -Subnormal
|
| 55 | clasx026 class -0.99999999E-999 -> -Subnormal
|
| 56 | clasx027 class -1.00000000E-999 -> -Normal
|
| 57 | clasx028 class -1E-999 -> -Normal
|
| 58 | clasx029 class -1E-100 -> -Normal
|
| 59 | clasx030 class -1E-10 -> -Normal
|
| 60 | clasx032 class -1E-1 -> -Normal
|
| 61 | clasx033 class -1 -> -Normal
|
| 62 | clasx034 class -2.50 -> -Normal
|
| 63 | clasx035 class -100.100 -> -Normal
|
| 64 | clasx036 class -1E+30 -> -Normal
|
| 65 | clasx037 class -1E+999 -> -Normal
|
| 66 | clasx038 class -9.99999999E+999 -> -Normal
|
| 67 | clasx039 class -Inf -> -Infinity
|
| 68 |
|
| 69 | clasx041 class NaN -> NaN
|
| 70 | clasx042 class -NaN -> NaN
|
| 71 | clasx043 class +NaN12345 -> NaN
|
| 72 | clasx044 class sNaN -> sNaN
|
| 73 | clasx045 class -sNaN -> sNaN
|
| 74 | clasx046 class +sNaN12345 -> sNaN
|
| 75 |
|
| 76 |
|
| 77 | -- decimal64 bounds
|
| 78 |
|
| 79 | precision: 16
|
| 80 | maxExponent: 384
|
| 81 | minExponent: -383
|
| 82 | clamp: 1
|
| 83 | rounding: half_even
|
| 84 |
|
| 85 | clasx201 class 0 -> +Zero
|
| 86 | clasx202 class 0.00 -> +Zero
|
| 87 | clasx203 class 0E+5 -> +Zero
|
| 88 | clasx204 class 1E-396 -> +Subnormal
|
| 89 | clasx205 class 0.1E-383 -> +Subnormal
|
| 90 | clasx206 class 0.999999999999999E-383 -> +Subnormal
|
| 91 | clasx207 class 1.000000000000000E-383 -> +Normal
|
| 92 | clasx208 class 1E-383 -> +Normal
|
| 93 | clasx209 class 1E-100 -> +Normal
|
| 94 | clasx210 class 1E-10 -> +Normal
|
| 95 | clasx212 class 1E-1 -> +Normal
|
| 96 | clasx213 class 1 -> +Normal
|
| 97 | clasx214 class 2.50 -> +Normal
|
| 98 | clasx215 class 100.100 -> +Normal
|
| 99 | clasx216 class 1E+30 -> +Normal
|
| 100 | clasx217 class 1E+384 -> +Normal
|
| 101 | clasx218 class 9.999999999999999E+384 -> +Normal
|
| 102 | clasx219 class Inf -> +Infinity
|
| 103 |
|
| 104 | clasx221 class -0 -> -Zero
|
| 105 | clasx222 class -0.00 -> -Zero
|
| 106 | clasx223 class -0E+5 -> -Zero
|
| 107 | clasx224 class -1E-396 -> -Subnormal
|
| 108 | clasx225 class -0.1E-383 -> -Subnormal
|
| 109 | clasx226 class -0.999999999999999E-383 -> -Subnormal
|
| 110 | clasx227 class -1.000000000000000E-383 -> -Normal
|
| 111 | clasx228 class -1E-383 -> -Normal
|
| 112 | clasx229 class -1E-100 -> -Normal
|
| 113 | clasx230 class -1E-10 -> -Normal
|
| 114 | clasx232 class -1E-1 -> -Normal
|
| 115 | clasx233 class -1 -> -Normal
|
| 116 | clasx234 class -2.50 -> -Normal
|
| 117 | clasx235 class -100.100 -> -Normal
|
| 118 | clasx236 class -1E+30 -> -Normal
|
| 119 | clasx237 class -1E+384 -> -Normal
|
| 120 | clasx238 class -9.999999999999999E+384 -> -Normal
|
| 121 | clasx239 class -Inf -> -Infinity
|
| 122 |
|
| 123 | clasx241 class NaN -> NaN
|
| 124 | clasx242 class -NaN -> NaN
|
| 125 | clasx243 class +NaN12345 -> NaN
|
| 126 | clasx244 class sNaN -> sNaN
|
| 127 | clasx245 class -sNaN -> sNaN
|
| 128 | clasx246 class +sNaN12345 -> sNaN
|
| 129 |
|
| 130 |
|
| 131 |
|