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
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
|