mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	
		
			
	
	
		
			488 lines
		
	
	
	
		
			24 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			488 lines
		
	
	
	
		
			24 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								-- ddEncode.decTest -- decimal eight-byte format testcases            --
							 | 
						||
| 
								 | 
							
								-- Copyright (c) IBM Corporation, 2000, 2007.  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                                                   --
							 | 
						||
| 
								 | 
							
								------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								-- [Previously called decimal64.decTest]
							 | 
						||
| 
								 | 
							
								version: 2.56
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- This set of tests is for the eight-byte concrete representation.
							 | 
						||
| 
								 | 
							
								-- Its characteristics are:
							 | 
						||
| 
								 | 
							
								--
							 | 
						||
| 
								 | 
							
								--  1 bit  sign
							 | 
						||
| 
								 | 
							
								--  5 bits combination field
							 | 
						||
| 
								 | 
							
								--  8 bits exponent continuation
							 | 
						||
| 
								 | 
							
								-- 50 bits coefficient continuation
							 | 
						||
| 
								 | 
							
								--
							 | 
						||
| 
								 | 
							
								-- Total exponent length 10 bits
							 | 
						||
| 
								 | 
							
								-- Total coefficient length 54 bits (16 digits)
							 | 
						||
| 
								 | 
							
								--
							 | 
						||
| 
								 | 
							
								-- Elimit =  767 (maximum encoded exponent)
							 | 
						||
| 
								 | 
							
								-- Emax   =  384 (largest exponent value)
							 | 
						||
| 
								 | 
							
								-- Emin   = -383 (smallest exponent value)
							 | 
						||
| 
								 | 
							
								-- bias   =  398 (subtracted from encoded exponent) = -Etiny
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- The testcases here have only exactly representable data on the
							 | 
						||
| 
								 | 
							
								-- 'left-hand-side'; rounding from strings is tested in 'base'
							 | 
						||
| 
								 | 
							
								-- testcase groups.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								extended:    1
							 | 
						||
| 
								 | 
							
								clamp:       1
							 | 
						||
| 
								 | 
							
								precision:   16
							 | 
						||
| 
								 | 
							
								rounding:    half_up
							 | 
						||
| 
								 | 
							
								maxExponent: 384
							 | 
						||
| 
								 | 
							
								minExponent: -383
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- General testcases
							 | 
						||
| 
								 | 
							
								-- (mostly derived from the Strawman 4 document and examples)
							 | 
						||
| 
								 | 
							
								dece001 apply   #A2300000000003D0 -> -7.50
							 | 
						||
| 
								 | 
							
								dece002 apply   -7.50             -> #A2300000000003D0
							 | 
						||
| 
								 | 
							
								-- derivative canonical plain strings
							 | 
						||
| 
								 | 
							
								dece003 apply   #A23c0000000003D0 -> -7.50E+3
							 | 
						||
| 
								 | 
							
								dece004 apply   -7.50E+3          -> #A23c0000000003D0
							 | 
						||
| 
								 | 
							
								dece005 apply   #A2380000000003D0 -> -750
							 | 
						||
| 
								 | 
							
								dece006 apply   -750              -> #A2380000000003D0
							 | 
						||
| 
								 | 
							
								dece007 apply   #A2340000000003D0 -> -75.0
							 | 
						||
| 
								 | 
							
								dece008 apply   -75.0             -> #A2340000000003D0
							 | 
						||
| 
								 | 
							
								dece009 apply   #A22c0000000003D0 -> -0.750
							 | 
						||
| 
								 | 
							
								dece010 apply   -0.750            -> #A22c0000000003D0
							 | 
						||
| 
								 | 
							
								dece011 apply   #A2280000000003D0 -> -0.0750
							 | 
						||
| 
								 | 
							
								dece012 apply   -0.0750           -> #A2280000000003D0
							 | 
						||
| 
								 | 
							
								dece013 apply   #A2200000000003D0 -> -0.000750
							 | 
						||
| 
								 | 
							
								dece014 apply   -0.000750         -> #A2200000000003D0
							 | 
						||
| 
								 | 
							
								dece015 apply   #A2180000000003D0 -> -0.00000750
							 | 
						||
| 
								 | 
							
								dece016 apply   -0.00000750       -> #A2180000000003D0
							 | 
						||
| 
								 | 
							
								dece017 apply   #A2140000000003D0 -> -7.50E-7
							 | 
						||
| 
								 | 
							
								dece018 apply   -7.50E-7          -> #A2140000000003D0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- Normality
							 | 
						||
| 
								 | 
							
								dece020 apply   1234567890123456   -> #263934b9c1e28e56
							 | 
						||
| 
								 | 
							
								dece021 apply  -1234567890123456   -> #a63934b9c1e28e56
							 | 
						||
| 
								 | 
							
								dece022 apply   1234.567890123456  -> #260934b9c1e28e56
							 | 
						||
| 
								 | 
							
								dece023 apply  #260934b9c1e28e56   -> 1234.567890123456
							 | 
						||
| 
								 | 
							
								dece024 apply   1111111111111111   -> #2638912449124491
							 | 
						||
| 
								 | 
							
								dece025 apply   9999999999999999   -> #6e38ff3fcff3fcff
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- Nmax and similar
							 | 
						||
| 
								 | 
							
								dece031 apply   9999999999999999E+369   -> #77fcff3fcff3fcff
							 | 
						||
| 
								 | 
							
								dece032 apply   9.999999999999999E+384  -> #77fcff3fcff3fcff
							 | 
						||
| 
								 | 
							
								dece033 apply   #77fcff3fcff3fcff       -> 9.999999999999999E+384
							 | 
						||
| 
								 | 
							
								dece034 apply   1.234567890123456E+384  -> #47fd34b9c1e28e56
							 | 
						||
| 
								 | 
							
								dece035 apply   #47fd34b9c1e28e56       -> 1.234567890123456E+384
							 | 
						||
| 
								 | 
							
								-- fold-downs (more below)
							 | 
						||
| 
								 | 
							
								dece036 apply   1.23E+384               -> #47fd300000000000 Clamped
							 | 
						||
| 
								 | 
							
								dece037 apply   #47fd300000000000       -> 1.230000000000000E+384
							 | 
						||
| 
								 | 
							
								decd038 apply   1E+384                  -> #47fc000000000000 Clamped
							 | 
						||
| 
								 | 
							
								decd039 apply   #47fc000000000000       -> 1.000000000000000E+384
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								decd051 apply   12345                   -> #22380000000049c5
							 | 
						||
| 
								 | 
							
								decd052 apply   #22380000000049c5       -> 12345
							 | 
						||
| 
								 | 
							
								decd053 apply   1234                    -> #2238000000000534
							 | 
						||
| 
								 | 
							
								decd054 apply   #2238000000000534       -> 1234
							 | 
						||
| 
								 | 
							
								decd055 apply   123                     -> #22380000000000a3
							 | 
						||
| 
								 | 
							
								decd056 apply   #22380000000000a3       -> 123
							 | 
						||
| 
								 | 
							
								decd057 apply   12                      -> #2238000000000012
							 | 
						||
| 
								 | 
							
								decd058 apply   #2238000000000012       -> 12
							 | 
						||
| 
								 | 
							
								decd059 apply   1                       -> #2238000000000001
							 | 
						||
| 
								 | 
							
								decd060 apply   #2238000000000001       -> 1
							 | 
						||
| 
								 | 
							
								decd061 apply   1.23                    -> #22300000000000a3
							 | 
						||
| 
								 | 
							
								decd062 apply   #22300000000000a3       -> 1.23
							 | 
						||
| 
								 | 
							
								decd063 apply   123.45                  -> #22300000000049c5
							 | 
						||
| 
								 | 
							
								decd064 apply   #22300000000049c5       -> 123.45
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- Nmin and below
							 | 
						||
| 
								 | 
							
								decd071 apply   1E-383                  -> #003c000000000001
							 | 
						||
| 
								 | 
							
								decd072 apply   #003c000000000001       -> 1E-383
							 | 
						||
| 
								 | 
							
								decd073 apply   1.000000000000000E-383  -> #0400000000000000
							 | 
						||
| 
								 | 
							
								decd074 apply   #0400000000000000       -> 1.000000000000000E-383
							 | 
						||
| 
								 | 
							
								decd075 apply   1.000000000000001E-383  -> #0400000000000001
							 | 
						||
| 
								 | 
							
								decd076 apply   #0400000000000001       -> 1.000000000000001E-383
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								decd077 apply   0.100000000000000E-383  -> #0000800000000000      Subnormal
							 | 
						||
| 
								 | 
							
								decd078 apply   #0000800000000000       -> 1.00000000000000E-384  Subnormal
							 | 
						||
| 
								 | 
							
								decd079 apply   0.000000000000010E-383  -> #0000000000000010      Subnormal
							 | 
						||
| 
								 | 
							
								decd080 apply   #0000000000000010       -> 1.0E-397               Subnormal
							 | 
						||
| 
								 | 
							
								decd081 apply   0.00000000000001E-383   -> #0004000000000001      Subnormal
							 | 
						||
| 
								 | 
							
								decd082 apply   #0004000000000001       -> 1E-397                 Subnormal
							 | 
						||
| 
								 | 
							
								decd083 apply   0.000000000000001E-383  -> #0000000000000001      Subnormal
							 | 
						||
| 
								 | 
							
								decd084 apply   #0000000000000001       -> 1E-398                 Subnormal
							 | 
						||
| 
								 | 
							
								-- next is smallest all-nines
							 | 
						||
| 
								 | 
							
								decd085 apply   9999999999999999E-398   -> #6400ff3fcff3fcff
							 | 
						||
| 
								 | 
							
								decd086 apply   #6400ff3fcff3fcff       -> 9.999999999999999E-383
							 | 
						||
| 
								 | 
							
								-- and a problematic divide result
							 | 
						||
| 
								 | 
							
								decd088 apply   1.111111111111111E-383  -> #0400912449124491
							 | 
						||
| 
								 | 
							
								decd089 apply   #0400912449124491       -> 1.111111111111111E-383
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- forties
							 | 
						||
| 
								 | 
							
								decd090 apply        40                -> #2238000000000040
							 | 
						||
| 
								 | 
							
								decd091 apply        39.99             -> #2230000000000cff
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- underflows cannot be tested as all LHS exact
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- Same again, negatives
							 | 
						||
| 
								 | 
							
								-- Nmax and similar
							 | 
						||
| 
								 | 
							
								decd122 apply  -9.999999999999999E+384  -> #f7fcff3fcff3fcff
							 | 
						||
| 
								 | 
							
								decd123 apply   #f7fcff3fcff3fcff       -> -9.999999999999999E+384
							 | 
						||
| 
								 | 
							
								decd124 apply  -1.234567890123456E+384  -> #c7fd34b9c1e28e56
							 | 
						||
| 
								 | 
							
								decd125 apply   #c7fd34b9c1e28e56       -> -1.234567890123456E+384
							 | 
						||
| 
								 | 
							
								-- fold-downs (more below)
							 | 
						||
| 
								 | 
							
								decd130 apply  -1.23E+384               -> #c7fd300000000000 Clamped
							 | 
						||
