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.

153 lines
5.3 KiB
Plaintext

------------------------------------------------------------------------
-- trim.decTest -- remove insignificant trailing zeros --
-- 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: 1
precision: 9
rounding: half_up
maxExponent: 999
minexponent: -999
trmx001 trim '1' -> '1'
trmx002 trim '-1' -> '-1'
trmx003 trim '1.00' -> '1'
trmx004 trim '-1.00' -> '-1'
trmx005 trim '0' -> '0'
trmx006 trim '0.00' -> '0'
trmx007 trim '00.0' -> '0'
trmx008 trim '00.00' -> '0'
trmx009 trim '00' -> '0'
trmx010 trim '-2' -> '-2'
trmx011 trim '2' -> '2'
trmx012 trim '-2.00' -> '-2'
trmx013 trim '2.00' -> '2'
trmx014 trim '-0' -> '-0'
trmx015 trim '-0.00' -> '-0'
trmx016 trim '-00.0' -> '-0'
trmx017 trim '-00.00' -> '-0'
trmx018 trim '-00' -> '-0'
trmx019 trim '0E+5' -> '0'
trmx020 trim '-0E+1' -> '-0'
trmx030 trim '+0.1' -> '0.1'
trmx031 trim '-0.1' -> '-0.1'
trmx032 trim '+0.01' -> '0.01'
trmx033 trim '-0.01' -> '-0.01'
trmx034 trim '+0.001' -> '0.001'
trmx035 trim '-0.001' -> '-0.001'
trmx036 trim '+0.000001' -> '0.000001'
trmx037 trim '-0.000001' -> '-0.000001'
trmx038 trim '+0.000000000001' -> '1E-12'
trmx039 trim '-0.000000000001' -> '-1E-12'
trmx041 trim 1.1 -> 1.1
trmx042 trim 1.10 -> 1.1
trmx043 trim 1.100 -> 1.1
trmx044 trim 1.110 -> 1.11
trmx045 trim -1.1 -> -1.1
trmx046 trim -1.10 -> -1.1
trmx047 trim -1.100 -> -1.1
trmx048 trim -1.110 -> -1.11
trmx049 trim 9.9 -> 9.9
trmx050 trim 9.90 -> 9.9
trmx051 trim 9.900 -> 9.9
trmx052 trim 9.990 -> 9.99
trmx053 trim -9.9 -> -9.9
trmx054 trim -9.90 -> -9.9
trmx055 trim -9.900 -> -9.9
trmx056 trim -9.990 -> -9.99
-- some insignificant trailing fractional zeros
trmx060 trim 10.0 -> 10
trmx061 trim 10.00 -> 10
trmx062 trim 100.0 -> 100
trmx063 trim 100.00 -> 100
trmx064 trim 1.1000E+3 -> 1100
trmx065 trim 1.10000E+3 -> 1100
trmx066 trim -10.0 -> -10
trmx067 trim -10.00 -> -10
trmx068 trim -100.0 -> -100
trmx069 trim -100.00 -> -100
trmx070 trim -1.1000E+3 -> -1100
trmx071 trim -1.10000E+3 -> -1100
-- some insignificant trailing zeros with positive exponent
trmx080 trim 10E+1 -> 1E+2
trmx081 trim 100E+1 -> 1E+3
trmx082 trim 1.0E+2 -> 1E+2
trmx083 trim 1.0E+3 -> 1E+3
trmx084 trim 1.1E+3 -> 1.1E+3
trmx085 trim 1.00E+3 -> 1E+3
trmx086 trim 1.10E+3 -> 1.1E+3
trmx087 trim -10E+1 -> -1E+2
trmx088 trim -100E+1 -> -1E+3
trmx089 trim -1.0E+2 -> -1E+2
trmx090 trim -1.0E+3 -> -1E+3
trmx091 trim -1.1E+3 -> -1.1E+3
trmx092 trim -1.00E+3 -> -1E+3
trmx093 trim -1.10E+3 -> -1.1E+3
-- some significant trailing zeros
trmx100 trim 11 -> 11
trmx101 trim 10 -> 10
trmx102 trim 10. -> 10
trmx103 trim 1.1E+1 -> 11
trmx104 trim 1.0E+1 -> 10
trmx105 trim 1.10E+2 -> 110
trmx106 trim 1.00E+2 -> 100
trmx107 trim 1.100E+3 -> 1100
trmx108 trim 1.000E+3 -> 1000
trmx109 trim 1.000000E+6 -> 1000000
trmx110 trim -11 -> -11
trmx111 trim -10 -> -10
trmx112 trim -10. -> -10
trmx113 trim -1.1E+1 -> -11
trmx114 trim -1.0E+1 -> -10
trmx115 trim -1.10E+2 -> -110
trmx116 trim -1.00E+2 -> -100
trmx117 trim -1.100E+3 -> -1100
trmx118 trim -1.000E+3 -> -1000
trmx119 trim -1.00000E+5 -> -100000
trmx120 trim -1.000000E+6 -> -1000000
-- examples from decArith
trmx140 trim '2.1' -> '2.1'
trmx141 trim '-2.0' -> '-2'
trmx142 trim '1.200' -> '1.2'
trmx143 trim '-120' -> '-120'
trmx144 trim '120.00' -> '120'
trmx145 trim '0.00' -> '0'
-- utilities pass through specials without raising exceptions
trmx320 trim 'Inf' -> 'Infinity'
trmx321 trim '-Inf' -> '-Infinity'
trmx322 trim NaN -> NaN
trmx323 trim sNaN -> sNaN
trmx324 trim NaN999 -> NaN999
trmx325 trim sNaN777 -> sNaN777
trmx326 trim -NaN -> -NaN
trmx327 trim -sNaN -> -sNaN
trmx328 trim -NaN999 -> -NaN999
trmx329 trim -sNaN777 -> -sNaN777
-- Null test
trmx900 trim # -> NaN Invalid_operation