------------------------------------------------------------------------ -- trim.decTest -- remove insignificant trailing zeros -- -- Copyright (c) Mike Cowlishaw, 1981, 2010. All rights reserved. -- -- Parts copyright (c) IBM Corporation, 1981, 2008. -- ------------------------------------------------------------------------ -- Please see the document "General Decimal Arithmetic Testcases" -- -- at http://speleotrove.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, mfc@speleotrove.com -- ------------------------------------------------------------------------ version: 2.62 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