| 
								 | 
							
								decd131 apply   #c7fd300000000000       -> -1.230000000000000E+384
							 | 
						||
| 
								 | 
							
								decd132 apply  -1E+384                  -> #c7fc000000000000 Clamped
							 | 
						||
| 
								 | 
							
								decd133 apply   #c7fc000000000000       -> -1.000000000000000E+384
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- overflows
							 | 
						||
| 
								 | 
							
								decd151 apply  -12345                   -> #a2380000000049c5
							 | 
						||
| 
								 | 
							
								decd152 apply   #a2380000000049c5       -> -12345
							 | 
						||
| 
								 | 
							
								decd153 apply  -1234                    -> #a238000000000534
							 | 
						||
| 
								 | 
							
								decd154 apply   #a238000000000534       -> -1234
							 | 
						||
| 
								 | 
							
								decd155 apply  -123                     -> #a2380000000000a3
							 | 
						||
| 
								 | 
							
								decd156 apply   #a2380000000000a3       -> -123
							 | 
						||
| 
								 | 
							
								decd157 apply  -12                      -> #a238000000000012
							 | 
						||
| 
								 | 
							
								decd158 apply   #a238000000000012       -> -12
							 | 
						||
| 
								 | 
							
								decd159 apply  -1                       -> #a238000000000001
							 | 
						||
| 
								 | 
							
								decd160 apply   #a238000000000001       -> -1
							 | 
						||
| 
								 | 
							
								decd161 apply  -1.23                    -> #a2300000000000a3
							 | 
						||
| 
								 | 
							
								decd162 apply   #a2300000000000a3       -> -1.23
							 | 
						||
| 
								 | 
							
								decd163 apply  -123.45                  -> #a2300000000049c5
							 | 
						||
| 
								 | 
							
								decd164 apply   #a2300000000049c5       -> -123.45
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- Nmin and below
							 | 
						||
| 
								 | 
							
								decd171 apply  -1E-383                  -> #803c000000000001
							 | 
						||
| 
								 | 
							
								decd172 apply   #803c000000000001       -> -1E-383
							 | 
						||
| 
								 | 
							
								decd173 apply  -1.000000000000000E-383  -> #8400000000000000
							 | 
						||
| 
								 | 
							
								decd174 apply   #8400000000000000       -> -1.000000000000000E-383
							 | 
						||
| 
								 | 
							
								decd175 apply  -1.000000000000001E-383  -> #8400000000000001
							 | 
						||
| 
								 | 
							
								decd176 apply   #8400000000000001       -> -1.000000000000001E-383
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								decd177 apply  -0.100000000000000E-383  -> #8000800000000000       Subnormal
							 | 
						||
| 
								 | 
							
								decd178 apply   #8000800000000000       -> -1.00000000000000E-384  Subnormal
							 | 
						||
| 
								 | 
							
								decd179 apply  -0.000000000000010E-383  -> #8000000000000010       Subnormal
							 | 
						||
| 
								 | 
							
								decd180 apply   #8000000000000010       -> -1.0E-397               Subnormal
							 | 
						||
| 
								 | 
							
								decd181 apply  -0.00000000000001E-383   -> #8004000000000001       Subnormal
							 | 
						||
| 
								 | 
							
								decd182 apply   #8004000000000001       -> -1E-397                 Subnormal
							 | 
						||
| 
								 | 
							
								decd183 apply  -0.000000000000001E-383  -> #8000000000000001       Subnormal
							 | 
						||
| 
								 | 
							
								decd184 apply   #8000000000000001       -> -1E-398                 Subnormal
							 | 
						||
| 
								 | 
							
								-- next is smallest all-nines
							 | 
						||
| 
								 | 
							
								decd185 apply   -9999999999999999E-398   -> #e400ff3fcff3fcff
							 | 
						||
| 
								 | 
							
								decd186 apply   #e400ff3fcff3fcff       -> -9.999999999999999E-383
							 | 
						||
| 
								 | 
							
								-- and a tricky subnormal
							 | 
						||
| 
								 | 
							
								decd187 apply   1.11111111111524E-384    -> #00009124491246a4      Subnormal
							 | 
						||
| 
								 | 
							
								decd188 apply   #00009124491246a4        -> 1.11111111111524E-384  Subnormal
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- near-underflows
							 | 
						||
| 
								 | 
							
								decd189 apply   -1e-398                 -> #8000000000000001  Subnormal
							 | 
						||
| 
								 | 
							
								decd190 apply   -1.0e-398               -> #8000000000000001  Subnormal Rounded
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- zeros
							 | 
						||
| 
								 | 
							
								decd401 apply   0E-500                  -> #0000000000000000  Clamped
							 | 
						||
| 
								 | 
							
								decd402 apply   0E-400                  -> #0000000000000000  Clamped
							 | 
						||
| 
								 | 
							
								decd403 apply   0E-398                  -> #0000000000000000
							 | 
						||
| 
								 | 
							
								decd404 apply   #0000000000000000       -> 0E-398
							 | 
						||
| 
								 | 
							
								decd405 apply   0.000000000000000E-383  -> #0000000000000000
							 | 
						||
| 
								 | 
							
								decd406 apply   #0000000000000000       -> 0E-398
							 | 
						||
| 
								 | 
							
								decd407 apply   0E-2                    -> #2230000000000000
							 | 
						||
| 
								 | 
							
								decd408 apply   #2230000000000000       -> 0.00
							 | 
						||
| 
								 | 
							
								decd409 apply   0                       -> #2238000000000000
							 | 
						||
| 
								 | 
							
								decd410 apply   #2238000000000000       -> 0
							 | 
						||
