mirror of
https://github.com/python/cpython
synced 2026-09-29 12:10:30 +03:00
Add two new files and update remaining tests from the latest update of the
test suite in version 2.39 of dectest.zip.
This commit is contained in:
parent
d6c700a320
commit
3ee3ed2e80
31 changed files with 1190 additions and 191 deletions
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- This set of tests primarily tests the existence of the operator.
|
||||
-- Additon, subtraction, rounding, and more overflows are tested
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
precision: 9
|
||||
rounding: half_up
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- This file tests base conversions from string to a decimal number
|
||||
-- and back to a string (in either Scientific or Engineering form)
|
||||
|
|
@ -73,21 +73,22 @@ basx038 toSci '0.123456789012345' -> '0.123456789012345'
|
|||
|
||||
-- String [many more examples are implicitly tested elsewhere]
|
||||
-- strings without E cannot generate E in result
|
||||
basx101 toSci "12" -> '12'
|
||||
basx102 toSci "-76" -> '-76'
|
||||
basx103 toSci "12.76" -> '12.76'
|
||||
basx104 toSci "+12.76" -> '12.76'
|
||||
basx105 toSci "012.76" -> '12.76'
|
||||
basx106 toSci "+0.003" -> '0.003'
|
||||
basx107 toSci "17." -> '17'
|
||||
basx108 toSci ".5" -> '0.5'
|
||||
basx109 toSci "044" -> '44'
|
||||
basx110 toSci "0044" -> '44'
|
||||
basx111 toSci "0.0005" -> '0.0005'
|
||||
basx112 toSci "00.00005" -> '0.00005'
|
||||
basx113 toSci "0.000005" -> '0.000005'
|
||||
basx114 toSci "0.0000005" -> '5E-7'
|
||||
basx115 toSci "0.00000005" -> '5E-8'
|
||||
basx100 toSci "12" -> '12'
|
||||
basx101 toSci "-76" -> '-76'
|
||||
basx102 toSci "12.76" -> '12.76'
|
||||
basx103 toSci "+12.76" -> '12.76'
|
||||
basx104 toSci "012.76" -> '12.76'
|
||||
basx105 toSci "+0.003" -> '0.003'
|
||||
basx106 toSci "17." -> '17'
|
||||
basx107 toSci ".5" -> '0.5'
|
||||
basx108 toSci "044" -> '44'
|
||||
basx109 toSci "0044" -> '44'
|
||||
basx110 toSci "0.0005" -> '0.0005'
|
||||
basx111 toSci "00.00005" -> '0.00005'
|
||||
basx112 toSci "0.000005" -> '0.000005'
|
||||
basx113 toSci "0.0000050" -> '0.0000050'
|
||||
basx114 toSci "0.0000005" -> '5E-7'
|
||||
basx115 toSci "0.00000005" -> '5E-8'
|
||||
basx116 toSci "12345678.543210" -> '12345678.543210'
|
||||
basx117 toSci "2345678.543210" -> '2345678.543210'
|
||||
basx118 toSci "345678.543210" -> '345678.543210'
|
||||
|
|
@ -99,6 +100,11 @@ basx123 toSci "+00345678.5432" -> '345678.5432'
|
|||
basx124 toSci "-345678.5432" -> '-345678.5432'
|
||||
basx125 toSci "-0345678.5432" -> '-345678.5432'
|
||||
basx126 toSci "-00345678.5432" -> '-345678.5432'
|
||||
-- examples
|
||||
basx127 toSci "5E-6" -> '0.000005'
|
||||
basx128 toSci "50E-7" -> '0.0000050'
|
||||
basx129 toSci "5E-7" -> '5E-7'
|
||||
|
||||
|
||||
-- [No exotics as no Unicode]
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- This set of tests uses the same limits as the 8-byte concrete
|
||||
-- representation, but applies clamping without using format-specific
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- Note that we cannot assume add/subtract tests cover paths adequately,
|
||||
-- here, because the code might be quite different (comparison cannot
|
||||
|
|
|
|||
441
Lib/test/decimaltestdata/decimal128.decTest
Normal file
441
Lib/test/decimaltestdata/decimal128.decTest
Normal file
|
|
@ -0,0 +1,441 @@
|
|||
------------------------------------------------------------------------
|
||||
-- decimal128.decTest -- decimal sixteen-byte format testcases --
|
||||
-- Copyright (c) IBM Corporation, 2000, 2003. All rights reserved. --
|
||||
------------------------------------------------------------------------
|
||||
-- Please see the document "General Decimal Arithmetic Testcases" --
|
||||
-- at http://www2.hursley.ibm.com/decimal for the description of --
|
||||
-- these testcases. --
|
||||
-- --
|
||||
-- These testcases are experimental ('beta' versions), and they --
|
||||
-- may contain errors. They are offered on an as-is basis. In --
|
||||
-- particular, achieving the same results as the tests here is not --
|
||||
-- a guarantee that an implementation complies with any Standard --
|
||||
-- or specification. The tests are not exhaustive. --
|
||||
-- --
|
||||
-- Please send comments, suggestions, and corrections to the author: --
|
||||
-- Mike Cowlishaw, IBM Fellow --
|
||||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.39
|
||||
|
||||
-- This set of tests is for the sixteen-byte concrete representation.
|
||||
-- Its characteristics are:
|
||||
--
|
||||
-- 1 bit sign
|
||||
-- 5 bits combination field
|
||||
-- 12 bits exponent continuation
|
||||
-- 110 bits coefficient continuation
|
||||
--
|
||||
-- Total exponent length 14 bits
|
||||
-- Total coefficient length 114 bits (34 digits)
|
||||
--
|
||||
-- Elimit = 12287 (maximum encoded exponent)
|
||||
-- Emax = 6144 (largest exponent value)
|
||||
-- Emin = -6143 (smallest exponent value)
|
||||
-- bias = 6176 (subtracted from encoded exponent) = -Etiny
|
||||
|
||||
extended: 1
|
||||
precision: 34
|
||||
rounding: half_up
|
||||
maxExponent: 6144
|
||||
minExponent: -6143
|
||||
|
||||
-- General testcases
|
||||
-- (mostly derived from the Strawman 4 document and examples)
|
||||
decg001 apply #A20780000000000000000000000003D0 -> -7.50
|
||||
decg002 apply -7.50 -> #A20780000000000000000000000003D0
|
||||
|
||||
-- Normality
|
||||
decf010 apply 1234567890123456789012345678901234 -> #2608134b9c1e28e56f3c127177823534
|
||||
decf011 apply 1234567890123456789012345678901234.0 -> #2608134b9c1e28e56f3c127177823534 Rounded
|
||||
decf012 apply 1234567890123456789012345678901234.1 -> #2608134b9c1e28e56f3c127177823534 Rounded Inexact
|
||||
decf013 apply -1234567890123456789012345678901234 -> #a608134b9c1e28e56f3c127177823534
|
||||
decf014 apply -1234567890123456789012345678901234.0 -> #a608134b9c1e28e56f3c127177823534 Rounded
|
||||
decf015 apply -1234567890123456789012345678901234.1 -> #a608134b9c1e28e56f3c127177823534 Rounded Inexact
|
||||
|
||||
|
||||
-- Nmax and similar
|
||||
decf022 apply 9.999999999999999999999999999999999E+6144 -> #77ffcff3fcff3fcff3fcff3fcff3fcff
|
||||
decf023 apply #77ffcff3fcff3fcff3fcff3fcff3fcff -> 9.999999999999999999999999999999999E+6144
|
||||
decf024 apply 1.234567890123456789012345678901234E+6144 -> #47ffd34b9c1e28e56f3c127177823534
|
||||
decf025 apply #47ffd34b9c1e28e56f3c127177823534 -> 1.234567890123456789012345678901234E+6144
|
||||
-- fold-downs (more below)
|
||||
decf030 apply 1.23E+6144 -> #47ffd300000000000000000000000000 Clamped
|
||||
decf031 apply #47ffd300000000000000000000000000 -> 1.230000000000000000000000000000000E+6144
|
||||
decf032 apply 1E+6144 -> #47ffc000000000000000000000000000 Clamped
|
||||
decf033 apply #47ffc000000000000000000000000000 -> 1.000000000000000000000000000000000E+6144
|
||||
|
||||
-- overflows
|
||||
maxExponent: 9999 -- set high so conversion causes the overflow
|
||||
minExponent: -9999
|
||||
decf040 apply 10E+6144 -> #78000000000000000000000000000000 Overflow Rounded Inexact
|
||||
decf041 apply 1.000000000000000E+6145 -> #78000000000000000000000000000000 Overflow Rounded Inexact
|
||||
maxExponent: 6144
|
||||
minExponent: -6143
|
||||
|
||||
decf051 apply 12345 -> #220800000000000000000000000049c5
|
||||
decf052 apply #220800000000000000000000000049c5 -> 12345
|
||||
decf053 apply 1234 -> #22080000000000000000000000000534
|
||||
decf054 apply #22080000000000000000000000000534 -> 1234
|
||||
decf055 apply 123 -> #220800000000000000000000000000a3
|
||||
decf056 apply #220800000000000000000000000000a3 -> 123
|
||||
decf057 apply 12 -> #22080000000000000000000000000012
|
||||
decf058 apply #22080000000000000000000000000012 -> 12
|
||||
decf059 apply 1 -> #22080000000000000000000000000001
|
||||
decf060 apply #22080000000000000000000000000001 -> 1
|
||||
decf061 apply 1.23 -> #220780000000000000000000000000a3
|
||||
decf062 apply #220780000000000000000000000000a3 -> 1.23
|
||||
decf063 apply 123.45 -> #220780000000000000000000000049c5
|
||||
decf064 apply #220780000000000000000000000049c5 -> 123.45
|
||||
|
||||
-- Nmin and below
|
||||
decf071 apply 1E-6143 -> #00084000000000000000000000000001
|
||||
decf072 apply #00084000000000000000000000000001 -> 1E-6143
|
||||
decf073 apply 1.000000000000000000000000000000000E-6143 -> #04000000000000000000000000000000
|
||||
decf074 apply #04000000000000000000000000000000 -> 1.000000000000000000000000000000000E-6143
|
||||
decf075 apply 1.000000000000000000000000000000001E-6143 -> #04000000000000000000000000000001
|
||||
decf076 apply #04000000000000000000000000000001 -> 1.000000000000000000000000000000001E-6143
|
||||
|
||||
decf077 apply 0.100000000000000000000000000000000E-6143 -> #00000800000000000000000000000000 Subnormal
|
||||
decf078 apply #00000800000000000000000000000000 -> 1.00000000000000000000000000000000E-6144 Subnormal
|
||||
decf079 apply 0.000000000000000000000000000000010E-6143 -> #00000000000000000000000000000010 Subnormal
|
||||
decf080 apply #00000000000000000000000000000010 -> 1.0E-6175 Subnormal
|
||||
decf081 apply 0.00000000000000000000000000000001E-6143 -> #00004000000000000000000000000001 Subnormal
|
||||
decf082 apply #00004000000000000000000000000001 -> 1E-6175 Subnormal
|
||||
decf083 apply 0.000000000000000000000000000000001E-6143 -> #00000000000000000000000000000001 Subnormal
|
||||
decf084 apply #00000000000000000000000000000001 -> 1E-6176 Subnormal
|
||||
|
||||
-- underflows
|
||||
decf090 apply 1e-6176 -> #00000000000000000000000000000001 Subnormal
|
||||
decf091 apply 1.9e-6176 -> #00000000000000000000000000000002 Subnormal Underflow Inexact Rounded
|
||||
decf092 apply 1.1e-6176 -> #00000000000000000000000000000001 Subnormal Underflow Inexact Rounded
|
||||
decf093 apply 1.00000000001e-6176 -> #00000000000000000000000000000001 Subnormal Underflow Inexact Rounded
|
||||
decf094 apply 1.00000000000001e-6176 -> #00000000000000000000000000000001 Subnormal Underflow Inexact Rounded
|
||||
decf095 apply 1.000000000000001e-6176 -> #00000000000000000000000000000001 Subnormal Underflow Inexact Rounded
|
||||
decf096 apply 0.1e-6176 -> #00000000000000000000000000000000 Subnormal Underflow Inexact Rounded
|
||||
decf097 apply 0.00000000001e-6176 -> #00000000000000000000000000000000 Subnormal Underflow Inexact Rounded
|
||||
decf098 apply 0.00000000000001e-6176 -> #00000000000000000000000000000000 Subnormal Underflow Inexact Rounded
|
||||
decf099 apply 0.000000000000001e-6176 -> #00000000000000000000000000000000 Subnormal Underflow Inexact Rounded
|
||||
decf100 apply 999999999999999999999999999999999e-6176 -> #00000ff3fcff3fcff3fcff3fcff3fcff Subnormal
|
||||
|
||||
-- same again, negatives
|
||||
-- Nmax and similar
|
||||
decf122 apply -9.999999999999999999999999999999999E+6144 -> #f7ffcff3fcff3fcff3fcff3fcff3fcff
|
||||
decf123 apply #f7ffcff3fcff3fcff3fcff3fcff3fcff -> -9.999999999999999999999999999999999E+6144
|
||||
decf124 apply -1.234567890123456789012345678901234E+6144 -> #c7ffd34b9c1e28e56f3c127177823534
|
||||
decf125 apply #c7ffd34b9c1e28e56f3c127177823534 -> -1.234567890123456789012345678901234E+6144
|
||||
-- fold-downs (more below)
|
||||
decf130 apply -1.23E+6144 -> #c7ffd300000000000000000000000000 Clamped
|
||||
decf131 apply #c7ffd300000000000000000000000000 -> -1.230000000000000000000000000000000E+6144
|
||||
decf132 apply -1E+6144 -> #c7ffc000000000000000000000000000 Clamped
|
||||
decf133 apply #c7ffc000000000000000000000000000 -> -1.000000000000000000000000000000000E+6144
|
||||
|
||||
-- overflows
|
||||
maxExponent: 9999 -- set high so conversion causes the overflow
|
||||
minExponent: -9999
|
||||
decf140 apply -10E+6144 -> #f8000000000000000000000000000000 Overflow Rounded Inexact
|
||||
decf141 apply -1.000000000000000E+6145 -> #f8000000000000000000000000000000 Overflow Rounded Inexact
|
||||
maxExponent: 6144
|
||||
minExponent: -6143
|
||||
|
||||
decf151 apply -12345 -> #a20800000000000000000000000049c5
|
||||
decf152 apply #a20800000000000000000000000049c5 -> -12345
|
||||
decf153 apply -1234 -> #a2080000000000000000000000000534
|
||||
decf154 apply #a2080000000000000000000000000534 -> -1234
|
||||
decf155 apply -123 -> #a20800000000000000000000000000a3
|
||||
decf156 apply #a20800000000000000000000000000a3 -> -123
|
||||
decf157 apply -12 -> #a2080000000000000000000000000012
|
||||
decf158 apply #a2080000000000000000000000000012 -> -12
|
||||
decf159 apply -1 -> #a2080000000000000000000000000001
|
||||
decf160 apply #a2080000000000000000000000000001 -> -1
|
||||
decf161 apply -1.23 -> #a20780000000000000000000000000a3
|
||||
decf162 apply #a20780000000000000000000000000a3 -> -1.23
|
||||
decf163 apply -123.45 -> #a20780000000000000000000000049c5
|
||||
decf164 apply #a20780000000000000000000000049c5 -> -123.45
|
||||
|
||||
-- Nmin and below
|
||||
decf171 apply -1E-6143 -> #80084000000000000000000000000001
|
||||
decf172 apply #80084000000000000000000000000001 -> -1E-6143
|
||||
decf173 apply -1.000000000000000000000000000000000E-6143 -> #84000000000000000000000000000000
|
||||
decf174 apply #84000000000000000000000000000000 -> -1.000000000000000000000000000000000E-6143
|
||||
decf175 apply -1.000000000000000000000000000000001E-6143 -> #84000000000000000000000000000001
|
||||
decf176 apply #84000000000000000000000000000001 -> -1.000000000000000000000000000000001E-6143
|
||||
|
||||
decf177 apply -0.100000000000000000000000000000000E-6143 -> #80000800000000000000000000000000 Subnormal
|
||||
decf178 apply #80000800000000000000000000000000 -> -1.00000000000000000000000000000000E-6144 Subnormal
|
||||
decf179 apply -0.000000000000000000000000000000010E-6143 -> #80000000000000000000000000000010 Subnormal
|
||||
decf180 apply #80000000000000000000000000000010 -> -1.0E-6175 Subnormal
|
||||
decf181 apply -0.00000000000000000000000000000001E-6143 -> #80004000000000000000000000000001 Subnormal
|
||||
decf182 apply #80004000000000000000000000000001 -> -1E-6175 Subnormal
|
||||
decf183 apply -0.000000000000000000000000000000001E-6143 -> #80000000000000000000000000000001 Subnormal
|
||||
decf184 apply #80000000000000000000000000000001 -> -1E-6176 Subnormal
|
||||
|
||||
-- underflows
|
||||
decf190 apply -1e-6176 -> #80000000000000000000000000000001 Subnormal
|
||||
decf191 apply -1.9e-6176 -> #80000000000000000000000000000002 Subnormal Underflow Inexact Rounded
|
||||
decf192 apply -1.1e-6176 -> #80000000000000000000000000000001 Subnormal Underflow Inexact Rounded
|
||||
decf193 apply -1.00000000001e-6176 -> #80000000000000000000000000000001 Subnormal Underflow Inexact Rounded
|
||||
decf194 apply -1.00000000000001e-6176 -> #80000000000000000000000000000001 Subnormal Underflow Inexact Rounded
|
||||
decf195 apply -1.000000000000001e-6176 -> #80000000000000000000000000000001 Subnormal Underflow Inexact Rounded
|
||||
decf196 apply -0.1e-6176 -> #80000000000000000000000000000000 Subnormal Underflow Inexact Rounded
|
||||
decf197 apply -0.00000000001e-6176 -> #80000000000000000000000000000000 Subnormal Underflow Inexact Rounded
|
||||
decf198 apply -0.00000000000001e-6176 -> #80000000000000000000000000000000 Subnormal Underflow Inexact Rounded
|
||||
decf199 apply -0.000000000000001e-6176 -> #80000000000000000000000000000000 Subnormal Underflow Inexact Rounded
|
||||
decf200 apply -999999999999999999999999999999999e-6176 -> #80000ff3fcff3fcff3fcff3fcff3fcff Subnormal
|
||||
|
||||
-- zeros
|
||||
decf400 apply 0E-8000 -> #00000000000000000000000000000000 Clamped
|
||||
decf401 apply 0E-6177 -> #00000000000000000000000000000000 Clamped
|
||||
decf402 apply 0E-6176 -> #00000000000000000000000000000000
|
||||
decf403 apply #00000000000000000000000000000000 -> 0E-6176
|
||||
decf404 apply 0.000000000000000000000000000000000E-6143 -> #00000000000000000000000000000000
|
||||
decf405 apply #00000000000000000000000000000000 -> 0E-6176
|
||||
decf406 apply 0E-2 -> #22078000000000000000000000000000
|
||||
decf407 apply #22078000000000000000000000000000 -> 0.00
|
||||
decf408 apply 0 -> #22080000000000000000000000000000
|
||||
decf409 apply #22080000000000000000000000000000 -> 0
|
||||
decf410 apply 0E+3 -> #2208c000000000000000000000000000
|
||||
decf411 apply #2208c000000000000000000000000000 -> 0E+3
|
||||
decf412 apply 0E+6111 -> #43ffc000000000000000000000000000
|
||||
decf413 apply #43ffc000000000000000000000000000 -> 0E+6111
|
||||
-- clamped zeros...
|
||||
decf414 apply 0E+6112 -> #43ffc000000000000000000000000000 Clamped
|
||||
decf415 apply #43ffc000000000000000000000000000 -> 0E+6111
|
||||
decf416 apply 0E+6144 -> #43ffc000000000000000000000000000 Clamped
|
||||
decf417 apply #43ffc000000000000000000000000000 -> 0E+6111
|
||||
decf418 apply 0E+8000 -> #43ffc000000000000000000000000000 Clamped
|
||||
decf419 apply #43ffc000000000000000000000000000 -> 0E+6111
|
||||
|
||||
-- negative zeros
|
||||
decf420 apply -0E-8000 -> #80000000000000000000000000000000 Clamped
|
||||
decf421 apply -0E-6177 -> #80000000000000000000000000000000 Clamped
|
||||
decf422 apply -0E-6176 -> #80000000000000000000000000000000
|
||||
decf423 apply #80000000000000000000000000000000 -> -0E-6176
|
||||
decf424 apply -0.000000000000000000000000000000000E-6143 -> #80000000000000000000000000000000
|
||||
decf425 apply #80000000000000000000000000000000 -> -0E-6176
|
||||
decf426 apply -0E-2 -> #a2078000000000000000000000000000
|
||||
decf427 apply #a2078000000000000000000000000000 -> -0.00
|
||||
decf428 apply -0 -> #a2080000000000000000000000000000
|
||||
decf429 apply #a2080000000000000000000000000000 -> -0
|
||||
decf430 apply -0E+3 -> #a208c000000000000000000000000000
|
||||
decf431 apply #a208c000000000000000000000000000 -> -0E+3
|
||||
decf432 apply -0E+6111 -> #c3ffc000000000000000000000000000
|
||||
decf433 apply #c3ffc000000000000000000000000000 -> -0E+6111
|
||||
-- clamped zeros...
|
||||
decf434 apply -0E+6112 -> #c3ffc000000000000000000000000000 Clamped
|
||||
decf435 apply #c3ffc000000000000000000000000000 -> -0E+6111
|
||||
decf436 apply -0E+6144 -> #c3ffc000000000000000000000000000 Clamped
|
||||
decf437 apply #c3ffc000000000000000000000000000 -> -0E+6111
|
||||
decf438 apply -0E+8000 -> #c3ffc000000000000000000000000000 Clamped
|
||||
decf439 apply #c3ffc000000000000000000000000000 -> -0E+6111
|
||||
|
||||
-- Specials
|
||||
decf500 apply Infinity -> #78000000000000000000000000000000
|
||||
decf501 apply #78787878787878787878787878787878 -> #78000000000000000000000000000000
|
||||
decf502 apply #78000000000000000000000000000000 -> Infinity
|
||||
decf503 apply #79797979797979797979797979797979 -> #78000000000000000000000000000000
|
||||
decf504 apply #79000000000000000000000000000000 -> Infinity
|
||||
decf505 apply #7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #78000000000000000000000000000000
|
||||
decf506 apply #7a000000000000000000000000000000 -> Infinity
|
||||
decf507 apply #7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #78000000000000000000000000000000
|
||||
decf508 apply #7b000000000000000000000000000000 -> Infinity
|
||||
|
||||
decf509 apply NaN -> #7c000000000000000000000000000000
|
||||
decf510 apply #7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #7c003c7c7c7c7c7c7c7c7c7c7c7c7c7c
|
||||
decf511 apply #7c000000000000000000000000000000 -> NaN
|
||||
decf512 apply #7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #7c003d7d7d7d7d7d7d7d7d7d7d7d7d7d
|
||||
decf513 apply #7d000000000000000000000000000000 -> NaN
|
||||
decf514 apply #7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #7e003e7e7c7e7e7e7e7c7e7e7e7e7c7e
|
||||
decf515 apply #7e000000000000000000000000000000 -> sNaN
|
||||
decf516 apply #7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #7e003f7f7c7f7f7f7f7c7f7f7f7f7c7f
|
||||
decf517 apply #7f000000000000000000000000000000 -> sNaN
|
||||
decf518 apply #7fffffffffffffffffffffffffffffff -> sNaN999999999999999999999999999999999
|
||||
decf519 apply #7fffffffffffffffffffffffffffffff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
|
||||
|
||||
decf520 apply -Infinity -> #f8000000000000000000000000000000
|
||||
decf521 apply #f8787878787878787878787878787878 -> #f8000000000000000000000000000000
|
||||
decf522 apply #f8000000000000000000000000000000 -> -Infinity
|
||||
decf523 apply #f9797979797979797979797979797979 -> #f8000000000000000000000000000000
|
||||
decf524 apply #f9000000000000000000000000000000 -> -Infinity
|
||||
decf525 apply #fa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #f8000000000000000000000000000000
|
||||
decf526 apply #fa000000000000000000000000000000 -> -Infinity
|
||||
decf527 apply #fb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #f8000000000000000000000000000000
|
||||
decf528 apply #fb000000000000000000000000000000 -> -Infinity
|
||||
|
||||
decf529 apply -NaN -> #fc000000000000000000000000000000
|
||||
decf530 apply #fc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #fc003c7c7c7c7c7c7c7c7c7c7c7c7c7c
|
||||
decf531 apply #fc000000000000000000000000000000 -> -NaN
|
||||
decf532 apply #fd7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #fc003d7d7d7d7d7d7d7d7d7d7d7d7d7d
|
||||
decf533 apply #fd000000000000000000000000000000 -> -NaN
|
||||
decf534 apply #fe7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #fe003e7e7c7e7e7e7e7c7e7e7e7e7c7e
|
||||
decf535 apply #fe000000000000000000000000000000 -> -sNaN
|
||||
decf536 apply #ff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #fe003f7f7c7f7f7f7f7c7f7f7f7f7c7f
|
||||
decf537 apply #ff000000000000000000000000000000 -> -sNaN
|
||||
decf538 apply #ffffffffffffffffffffffffffffffff -> -sNaN999999999999999999999999999999999
|
||||
decf539 apply #ffffffffffffffffffffffffffffffff -> #fe000ff3fcff3fcff3fcff3fcff3fcff
|
||||
|
||||
decf540 apply NaN -> #7c000000000000000000000000000000
|
||||
decf541 apply NaN0 -> #7c000000000000000000000000000000
|
||||
decf542 apply NaN1 -> #7c000000000000000000000000000001
|
||||
decf543 apply NaN12 -> #7c000000000000000000000000000012
|
||||
decf544 apply NaN79 -> #7c000000000000000000000000000079
|
||||
decf545 apply NaN12345 -> #7c0000000000000000000000000049c5
|
||||
decf546 apply NaN123456 -> #7c000000000000000000000000028e56
|
||||
decf547 apply NaN799799 -> #7c0000000000000000000000000f7fdf
|
||||
decf548 apply NaN799799799799799799799799799799799 -> #7c003dff7fdff7fdff7fdff7fdff7fdf
|
||||
decf549 apply NaN999999999999999999999999999999999 -> #7c000ff3fcff3fcff3fcff3fcff3fcff
|
||||
decf550 apply NaN1234567890123456789012345678901234 -> #7c000000000000000000000000000000 -- too many digits
|
||||
|
||||
-- fold-down full sequence
|
||||
decf600 apply 1E+6145 -> #78000000000000000000000000000000 Overflow Inexact Rounded
|
||||
decf601 apply 1E+6144 -> #47ffc000000000000000000000000000 Clamped
|
||||
decf602 apply #47ffc000000000000000000000000000 -> 1.000000000000000000000000000000000E+6144
|
||||
decf603 apply 1E+6143 -> #43ffc800000000000000000000000000 Clamped
|
||||
decf604 apply #43ffc800000000000000000000000000 -> 1.00000000000000000000000000000000E+6143
|
||||
decf605 apply 1E+6142 -> #43ffc100000000000000000000000000 Clamped
|
||||
decf606 apply #43ffc100000000000000000000000000 -> 1.0000000000000000000000000000000E+6142
|
||||
decf607 apply 1E+6141 -> #43ffc010000000000000000000000000 Clamped
|
||||
decf608 apply #43ffc010000000000000000000000000 -> 1.000000000000000000000000000000E+6141
|
||||
decf609 apply 1E+6140 -> #43ffc002000000000000000000000000 Clamped
|
||||
decf610 apply #43ffc002000000000000000000000000 -> 1.00000000000000000000000000000E+6140
|
||||
decf611 apply 1E+6139 -> #43ffc000400000000000000000000000 Clamped
|
||||
decf612 apply #43ffc000400000000000000000000000 -> 1.0000000000000000000000000000E+6139
|
||||
decf613 apply 1E+6138 -> #43ffc000040000000000000000000000 Clamped
|
||||
decf614 apply #43ffc000040000000000000000000000 -> 1.000000000000000000000000000E+6138
|
||||
decf615 apply 1E+6137 -> #43ffc000008000000000000000000000 Clamped
|
||||
decf616 apply #43ffc000008000000000000000000000 -> 1.00000000000000000000000000E+6137
|
||||
decf617 apply 1E+6136 -> #43ffc000001000000000000000000000 Clamped
|
||||
decf618 apply #43ffc000001000000000000000000000 -> 1.0000000000000000000000000E+6136
|
||||
decf619 apply 1E+6135 -> #43ffc000000100000000000000000000 Clamped
|
||||
decf620 apply #43ffc000000100000000000000000000 -> 1.000000000000000000000000E+6135
|
||||
decf621 apply 1E+6134 -> #43ffc000000020000000000000000000 Clamped
|
||||
decf622 apply #43ffc000000020000000000000000000 -> 1.00000000000000000000000E+6134
|
||||
decf623 apply 1E+6133 -> #43ffc000000004000000000000000000 Clamped
|
||||
decf624 apply #43ffc000000004000000000000000000 -> 1.0000000000000000000000E+6133
|
||||
decf625 apply 1E+6132 -> #43ffc000000000400000000000000000 Clamped
|
||||
decf626 apply #43ffc000000000400000000000000000 -> 1.000000000000000000000E+6132
|
||||
decf627 apply 1E+6131 -> #43ffc000000000080000000000000000 Clamped
|
||||
decf628 apply #43ffc000000000080000000000000000 -> 1.00000000000000000000E+6131
|
||||
decf629 apply 1E+6130 -> #43ffc000000000010000000000000000 Clamped
|
||||
decf630 apply #43ffc000000000010000000000000000 -> 1.0000000000000000000E+6130
|
||||
decf631 apply 1E+6129 -> #43ffc000000000001000000000000000 Clamped
|
||||
decf632 apply #43ffc000000000001000000000000000 -> 1.000000000000000000E+6129
|
||||
decf633 apply 1E+6128 -> #43ffc000000000000200000000000000 Clamped
|
||||
decf634 apply #43ffc000000000000200000000000000 -> 1.00000000000000000E+6128
|
||||
decf635 apply 1E+6127 -> #43ffc000000000000040000000000000 Clamped
|
||||
decf636 apply #43ffc000000000000040000000000000 -> 1.0000000000000000E+6127
|
||||
decf637 apply 1E+6126 -> #43ffc000000000000004000000000000 Clamped
|
||||
decf638 apply #43ffc000000000000004000000000000 -> 1.000000000000000E+6126
|
||||
decf639 apply 1E+6125 -> #43ffc000000000000000800000000000 Clamped
|
||||
decf640 apply #43ffc000000000000000800000000000 -> 1.00000000000000E+6125
|
||||
decf641 apply 1E+6124 -> #43ffc000000000000000100000000000 Clamped
|
||||
decf642 apply #43ffc000000000000000100000000000 -> 1.0000000000000E+6124
|
||||
decf643 apply 1E+6123 -> #43ffc000000000000000010000000000 Clamped
|
||||
decf644 apply #43ffc000000000000000010000000000 -> 1.000000000000E+6123
|
||||
decf645 apply 1E+6122 -> #43ffc000000000000000002000000000 Clamped
|
||||
decf646 apply #43ffc000000000000000002000000000 -> 1.00000000000E+6122
|
||||
decf647 apply 1E+6121 -> #43ffc000000000000000000400000000 Clamped
|
||||
decf648 apply #43ffc000000000000000000400000000 -> 1.0000000000E+6121
|
||||
decf649 apply 1E+6120 -> #43ffc000000000000000000040000000 Clamped
|
||||
decf650 apply #43ffc000000000000000000040000000 -> 1.000000000E+6120
|
||||
decf651 apply 1E+6119 -> #43ffc000000000000000000008000000 Clamped
|
||||
decf652 apply #43ffc000000000000000000008000000 -> 1.00000000E+6119
|
||||
decf653 apply 1E+6118 -> #43ffc000000000000000000001000000 Clamped
|
||||
decf654 apply #43ffc000000000000000000001000000 -> 1.0000000E+6118
|
||||
decf655 apply 1E+6117 -> #43ffc000000000000000000000100000 Clamped
|
||||
decf656 apply #43ffc000000000000000000000100000 -> 1.000000E+6117
|
||||
decf657 apply 1E+6116 -> #43ffc000000000000000000000020000 Clamped
|
||||
decf658 apply #43ffc000000000000000000000020000 -> 1.00000E+6116
|
||||
decf659 apply 1E+6115 -> #43ffc000000000000000000000004000 Clamped
|
||||
decf660 apply #43ffc000000000000000000000004000 -> 1.0000E+6115
|
||||
decf661 apply 1E+6114 -> #43ffc000000000000000000000000400 Clamped
|
||||
decf662 apply #43ffc000000000000000000000000400 -> 1.000E+6114
|
||||
decf663 apply 1E+6113 -> #43ffc000000000000000000000000080 Clamped
|
||||
decf664 apply #43ffc000000000000000000000000080 -> 1.00E+6113
|
||||
decf665 apply 1E+6112 -> #43ffc000000000000000000000000010 Clamped
|
||||
decf666 apply #43ffc000000000000000000000000010 -> 1.0E+6112
|
||||
decf667 apply 1E+6111 -> #43ffc000000000000000000000000001
|
||||
decf668 apply #43ffc000000000000000000000000001 -> 1E+6111
|
||||
decf669 apply 1E+6110 -> #43ff8000000000000000000000000001
|
||||
decf670 apply #43ff8000000000000000000000000001 -> 1E+6110
|
||||
|
||||
-- Selected DPD codes
|
||||
decf700 apply #22080000000000000000000000000000 -> 0
|
||||
decf701 apply #22080000000000000000000000000009 -> 9
|
||||
decf702 apply #22080000000000000000000000000010 -> 10
|
||||
decf703 apply #22080000000000000000000000000019 -> 19
|
||||
decf704 apply #22080000000000000000000000000020 -> 20
|
||||
decf705 apply #22080000000000000000000000000029 -> 29
|
||||
decf706 apply #22080000000000000000000000000030 -> 30
|
||||
decf707 apply #22080000000000000000000000000039 -> 39
|
||||
decf708 apply #22080000000000000000000000000040 -> 40
|
||||
decf709 apply #22080000000000000000000000000049 -> 49
|
||||
decf710 apply #22080000000000000000000000000050 -> 50
|
||||
decf711 apply #22080000000000000000000000000059 -> 59
|
||||
decf712 apply #22080000000000000000000000000060 -> 60
|
||||
decf713 apply #22080000000000000000000000000069 -> 69
|
||||
decf714 apply #22080000000000000000000000000070 -> 70
|
||||
decf715 apply #22080000000000000000000000000071 -> 71
|
||||
decf716 apply #22080000000000000000000000000072 -> 72
|
||||
decf717 apply #22080000000000000000000000000073 -> 73
|
||||
decf718 apply #22080000000000000000000000000074 -> 74
|
||||
decf719 apply #22080000000000000000000000000075 -> 75
|
||||
decf720 apply #22080000000000000000000000000076 -> 76
|
||||
decf721 apply #22080000000000000000000000000077 -> 77
|
||||
decf722 apply #22080000000000000000000000000078 -> 78
|
||||
decf723 apply #22080000000000000000000000000079 -> 79
|
||||
|
||||
decf730 apply #2208000000000000000000000000029e -> 994
|
||||
decf731 apply #2208000000000000000000000000029f -> 995
|
||||
decf732 apply #220800000000000000000000000002a0 -> 520
|
||||
decf733 apply #220800000000000000000000000002a1 -> 521
|
||||
|
||||
-- DPD: one of each of the huffman groups
|
||||
decf740 apply #220800000000000000000000000003f7 -> 777
|
||||
decf741 apply #220800000000000000000000000003f8 -> 778
|
||||
decf742 apply #220800000000000000000000000003eb -> 787
|
||||
decf743 apply #2208000000000000000000000000037d -> 877
|
||||
decf744 apply #2208000000000000000000000000039f -> 997
|
||||
decf745 apply #220800000000000000000000000003bf -> 979
|
||||
decf746 apply #220800000000000000000000000003df -> 799
|
||||
decf747 apply #2208000000000000000000000000006e -> 888
|
||||
|
||||
|
||||
-- DPD all-highs cases (includes the 24 redundant codes)
|
||||
decf750 apply #2208000000000000000000000000006e -> 888
|
||||
decf751 apply #2208000000000000000000000000016e -> 888
|
||||
decf752 apply #2208000000000000000000000000026e -> 888
|
||||
decf753 apply #2208000000000000000000000000036e -> 888
|
||||
decf754 apply #2208000000000000000000000000006f -> 889
|
||||
decf755 apply #2208000000000000000000000000016f -> 889
|
||||
decf756 apply #2208000000000000000000000000026f -> 889
|
||||
decf757 apply #2208000000000000000000000000036f -> 889
|
||||
|
||||
decf760 apply #2208000000000000000000000000007e -> 898
|
||||
decf761 apply #2208000000000000000000000000017e -> 898
|
||||
decf762 apply #2208000000000000000000000000027e -> 898
|
||||
decf763 apply #2208000000000000000000000000037e -> 898
|
||||
decf764 apply #2208000000000000000000000000007f -> 899
|
||||
decf765 apply #2208000000000000000000000000017f -> 899
|
||||
decf766 apply #2208000000000000000000000000027f -> 899
|
||||
decf767 apply #2208000000000000000000000000037f -> 899
|
||||
|
||||
decf770 apply #220800000000000000000000000000ee -> 988
|
||||
decf771 apply #220800000000000000000000000001ee -> 988
|
||||
decf772 apply #220800000000000000000000000002ee -> 988
|
||||
decf773 apply #220800000000000000000000000003ee -> 988
|
||||
decf774 apply #220800000000000000000000000000ef -> 989
|
||||
decf775 apply #220800000000000000000000000001ef -> 989
|
||||
decf776 apply #220800000000000000000000000002ef -> 989
|
||||
decf777 apply #220800000000000000000000000003ef -> 989
|
||||
|
||||
decf780 apply #220800000000000000000000000000fe -> 998
|
||||
decf781 apply #220800000000000000000000000001fe -> 998
|
||||
decf782 apply #220800000000000000000000000002fe -> 998
|
||||
decf783 apply #220800000000000000000000000003fe -> 998
|
||||
decf784 apply #220800000000000000000000000000ff -> 999
|
||||
decf785 apply #220800000000000000000000000001ff -> 999
|
||||
decf786 apply #220800000000000000000000000002ff -> 999
|
||||
decf787 apply #220800000000000000000000000003ff -> 999
|
||||
|
||||
385
Lib/test/decimaltestdata/decimal32.decTest
Normal file
385
Lib/test/decimaltestdata/decimal32.decTest
Normal file
|
|
@ -0,0 +1,385 @@
|
|||
------------------------------------------------------------------------
|
||||
-- decimal32.decTest -- decimal four-byte format testcases --
|
||||
-- Copyright (c) IBM Corporation, 2000, 2003. All rights reserved. --
|
||||
------------------------------------------------------------------------
|
||||
-- Please see the document "General Decimal Arithmetic Testcases" --
|
||||
-- at http://www2.hursley.ibm.com/decimal for the description of --
|
||||
-- these testcases. --
|
||||
-- --
|
||||
-- These testcases are experimental ('beta' versions), and they --
|
||||
-- may contain errors. They are offered on an as-is basis. In --
|
||||
-- particular, achieving the same results as the tests here is not --
|
||||
-- a guarantee that an implementation complies with any Standard --
|
||||
-- or specification. The tests are not exhaustive. --
|
||||
-- --
|
||||
-- Please send comments, suggestions, and corrections to the author: --
|
||||
-- Mike Cowlishaw, IBM Fellow --
|
||||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.39
|
||||
|
||||
-- This set of tests is for the four-byte concrete representation.
|
||||
-- Its characteristics are:
|
||||
--
|
||||
-- 1 bit sign
|
||||
-- 5 bits combination field
|
||||
-- 6 bits exponent continuation
|
||||
-- 20 bits coefficient continuation
|
||||
--
|
||||
-- Total exponent length 8 bits
|
||||
-- Total coefficient length 24 bits (7 digits)
|
||||
--
|
||||
-- Elimit = 191 (maximum encoded exponent)
|
||||
-- Emax = 96 (largest exponent value)
|
||||
-- Emin = -95 (smallest exponent value)
|
||||
-- bias = 101 (subtracted from encoded exponent) = -Etiny
|
||||
|
||||
extended: 1
|
||||
precision: 7
|
||||
rounding: half_up
|
||||
maxExponent: 96
|
||||
minExponent: -95
|
||||
|
||||
-- General testcases
|
||||
-- (mostly derived from the Strawman 4 document and examples)
|
||||
decd001 apply #A23003D0 -> -7.50
|
||||
decd002 apply -7.50 -> #A23003D0
|
||||
|
||||
-- Normality
|
||||
decd010 apply 1234567 -> #2654d2e7
|
||||
decd011 apply 1234567.0 -> #2654d2e7 Rounded
|
||||
decd012 apply 1234567.1 -> #2654d2e7 Rounded Inexact
|
||||
decd013 apply -1234567 -> #a654d2e7
|
||||
decd014 apply -1234567.0 -> #a654d2e7 Rounded
|
||||
decd015 apply -1234567.1 -> #a654d2e7 Rounded Inexact
|
||||
|
||||
|
||||
-- Nmax and similar
|
||||
decd022 apply 9.999999E+96 -> #77f3fcff
|
||||
decd023 apply #77f3fcff -> 9.999999E+96
|
||||
decd024 apply 1.234567E+96 -> #47f4d2e7
|
||||
decd025 apply #47f4d2e7 -> 1.234567E+96
|
||||
-- fold-downs (more below)
|
||||
decd030 apply 1.23E+96 -> #47f4c000 Clamped
|
||||
decd031 apply #47f4c000 -> 1.230000E+96
|
||||
decd032 apply 1E+96 -> #47f00000 Clamped
|
||||
decd033 apply #47f00000 -> 1.000000E+96
|
||||
|
||||
-- overflows
|
||||
maxExponent: 999 -- set high so conversion causes the overflow
|
||||
minExponent: -999
|
||||
decd040 apply 10E+96 -> #78000000 Overflow Rounded Inexact
|
||||
decd041 apply 1.000000E+97 -> #78000000 Overflow Rounded Inexact
|
||||
maxExponent: 96
|
||||
minExponent: -95
|
||||
|
||||
decd051 apply 12345 -> #225049c5
|
||||
decd052 apply #225049c5 -> 12345
|
||||
decd053 apply 1234 -> #22500534
|
||||
decd054 apply #22500534 -> 1234
|
||||
decd055 apply 123 -> #225000a3
|
||||
decd056 apply #225000a3 -> 123
|
||||
decd057 apply 12 -> #22500012
|
||||
decd058 apply #22500012 -> 12
|
||||
decd059 apply 1 -> #22500001
|
||||
decd060 apply #22500001 -> 1
|
||||
decd061 apply 1.23 -> #223000a3
|
||||
decd062 apply #223000a3 -> 1.23
|
||||
decd063 apply 123.45 -> #223049c5
|
||||
decd064 apply #223049c5 -> 123.45
|
||||
|
||||
-- Nmin and below
|
||||
decd071 apply 1E-95 -> #00600001
|
||||
decd072 apply #00600001 -> 1E-95
|
||||
decd073 apply 1.000000E-95 -> #04000000
|
||||
decd074 apply #04000000 -> 1.000000E-95
|
||||
decd075 apply 1.000001E-95 -> #04000001
|
||||
decd076 apply #04000001 -> 1.000001E-95
|
||||
|
||||
decd077 apply 0.100000E-95 -> #00020000 Subnormal
|
||||
decd07x apply 1.00000E-96 -> 1.00000E-96 Subnormal
|
||||
decd078 apply #00020000 -> 1.00000E-96 Subnormal
|
||||
decd079 apply 0.000010E-95 -> #00000010 Subnormal
|
||||
decd080 apply #00000010 -> 1.0E-100 Subnormal
|
||||
decd081 apply 0.000001E-95 -> #00000001 Subnormal
|
||||
decd082 apply #00000001 -> 1E-101 Subnormal
|
||||
decd083 apply 1e-101 -> #00000001 Subnormal
|
||||
decd084 apply #00000001 -> 1E-101 Subnormal
|
||||
decd08x apply 1e-101 -> 1E-101 Subnormal
|
||||
|
||||
-- underflows
|
||||
decd090 apply 1e-101 -> #00000001 Subnormal
|
||||
decd091 apply 1.9e-101 -> #00000002 Subnormal Underflow Inexact Rounded
|
||||
decd092 apply 1.1e-101 -> #00000001 Subnormal Underflow Inexact Rounded
|
||||
decd093 apply 1.001e-101 -> #00000001 Subnormal Underflow Inexact Rounded
|
||||
decd094 apply 1.000001e-101 -> #00000001 Subnormal Underflow Inexact Rounded
|
||||
decd095 apply 1.0000001e-101 -> #00000001 Subnormal Underflow Inexact Rounded
|
||||
decd096 apply 0.1e-101 -> #00000000 Subnormal Underflow Inexact Rounded
|
||||
decd097 apply 0.001e-101 -> #00000000 Subnormal Underflow Inexact Rounded
|
||||
decd098 apply 0.000001e-101 -> #00000000 Subnormal Underflow Inexact Rounded
|
||||
decd099 apply 0.0000001e-101 -> #00000000 Subnormal Underflow Inexact Rounded
|
||||
|
||||
-- same again, negatives --
|
||||
|
||||
-- Nmax and similar
|
||||
decd122 apply -9.999999E+96 -> #f7f3fcff
|
||||
decd123 apply #f7f3fcff -> -9.999999E+96
|
||||
decd124 apply -1.234567E+96 -> #c7f4d2e7
|
||||
decd125 apply #c7f4d2e7 -> -1.234567E+96
|
||||
-- fold-downs (more below)
|
||||
decd130 apply -1.23E+96 -> #c7f4c000 Clamped
|
||||
decd131 apply #c7f4c000 -> -1.230000E+96
|
||||
decd132 apply -1E+96 -> #c7f00000 Clamped
|
||||
decd133 apply #c7f00000 -> -1.000000E+96
|
||||
|
||||
-- overflows
|
||||
maxExponent: 999 -- set high so conversion causes the overflow
|
||||
minExponent: -999
|
||||
decd140 apply -10E+96 -> #f8000000 Overflow Rounded Inexact
|
||||
decd141 apply -1.000000E+97 -> #f8000000 Overflow Rounded Inexact
|
||||
maxExponent: 96
|
||||
minExponent: -95
|
||||
|
||||
decd151 apply -12345 -> #a25049c5
|
||||
decd152 apply #a25049c5 -> -12345
|
||||
decd153 apply -1234 -> #a2500534
|
||||
decd154 apply #a2500534 -> -1234
|
||||
decd155 apply -123 -> #a25000a3
|
||||
decd156 apply #a25000a3 -> -123
|
||||
decd157 apply -12 -> #a2500012
|
||||
decd158 apply #a2500012 -> -12
|
||||
decd159 apply -1 -> #a2500001
|
||||
decd160 apply #a2500001 -> -1
|
||||
decd161 apply -1.23 -> #a23000a3
|
||||
decd162 apply #a23000a3 -> -1.23
|
||||
decd163 apply -123.45 -> #a23049c5
|
||||
decd164 apply #a23049c5 -> -123.45
|
||||
|
||||
-- Nmin and below
|
||||
decd171 apply -1E-95 -> #80600001
|
||||
decd172 apply #80600001 -> -1E-95
|
||||
decd173 apply -1.000000E-95 -> #84000000
|
||||
decd174 apply #84000000 -> -1.000000E-95
|
||||
decd175 apply -1.000001E-95 -> #84000001
|
||||
decd176 apply #84000001 -> -1.000001E-95
|
||||
|
||||
decd177 apply -0.100000E-95 -> #80020000 Subnormal
|
||||
decd178 apply #80020000 -> -1.00000E-96 Subnormal
|
||||
decd179 apply -0.000010E-95 -> #80000010 Subnormal
|
||||
decd180 apply #80000010 -> -1.0E-100 Subnormal
|
||||
decd181 apply -0.000001E-95 -> #80000001 Subnormal
|
||||
decd182 apply #80000001 -> -1E-101 Subnormal
|
||||
decd183 apply -1e-101 -> #80000001 Subnormal
|
||||
decd184 apply #80000001 -> -1E-101 Subnormal
|
||||
|
||||
-- underflows
|
||||
decd190 apply -1e-101 -> #80000001 Subnormal
|
||||
decd191 apply -1.9e-101 -> #80000002 Subnormal Underflow Inexact Rounded
|
||||
decd192 apply -1.1e-101 -> #80000001 Subnormal Underflow Inexact Rounded
|
||||
decd193 apply -1.001e-101 -> #80000001 Subnormal Underflow Inexact Rounded
|
||||
decd194 apply -1.000001e-101 -> #80000001 Subnormal Underflow Inexact Rounded
|
||||
decd195 apply -1.0000001e-101 -> #80000001 Subnormal Underflow Inexact Rounded
|
||||
decd196 apply -0.1e-101 -> #80000000 Subnormal Underflow Inexact Rounded
|
||||
decd197 apply -0.001e-101 -> #80000000 Subnormal Underflow Inexact Rounded
|
||||
decd198 apply -0.000001e-101 -> #80000000 Subnormal Underflow Inexact Rounded
|
||||
decd199 apply -0.0000001e-101 -> #80000000 Subnormal Underflow Inexact Rounded
|
||||
|
||||
-- zeros
|
||||
decd400 apply 0E-400 -> #00000000 Clamped
|
||||
decd401 apply 0E-101 -> #00000000
|
||||
decd402 apply #00000000 -> 0E-101
|
||||
decd403 apply 0.000000E-95 -> #00000000
|
||||
decd404 apply #00000000 -> 0E-101
|
||||
decd405 apply 0E-2 -> #22300000
|
||||
decd406 apply #22300000 -> 0.00
|
||||
decd407 apply 0 -> #22500000
|
||||
decd408 apply #22500000 -> 0
|
||||
decd409 apply 0E+3 -> #22800000
|
||||
decd410 apply #22800000 -> 0E+3
|
||||
decd411 apply 0E+90 -> #43f00000
|
||||
decd412 apply #43f00000 -> 0E+90
|
||||
-- clamped zeros...
|
||||
decd413 apply 0E+91 -> #43f00000 Clamped
|
||||
decd414 apply #43f00000 -> 0E+90
|
||||
decd415 apply 0E+96 -> #43f00000 Clamped
|
||||
decd416 apply #43f00000 -> 0E+90
|
||||
decd417 apply 0E+400 -> #43f00000 Clamped
|
||||
decd418 apply #43f00000 -> 0E+90
|
||||
|
||||
-- negative zeros
|
||||
decd420 apply -0E-400 -> #80000000 Clamped
|
||||
decd421 apply -0E-101 -> #80000000
|
||||
decd422 apply #80000000 -> -0E-101
|
||||
decd423 apply -0.000000E-95 -> #80000000
|
||||
decd424 apply #80000000 -> -0E-101
|
||||
decd425 apply -0E-2 -> #a2300000
|
||||
decd426 apply #a2300000 -> -0.00
|
||||
decd427 apply -0 -> #a2500000
|
||||
decd428 apply #a2500000 -> -0
|
||||
decd429 apply -0E+3 -> #a2800000
|
||||
decd430 apply #a2800000 -> -0E+3
|
||||
decd431 apply -0E+90 -> #c3f00000
|
||||
decd432 apply #c3f00000 -> -0E+90
|
||||
-- clamped zeros...
|
||||
decd433 apply -0E+91 -> #c3f00000 Clamped
|
||||
decd434 apply #c3f00000 -> -0E+90
|
||||
decd435 apply -0E+96 -> #c3f00000 Clamped
|
||||
decd436 apply #c3f00000 -> -0E+90
|
||||
decd437 apply -0E+400 -> #c3f00000 Clamped
|
||||
decd438 apply #c3f00000 -> -0E+90
|
||||
|
||||
-- Specials
|
||||
decd500 apply Infinity -> #78000000
|
||||
decd501 apply #78787878 -> #78000000
|
||||
decd502 apply #78000000 -> Infinity
|
||||
decd503 apply #79797979 -> #78000000
|
||||
decd504 apply #79000000 -> Infinity
|
||||
decd505 apply #7a7a7a7a -> #78000000
|
||||
decd506 apply #7a000000 -> Infinity
|
||||
decd507 apply #7b7b7b7b -> #78000000
|
||||
decd508 apply #7b000000 -> Infinity
|
||||
decd509 apply #7c7c7c7c -> #7c0c7c7c
|
||||
|
||||
decd510 apply NaN -> #7c000000
|
||||
decd511 apply #7c000000 -> NaN
|
||||
decd512 apply #7d7d7d7d -> #7c0d7d7d
|
||||
decd513 apply #7d000000 -> NaN
|
||||
decd514 apply #7e7e7e7e -> #7e0e7c7e
|
||||
decd515 apply #7e000000 -> sNaN
|
||||
decd516 apply #7f7f7f7f -> #7e0f7c7f
|
||||
decd517 apply #7f000000 -> sNaN
|
||||
decd518 apply #7fffffff -> sNaN999999
|
||||
decd519 apply #7fffffff -> #7e03fcff
|
||||
|
||||
decd520 apply -Infinity -> #f8000000
|
||||
decd521 apply #f8787878 -> #f8000000
|
||||
decd522 apply #f8000000 -> -Infinity
|
||||
decd523 apply #f9797979 -> #f8000000
|
||||
decd524 apply #f9000000 -> -Infinity
|
||||
decd525 apply #fa7a7a7a -> #f8000000
|
||||
decd526 apply #fa000000 -> -Infinity
|
||||
decd527 apply #fb7b7b7b -> #f8000000
|
||||
decd528 apply #fb000000 -> -Infinity
|
||||
|
||||
decd529 apply -NaN -> #fc000000
|
||||
decd530 apply #fc7c7c7c -> #fc0c7c7c
|
||||
decd531 apply #fc000000 -> -NaN
|
||||
decd532 apply #fd7d7d7d -> #fc0d7d7d
|
||||
decd533 apply #fd000000 -> -NaN
|
||||
decd534 apply #fe7e7e7e -> #fe0e7c7e
|
||||
decd535 apply #fe000000 -> -sNaN
|
||||
decd536 apply #ff7f7f7f -> #fe0f7c7f
|
||||
decd537 apply #ff000000 -> -sNaN
|
||||
decd538 apply #ffffffff -> -sNaN999999
|
||||
decd539 apply #ffffffff -> #fe03fcff
|
||||
|
||||
-- diagnostic NaNs
|
||||
decd540 apply NaN -> #7c000000
|
||||
decd541 apply NaN0 -> #7c000000
|
||||
decd542 apply NaN1 -> #7c000001
|
||||
decd543 apply NaN12 -> #7c000012
|
||||
decd544 apply NaN79 -> #7c000079
|
||||
decd545 apply NaN12345 -> #7c0049c5
|
||||
decd546 apply NaN123456 -> #7c028e56
|
||||
decd547 apply NaN799799 -> #7c0f7fdf
|
||||
decd548 apply NaN999999 -> #7c03fcff
|
||||
decd549 apply NaN1234567 -> #7c000000 -- too many digits
|
||||
|
||||
|
||||
-- fold-down full sequence
|
||||
decd601 apply 1E+96 -> #47f00000 Clamped
|
||||
decd602 apply #47f00000 -> 1.000000E+96
|
||||
decd603 apply 1E+95 -> #43f20000 Clamped
|
||||
decd604 apply #43f20000 -> 1.00000E+95
|
||||
decd605 apply 1E+94 -> #43f04000 Clamped
|
||||
decd606 apply #43f04000 -> 1.0000E+94
|
||||
decd607 apply 1E+93 -> #43f00400 Clamped
|
||||
decd608 apply #43f00400 -> 1.000E+93
|
||||
decd609 apply 1E+92 -> #43f00080 Clamped
|
||||
decd610 apply #43f00080 -> 1.00E+92
|
||||
decd611 apply 1E+91 -> #43f00010 Clamped
|
||||
decd612 apply #43f00010 -> 1.0E+91
|
||||
decd613 apply 1E+90 -> #43f00001
|
||||
decd614 apply #43f00001 -> 1E+90
|
||||
|
||||
|
||||
-- Selected DPD codes
|
||||
decd700 apply #22500000 -> 0
|
||||
decd701 apply #22500009 -> 9
|
||||
decd702 apply #22500010 -> 10
|
||||
decd703 apply #22500019 -> 19
|
||||
decd704 apply #22500020 -> 20
|
||||
decd705 apply #22500029 -> 29
|
||||
decd706 apply #22500030 -> 30
|
||||
decd707 apply #22500039 -> 39
|
||||
decd708 apply #22500040 -> 40
|
||||
decd709 apply #22500049 -> 49
|
||||
decd710 apply #22500050 -> 50
|
||||
decd711 apply #22500059 -> 59
|
||||
decd712 apply #22500060 -> 60
|
||||
decd713 apply #22500069 -> 69
|
||||
decd714 apply #22500070 -> 70
|
||||
decd715 apply #22500071 -> 71
|
||||
decd716 apply #22500072 -> 72
|
||||
decd717 apply #22500073 -> 73
|
||||
decd718 apply #22500074 -> 74
|
||||
decd719 apply #22500075 -> 75
|
||||
decd720 apply #22500076 -> 76
|
||||
decd721 apply #22500077 -> 77
|
||||
decd722 apply #22500078 -> 78
|
||||
decd723 apply #22500079 -> 79
|
||||
|
||||
decd730 apply #2250029e -> 994
|
||||
decd731 apply #2250029f -> 995
|
||||
decd732 apply #225002a0 -> 520
|
||||
decd733 apply #225002a1 -> 521
|
||||
|
||||
-- DPD: one of each of the huffman groups
|
||||
decd740 apply #225003f7 -> 777
|
||||
decd741 apply #225003f8 -> 778
|
||||
decd742 apply #225003eb -> 787
|
||||
decd743 apply #2250037d -> 877
|
||||
decd744 apply #2250039f -> 997
|
||||
decd745 apply #225003bf -> 979
|
||||
decd746 apply #225003df -> 799
|
||||
decd747 apply #2250006e -> 888
|
||||
|
||||
|
||||
-- DPD all-highs cases (includes the 24 redundant codes)
|
||||
decd750 apply #2250006e -> 888
|
||||
decd751 apply #2250016e -> 888
|
||||
decd752 apply #2250026e -> 888
|
||||
decd753 apply #2250036e -> 888
|
||||
decd754 apply #2250006f -> 889
|
||||
decd755 apply #2250016f -> 889
|
||||
decd756 apply #2250026f -> 889
|
||||
decd757 apply #2250036f -> 889
|
||||
|
||||
decd760 apply #2250007e -> 898
|
||||
decd761 apply #2250017e -> 898
|
||||
decd762 apply #2250027e -> 898
|
||||
decd763 apply #2250037e -> 898
|
||||
decd764 apply #2250007f -> 899
|
||||
decd765 apply #2250017f -> 899
|
||||
decd766 apply #2250027f -> 899
|
||||
decd767 apply #2250037f -> 899
|
||||
|
||||
decd770 apply #225000ee -> 988
|
||||
decd771 apply #225001ee -> 988
|
||||
decd772 apply #225002ee -> 988
|
||||
decd773 apply #225003ee -> 988
|
||||
decd774 apply #225000ef -> 989
|
||||
decd775 apply #225001ef -> 989
|
||||
decd776 apply #225002ef -> 989
|
||||
decd777 apply #225003ef -> 989
|
||||
|
||||
decd780 apply #225000fe -> 998
|
||||
decd781 apply #225001fe -> 998
|
||||
decd782 apply #225002fe -> 998
|
||||
decd783 apply #225003fe -> 998
|
||||
decd784 apply #225000ff -> 999
|
||||
decd785 apply #225001ff -> 999
|
||||
decd786 apply #225002ff -> 999
|
||||
decd787 apply #225003ff -> 999
|
||||
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.28
|
||||
version: 2.39
|
||||
|
||||
-- This set of tests is for the eight-byte concrete representation.
|
||||
-- Its characteristics are:
|
||||
|
|
@ -234,6 +234,7 @@ dece451 apply -0E+500 -> #c3fc000000000000 Clamped
|
|||
dece452 apply #c3fc000000000000 -> -0E+369
|
||||
|
||||
-- Specials
|
||||
dece500 apply Infinity -> #7800000000000000
|
||||
dece501 apply #7878787878787878 -> #7800000000000000
|
||||
dece502 apply #7800000000000000 -> Infinity
|
||||
dece503 apply #7979797979797979 -> #7800000000000000
|
||||
|
|
@ -242,15 +243,20 @@ dece505 apply #7a7a7a7a7a7a7a7a -> #7800000000000000
|
|||
dece506 apply #7a00000000000000 -> Infinity
|
||||
dece507 apply #7b7b7b7b7b7b7b7b -> #7800000000000000
|
||||
dece508 apply #7b00000000000000 -> Infinity
|
||||
dece509 apply #7c7c7c7c7c7c7c7c -> #7dffffffffffffff
|
||||
dece510 apply #7c00000000000000 -> NaN
|
||||
dece511 apply #7d7d7d7d7d7d7d7d -> #7dffffffffffffff
|
||||
dece512 apply #7d00000000000000 -> NaN
|
||||
dece513 apply #7e7e7e7e7e7e7e7e -> #7fffffffffffffff
|
||||
dece514 apply #7e00000000000000 -> sNaN
|
||||
dece515 apply #7f7f7f7f7f7f7f7f -> #7fffffffffffffff
|
||||
dece516 apply #7f00000000000000 -> sNaN
|
||||
|
||||
dece509 apply NaN -> #7c00000000000000
|
||||
dece510 apply #7c7c7c7c7c7c7c7c -> #7c007c7c7c7c7c7c
|
||||
dece511 apply #7c00000000000000 -> NaN
|
||||
dece512 apply #7d7d7d7d7d7d7d7d -> #7c017d7d7d7d7d7d
|
||||
dece513 apply #7d00000000000000 -> NaN
|
||||
dece514 apply #7e7e7e7e7e7e7e7e -> #7e007e7e7e7e7c7e
|
||||
dece515 apply #7e00000000000000 -> sNaN
|
||||
dece516 apply #7f7f7f7f7f7f7f7f -> #7e007f7f7f7f7c7f
|
||||
dece517 apply #7f00000000000000 -> sNaN
|
||||
dece518 apply #7fffffffffffffff -> sNaN999999999999999
|
||||
dece519 apply #7fffffffffffffff -> #7e00ff3fcff3fcff
|
||||
|
||||
dece520 apply -Infinity -> #f800000000000000
|
||||
dece521 apply #f878787878787878 -> #f800000000000000
|
||||
dece522 apply #f800000000000000 -> -Infinity
|
||||
dece523 apply #f979797979797979 -> #f800000000000000
|
||||
|
|
@ -259,14 +265,31 @@ dece525 apply #fa7a7a7a7a7a7a7a -> #f800000000000000
|
|||
dece526 apply #fa00000000000000 -> -Infinity
|
||||
dece527 apply #fb7b7b7b7b7b7b7b -> #f800000000000000
|
||||
dece528 apply #fb00000000000000 -> -Infinity
|
||||
dece529 apply #fc7c7c7c7c7c7c7c -> #7dffffffffffffff
|
||||
dece530 apply #fc00000000000000 -> NaN
|
||||
dece531 apply #fd7d7d7d7d7d7d7d -> #7dffffffffffffff
|
||||
dece532 apply #fd00000000000000 -> NaN
|
||||
dece533 apply #fe7e7e7e7e7e7e7e -> #7fffffffffffffff
|
||||
dece534 apply #fe00000000000000 -> sNaN
|
||||
dece535 apply #ff7f7f7f7f7f7f7f -> #7fffffffffffffff
|
||||
dece536 apply #ff00000000000000 -> sNaN
|
||||
|
||||
dece529 apply -NaN -> #fc00000000000000
|
||||
dece530 apply #fc7c7c7c7c7c7c7c -> #fc007c7c7c7c7c7c
|
||||
dece531 apply #fc00000000000000 -> -NaN
|
||||
dece532 apply #fd7d7d7d7d7d7d7d -> #fc017d7d7d7d7d7d
|
||||
dece533 apply #fd00000000000000 -> -NaN
|
||||
dece534 apply #fe7e7e7e7e7e7e7e -> #fe007e7e7e7e7c7e
|
||||
dece535 apply #fe00000000000000 -> -sNaN
|
||||
dece536 apply #ff7f7f7f7f7f7f7f -> #fe007f7f7f7f7c7f
|
||||
dece537 apply #ff00000000000000 -> -sNaN
|
||||
dece538 apply #ffffffffffffffff -> -sNaN999999999999999
|
||||
dece539 apply #ffffffffffffffff -> #fe00ff3fcff3fcff
|
||||
|
||||
-- diagnostic NaNs
|
||||
dece540 apply NaN -> #7c00000000000000
|
||||
dece541 apply NaN0 -> #7c00000000000000
|
||||
dece542 apply NaN1 -> #7c00000000000001
|
||||
dece543 apply NaN12 -> #7c00000000000012
|
||||
dece544 apply NaN79 -> #7c00000000000079
|
||||
dece545 apply NaN12345 -> #7c000000000049c5
|
||||
dece546 apply NaN123456 -> #7c00000000028e56
|
||||
dece547 apply NaN799799 -> #7c000000000f7fdf
|
||||
dece548 apply NaN799799799799799 -> #7c03dff7fdff7fdf
|
||||
dece549 apply NaN999999999999999 -> #7c00ff3fcff3fcff
|
||||
dece550 apply NaN1234567890123456 -> #7c00000000000000 -- too many digits
|
||||
|
||||
-- fold-down full sequence
|
||||
dece601 apply 1E+384 -> #47fc000000000000 Clamped
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
extended: 1
|
||||
precision: 9
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
extended: 1
|
||||
precision: 9
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
extended: 1
|
||||
precision: 9
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- we assume that base comparison is tested in compare.decTest, so
|
||||
-- these mainly cover special cases and rounding
|
||||
|
|
@ -60,24 +60,36 @@ maxx030 max 0 0 -> 0
|
|||
maxx031 max 0 -0 -> 0
|
||||
maxx032 max 0 -0.0 -> 0
|
||||
maxx033 max 0 0.0 -> 0
|
||||
maxx034 max -0 0 -> -0 -- note: -0 = 0
|
||||
maxx034 max -0 0 -> 0 -- note: -0 = 0, but 0 chosen
|
||||
maxx035 max -0 -0 -> -0
|
||||
maxx036 max -0 -0.0 -> -0
|
||||
maxx037 max -0 0.0 -> -0
|
||||
maxx038 max 0.0 0 -> 0.0
|
||||
maxx036 max -0 -0.0 -> -0.0
|
||||
maxx037 max -0 0.0 -> 0.0
|
||||
maxx038 max 0.0 0 -> 0
|
||||
maxx039 max 0.0 -0 -> 0.0
|
||||
maxx040 max 0.0 -0.0 -> 0.0
|
||||
maxx041 max 0.0 0.0 -> 0.0
|
||||
maxx042 max -0.0 0 -> -0.0
|
||||
maxx042 max -0.0 0 -> 0
|
||||
maxx043 max -0.0 -0 -> -0.0
|
||||
maxx044 max -0.0 -0.0 -> -0.0
|
||||
maxx045 max -0.0 0.0 -> -0.0
|
||||
maxx045 max -0.0 0.0 -> 0.0
|
||||
|
||||
maxx046 max -0E1 0E2 -> -0E+1
|
||||
maxx047 max 0E2 0E1 -> 0E+2
|
||||
maxx048 max 0E1 0E2 -> 0E+1
|
||||
maxx049 max -0E3 -0E2 -> -0E+3
|
||||
maxx050 max -0E1 0E1 -> 0E+1
|
||||
maxx051 max -0E2 0E2 -> 0E+2
|
||||
maxx052 max -0E2 0E1 -> 0E+1
|
||||
maxx053 max -0E1 0E2 -> 0E+2
|
||||
maxx054 max 0E1 -0E1 -> 0E+1
|
||||
maxx055 max 0E2 -0E2 -> 0E+2
|
||||
maxx056 max 0E2 -0E1 -> 0E+2
|
||||
maxx057 max 0E1 -0E2 -> 0E+1
|
||||
|
||||
maxx058 max 0E1 0E1 -> 0E+1
|
||||
maxx059 max 0E2 0E2 -> 0E+2
|
||||
maxx060 max 0E2 0E1 -> 0E+2
|
||||
maxx061 max 0E1 0E2 -> 0E+2
|
||||
maxx062 max -0E1 -0E1 -> -0E+1
|
||||
maxx063 max -0E2 -0E2 -> -0E+2
|
||||
maxx064 max -0E2 -0E1 -> -0E+1
|
||||
maxx065 max -0E1 -0E2 -> -0E+1
|
||||
|
||||
-- Specials
|
||||
precision: 9
|
||||
|
|
@ -115,23 +127,24 @@ maxx133 max 1 -Inf -> 1
|
|||
maxx134 max 1000 -Inf -> 1000
|
||||
maxx135 max Inf -Inf -> Infinity
|
||||
|
||||
maxx141 max NaN -Inf -> NaN
|
||||
maxx142 max NaN -1000 -> NaN
|
||||
maxx143 max NaN -1 -> NaN
|
||||
maxx144 max NaN -0 -> NaN
|
||||
maxx145 max NaN 0 -> NaN
|
||||
maxx146 max NaN 1 -> NaN
|
||||
maxx147 max NaN 1000 -> NaN
|
||||
maxx148 max NaN Inf -> NaN
|
||||
-- 2004.08.02 754r chooses number over NaN in mixed cases
|
||||
maxx141 max NaN -Inf -> -Infinity
|
||||
maxx142 max NaN -1000 -> -1000
|
||||
maxx143 max NaN -1 -> -1
|
||||
maxx144 max NaN -0 -> -0
|
||||
maxx145 max NaN 0 -> 0
|
||||
maxx146 max NaN 1 -> 1
|
||||
maxx147 max NaN 1000 -> 1000
|
||||
maxx148 max NaN Inf -> Infinity
|
||||
maxx149 max NaN NaN -> NaN
|
||||
maxx150 max -Inf NaN -> NaN
|
||||
maxx151 max -1000 NaN -> NaN
|
||||
maxx152 max -1 NaN -> NaN
|
||||
maxx153 max -0 NaN -> NaN
|
||||
maxx154 max 0 NaN -> NaN
|
||||
maxx155 max 1 NaN -> NaN
|
||||
maxx156 max 1000 NaN -> NaN
|
||||
maxx157 max Inf NaN -> NaN
|
||||
maxx150 max -Inf NaN -> -Infinity
|
||||
maxx151 max -1000 NaN -> -1000
|
||||
maxx152 max -1 NaN -> -1
|
||||
maxx153 max -0 NaN -> -0
|
||||
maxx154 max 0 NaN -> 0
|
||||
maxx155 max 1 NaN -> 1
|
||||
maxx156 max 1000 NaN -> 1000
|
||||
maxx157 max Inf NaN -> Infinity
|
||||
|
||||
maxx161 max sNaN -Inf -> NaN Invalid_operation
|
||||
maxx162 max sNaN -1000 -> NaN Invalid_operation
|
||||
|
|
@ -154,13 +167,18 @@ maxx178 max Inf sNaN -> NaN Invalid_operation
|
|||
maxx179 max NaN sNaN -> NaN Invalid_operation
|
||||
|
||||
-- propagating NaNs
|
||||
maxx181 max NaN9 -Inf -> NaN9
|
||||
maxx182 max NaN8 9 -> NaN8
|
||||
maxx183 max -NaN7 Inf -> -NaN7
|
||||
maxx184 max NaN6 NaN5 -> NaN6
|
||||
maxx185 max -Inf NaN4 -> NaN4
|
||||
maxx186 max -9 -NaN3 -> -NaN3
|
||||
maxx187 max Inf NaN2 -> NaN2
|
||||
maxx181 max NaN9 -Inf -> -Infinity
|
||||
maxx182 max NaN8 9 -> 9
|
||||
maxx183 max -NaN7 Inf -> Infinity
|
||||
|
||||
maxx184 max -NaN1 NaN11 -> -NaN1
|
||||
maxx185 max NaN2 NaN12 -> NaN2
|
||||
maxx186 max -NaN13 -NaN7 -> -NaN13
|
||||
maxx187 max NaN14 -NaN5 -> NaN14
|
||||
|
||||
maxx188 max -Inf NaN4 -> -Infinity
|
||||
maxx189 max -9 -NaN3 -> -9
|
||||
maxx190 max Inf NaN2 -> Infinity
|
||||
|
||||
maxx191 max sNaN99 -Inf -> NaN99 Invalid_operation
|
||||
maxx192 max sNaN98 -1 -> NaN98 Invalid_operation
|
||||
|
|
@ -218,8 +236,9 @@ maxx238 max 1 -1234567896 -> 1
|
|||
-- from examples
|
||||
maxx280 max '3' '2' -> '3'
|
||||
maxx281 max '-10' '3' -> '3'
|
||||
maxx282 max '1.0' '1' -> '1.0'
|
||||
maxx282 max '1.0' '1' -> '1'
|
||||
maxx283 max '1' '1.0' -> '1'
|
||||
maxx284 max '7' 'NaN' -> '7'
|
||||
|
||||
-- overflow and underflow tests ...
|
||||
maxExponent: 999999999
|
||||
|
|
@ -255,42 +274,99 @@ maxx356 max 1e-777777777 -1e-411111111 -> 1E-777777777
|
|||
maxx357 max -1e-777777777 1e-411111111 -> 1E-411111111
|
||||
maxx358 max -1e-777777777 -1e-411111111 -> -1E-777777777
|
||||
|
||||
-- expanded list from min/max 754r purple prose
|
||||
-- [explicit tests for exponent ordering]
|
||||
maxx401 max Inf 1.1 -> Infinity
|
||||
maxx402 max 1.1 1 -> 1.1
|
||||
maxx403 max 1 1.0 -> 1
|
||||
maxx404 max 1.0 0.1 -> 1.0
|
||||
maxx405 max 0.1 0.10 -> 0.1
|
||||
maxx406 max 0.10 0.100 -> 0.10
|
||||
maxx407 max 0.10 0 -> 0.10
|
||||
maxx408 max 0 0.0 -> 0
|
||||
maxx409 max 0.0 -0 -> 0.0
|
||||
maxx410 max 0.0 -0.0 -> 0.0
|
||||
maxx411 max 0.00 -0.0 -> 0.00
|
||||
maxx412 max 0.0 -0.00 -> 0.0
|
||||
maxx413 max 0 -0.0 -> 0
|
||||
maxx414 max 0 -0 -> 0
|
||||
maxx415 max -0.0 -0 -> -0.0
|
||||
maxx416 max -0 -0.100 -> -0
|
||||
maxx417 max -0.100 -0.10 -> -0.100
|
||||
maxx418 max -0.10 -0.1 -> -0.10
|
||||
maxx419 max -0.1 -1.0 -> -0.1
|
||||
maxx420 max -1.0 -1 -> -1.0
|
||||
maxx421 max -1 -1.1 -> -1
|
||||
maxx423 max -1.1 -Inf -> -1.1
|
||||
-- same with operands reversed
|
||||
maxx431 max 1.1 Inf -> Infinity
|
||||
maxx432 max 1 1.1 -> 1.1
|
||||
maxx433 max 1.0 1 -> 1
|
||||
maxx434 max 0.1 1.0 -> 1.0
|
||||
maxx435 max 0.10 0.1 -> 0.1
|
||||
maxx436 max 0.100 0.10 -> 0.10
|
||||
maxx437 max 0 0.10 -> 0.10
|
||||
maxx438 max 0.0 0 -> 0
|
||||
maxx439 max -0 0.0 -> 0.0
|
||||
maxx440 max -0.0 0.0 -> 0.0
|
||||
maxx441 max -0.0 0.00 -> 0.00
|
||||
maxx442 max -0.00 0.0 -> 0.0
|
||||
maxx443 max -0.0 0 -> 0
|
||||
maxx444 max -0 0 -> 0
|
||||
maxx445 max -0 -0.0 -> -0.0
|
||||
maxx446 max -0.100 -0 -> -0
|
||||
maxx447 max -0.10 -0.100 -> -0.100
|
||||
maxx448 max -0.1 -0.10 -> -0.10
|
||||
maxx449 max -1.0 -0.1 -> -0.1
|
||||
maxx450 max -1 -1.0 -> -1.0
|
||||
maxx451 max -1.1 -1 -> -1
|
||||
maxx453 max -Inf -1.1 -> -1.1
|
||||
-- largies
|
||||
maxx460 max 1000 1E+3 -> 1E+3
|
||||
maxx461 max 1E+3 1000 -> 1E+3
|
||||
maxx462 max 1000 -1E+3 -> 1000
|
||||
maxx463 max 1E+3 -1000 -> 1E+3
|
||||
maxx464 max -1000 1E+3 -> 1E+3
|
||||
maxx465 max -1E+3 1000 -> 1000
|
||||
maxx466 max -1000 -1E+3 -> -1000
|
||||
maxx467 max -1E+3 -1000 -> -1000
|
||||
|
||||
|
||||
-- overflow tests
|
||||
maxexponent: 999999999
|
||||
minexponent: -999999999
|
||||
precision: 3
|
||||
maxx400 max 9.999E+999999999 0 -> Infinity Inexact Overflow Rounded
|
||||
maxx401 max -9.999E+999999999 0 -> 0
|
||||
maxx500 max 9.999E+999999999 0 -> Infinity Inexact Overflow Rounded
|
||||
maxx501 max -9.999E+999999999 0 -> 0
|
||||
|
||||
-- subnormals and underflow
|
||||
precision: 3
|
||||
maxexponent: 999
|
||||
minexponent: -999
|
||||
maxx410 max 1.00E-999 0 -> 1.00E-999
|
||||
maxx411 max 0.1E-999 0 -> 1E-1000 Subnormal
|
||||
maxx412 max 0.10E-999 0 -> 1.0E-1000 Subnormal
|
||||
maxx413 max 0.100E-999 0 -> 1.0E-1000 Subnormal Rounded
|
||||
maxx414 max 0.01E-999 0 -> 1E-1001 Subnormal
|
||||
maxx510 max 1.00E-999 0 -> 1.00E-999
|
||||
maxx511 max 0.1E-999 0 -> 1E-1000 Subnormal
|
||||
maxx512 max 0.10E-999 0 -> 1.0E-1000 Subnormal
|
||||
maxx513 max 0.100E-999 0 -> 1.0E-1000 Subnormal Rounded
|
||||
maxx514 max 0.01E-999 0 -> 1E-1001 Subnormal
|
||||
-- next is rounded to Emin
|
||||
maxx415 max 0.999E-999 0 -> 1.00E-999 Inexact Rounded Subnormal Underflow
|
||||
maxx416 max 0.099E-999 0 -> 1.0E-1000 Inexact Rounded Subnormal Underflow
|
||||
maxx417 max 0.009E-999 0 -> 1E-1001 Inexact Rounded Subnormal Underflow
|
||||
maxx418 max 0.001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow
|
||||
maxx419 max 0.0009E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow
|
||||
maxx420 max 0.0001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow
|
||||
maxx515 max 0.999E-999 0 -> 1.00E-999 Inexact Rounded Subnormal Underflow
|
||||
maxx516 max 0.099E-999 0 -> 1.0E-1000 Inexact Rounded Subnormal Underflow
|
||||
maxx517 max 0.009E-999 0 -> 1E-1001 Inexact Rounded Subnormal Underflow
|
||||
maxx518 max 0.001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow
|
||||
maxx519 max 0.0009E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow
|
||||
maxx520 max 0.0001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow
|
||||
|
||||
maxx430 max -1.00E-999 0 -> 0
|
||||
maxx431 max -0.1E-999 0 -> 0
|
||||
maxx432 max -0.10E-999 0 -> 0
|
||||
maxx433 max -0.100E-999 0 -> 0
|
||||
maxx434 max -0.01E-999 0 -> 0
|
||||
maxx435 max -0.999E-999 0 -> 0
|
||||
maxx436 max -0.099E-999 0 -> 0
|
||||
maxx437 max -0.009E-999 0 -> 0
|
||||
maxx438 max -0.001E-999 0 -> 0
|
||||
maxx439 max -0.0009E-999 0 -> 0
|
||||
maxx440 max -0.0001E-999 0 -> 0
|
||||
maxx530 max -1.00E-999 0 -> 0
|
||||
maxx531 max -0.1E-999 0 -> 0
|
||||
maxx532 max -0.10E-999 0 -> 0
|
||||
maxx533 max -0.100E-999 0 -> 0
|
||||
maxx534 max -0.01E-999 0 -> 0
|
||||
maxx535 max -0.999E-999 0 -> 0
|
||||
maxx536 max -0.099E-999 0 -> 0
|
||||
maxx537 max -0.009E-999 0 -> 0
|
||||
maxx538 max -0.001E-999 0 -> 0
|
||||
maxx539 max -0.0009E-999 0 -> 0
|
||||
maxx540 max -0.0001E-999 0 -> 0
|
||||
|
||||
-- Null tests
|
||||
maxx900 max 10 # -> NaN Invalid_operation
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- we assume that base comparison is tested in compare.decTest, so
|
||||
-- these mainly cover special cases and rounding
|
||||
|
|
@ -57,26 +57,28 @@ mnmx026 min 2 2 -> 2
|
|||
|
||||
-- extended zeros
|
||||
mnmx030 min 0 0 -> 0
|
||||
mnmx031 min 0 -0 -> 0
|
||||
mnmx032 min 0 -0.0 -> 0
|
||||
mnmx033 min 0 0.0 -> 0
|
||||
mnmx031 min 0 -0 -> -0
|
||||
mnmx032 min 0 -0.0 -> -0.0
|
||||
mnmx033 min 0 0.0 -> 0.0
|
||||
mnmx034 min -0 0 -> -0
|
||||
mnmx035 min -0 -0 -> -0
|
||||
mnmx036 min -0 -0.0 -> -0
|
||||
mnmx037 min -0 0.0 -> -0
|
||||
mnmx038 min 0.0 0 -> 0.0
|
||||
mnmx039 min 0.0 -0 -> 0.0
|
||||
mnmx040 min 0.0 -0.0 -> 0.0
|
||||
mnmx039 min 0.0 -0 -> -0
|
||||
mnmx040 min 0.0 -0.0 -> -0.0
|
||||
mnmx041 min 0.0 0.0 -> 0.0
|
||||
mnmx042 min -0.0 0 -> -0.0
|
||||
mnmx043 min -0.0 -0 -> -0.0
|
||||
mnmx043 min -0.0 -0 -> -0
|
||||
mnmx044 min -0.0 -0.0 -> -0.0
|
||||
mnmx045 min -0.0 0.0 -> -0.0
|
||||
|
||||
mnmx046 min -0E1 0E2 -> -0E+1
|
||||
mnmx047 min 0E2 0E1 -> 0E+2
|
||||
mnmx048 min 0E1 0E2 -> 0E+1
|
||||
mnmx049 min -0E3 -0E2 -> -0E+3
|
||||
mnmx046 min 0E1 -0E1 -> -0E+1
|
||||
mnmx047 min -0E1 0E2 -> -0E+1
|
||||
mnmx048 min 0E2 0E1 -> 0E+1
|
||||
mnmx049 min 0E1 0E2 -> 0E+1
|
||||
mnmx050 min -0E3 -0E2 -> -0E+3
|
||||
mnmx051 min -0E2 -0E3 -> -0E+3
|
||||
|
||||
-- Specials
|
||||
precision: 9
|
||||
|
|
@ -114,23 +116,24 @@ mnmx133 min 1 -Inf -> -Infinity
|
|||
mnmx134 min 1000 -Inf -> -Infinity
|
||||
mnmx135 min Inf -Inf -> -Infinity
|
||||
|
||||
mnmx141 min NaN -Inf -> NaN
|
||||
mnmx142 min NaN -1000 -> NaN
|
||||
mnmx143 min NaN -1 -> NaN
|
||||
mnmx144 min NaN -0 -> NaN
|
||||
mnmx145 min NaN 0 -> NaN
|
||||
mnmx146 min NaN 1 -> NaN
|
||||
mnmx147 min NaN 1000 -> NaN
|
||||
mnmx148 min NaN Inf -> NaN
|
||||
-- 2004.08.02 754r chooses number over NaN in mixed cases
|
||||
mnmx141 min NaN -Inf -> -Infinity
|
||||
mnmx142 min NaN -1000 -> -1000
|
||||
mnmx143 min NaN -1 -> -1
|
||||
mnmx144 min NaN -0 -> -0
|
||||
mnmx145 min NaN 0 -> 0
|
||||
mnmx146 min NaN 1 -> 1
|
||||
mnmx147 min NaN 1000 -> 1000
|
||||
mnmx148 min NaN Inf -> Infinity
|
||||
mnmx149 min NaN NaN -> NaN
|
||||
mnmx150 min -Inf NaN -> NaN
|
||||
mnmx151 min -1000 NaN -> NaN
|
||||
mnmx152 min -1 -NaN -> -NaN
|
||||
mnmx153 min -0 NaN -> NaN
|
||||
mnmx154 min 0 -NaN -> -NaN
|
||||
mnmx155 min 1 NaN -> NaN
|
||||
mnmx156 min 1000 NaN -> NaN
|
||||
mnmx157 min Inf NaN -> NaN
|
||||
mnmx150 min -Inf NaN -> -Infinity
|
||||
mnmx151 min -1000 NaN -> -1000
|
||||
mnmx152 min -1 -NaN -> -1
|
||||
mnmx153 min -0 NaN -> -0
|
||||
mnmx154 min 0 -NaN -> 0
|
||||
mnmx155 min 1 NaN -> 1
|
||||
mnmx156 min 1000 NaN -> 1000
|
||||
mnmx157 min Inf NaN -> Infinity
|
||||
|
||||
mnmx161 min sNaN -Inf -> NaN Invalid_operation
|
||||
mnmx162 min sNaN -1000 -> NaN Invalid_operation
|
||||
|
|
@ -153,17 +156,22 @@ mnmx178 min Inf sNaN -> NaN Invalid_operation
|
|||
mnmx179 min NaN sNaN -> NaN Invalid_operation
|
||||
|
||||
-- propagating NaNs
|
||||
mnmx181 min NaN9 -Inf -> NaN9
|
||||
mnmx182 min -NaN8 9990 -> -NaN8
|
||||
mnmx183 min NaN71 Inf -> NaN71
|
||||
mnmx184 min NaN6 NaN51 -> NaN6
|
||||
mnmx185 min -Inf NaN41 -> NaN41
|
||||
mnmx186 min -9999 -NaN33 -> -NaN33
|
||||
mnmx187 min Inf NaN2 -> NaN2
|
||||
mnmx181 min NaN9 -Inf -> -Infinity
|
||||
mnmx182 min -NaN8 9990 -> 9990
|
||||
mnmx183 min NaN71 Inf -> Infinity
|
||||
|
||||
mnmx184 min NaN1 NaN54 -> NaN1
|
||||
mnmx185 min NaN22 -NaN53 -> NaN22
|
||||
mnmx186 min -NaN3 NaN6 -> -NaN3
|
||||
mnmx187 min -NaN44 NaN7 -> -NaN44
|
||||
|
||||
mnmx188 min -Inf NaN41 -> -Infinity
|
||||
mnmx189 min -9999 -NaN33 -> -9999
|
||||
mnmx190 min Inf NaN2 -> Infinity
|
||||
|
||||
mnmx191 min sNaN99 -Inf -> NaN99 Invalid_operation
|
||||
mnmx192 min sNaN98 -11 -> NaN98 Invalid_operation
|
||||
mnmx193 min -sNaN97 NaN -> -NaN97 Invalid_operation
|
||||
mnmx193 min -sNaN97 NaN8 -> -NaN97 Invalid_operation
|
||||
mnmx194 min sNaN69 sNaN94 -> NaN69 Invalid_operation
|
||||
mnmx195 min NaN95 sNaN93 -> NaN93 Invalid_operation
|
||||
mnmx196 min -Inf sNaN92 -> NaN92 Invalid_operation
|
||||
|
|
@ -218,7 +226,8 @@ mnmx238 min 1 1234567896 -> 1
|
|||
mnmx280 min '3' '2' -> '2'
|
||||
mnmx281 min '-10' '3' -> '-10'
|
||||
mnmx282 min '1.0' '1' -> '1.0'
|
||||
mnmx283 min '1' '1.0' -> '1'
|
||||
mnmx283 min '1' '1.0' -> '1.0'
|
||||
mnmx284 min '7' 'NaN' -> '7'
|
||||
|
||||
-- overflow and underflow tests .. subnormal results [inputs] now allowed
|
||||
maxExponent: 999999999
|
||||
|
|
@ -254,42 +263,99 @@ mnmx356 min -1e-777777777 +1e-411111111 -> -1E-777777777
|
|||
mnmx357 min +1e-777777777 -1e-411111111 -> -1E-411111111
|
||||
mnmx358 min +1e-777777777 +1e-411111111 -> 1E-777777777
|
||||
|
||||
-- expanded list from min/max 754r purple prose
|
||||
-- [explicit tests for exponent ordering]
|
||||
mnmx401 min Inf 1.1 -> 1.1
|
||||
mnmx402 min 1.1 1 -> 1
|
||||
mnmx403 min 1 1.0 -> 1.0
|
||||
mnmx404 min 1.0 0.1 -> 0.1
|
||||
mnmx405 min 0.1 0.10 -> 0.10
|
||||
mnmx406 min 0.10 0.100 -> 0.100
|
||||
mnmx407 min 0.10 0 -> 0
|
||||
mnmx408 min 0 0.0 -> 0.0
|
||||
mnmx409 min 0.0 -0 -> -0
|
||||
mnmx410 min 0.0 -0.0 -> -0.0
|
||||
mnmx411 min 0.00 -0.0 -> -0.0
|
||||
mnmx412 min 0.0 -0.00 -> -0.00
|
||||
mnmx413 min 0 -0.0 -> -0.0
|
||||
mnmx414 min 0 -0 -> -0
|
||||
mnmx415 min -0.0 -0 -> -0
|
||||
mnmx416 min -0 -0.100 -> -0.100
|
||||
mnmx417 min -0.100 -0.10 -> -0.10
|
||||
mnmx418 min -0.10 -0.1 -> -0.1
|
||||
mnmx419 min -0.1 -1.0 -> -1.0
|
||||
mnmx420 min -1.0 -1 -> -1
|
||||
mnmx421 min -1 -1.1 -> -1.1
|
||||
mnmx423 min -1.1 -Inf -> -Infinity
|
||||
-- same with operands reversed
|
||||
mnmx431 min 1.1 Inf -> 1.1
|
||||
mnmx432 min 1 1.1 -> 1
|
||||
mnmx433 min 1.0 1 -> 1.0
|
||||
mnmx434 min 0.1 1.0 -> 0.1
|
||||
mnmx435 min 0.10 0.1 -> 0.10
|
||||
mnmx436 min 0.100 0.10 -> 0.100
|
||||
mnmx437 min 0 0.10 -> 0
|
||||
mnmx438 min 0.0 0 -> 0.0
|
||||
mnmx439 min -0 0.0 -> -0
|
||||
mnmx440 min -0.0 0.0 -> -0.0
|
||||
mnmx441 min -0.0 0.00 -> -0.0
|
||||
mnmx442 min -0.00 0.0 -> -0.00
|
||||
mnmx443 min -0.0 0 -> -0.0
|
||||
mnmx444 min -0 0 -> -0
|
||||
mnmx445 min -0 -0.0 -> -0
|
||||
mnmx446 min -0.100 -0 -> -0.100
|
||||
mnmx447 min -0.10 -0.100 -> -0.10
|
||||
mnmx448 min -0.1 -0.10 -> -0.1
|
||||
mnmx449 min -1.0 -0.1 -> -1.0
|
||||
mnmx450 min -1 -1.0 -> -1
|
||||
mnmx451 min -1.1 -1 -> -1.1
|
||||
mnmx453 min -Inf -1.1 -> -Infinity
|
||||
-- largies
|
||||
mnmx460 min 1000 1E+3 -> 1000
|
||||
mnmx461 min 1E+3 1000 -> 1000
|
||||
mnmx462 min 1000 -1E+3 -> -1E+3
|
||||
mnmx463 min 1E+3 -1000 -> -1000
|
||||
mnmx464 min -1000 1E+3 -> -1000
|
||||
mnmx465 min -1E+3 1000 -> -1E+3
|
||||
mnmx466 min -1000 -1E+3 -> -1E+3
|
||||
mnmx467 min -1E+3 -1000 -> -1E+3
|
||||
|
||||
|
||||
-- overflow tests
|
||||
maxexponent: 999999999
|
||||
minexponent: -999999999
|
||||
precision: 3
|
||||
mnmx400 min 9.999E+999999999 0 -> 0
|
||||
mnmx401 min -9.999E+999999999 0 -> -Infinity Inexact Overflow Rounded
|
||||
mnmx500 min 9.999E+999999999 0 -> 0
|
||||
mnmx501 min -9.999E+999999999 0 -> -Infinity Inexact Overflow Rounded
|
||||
|
||||
-- subnormals and underflow
|
||||
precision: 3
|
||||
maxexponent: 999
|
||||
minexponent: -999
|
||||
mnmx410 min 1.00E-999 0 -> 0
|
||||
mnmx411 min 0.1E-999 0 -> 0
|
||||
mnmx412 min 0.10E-999 0 -> 0
|
||||
mnmx413 min 0.100E-999 0 -> 0
|
||||
mnmx414 min 0.01E-999 0 -> 0
|
||||
mnmx415 min 0.999E-999 0 -> 0
|
||||
mnmx416 min 0.099E-999 0 -> 0
|
||||
mnmx417 min 0.009E-999 0 -> 0
|
||||
mnmx418 min 0.001E-999 0 -> 0
|
||||
mnmx419 min 0.0009E-999 0 -> 0
|
||||
mnmx420 min 0.0001E-999 0 -> 0
|
||||
mnmx510 min 1.00E-999 0 -> 0
|
||||
mnmx511 min 0.1E-999 0 -> 0
|
||||
mnmx512 min 0.10E-999 0 -> 0
|
||||
mnmx513 min 0.100E-999 0 -> 0
|
||||
mnmx514 min 0.01E-999 0 -> 0
|
||||
mnmx515 min 0.999E-999 0 -> 0
|
||||
mnmx516 min 0.099E-999 0 -> 0
|
||||
mnmx517 min 0.009E-999 0 -> 0
|
||||
mnmx518 min 0.001E-999 0 -> 0
|
||||
mnmx519 min 0.0009E-999 0 -> 0
|
||||
mnmx520 min 0.0001E-999 0 -> 0
|
||||
|
||||
mnmx430 min -1.00E-999 0 -> -1.00E-999
|
||||
mnmx431 min -0.1E-999 0 -> -1E-1000 Subnormal
|
||||
mnmx432 min -0.10E-999 0 -> -1.0E-1000 Subnormal
|
||||
mnmx433 min -0.100E-999 0 -> -1.0E-1000 Subnormal Rounded
|
||||
mnmx434 min -0.01E-999 0 -> -1E-1001 Subnormal
|
||||
mnmx530 min -1.00E-999 0 -> -1.00E-999
|
||||
mnmx531 min -0.1E-999 0 -> -1E-1000 Subnormal
|
||||
mnmx532 min -0.10E-999 0 -> -1.0E-1000 Subnormal
|
||||
mnmx533 min -0.100E-999 0 -> -1.0E-1000 Subnormal Rounded
|
||||
mnmx534 min -0.01E-999 0 -> -1E-1001 Subnormal
|
||||
-- next is rounded to Emin
|
||||
mnmx435 min -0.999E-999 0 -> -1.00E-999 Inexact Rounded Subnormal Underflow
|
||||
mnmx436 min -0.099E-999 0 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
|
||||
mnmx437 min -0.009E-999 0 -> -1E-1001 Inexact Rounded Subnormal Underflow
|
||||
mnmx438 min -0.001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow
|
||||
mnmx439 min -0.0009E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow
|
||||
mnmx440 min -0.0001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow
|
||||
mnmx535 min -0.999E-999 0 -> -1.00E-999 Inexact Rounded Subnormal Underflow
|
||||
mnmx536 min -0.099E-999 0 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
|
||||
mnmx537 min -0.009E-999 0 -> -1E-1001 Inexact Rounded Subnormal Underflow
|
||||
mnmx538 min -0.001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow
|
||||
mnmx539 min -0.0009E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow
|
||||
mnmx540 min -0.0001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow
|
||||
|
||||
|
||||
-- Null tests
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- This set of tests primarily tests the existence of the operator.
|
||||
-- Subtraction, rounding, and more overflows are tested elsewhere.
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
extended: 1
|
||||
precision: 9
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
extended: 1
|
||||
precision: 9
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- This set of tests primarily tests the existence of the operator.
|
||||
-- Addition and rounding, and most overflows, are tested elsewhere.
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- This set of testcases tests raising numbers to an integer power only.
|
||||
-- If arbitrary powers were supported, 1 ulp differences would be
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- Most of the tests here assume a "regular pattern", where the
|
||||
-- sign and coefficient are +1.
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- These testcases test calculations at precisions 31, 32, and 33, to
|
||||
-- exercise the boundaries around 2**5
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
extended: 1
|
||||
maxexponent: 999999999
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
extended: 1
|
||||
precision: 9
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
extended: 1
|
||||
precision: 9
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
------------------------------------------------------------------------
|
||||
-- rescale.decTest -- decimal rescale operation --
|
||||
-- Copyright (c) IBM Corporation, 1981, 2003. All rights reserved. --
|
||||
-- Copyright (c) IBM Corporation, 1981, 2004. All rights reserved. --
|
||||
------------------------------------------------------------------------
|
||||
-- Please see the document "General Decimal Arithmetic Testcases" --
|
||||
-- at http://www2.hursley.ibm.com/decimal for the description of --
|
||||
|
|
@ -17,10 +17,12 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.35
|
||||
version: 2.39
|
||||
|
||||
-- [obsolete] Quantize.decTest has the improved version
|
||||
|
||||
-- 2004.03.15 Underflow for quantize is suppressed
|
||||
|
||||
extended: 1
|
||||
precision: 9
|
||||
rounding: half_up
|
||||
|
|
@ -498,12 +500,12 @@ resx553 rescale 1E-999 -1006 -> NaN Invalid_operation
|
|||
resx554 rescale 1E-999 -1007 -> NaN Invalid_operation
|
||||
-- related subnormal rounding
|
||||
resx555 rescale 1.666666E-999 -1005 -> 1.666666E-999
|
||||
resx556 rescale 1.666666E-1000 -1005 -> 1.66667E-1000 Underflow Subnormal Inexact Rounded
|
||||
resx557 rescale 1.666666E-1001 -1005 -> 1.6667E-1001 Underflow Subnormal Inexact Rounded
|
||||
resx558 rescale 1.666666E-1002 -1005 -> 1.667E-1002 Underflow Subnormal Inexact Rounded
|
||||
resx559 rescale 1.666666E-1003 -1005 -> 1.67E-1003 Underflow Subnormal Inexact Rounded
|
||||
resx560 rescale 1.666666E-1004 -1005 -> 1.7E-1004 Underflow Subnormal Inexact Rounded
|
||||
resx561 rescale 1.666666E-1005 -1005 -> 2E-1005 Underflow Subnormal Inexact Rounded
|
||||
resx556 rescale 1.666666E-1000 -1005 -> 1.66667E-1000 Subnormal Inexact Rounded
|
||||
resx557 rescale 1.666666E-1001 -1005 -> 1.6667E-1001 Subnormal Inexact Rounded
|
||||
resx558 rescale 1.666666E-1002 -1005 -> 1.667E-1002 Subnormal Inexact Rounded
|
||||
resx559 rescale 1.666666E-1003 -1005 -> 1.67E-1003 Subnormal Inexact Rounded
|
||||
resx560 rescale 1.666666E-1004 -1005 -> 1.7E-1004 Subnormal Inexact Rounded
|
||||
resx561 rescale 1.666666E-1005 -1005 -> 2E-1005 Subnormal Inexact Rounded
|
||||
resx562 rescale 1.666666E-1006 -1005 -> 0E-1005 Inexact Rounded
|
||||
resx563 rescale 1.666666E-1007 -1005 -> 0E-1005 Inexact Rounded
|
||||
|
||||
|
|
@ -626,9 +628,9 @@ resx713 rescale 0.100E-999 -1000 -> 1E-1000 Subnormal Rounded
|
|||
resx714 rescale 0.01E-999 -1001 -> 1E-1001 Subnormal
|
||||
-- next is rounded to Emin
|
||||
resx715 rescale 0.999E-999 -999 -> 1E-999 Inexact Rounded
|
||||
resx716 rescale 0.099E-999 -1000 -> 1E-1000 Inexact Rounded Subnormal Underflow
|
||||
resx716 rescale 0.099E-999 -1000 -> 1E-1000 Inexact Rounded Subnormal
|
||||
|
||||
resx717 rescale 0.009E-999 -1001 -> 1E-1001 Inexact Rounded Subnormal Underflow
|
||||
resx717 rescale 0.009E-999 -1001 -> 1E-1001 Inexact Rounded Subnormal
|
||||
resx718 rescale 0.001E-999 -1001 -> 0E-1001 Inexact Rounded
|
||||
resx719 rescale 0.0009E-999 -1001 -> 0E-1001 Inexact Rounded
|
||||
resx720 rescale 0.0001E-999 -1001 -> 0E-1001 Inexact Rounded
|
||||
|
|
@ -652,7 +654,7 @@ resx743 rescale -0.100E-999 -1000 -> -1E-1000 Subnormal Rounded
|
|||
resx744 rescale -0.01E-999 -1000 -> -0E-1000 Inexact Rounded
|
||||
-- next is rounded to Emin
|
||||
resx745 rescale -0.999E-999 -1000 -> -1.0E-999 Inexact Rounded
|
||||
resx746 rescale -0.099E-999 -1000 -> -1E-1000 Inexact Rounded Subnormal Underflow
|
||||
resx746 rescale -0.099E-999 -1000 -> -1E-1000 Inexact Rounded Subnormal
|
||||
resx747 rescale -0.009E-999 -1000 -> -0E-1000 Inexact Rounded
|
||||
resx748 rescale -0.001E-999 -1000 -> -0E-1000 Inexact Rounded
|
||||
resx749 rescale -0.0001E-999 -1000 -> -0E-1000 Inexact Rounded
|
||||
|
|
@ -664,8 +666,8 @@ resx753 rescale -0.100E-999 -1001 -> -1.0E-1000 Subnormal Rounded
|
|||
resx754 rescale -0.01E-999 -1001 -> -1E-1001 Subnormal
|
||||
-- next is rounded to Emin
|
||||
resx755 rescale -0.999E-999 -1001 -> -1.00E-999 Inexact Rounded
|
||||
resx756 rescale -0.099E-999 -1001 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
|
||||
resx757 rescale -0.009E-999 -1001 -> -1E-1001 Inexact Rounded Subnormal Underflow
|
||||
resx756 rescale -0.099E-999 -1001 -> -1.0E-1000 Inexact Rounded Subnormal
|
||||
resx757 rescale -0.009E-999 -1001 -> -1E-1001 Inexact Rounded Subnormal
|
||||
resx758 rescale -0.001E-999 -1001 -> -0E-1001 Inexact Rounded
|
||||
resx759 rescale -0.0001E-999 -1001 -> -0E-1001 Inexact Rounded
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- These tests require that implementations take account of residues in
|
||||
-- order to get correct results for some rounding modes. Rather than
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
extended: 1
|
||||
precision: 9
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
extended: 1
|
||||
precision: 9
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
extended: 1
|
||||
precision: 9
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
------------------------------------------------------------------------
|
||||
-- testall.decTest -- run all general decimal arithmetic testcases --
|
||||
-- Copyright (c) IBM Corporation, 1981, 2003. All rights reserved. --
|
||||
-- Copyright (c) IBM Corporation, 1981, 2004. All rights reserved. --
|
||||
------------------------------------------------------------------------
|
||||
-- Please see the document "General Decimal Arithmetic Testcases" --
|
||||
-- at http://www2.hursley.ibm.com/decimal for the description of --
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.35
|
||||
version: 2.39
|
||||
|
||||
-- core tests (using Extended: 1) --------------------------------------
|
||||
dectest: base
|
||||
|
|
@ -54,5 +54,5 @@ dectest: decimal128
|
|||
|
||||
|
||||
-- General 31->33-digit boundary tests
|
||||
dectest: randomBound32
|
||||
dectest: randombound32
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.38
|
||||
version: 2.39
|
||||
|
||||
-- This set of tests tests the extended specification 'round-to-integral
|
||||
-- value' operation (from IEEE 854, later modified in 754r).
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
||||
-- mfc@uk.ibm.com --
|
||||
------------------------------------------------------------------------
|
||||
version: 2.35
|
||||
version: 2.39
|
||||
|
||||
extended: 1
|
||||
precision: 9
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue