You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

133 lines
4.6 KiB
Plaintext

------------------------------------------------------------------------
-- trim0.decTest -- remove insignificant trailing zeros (simplified) --
-- Copyright (c) IBM Corporation, 2003, 2008. 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.58
extended: 0
precision: 9
rounding: half_up
maxExponent: 999
minexponent: -999
trm001 trim '1' -> '1'
trm002 trim '-1' -> '-1'
trm003 trim '1.00' -> '1'
trm004 trim '-1.00' -> '-1'
trm005 trim '0' -> '0'
trm006 trim '0.00' -> '0'
trm007 trim '00.0' -> '0'
trm008 trim '00.00' -> '0'
trm009 trim '00' -> '0'
trm010 trim '-2' -> '-2'
trm011 trim '2' -> '2'
trm012 trim '-2.00' -> '-2'
trm013 trim '2.00' -> '2'
trm014 trim '-0' -> '0'
trm015 trim '-0.00' -> '0'
trm016 trim '-00.0' -> '0'
trm017 trim '-00.00' -> '0'
trm018 trim '-00' -> '0'
trm019 trim '0E+5' -> '0'
trm020 trim '-0E+1' -> '0'
trm030 trim '+0.1' -> '0.1'
trm031 trim '-0.1' -> '-0.1'
trm032 trim '+0.01' -> '0.01'
trm033 trim '-0.01' -> '-0.01'
trm034 trim '+0.001' -> '0.001'
trm035 trim '-0.001' -> '-0.001'
trm036 trim '+0.000001' -> '0.000001'
trm037 trim '-0.000001' -> '-0.000001'
trm038 trim '+0.000000000001' -> '1E-12'
trm039 trim '-0.000000000001' -> '-1E-12'
trm041 trim 1.1 -> 1.1
trm042 trim 1.10 -> 1.1
trm043 trim 1.100 -> 1.1
trm044 trim 1.110 -> 1.11
trm045 trim -1.1 -> -1.1
trm046 trim -1.10 -> -1.1
trm047 trim -1.100 -> -1.1
trm048 trim -1.110 -> -1.11
trm049 trim 9.9 -> 9.9
trm050 trim 9.90 -> 9.9
trm051 trim 9.900 -> 9.9
trm052 trim 9.990 -> 9.99
trm053 trim -9.9 -> -9.9
trm054 trim -9.90 -> -9.9
trm055 trim -9.900 -> -9.9
trm056 trim -9.990 -> -9.99
-- some insignificant trailing fractional zeros
trm060 trim 10.0 -> 10
trm061 trim 10.00 -> 10
trm062 trim 100.0 -> 100
trm063 trim 100.00 -> 100
trm064 trim 1.1000E+3 -> 1100
trm065 trim 1.10000E+3 -> 1100
trm066 trim -10.0 -> -10
trm067 trim -10.00 -> -10
trm068 trim -100.0 -> -100
trm069 trim -100.00 -> -100
trm070 trim -1.1000E+3 -> -1100
trm071 trim -1.10000E+3 -> -1100
-- some insignificant trailing zeros with positive exponent
trm080 trim 10E+1 -> 1E+2
trm081 trim 100E+1 -> 1E+3
trm082 trim 1.0E+2 -> 1E+2
trm083 trim 1.0E+3 -> 1E+3
trm084 trim 1.1E+3 -> 1.1E+3
trm085 trim 1.00E+3 -> 1E+3
trm086 trim 1.10E+3 -> 1.1E+3
trm087 trim -10E+1 -> -1E+2
trm088 trim -100E+1 -> -1E+3
trm089 trim -1.0E+2 -> -1E+2
trm090 trim -1.0E+3 -> -1E+3
trm091 trim -1.1E+3 -> -1.1E+3
trm092 trim -1.00E+3 -> -1E+3
trm093 trim -1.10E+3 -> -1.1E+3
-- some significant trailing zeros
trm100 trim 11 -> 11
trm101 trim 10 -> 10
trm102 trim 10. -> 10
trm103 trim 1.1E+1 -> 11
trm104 trim 1.0E+1 -> 10
trm105 trim 1.10E+2 -> 110
trm106 trim 1.00E+2 -> 100
trm107 trim 1.100E+3 -> 1100
trm108 trim 1.000E+3 -> 1000
trm109 trim 1.000000E+6 -> 1000000
trm110 trim -11 -> -11
trm111 trim -10 -> -10
trm112 trim -10. -> -10
trm113 trim -1.1E+1 -> -11
trm114 trim -1.0E+1 -> -10
trm115 trim -1.10E+2 -> -110
trm116 trim -1.00E+2 -> -100
trm117 trim -1.100E+3 -> -1100
trm118 trim -1.000E+3 -> -1000
trm119 trim -1.000000E+6 -> -1000000
-- Null test
trm400 trim # -> ? Invalid_operation