| 
								 | 
							
								decd411 apply   0E+3                    -> #2244000000000000
							 | 
						||
| 
								 | 
							
								decd412 apply   #2244000000000000       -> 0E+3
							 | 
						||
| 
								 | 
							
								decd413 apply   0E+369                  -> #43fc000000000000
							 | 
						||
| 
								 | 
							
								decd414 apply   #43fc000000000000       -> 0E+369
							 | 
						||
| 
								 | 
							
								-- clamped zeros...
							 | 
						||
| 
								 | 
							
								decd415 apply   0E+370                  -> #43fc000000000000  Clamped
							 | 
						||
| 
								 | 
							
								decd416 apply   #43fc000000000000       -> 0E+369
							 | 
						||
| 
								 | 
							
								decd417 apply   0E+384                  -> #43fc000000000000  Clamped
							 | 
						||
| 
								 | 
							
								decd418 apply   #43fc000000000000       -> 0E+369
							 | 
						||
| 
								 | 
							
								decd419 apply   0E+400                  -> #43fc000000000000  Clamped
							 | 
						||
| 
								 | 
							
								decd420 apply   #43fc000000000000       -> 0E+369
							 | 
						||
| 
								 | 
							
								decd421 apply   0E+500                  -> #43fc000000000000  Clamped
							 | 
						||
| 
								 | 
							
								decd422 apply   #43fc000000000000       -> 0E+369
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- negative zeros
							 | 
						||
| 
								 | 
							
								decd431 apply   -0E-400                 -> #8000000000000000  Clamped
							 | 
						||
| 
								 | 
							
								decd432 apply   -0E-400                 -> #8000000000000000  Clamped
							 | 
						||
| 
								 | 
							
								decd433 apply   -0E-398                 -> #8000000000000000
							 | 
						||
| 
								 | 
							
								decd434 apply   #8000000000000000       -> -0E-398
							 | 
						||
| 
								 | 
							
								decd435 apply   -0.000000000000000E-383 -> #8000000000000000
							 | 
						||
| 
								 | 
							
								decd436 apply   #8000000000000000       -> -0E-398
							 | 
						||
| 
								 | 
							
								decd437 apply   -0E-2                   -> #a230000000000000
							 | 
						||
| 
								 | 
							
								decd438 apply   #a230000000000000       -> -0.00
							 | 
						||
| 
								 | 
							
								decd439 apply   -0                      -> #a238000000000000
							 | 
						||
| 
								 | 
							
								decd440 apply   #a238000000000000       -> -0
							 | 
						||
| 
								 | 
							
								decd441 apply   -0E+3                   -> #a244000000000000
							 | 
						||
| 
								 | 
							
								decd442 apply   #a244000000000000       -> -0E+3
							 | 
						||
| 
								 | 
							
								decd443 apply   -0E+369                 -> #c3fc000000000000
							 | 
						||
| 
								 | 
							
								decd444 apply   #c3fc000000000000       -> -0E+369
							 | 
						||
| 
								 | 
							
								-- clamped zeros...
							 | 
						||
| 
								 | 
							
								decd445 apply   -0E+370                 -> #c3fc000000000000  Clamped
							 | 
						||
| 
								 | 
							
								decd446 apply   #c3fc000000000000       -> -0E+369
							 | 
						||
| 
								 | 
							
								decd447 apply   -0E+384                 -> #c3fc000000000000  Clamped
							 | 
						||
| 
								 | 
							
								decd448 apply   #c3fc000000000000       -> -0E+369
							 | 
						||
| 
								 | 
							
								decd449 apply   -0E+400                 -> #c3fc000000000000  Clamped
							 | 
						||
| 
								 | 
							
								decd450 apply   #c3fc000000000000       -> -0E+369
							 | 
						||
| 
								 | 
							
								decd451 apply   -0E+500                 -> #c3fc000000000000  Clamped
							 | 
						||
| 
								 | 
							
								decd452 apply   #c3fc000000000000       -> -0E+369
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- exponents
							 | 
						||
| 
								 | 
							
								decd460 apply   #225c000000000007 -> 7E+9
							 | 
						||
| 
								 | 
							
								decd461 apply   7E+9  -> #225c000000000007
							 | 
						||
| 
								 | 
							
								decd462 apply   #23c4000000000007 -> 7E+99
							 | 
						||
| 
								 | 
							
								decd463 apply   7E+99 -> #23c4000000000007
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- Specials
							 | 
						||
| 
								 | 
							
								decd500 apply   Infinity          -> #7800000000000000
							 | 
						||
| 
								 | 
							
								decd501 apply   #7878787878787878 -> #7800000000000000
							 | 
						||
| 
								 | 
							
								decd502 apply   #7800000000000000 -> Infinity
							 | 
						||
| 
								 | 
							
								decd503 apply   #7979797979797979 -> #7800000000000000
							 | 
						||
| 
								 | 
							
								decd504 apply   #7900000000000000 -> Infinity
							 | 
						||
| 
								 | 
							
								decd505 apply   #7a7a7a7a7a7a7a7a -> #7800000000000000
							 | 
						||
| 
								 | 
							
								decd506 apply   #7a00000000000000 -> Infinity
							 | 
						||
| 
								 | 
							
								decd507 apply   #7b7b7b7b7b7b7b7b -> #7800000000000000
							 | 
						||
| 
								 | 
							
								decd508 apply   #7b00000000000000 -> Infinity
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								decd509 apply   NaN               -> #7c00000000000000
							 | 
						||
| 
								 | 
							
								decd510 apply   #7c7c7c7c7c7c7c7c -> #7c007c7c7c7c7c7c
							 | 
						||
| 
								 | 
							
								decd511 apply   #7c00000000000000 -> NaN
							 | 
						||
