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
 |