| 
								 | 
							
								decd512 apply   #7d7d7d7d7d7d7d7d -> #7c017d7d7d7d7d7d
							 | 
						||
| 
								 | 
							
								decd513 apply   #7d00000000000000 -> NaN
							 | 
						||
| 
								 | 
							
								decd514 apply   #7e7e7e7e7e7e7e7e -> #7e007e7e7e7e7c7e
							 | 
						||
| 
								 | 
							
								decd515 apply   #7e00000000000000 -> sNaN
							 | 
						||
| 
								 | 
							
								decd516 apply   #7f7f7f7f7f7f7f7f -> #7e007f7f7f7f7c7f
							 | 
						||
| 
								 | 
							
								decd517 apply   #7f00000000000000 -> sNaN
							 | 
						||
| 
								 | 
							
								decd518 apply   #7fffffffffffffff -> sNaN999999999999999
							 | 
						||
| 
								 | 
							
								decd519 apply   #7fffffffffffffff -> #7e00ff3fcff3fcff
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								decd520 apply   -Infinity         -> #f800000000000000
							 | 
						||
| 
								 | 
							
								decd521 apply   #f878787878787878 -> #f800000000000000
							 | 
						||
| 
								 | 
							
								decd522 apply   #f800000000000000 -> -Infinity
							 | 
						||
| 
								 | 
							
								decd523 apply   #f979797979797979 -> #f800000000000000
							 | 
						||
| 
								 | 
							
								decd524 apply   #f900000000000000 -> -Infinity
							 | 
						||
| 
								 | 
							
								decd525 apply   #fa7a7a7a7a7a7a7a -> #f800000000000000
							 | 
						||
| 
								 | 
							
								decd526 apply   #fa00000000000000 -> -Infinity
							 | 
						||
| 
								 | 
							
								decd527 apply   #fb7b7b7b7b7b7b7b -> #f800000000000000
							 | 
						||
| 
								 | 
							
								decd528 apply   #fb00000000000000 -> -Infinity
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								decd529 apply   -NaN              -> #fc00000000000000
							 | 
						||
| 
								 | 
							
								decd530 apply   #fc7c7c7c7c7c7c7c -> #fc007c7c7c7c7c7c
							 | 
						||
| 
								 | 
							
								decd531 apply   #fc00000000000000 -> -NaN
							 | 
						||
| 
								 | 
							
								decd532 apply   #fd7d7d7d7d7d7d7d -> #fc017d7d7d7d7d7d
							 | 
						||
| 
								 | 
							
								decd533 apply   #fd00000000000000 -> -NaN
							 | 
						||
| 
								 | 
							
								decd534 apply   #fe7e7e7e7e7e7e7e -> #fe007e7e7e7e7c7e
							 | 
						||
| 
								 | 
							
								decd535 apply   #fe00000000000000 -> -sNaN
							 | 
						||
| 
								 | 
							
								decd536 apply   #ff7f7f7f7f7f7f7f -> #fe007f7f7f7f7c7f
							 | 
						||
| 
								 | 
							
								decd537 apply   #ff00000000000000 -> -sNaN
							 | 
						||
| 
								 | 
							
								decd538 apply   #ffffffffffffffff -> -sNaN999999999999999
							 | 
						||
| 
								 | 
							
								decd539 apply   #ffffffffffffffff -> #fe00ff3fcff3fcff
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- diagnostic NaNs
							 | 
						||
| 
								 | 
							
								decd540 apply   NaN                 -> #7c00000000000000
							 | 
						||
| 
								 | 
							
								decd541 apply   NaN0                -> #7c00000000000000
							 | 
						||
| 
								 | 
							
								decd542 apply   NaN1                -> #7c00000000000001
							 | 
						||
| 
								 | 
							
								decd543 apply   NaN12               -> #7c00000000000012
							 | 
						||
| 
								 | 
							
								decd544 apply   NaN79               -> #7c00000000000079
							 | 
						||
| 
								 | 
							
								decd545 apply   NaN12345            -> #7c000000000049c5
							 | 
						||
| 
								 | 
							
								decd546 apply   NaN123456           -> #7c00000000028e56
							 | 
						||
| 
								 | 
							
								decd547 apply   NaN799799           -> #7c000000000f7fdf
							 | 
						||
| 
								 | 
							
								decd548 apply   NaN799799799799799  -> #7c03dff7fdff7fdf
							 | 
						||
| 
								 | 
							
								decd549 apply   NaN999999999999999  -> #7c00ff3fcff3fcff
							 | 
						||
| 
								 | 
							
								-- too many digits
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- fold-down full sequence
							 | 
						||
| 
								 | 
							
								decd601 apply   1E+384                  -> #47fc000000000000 Clamped
							 | 
						||
| 
								 | 
							
								decd602 apply   #47fc000000000000       -> 1.000000000000000E+384
							 | 
						||
| 
								 | 
							
								decd603 apply   1E+383                  -> #43fc800000000000 Clamped
							 | 
						||
| 
								 | 
							
								decd604 apply   #43fc800000000000       -> 1.00000000000000E+383
							 | 
						||
| 
								 | 
							
								decd605 apply   1E+382                  -> #43fc100000000000 Clamped
							 | 
						||
| 
								 | 
							
								decd606 apply   #43fc100000000000       -> 1.0000000000000E+382
							 | 
						||
| 
								 | 
							
								decd607 apply   1E+381                  -> #43fc010000000000 Clamped
							 | 
						||
| 
								 | 
							
								decd608 apply   #43fc010000000000       -> 1.000000000000E+381
							 | 
						||
| 
								 | 
							
								decd609 apply   1E+380                  -> #43fc002000000000 Clamped
							 | 
						||
| 
								 | 
							
								decd610 apply   #43fc002000000000       -> 1.00000000000E+380
							 | 
						||
| 
								 | 
							
								decd611 apply   1E+379                  -> #43fc000400000000 Clamped
							 | 
						||
| 
								 | 
							
								decd612 apply   #43fc000400000000       -> 1.0000000000E+379
							 | 
						||
| 
								 | 
							
								decd613 apply   1E+378                  -> #43fc000040000000 Clamped
							 | 
						||
| 
								 | 
							
								decd614 apply   #43fc000040000000       -> 1.000000000E+378
							 | 
						||
| 
								 | 
							
								decd615 apply   1E+377                  -> #43fc000008000000 Clamped
							 | 
						||
| 
								 | 
							
								decd616 apply   #43fc000008000000       -> 1.00000000E+377
							 | 
						||
| 
								 | 
							
								decd617 apply   1E+376                  -> #43fc000001000000 Clamped
							 | 
						||
| 
								 | 
							
								decd618 apply   #43fc000001000000       -> 1.0000000E+376
							 | 
						||
| 
								 | 
							
								decd619 apply   1E+375                  -> #43fc000000100000 Clamped
							 | 
						||
| 
								 | 
							
								decd620 apply   #43fc000000100000       -> 1.000000E+375
							 | 
						||
| 
								 | 
							
								decd621 apply   1E+374                  -> #43fc000000020000 Clamped
							 | 
						||
| 
								 | 
							
								decd622 apply   #43fc000000020000       -> 1.00000E+374
							 | 
						||
| 
								 | 
							
								decd623 apply   1E+373                  -> #43fc000000004000 Clamped
							 | 
						||
| 
								 | 
							
								decd624 apply   #43fc000000004000       -> 1.0000E+373
							 | 
						||
| 
								 | 
							
								decd625 apply   1E+372                  -> #43fc000000000400 Clamped
							 | 
						||
| 
								 | 
							
								decd626 apply   #43fc000000000400       -> 1.000E+372
							 | 
						||
| 
								 | 
							
								decd627 apply   1E+371                  -> #43fc000000000080 Clamped
							 | 
						||
| 
								 | 
							
								decd628 apply   #43fc000000000080       -> 1.00E+371
							 | 
						||
| 
								 | 
							
								decd629 apply   1E+370                  -> #43fc000000000010 Clamped
							 | 
						||
| 
								 | 
							
								decd630 apply   #43fc000000000010       -> 1.0E+370
							 | 
						||
| 
								 | 
							
								decd631 apply   1E+369                  -> #43fc000000000001
							 | 
						||
| 
								 | 
							
								decd632 apply   #43fc000000000001       -> 1E+369
							 | 
						||
| 
								 | 
							
								decd633 apply   1E+368                  -> #43f8000000000001
							 | 
						||
| 
								 | 
							
								decd634 apply   #43f8000000000001       -> 1E+368
							 | 
						||
| 
								 | 
							
								-- same with 9s
							 | 
						||
| 
								 | 
							
								decd641 apply   9E+384                  -> #77fc000000000000 Clamped
							 | 
						||
| 
								 | 
							
								decd642 apply   #77fc000000000000       -> 9.000000000000000E+384
							 | 
						||
| 
								 | 
							
								decd643 apply   9E+383                  -> #43fc8c0000000000 Clamped
							 | 
						||
| 
								 | 
							
								decd644 apply   #43fc8c0000000000       -> 9.00000000000000E+383
							 | 
						||
| 
								 | 
							
								decd645 apply   9E+382                  -> #43fc1a0000000000 Clamped
							 | 
						||
| 
								 | 
							
								decd646 apply   #43fc1a0000000000       -> 9.0000000000000E+382
							 | 
						||
| 
								 | 
							
								decd647 apply   9E+381                  -> #43fc090000000000 Clamped
							 | 
						||
| 
								 | 
							
								decd648 apply   #43fc090000000000       -> 9.000000000000E+381
							 | 
						||
| 
								 | 
							
								decd649 apply   9E+380                  -> #43fc002300000000 Clamped
							 | 
						||
| 
								 | 
							
								decd650 apply   #43fc002300000000       -> 9.00000000000E+380
							 | 
						||
| 
								 | 
							
								decd651 apply   9E+379                  -> #43fc000680000000 Clamped
							 | 
						||
| 
								 | 
							
								decd652 apply   #43fc000680000000       -> 9.0000000000E+379
							 | 
						||
| 
								 | 
							
								decd653 apply   9E+378                  -> #43fc000240000000 Clamped
							 | 
						||
| 
								 | 
							
								decd654 apply   #43fc000240000000       -> 9.000000000E+378
							 | 
						||
| 
								 | 
							
								decd655 apply   9E+377                  -> #43fc000008c00000 Clamped
							 | 
						||
| 
								 | 
							
								decd656 apply   #43fc000008c00000       -> 9.00000000E+377
							 | 
						||
| 
								 | 
							
								decd657 apply   9E+376                  -> #43fc000001a00000 Clamped
							 | 
						||
| 
								 | 
							
								decd658 apply   #43fc000001a00000       -> 9.0000000E+376
							 | 
						||
| 
								 | 
							
								decd659 apply   9E+375                  -> #43fc000000900000 Clamped
							 | 
						||
| 
								 | 
							
								decd660 apply   #43fc000000900000       -> 9.000000E+375
							 | 
						||
| 
								 | 
							
								decd661 apply   9E+374                  -> #43fc000000023000 Clamped
							 | 
						||
| 
								 | 
							
								decd662 apply   #43fc000000023000       -> 9.00000E+374
							 | 
						||
| 
								 | 
							
								decd663 apply   9E+373                  -> #43fc000000006800 Clamped
							 | 
						||
| 
								 | 
							
								decd664 apply   #43fc000000006800       -> 9.0000E+373
							 | 
						||
| 
								 | 
							
								decd665 apply   9E+372                  -> #43fc000000002400 Clamped
							 | 
						||
| 
								 | 
							
								decd666 apply   #43fc000000002400       -> 9.000E+372
							 | 
						||
| 
								 | 
							
								decd667 apply   9E+371                  -> #43fc00000000008c Clamped
							 | 
						||
| 
								 | 
							
								decd668 apply   #43fc00000000008c       -> 9.00E+371
							 | 
						||
| 
								 | 
							
								decd669 apply   9E+370                  -> #43fc00000000001a Clamped
							 | 
						||
| 
								 | 
							
								decd670 apply   #43fc00000000001a       -> 9.0E+370
							 | 
						||
| 
								 | 
							
								decd671 apply   9E+369                  -> #43fc000000000009
							 | 
						||
| 
								 | 
							
								decd672 apply   #43fc000000000009       -> 9E+369
							 | 
						||
| 
								 | 
							
								decd673 apply   9E+368                  -> #43f8000000000009
							 | 
						||
| 
								 | 
							
								decd674 apply   #43f8000000000009       -> 9E+368
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- Selected DPD codes
							 | 
						||
| 
								 | 
							
								decd700 apply   #2238000000000000       -> 0
							 | 
						||
| 
								 | 
							
								decd701 apply   #2238000000000009       -> 9
							 | 
						||
| 
								 | 
							
								decd702 apply   #2238000000000010       -> 10
							 | 
						||
| 
								 | 
							
								decd703 apply   #2238000000000019       -> 19
							 | 
						||
| 
								 | 
							
								decd704 apply   #2238000000000020       -> 20
							 | 
						||
| 
								 | 
							
								decd705 apply   #2238000000000029       -> 29
							 | 
						||
| 
								 | 
							
								decd706 apply   #2238000000000030       -> 30
							 | 
						||
| 
								 | 
							
								decd707 apply   #2238000000000039       -> 39
							 | 
						||
| 
								 | 
							
								decd708 apply   #2238000000000040       -> 40
							 | 
						||
| 
								 | 
							
								decd709 apply   #2238000000000049       -> 49
							 | 
						||
| 
								 | 
							
								decd710 apply   #2238000000000050       -> 50
							 | 
						||
| 
								 | 
							
								decd711 apply   #2238000000000059       -> 59
							 | 
						||
| 
								 | 
							
								decd712 apply   #2238000000000060       -> 60
							 | 
						||
| 
								 | 
							
								decd713 apply   #2238000000000069       -> 69
							 | 
						||
| 
								 | 
							
								decd714 apply   #2238000000000070       -> 70
							 | 
						||
| 
								 | 
							
								decd715 apply   #2238000000000071       -> 71
							 | 
						||
| 
								 | 
							
								decd716 apply   #2238000000000072       -> 72
							 | 
						||
| 
								 | 
							
								decd717 apply   #2238000000000073       -> 73
							 | 
						||
| 
								 | 
							
								decd718 apply   #2238000000000074       -> 74
							 | 
						||
| 
								 | 
							
								decd719 apply   #2238000000000075       -> 75
							 | 
						||
| 
								 | 
							
								decd720 apply   #2238000000000076       -> 76
							 | 
						||
| 
								 | 
							
								decd721 apply   #2238000000000077       -> 77
							 | 
						||
| 
								 | 
							
								decd722 apply   #2238000000000078       -> 78
							 | 
						||
| 
								 | 
							
								decd723 apply   #2238000000000079       -> 79
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								decd725 apply   #223800000000029e       -> 994
							 | 
						||
| 
								 | 
							
								decd726 apply   #223800000000029f       -> 995
							 | 
						||
| 
								 | 
							
								decd727 apply   #22380000000002a0       -> 520
							 | 
						||
| 
								 | 
							
								decd728 apply   #22380000000002a1       -> 521
							 | 
						||
| 
								 | 
							
								-- from telco test data
							 | 
						||
| 
								 | 
							
								decd730 apply   #2238000000000188       -> 308
							 | 
						||
| 
								 | 
							
								decd731 apply   #22380000000001a3       -> 323
							 | 
						||
| 
								 | 
							
								decd732 apply   #223800000000002a       ->  82
							 | 
						||
| 
								 | 
							
								decd733 apply   #22380000000001a9       -> 329
							 | 
						||
| 
								 | 
							
								decd734 apply   #2238000000000081       -> 101
							 | 
						||
| 
								 | 
							
								decd735 apply   #22380000000002a2       -> 522
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- DPD: one of each of the huffman groups
							 | 
						||
| 
								 | 
							
								decd740 apply   #22380000000003f7       -> 777
							 | 
						||
| 
								 | 
							
								decd741 apply   #22380000000003f8       -> 778
							 | 
						||
| 
								 | 
							
								decd742 apply   #22380000000003eb       -> 787
							 | 
						||
| 
								 | 
							
								decd743 apply   #223800000000037d       -> 877
							 | 
						||
| 
								 | 
							
								decd744 apply   #223800000000039f       -> 997
							 | 
						||
| 
								 | 
							
								decd745 apply   #22380000000003bf       -> 979
							 | 
						||
| 
								 | 
							
								decd746 apply   #22380000000003df       -> 799
							 | 
						||
| 
								 | 
							
								decd747 apply   #223800000000006e       -> 888
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- DPD all-highs cases (includes the 24 redundant codes)
							 | 
						||
| 
								 | 
							
								decd750 apply   #223800000000006e       -> 888
							 | 
						||
| 
								 | 
							
								decd751 apply   #223800000000016e       -> 888
							 | 
						||
| 
								 | 
							
								decd752 apply   #223800000000026e       -> 888
							 | 
						||
| 
								 | 
							
								decd753 apply   #223800000000036e       -> 888
							 | 
						||
| 
								 | 
							
								decd754 apply   #223800000000006f       -> 889
							 | 
						||
| 
								 | 
							
								decd755 apply   #223800000000016f       -> 889
							 | 
						||
| 
								 | 
							
								decd756 apply   #223800000000026f       -> 889
							 | 
						||
| 
								 | 
							
								decd757 apply   #223800000000036f       -> 889
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								decd760 apply   #223800000000007e       -> 898
							 | 
						||
| 
								 | 
							
								decd761 apply   #223800000000017e       -> 898
							 | 
						||
| 
								 | 
							
								decd762 apply   #223800000000027e       -> 898
							 | 
						||
| 
								 | 
							
								decd763 apply   #223800000000037e       -> 898
							 | 
						||
| 
								 | 
							
								decd764 apply   #223800000000007f       -> 899
							 | 
						||
| 
								 | 
							
								decd765 apply   #223800000000017f       -> 899
							 | 
						||
| 
								 | 
							
								decd766 apply   #223800000000027f       -> 899
							 | 
						||
| 
								 | 
							
								decd767 apply   #223800000000037f       -> 899
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								decd770 apply   #22380000000000ee       -> 988
							 | 
						||
| 
								 | 
							
								decd771 apply   #22380000000001ee       -> 988
							 | 
						||
| 
								 | 
							
								decd772 apply   #22380000000002ee       -> 988
							 | 
						||
| 
								 | 
							
								decd773 apply   #22380000000003ee       -> 988
							 | 
						||
| 
								 | 
							
								decd774 apply   #22380000000000ef       -> 989
							 | 
						||
| 
								 | 
							
								decd775 apply   #22380000000001ef       -> 989
							 | 
						||
| 
								 | 
							
								decd776 apply   #22380000000002ef       -> 989
							 | 
						||
| 
								 | 
							
								decd777 apply   #22380000000003ef       -> 989
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								decd780 apply   #22380000000000fe       -> 998
							 | 
						||
| 
								 | 
							
								decd781 apply   #22380000000001fe       -> 998
							 | 
						||
| 
								 | 
							
								decd782 apply   #22380000000002fe       -> 998
							 | 
						||
| 
								 | 
							
								decd783 apply   #22380000000003fe       -> 998
							 | 
						||
| 
								 | 
							
								decd784 apply   #22380000000000ff       -> 999
							 | 
						||
| 
								 | 
							
								decd785 apply   #22380000000001ff       -> 999
							 | 
						||
| 
								 | 
							
								decd786 apply   #22380000000002ff       -> 999
							 | 
						||
| 
								 | 
							
								decd787 apply   #22380000000003ff       -> 999
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- values around [u]int32 edges (zeros done earlier)
							 | 
						||
| 
								 | 
							
								decd800 apply -2147483646  -> #a23800008c78af46
							 | 
						||
| 
								 | 
							
								decd801 apply -2147483647  -> #a23800008c78af47
							 | 
						||
| 
								 | 
							
								decd802 apply -2147483648  -> #a23800008c78af48
							 | 
						||
| 
								 | 
							
								decd803 apply -2147483649  -> #a23800008c78af49
							 | 
						||
| 
								 | 
							
								decd804 apply  2147483646  -> #223800008c78af46
							 | 
						||
| 
								 | 
							
								decd805 apply  2147483647  -> #223800008c78af47
							 | 
						||
| 
								 | 
							
								decd806 apply  2147483648  -> #223800008c78af48
							 | 
						||
| 
								 | 
							
								decd807 apply  2147483649  -> #223800008c78af49
							 | 
						||
| 
								 | 
							
								decd808 apply  4294967294  -> #2238000115afb55a
							 | 
						||
| 
								 | 
							
								decd809 apply  4294967295  -> #2238000115afb55b
							 | 
						||
| 
								 | 
							
								decd810 apply  4294967296  -> #2238000115afb57a
							 | 
						||
| 
								 | 
							
								decd811 apply  4294967297  -> #2238000115afb57b
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								decd820 apply  #a23800008c78af46 -> -2147483646
							 | 
						||
| 
								 | 
							
								decd821 apply  #a23800008c78af47 -> -2147483647
							 | 
						||
| 
								 | 
							
								decd822 apply  #a23800008c78af48 -> -2147483648
							 | 
						||
| 
								 | 
							
								decd823 apply  #a23800008c78af49 -> -2147483649
							 | 
						||
| 
								 | 
							
								decd824 apply  #223800008c78af46 ->  2147483646
							 | 
						||
| 
								 | 
							
								decd825 apply  #223800008c78af47 ->  2147483647
							 | 
						||
| 
								 | 
							
								decd826 apply  #223800008c78af48 ->  2147483648
							 | 
						||
| 
								 | 
							
								decd827 apply  #223800008c78af49 ->  2147483649
							 | 
						||
| 
								 | 
							
								decd828 apply  #2238000115afb55a ->  4294967294
							 | 
						||
| 
								 | 
							
								decd829 apply  #2238000115afb55b ->  4294967295
							 | 
						||
| 
								 | 
							
								decd830 apply  #2238000115afb57a ->  4294967296
							 | 
						||
| 
								 | 
							
								decd831 apply  #2238000115afb57b ->  4294967297
							 |