------------------------------------------------------------------------

-- dsBase.decTest -- base decSingle <--> string conversions           --

-- Copyright (c) IBM Corporation, 1981, 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



-- This file tests base conversions from string to a decimal number

-- and back to a string (in Scientific form)



-- Note that unlike other operations the operand is subject to rounding

-- to conform to emax and precision settings (that is, numbers will

-- conform to rules and exponent will be in permitted range).  The

-- 'left hand side', therefore, may have numbers that cannot be

-- represented in a decSingle.  Some testcases go to the limit of the

-- next-wider format, and hence these testcases may also be used to

-- test narrowing and widening operations.



extended:    1

clamp:       1

precision:   7

maxExponent: 96

minExponent: -95

rounding:    half_even



dsbas001 toSci       0 -> 0

dsbas002 toSci       1 -> 1

dsbas003 toSci     1.0 -> 1.0

dsbas004 toSci    1.00 -> 1.00

dsbas005 toSci      10 -> 10

dsbas006 toSci    1000 -> 1000

dsbas007 toSci    10.0 -> 10.0

dsbas008 toSci    10.1 -> 10.1

dsbas009 toSci    10.4 -> 10.4

dsbas010 toSci    10.5 -> 10.5

dsbas011 toSci    10.6 -> 10.6

dsbas012 toSci    10.9 -> 10.9

dsbas013 toSci    11.0 -> 11.0

dsbas014 toSci  1.234 -> 1.234

dsbas015 toSci  0.123 -> 0.123

dsbas016 toSci  0.012 -> 0.012

dsbas017 toSci  -0    -> -0

dsbas018 toSci  -0.0  -> -0.0

dsbas019 toSci -00.00 -> -0.00



dsbas021 toSci     -1 -> -1

dsbas022 toSci   -1.0 -> -1.0

dsbas023 toSci   -0.1 -> -0.1

dsbas024 toSci   -9.1 -> -9.1

dsbas025 toSci   -9.11 -> -9.11

dsbas026 toSci   -9.119 -> -9.119

dsbas027 toSci   -9.999 -> -9.999



dsbas030 toSci  '1234.567'   -> '1234.567'

dsbas031 toSci  '1234.000'   -> '1234.000'

dsbas032 toSci   '1234912'   -> '1234912'

dsbas033 toSci   '0.00001234567'   -> '0.00001234567'

dsbas034 toSci  '0.000001234567'   -> '0.000001234567'

dsbas035 toSci '0.0000001234567'   -> '1.234567E-7'

dsbas036 toSci '0.00000001234567'  -> '1.234567E-8'



dsbas037 toSci '0.1234564'   -> '0.1234564'

dsbas038 toSci '0.1234565'   -> '0.1234565'



-- test finite bounds (Negs of, then 0, Ntiny, Nmin, other, Nmax)

dsbsn001 toSci -9.999999E+96 -> -9.999999E+96

dsbsn002 toSci -1E-95 -> -1E-95

dsbsn003 toSci -1E-101 -> -1E-101 Subnormal

dsbsn004 toSci -0 -> -0

dsbsn005 toSci +0 ->  0

dsbsn006 toSci +1E-101 ->  1E-101 Subnormal

dsbsn007 toSci +1E-95 ->  1E-95

dsbsn008 toSci +9.999999E+96 ->  9.999999E+96



-- String [many more examples are implicitly tested elsewhere]

-- strings without E cannot generate E in result

dsbas040 toSci "12"        -> '12'

dsbas041 toSci "-76"       -> '-76'

dsbas042 toSci "12.76"     -> '12.76'

dsbas043 toSci "+12.76"    -> '12.76'

dsbas044 toSci "012.76"    -> '12.76'

dsbas045 toSci "+0.003"    -> '0.003'

dsbas046 toSci "17."       -> '17'

dsbas047 toSci ".5"        -> '0.5'

dsbas048 toSci "044"       -> '44'

dsbas049 toSci "0044"      -> '44'

dsbas050 toSci "0.0005"      -> '0.0005'

dsbas051 toSci "00.00005"    -> '0.00005'

dsbas052 toSci "0.000005"    -> '0.000005'

dsbas053 toSci "0.0000050"   -> '0.0000050'

dsbas054 toSci "0.0000005"   -> '5E-7'

dsbas055 toSci "0.00000005"  -> '5E-8'

dsbas056 toSci "12678.54" -> '12678.54'

dsbas057 toSci "2678.543" -> '2678.543'

dsbas058 toSci "345678.5" -> '345678.5'

dsbas059 toSci "0678.5432" -> '678.5432'

dsbas060 toSci "678.5432" -> '678.5432'

dsbas061 toSci "+678.5432" -> '678.5432'

dsbas062 toSci "+0678.5432" -> '678.5432'

dsbas063 toSci "+00678.5432" -> '678.5432'

dsbas064 toSci "-678.5432"  -> '-678.5432'

dsbas065 toSci "-0678.5432"  -> '-678.5432'

dsbas066 toSci "-00678.5432"  -> '-678.5432'

-- examples

dsbas067 toSci "5E-6"        -> '0.000005'

dsbas068 toSci "50E-7"       -> '0.0000050'

dsbas069 toSci "5E-7"        -> '5E-7'



-- [No exotics as no Unicode]



-- rounded with dots in all (including edge) places

dsbas071 toSci  .1234567890123456  -> 0.1234568 Inexact Rounded

dsbas072 toSci  1.234567890123456  -> 1.234568 Inexact Rounded

dsbas073 toSci  12.34567890123456  -> 12.34568 Inexact Rounded

dsbas074 toSci  123.4567890123456  -> 123.4568 Inexact Rounded

dsbas075 toSci  1234.567890123456  -> 1234.568 Inexact Rounded

dsbas076 toSci  12345.67890123456  -> 12345.68 Inexact Rounded

dsbas077 toSci  123456.7890123456  -> 123456.8 Inexact Rounded

dsbas078 toSci  1234567.890123456  -> 1234568  Inexact Rounded

dsbas079 toSci  12345678.90123456  -> 1.234568E+7 Inexact Rounded

dsbas080 toSci  123456789.0123456  -> 1.234568E+8 Inexact Rounded

dsbas081 toSci  1234567890.123456  -> 1.234568E+9 Inexact Rounded

dsbas082 toSci  12345678901.23456  -> 1.234568E+10 Inexact Rounded

dsbas083 toSci  123456789012.3456  -> 1.234568E+11 Inexact Rounded

dsbas084 toSci  1234567890123.456  -> 1.234568E+12 Inexact Rounded

dsbas085 toSci  12345678901234.56  -> 1.234568E+13 Inexact Rounded

dsbas086 toSci  123456789012345.6  -> 1.234568E+14 Inexact Rounded

dsbas087 toSci  1234567890123456.  -> 1.234568E+15 Inexact Rounded

dsbas088 toSci  1234567890123456   -> 1.234568E+15 Inexact Rounded



-- Numbers with E

dsbas130 toSci "0.000E-1"  -> '0.0000'

dsbas131 toSci "0.000E-2"  -> '0.00000'

dsbas132 toSci "0.000E-3"  -> '0.000000'

dsbas133 toSci "0.000E-4"  -> '0E-7'

dsbas134 toSci "0.00E-2"   -> '0.0000'

dsbas135 toSci "0.00E-3"   -> '0.00000'

dsbas136 toSci "0.00E-4"   -> '0.000000'

dsbas137 toSci "0.00E-5"   -> '0E-7'

dsbas138 toSci "+0E+9"     -> '0E+9'

dsbas139 toSci "-0E+9"     -> '-0E+9'

dsbas140 toSci "1E+9"      -> '1E+9'

dsbas141 toSci "1e+09"     -> '1E+9'

dsbas142 toSci "1E+90"     -> '1E+90'

dsbas143 toSci "+1E+009"   -> '1E+9'

dsbas144 toSci "0E+9"      -> '0E+9'

dsbas145 toSci "1E+9"      -> '1E+9'

dsbas146 toSci "1E+09"     -> '1E+9'

dsbas147 toSci "1e+90"     -> '1E+90'

dsbas148 toSci "1E+009"    -> '1E+9'

dsbas149 toSci "000E+9"    -> '0E+9'

dsbas150 toSci "1E9"       -> '1E+9'

dsbas151 toSci "1e09"      -> '1E+9'

dsbas152 toSci "1E90"      -> '1E+90'

dsbas153 toSci "1E009"     -> '1E+9'

dsbas154 toSci "0E9"       -> '0E+9'

dsbas155 toSci "0.000e+0"  -> '0.000'

dsbas156 toSci "0.000E-1"  -> '0.0000'

dsbas157 toSci "4E+9"      -> '4E+9'

dsbas158 toSci "44E+9"     -> '4.4E+10'

dsbas159 toSci "0.73e-7"   -> '7.3E-8'

dsbas160 toSci "00E+9"     -> '0E+9'

dsbas161 toSci "00E-9"     -> '0E-9'

dsbas162 toSci "10E+9"     -> '1.0E+10'

dsbas163 toSci "10E+09"    -> '1.0E+10'

dsbas164 toSci "10e+90"    -> '1.0E+91'

dsbas165 toSci "10E+009"   -> '1.0E+10'

dsbas166 toSci "100e+9"    -> '1.00E+11'

dsbas167 toSci "100e+09"   -> '1.00E+11'

dsbas168 toSci "100E+90"   -> '1.00E+92'

dsbas169 toSci "100e+009"  -> '1.00E+11'



dsbas170 toSci "1.265"     -> '1.265'

dsbas171 toSci "1.265E-20" -> '1.265E-20'

dsbas172 toSci "1.265E-8"  -> '1.265E-8'

dsbas173 toSci "1.265E-4"  -> '0.0001265'

dsbas174 toSci "1.265E-3"  -> '0.001265'

dsbas175 toSci "1.265E-2"  -> '0.01265'

dsbas176 toSci "1.265E-1"  -> '0.1265'

dsbas177 toSci "1.265E-0"  -> '1.265'

dsbas178 toSci "1.265E+1"  -> '12.65'

dsbas179 toSci "1.265E+2"  -> '126.5'

dsbas180 toSci "1.265E+3"  -> '1265'

dsbas181 toSci "1.265E+4"  -> '1.265E+4'

dsbas182 toSci "1.265E+8"  -> '1.265E+8'

dsbas183 toSci "1.265E+20" -> '1.265E+20'



dsbas190 toSci "12.65"     -> '12.65'

dsbas191 toSci "12.65E-20" -> '1.265E-19'

dsbas192 toSci "12.65E-8"  -> '1.265E-7'

dsbas193 toSci "12.65E-4"  -> '0.001265'

dsbas194 toSci "12.65E-3"  -> '0.01265'

dsbas195 toSci "12.65E-2"  -> '0.1265'

dsbas196 toSci "12.65E-1"  -> '1.265'

dsbas197 toSci "12.65E-0"  -> '12.65'

dsbas198 toSci "12.65E+1"  -> '126.5'

dsbas199 toSci "12.65E+2"  -> '1265'

dsbas200 toSci "12.65E+3"  -> '1.265E+4'

dsbas201 toSci "12.65E+4"  -> '1.265E+5'

dsbas202 toSci "12.65E+8"  -> '1.265E+9'

dsbas203 toSci "12.65E+20" -> '1.265E+21'



dsbas210 toSci "126.5"     -> '126.5'

dsbas211 toSci "126.5E-20" -> '1.265E-18'

dsbas212 toSci "126.5E-8"  -> '0.000001265'

dsbas213 toSci "126.5E-4"  -> '0.01265'

dsbas214 toSci "126.5E-3"  -> '0.1265'

dsbas215 toSci "126.5E-2"  -> '1.265'

dsbas216 toSci "126.5E-1"  -> '12.65'

dsbas217 toSci "126.5E-0"  -> '126.5'

dsbas218 toSci "126.5E+1"  -> '1265'

dsbas219 toSci "126.5E+2"  -> '1.265E+4'

dsbas220 toSci "126.5E+3"  -> '1.265E+5'

dsbas221 toSci "126.5E+4"  -> '1.265E+6'

dsbas222 toSci "126.5E+8"  -> '1.265E+10'

dsbas223 toSci "126.5E+20" -> '1.265E+22'



dsbas230 toSci "1265"     -> '1265'

dsbas231 toSci "1265E-20" -> '1.265E-17'

dsbas232 toSci "1265E-8"  -> '0.00001265'

dsbas233 toSci "1265E-4"  -> '0.1265'

dsbas234 toSci "1265E-3"  -> '1.265'

dsbas235 toSci "1265E-2"  -> '12.65'

dsbas236 toSci "1265E-1"  -> '126.5'

dsbas237 toSci "1265E-0"  -> '1265'

dsbas238 toSci "1265E+1"  -> '1.265E+4'

dsbas239 toSci "1265E+2"  -> '1.265E+5'

dsbas240 toSci "1265E+3"  -> '1.265E+6'

dsbas241 toSci "1265E+4"  -> '1.265E+7'

dsbas242 toSci "1265E+8"  -> '1.265E+11'

dsbas243 toSci "1265E+20" -> '1.265E+23'



dsbas250 toSci "0.1265"     -> '0.1265'

dsbas251 toSci "0.1265E-20" -> '1.265E-21'

dsbas252 toSci "0.1265E-8"  -> '1.265E-9'

dsbas253 toSci "0.1265E-4"  -> '0.00001265'

dsbas254 toSci "0.1265E-3"  -> '0.0001265'

dsbas255 toSci "0.1265E-2"  -> '0.001265'

dsbas256 toSci "0.1265E-1"  -> '0.01265'

dsbas257 toSci "0.1265E-0"  -> '0.1265'

dsbas258 toSci "0.1265E+1"  -> '1.265'

dsbas259 toSci "0.1265E+2"  -> '12.65'

dsbas260 toSci "0.1265E+3"  -> '126.5'

dsbas261 toSci "0.1265E+4"  -> '1265'

dsbas262 toSci "0.1265E+8"  -> '1.265E+7'

dsbas263 toSci "0.1265E+20" -> '1.265E+19'



-- some more negative zeros [systematic tests below]

dsbas290 toSci "-0.000E-1"  -> '-0.0000'

dsbas291 toSci "-0.000E-2"  -> '-0.00000'

dsbas292 toSci "-0.000E-3"  -> '-0.000000'

dsbas293 toSci "-0.000E-4"  -> '-0E-7'

dsbas294 toSci "-0.00E-2"   -> '-0.0000'

dsbas295 toSci "-0.00E-3"   -> '-0.00000'

dsbas296 toSci "-0.0E-2"    -> '-0.000'

dsbas297 toSci "-0.0E-3"    -> '-0.0000'

dsbas298 toSci "-0E-2"      -> '-0.00'

dsbas299 toSci "-0E-3"      -> '-0.000'



-- Engineering notation tests

dsbas301  toSci 10e12  -> 1.0E+13

dsbas302  toEng 10e12  -> 10E+12

dsbas303  toSci 10e11  -> 1.0E+12

dsbas304  toEng 10e11  -> 1.0E+12

dsbas305  toSci 10e10  -> 1.0E+11

dsbas306  toEng 10e10  -> 100E+9

dsbas307  toSci 10e9   -> 1.0E+10

dsbas308  toEng 10e9   -> 10E+9

dsbas309  toSci 10e8   -> 1.0E+9

dsbas310  toEng 10e8   -> 1.0E+9

dsbas311  toSci 10e7   -> 1.0E+8

dsbas312  toEng 10e7   -> 100E+6

dsbas313  toSci 10e6   -> 1.0E+7

dsbas314  toEng 10e6   -> 10E+6

dsbas315  toSci 10e5   -> 1.0E+6

dsbas316  toEng 10e5   -> 1.0E+6

dsbas317  toSci 10e4   -> 1.0E+5

dsbas318  toEng 10e4   -> 100E+3

dsbas319  toSci 10e3   -> 1.0E+4

dsbas320  toEng 10e3   -> 10E+3

dsbas321  toSci 10e2   -> 1.0E+3

dsbas322  toEng 10e2   -> 1.0E+3

dsbas323  toSci 10e1   -> 1.0E+2

dsbas324  toEng 10e1   -> 100

dsbas325  toSci 10e0   -> 10

dsbas326  toEng 10e0   -> 10

dsbas327  toSci 10e-1  -> 1.0

dsbas328  toEng 10e-1  -> 1.0

dsbas329  toSci 10e-2  -> 0.10

dsbas330  toEng 10e-2  -> 0.10

dsbas331  toSci 10e-3  -> 0.010

dsbas332  toEng 10e-3  -> 0.010

dsbas333  toSci 10e-4  -> 0.0010

dsbas334  toEng 10e-4  -> 0.0010

dsbas335  toSci 10e-5  -> 0.00010

dsbas336  toEng 10e-5  -> 0.00010

dsbas337  toSci 10e-6  -> 0.000010

dsbas338  toEng 10e-6  -> 0.000010

dsbas339  toSci 10e-7  -> 0.0000010

dsbas340  toEng 10e-7  -> 0.0000010

dsbas341  toSci 10e-8  -> 1.0E-7

dsbas342  toEng 10e-8  -> 100E-9

dsbas343  toSci 10e-9  -> 1.0E-8

dsbas344  toEng 10e-9  -> 10E-9

dsbas345  toSci 10e-10 -> 1.0E-9

dsbas346  toEng 10e-10 -> 1.0E-9

dsbas347  toSci 10e-11 -> 1.0E-10

dsbas348  toEng 10e-11 -> 100E-12

dsbas349  toSci 10e-12 -> 1.0E-11

dsbas350  toEng 10e-12 -> 10E-12

dsbas351  toSci 10e-13 -> 1.0E-12

dsbas352  toEng 10e-13 -> 1.0E-12



dsbas361  toSci 7E12  -> 7E+12

dsbas362  toEng 7E12  -> 7E+12

dsbas363  toSci 7E11  -> 7E+11

dsbas364  toEng 7E11  -> 700E+9

dsbas365  toSci 7E10  -> 7E+10

dsbas366  toEng 7E10  -> 70E+9

dsbas367  toSci 7E9   -> 7E+9

dsbas368  toEng 7E9   -> 7E+9

dsbas369  toSci 7E8   -> 7E+8

dsbas370  toEng 7E8   -> 700E+6

dsbas371  toSci 7E7   -> 7E+7

dsbas372  toEng 7E7   -> 70E+6

dsbas373  toSci 7E6   -> 7E+6

dsbas374  toEng 7E6   -> 7E+6

dsbas375  toSci 7E5   -> 7E+5

dsbas376  toEng 7E5   -> 700E+3

dsbas377  toSci 7E4   -> 7E+4

dsbas378  toEng 7E4   -> 70E+3

dsbas379  toSci 7E3   -> 7E+3

dsbas380  toEng 7E3   -> 7E+3

dsbas381  toSci 7E2   -> 7E+2

dsbas382  toEng 7E2   -> 700

dsbas383  toSci 7E1   -> 7E+1

dsbas384  toEng 7E1   -> 70

dsbas385  toSci 7E0   -> 7

dsbas386  toEng 7E0   -> 7

dsbas387  toSci 7E-1  -> 0.7

dsbas388  toEng 7E-1  -> 0.7

dsbas389  toSci 7E-2  -> 0.07

dsbas390  toEng 7E-2  -> 0.07

dsbas391  toSci 7E-3  -> 0.007

dsbas392  toEng 7E-3  -> 0.007

dsbas393  toSci 7E-4  -> 0.0007

dsbas394  toEng 7E-4  -> 0.0007

dsbas395  toSci 7E-5  -> 0.00007

dsbas396  toEng 7E-5  -> 0.00007

dsbas397  toSci 7E-6  -> 0.000007

dsbas398  toEng 7E-6  -> 0.000007

dsbas399  toSci 7E-7  -> 7E-7

dsbas400  toEng 7E-7  -> 700E-9

dsbas401  toSci 7E-8  -> 7E-8

dsbas402  toEng 7E-8  -> 70E-9

dsbas403  toSci 7E-9  -> 7E-9

dsbas404  toEng 7E-9  -> 7E-9

dsbas405  toSci 7E-10 -> 7E-10

dsbas406  toEng 7E-10 -> 700E-12

dsbas407  toSci 7E-11 -> 7E-11

dsbas408  toEng 7E-11 -> 70E-12

dsbas409  toSci 7E-12 -> 7E-12

dsbas410  toEng 7E-12 -> 7E-12

dsbas411  toSci 7E-13 -> 7E-13

dsbas412  toEng 7E-13 -> 700E-15



-- Exacts remain exact up to precision ..

dsbas420  toSci    100 -> 100

dsbas422  toSci   1000 -> 1000

dsbas424  toSci  999.9 ->  999.9

dsbas426  toSci 1000.0 -> 1000.0

dsbas428  toSci 1000.1 -> 1000.1

dsbas430  toSci 10000 -> 10000

dsbas432  toSci 1000        -> 1000

dsbas434  toSci 10000       -> 10000

dsbas436  toSci 100000      -> 100000

dsbas438  toSci 1000000     -> 1000000

dsbas440  toSci 10000000    -> 1.000000E+7   Rounded

dsbas442  toSci 10000000    -> 1.000000E+7   Rounded

dsbas444  toSci 10000003    -> 1.000000E+7   Rounded Inexact

dsbas446  toSci 10000005    -> 1.000000E+7   Rounded Inexact

dsbas448  toSci 100000050   -> 1.000000E+8   Rounded Inexact

dsbas450  toSci 10000009    -> 1.000001E+7   Rounded Inexact

dsbas452  toSci 100000000   -> 1.000000E+8   Rounded

dsbas454  toSci 100000003   -> 1.000000E+8   Rounded Inexact

dsbas456  toSci 100000005   -> 1.000000E+8   Rounded Inexact

dsbas458  toSci 100000009   -> 1.000000E+8   Rounded Inexact

dsbas460  toSci 1000000000  -> 1.000000E+9   Rounded

dsbas462  toSci 1000000300  -> 1.000000E+9   Rounded Inexact

dsbas464  toSci 1000000500  -> 1.000000E+9   Rounded Inexact

dsbas466  toSci 1000000900  -> 1.000001E+9   Rounded Inexact

dsbas468  toSci 10000000000 -> 1.000000E+10  Rounded

dsbas470  toSci 10000003000 -> 1.000000E+10  Rounded Inexact

dsbas472  toSci 10000005000 -> 1.000000E+10  Rounded Inexact

dsbas474  toSci 10000009000 -> 1.000001E+10  Rounded Inexact



-- check rounding modes heeded

rounding:  ceiling

dsbsr401  toSci  1.1123450    ->  1.112345  Rounded

dsbsr402  toSci  1.11234549   ->  1.112346  Rounded Inexact

dsbsr403  toSci  1.11234550   ->  1.112346  Rounded Inexact

dsbsr404  toSci  1.11234551   ->  1.112346  Rounded Inexact

rounding:  up

dsbsr405  toSci  1.1123450    ->  1.112345  Rounded

dsbsr406  toSci  1.11234549   ->  1.112346  Rounded Inexact

dsbsr407  toSci  1.11234550   ->  1.112346  Rounded Inexact

dsbsr408  toSci  1.11234551   ->  1.112346  Rounded Inexact

rounding:  floor

dsbsr410  toSci  1.1123450    ->  1.112345  Rounded

dsbsr411  toSci  1.11234549   ->  1.112345  Rounded Inexact

dsbsr412  toSci  1.11234550   ->  1.112345  Rounded Inexact

dsbsr413  toSci  1.11234551   ->  1.112345  Rounded Inexact

rounding:  half_down

dsbsr415  toSci  1.1123450    ->  1.112345  Rounded

dsbsr416  toSci  1.11234549   ->  1.112345  Rounded Inexact

dsbsr417  toSci  1.11234550   ->  1.112345  Rounded Inexact

dsbsr418  toSci  1.11234650   ->  1.112346  Rounded Inexact

dsbsr419  toSci  1.11234551   ->  1.112346  Rounded Inexact

rounding:  half_even

dsbsr421  toSci  1.1123450    ->  1.112345  Rounded

dsbsr422  toSci  1.11234549   ->  1.112345  Rounded Inexact

dsbsr423  toSci  1.11234550   ->  1.112346  Rounded Inexact

dsbsr424  toSci  1.11234650   ->  1.112346  Rounded Inexact

dsbsr425  toSci  1.11234551   ->  1.112346  Rounded Inexact

rounding:  down

dsbsr426  toSci  1.1123450    ->  1.112345  Rounded

dsbsr427  toSci  1.11234549   ->  1.112345  Rounded Inexact

dsbsr428  toSci  1.11234550   ->  1.112345  Rounded Inexact

dsbsr429  toSci  1.11234551   ->  1.112345  Rounded Inexact

rounding:  half_up

dsbsr431  toSci  1.1123450    ->  1.112345  Rounded

dsbsr432  toSci  1.11234549   ->  1.112345  Rounded Inexact

dsbsr433  toSci  1.11234550   ->  1.112346  Rounded Inexact

dsbsr434  toSci  1.11234650   ->  1.112347  Rounded Inexact

dsbsr435  toSci  1.11234551   ->  1.112346  Rounded Inexact

-- negatives

rounding:  ceiling

dsbsr501  toSci -1.1123450    -> -1.112345  Rounded

dsbsr502  toSci -1.11234549   -> -1.112345  Rounded Inexact

dsbsr503  toSci -1.11234550   -> -1.112345  Rounded Inexact

dsbsr504  toSci -1.11234551   -> -1.112345  Rounded Inexact

rounding:  up

dsbsr505  toSci -1.1123450    -> -1.112345  Rounded

dsbsr506  toSci -1.11234549   -> -1.112346  Rounded Inexact

dsbsr507  toSci -1.11234550   -> -1.112346  Rounded Inexact

dsbsr508  toSci -1.11234551   -> -1.112346  Rounded Inexact

rounding:  floor

dsbsr510  toSci -1.1123450    -> -1.112345  Rounded

dsbsr511  toSci -1.11234549   -> -1.112346  Rounded Inexact

dsbsr512  toSci -1.11234550   -> -1.112346  Rounded Inexact

dsbsr513  toSci -1.11234551   -> -1.112346  Rounded Inexact

rounding:  half_down

dsbsr515  toSci -1.1123450    -> -1.112345  Rounded

dsbsr516  toSci -1.11234549   -> -1.112345  Rounded Inexact

dsbsr517  toSci -1.11234550   -> -1.112345  Rounded Inexact

dsbsr518  toSci -1.11234650   -> -1.112346  Rounded Inexact

dsbsr519  toSci -1.11234551   -> -1.112346  Rounded Inexact

rounding:  half_even

dsbsr521  toSci -1.1123450    -> -1.112345  Rounded

dsbsr522  toSci -1.11234549   -> -1.112345  Rounded Inexact

dsbsr523  toSci -1.11234550   -> -1.112346  Rounded Inexact

dsbsr524  toSci -1.11234650   -> -1.112346  Rounded Inexact

dsbsr525  toSci -1.11234551   -> -1.112346  Rounded Inexact

rounding:  down

dsbsr526  toSci -1.1123450    -> -1.112345  Rounded

dsbsr527  toSci -1.11234549   -> -1.112345  Rounded Inexact

dsbsr528  toSci -1.11234550   -> -1.112345  Rounded Inexact

dsbsr529  toSci -1.11234551   -> -1.112345  Rounded Inexact

rounding:  half_up

dsbsr531  toSci -1.1123450    -> -1.112345  Rounded

dsbsr532  toSci -1.11234549   -> -1.112345  Rounded Inexact

dsbsr533  toSci -1.11234550   -> -1.112346  Rounded Inexact

dsbsr534  toSci -1.11234650   -> -1.112347  Rounded Inexact

dsbsr535  toSci -1.11234551   -> -1.112346  Rounded Inexact



rounding:    half_even



-- The 'baddies' tests from DiagBigDecimal, plus some new ones

dsbas500 toSci '1..2'            -> NaN Conversion_syntax

dsbas501 toSci '.'               -> NaN Conversion_syntax

dsbas502 toSci '..'              -> NaN Conversion_syntax

dsbas503 toSci '++1'             -> NaN Conversion_syntax

dsbas504 toSci '--1'             -> NaN Conversion_syntax

dsbas505 toSci '-+1'             -> NaN Conversion_syntax

dsbas506 toSci '+-1'             -> NaN Conversion_syntax

dsbas507 toSci '12e'             -> NaN Conversion_syntax

dsbas508 toSci '12e++'           -> NaN Conversion_syntax

dsbas509 toSci '12f4'            -> NaN Conversion_syntax

dsbas510 toSci ' +1'             -> NaN Conversion_syntax

dsbas511 toSci '+ 1'             -> NaN Conversion_syntax

dsbas512 toSci '12 '             -> NaN Conversion_syntax

dsbas513 toSci ' + 1'            -> NaN Conversion_syntax

dsbas514 toSci ' - 1 '           -> NaN Conversion_syntax

dsbas515 toSci 'x'               -> NaN Conversion_syntax

dsbas516 toSci '-1-'             -> NaN Conversion_syntax

dsbas517 toSci '12-'             -> NaN Conversion_syntax

dsbas518 toSci '3+'              -> NaN Conversion_syntax

dsbas519 toSci ''                -> NaN Conversion_syntax

dsbas520 toSci '1e-'             -> NaN Conversion_syntax

dsbas521 toSci '7e99999a'        -> NaN Conversion_syntax

dsbas522 toSci '7e123567890x'    -> NaN Conversion_syntax

dsbas523 toSci '7e12356789012x'  -> NaN Conversion_syntax

dsbas524 toSci ''                -> NaN Conversion_syntax

dsbas525 toSci 'e100'            -> NaN Conversion_syntax

dsbas526 toSci '\u0e5a'          -> NaN Conversion_syntax

dsbas527 toSci '\u0b65'          -> NaN Conversion_syntax

dsbas528 toSci '123,65'          -> NaN Conversion_syntax

dsbas529 toSci '1.34.5'          -> NaN Conversion_syntax

dsbas530 toSci '.123.5'          -> NaN Conversion_syntax

dsbas531 toSci '01.35.'          -> NaN Conversion_syntax

dsbas532 toSci '01.35-'          -> NaN Conversion_syntax

dsbas533 toSci '0000..'          -> NaN Conversion_syntax

dsbas534 toSci '.0000.'          -> NaN Conversion_syntax

dsbas535 toSci '00..00'          -> NaN Conversion_syntax

dsbas536 toSci '111e*123'        -> NaN Conversion_syntax

dsbas537 toSci '111e123-'        -> NaN Conversion_syntax

dsbas538 toSci '111e+12+'        -> NaN Conversion_syntax

dsbas539 toSci '111e1-3-'        -> NaN Conversion_syntax

dsbas540 toSci '111e1*23'        -> NaN Conversion_syntax

dsbas541 toSci '111e1e+3'        -> NaN Conversion_syntax

dsbas542 toSci '1e1.0'           -> NaN Conversion_syntax

dsbas543 toSci '1e123e'          -> NaN Conversion_syntax

dsbas544 toSci 'ten'             -> NaN Conversion_syntax

dsbas545 toSci 'ONE'             -> NaN Conversion_syntax

dsbas546 toSci '1e.1'            -> NaN Conversion_syntax

dsbas547 toSci '1e1.'            -> NaN Conversion_syntax

dsbas548 toSci '1ee'             -> NaN Conversion_syntax

dsbas549 toSci 'e+1'             -> NaN Conversion_syntax

dsbas550 toSci '1.23.4'          -> NaN Conversion_syntax

dsbas551 toSci '1.2.1'           -> NaN Conversion_syntax

dsbas552 toSci '1E+1.2'          -> NaN Conversion_syntax

dsbas553 toSci '1E+1.2.3'        -> NaN Conversion_syntax

dsbas554 toSci '1E++1'           -> NaN Conversion_syntax

dsbas555 toSci '1E--1'           -> NaN Conversion_syntax

dsbas556 toSci '1E+-1'           -> NaN Conversion_syntax

dsbas557 toSci '1E-+1'           -> NaN Conversion_syntax

dsbas558 toSci '1E''1'           -> NaN Conversion_syntax

dsbas559 toSci "1E""1"           -> NaN Conversion_syntax

dsbas560 toSci "1E"""""          -> NaN Conversion_syntax

-- Near-specials

dsbas561 toSci "qNaN"            -> NaN Conversion_syntax

dsbas562 toSci "NaNq"            -> NaN Conversion_syntax

dsbas563 toSci "NaNs"            -> NaN Conversion_syntax

dsbas564 toSci "Infi"            -> NaN Conversion_syntax

dsbas565 toSci "Infin"           -> NaN Conversion_syntax

dsbas566 toSci "Infini"          -> NaN Conversion_syntax

dsbas567 toSci "Infinit"         -> NaN Conversion_syntax

dsbas568 toSci "-Infinit"        -> NaN Conversion_syntax

dsbas569 toSci "0Inf"            -> NaN Conversion_syntax

dsbas570 toSci "9Inf"            -> NaN Conversion_syntax

dsbas571 toSci "-0Inf"           -> NaN Conversion_syntax

dsbas572 toSci "-9Inf"           -> NaN Conversion_syntax

dsbas573 toSci "-sNa"            -> NaN Conversion_syntax

dsbas574 toSci "xNaN"            -> NaN Conversion_syntax

dsbas575 toSci "0sNaN"           -> NaN Conversion_syntax



-- some baddies with dots and Es and dots and specials

dsbas576 toSci  'e+1'            ->  NaN Conversion_syntax

dsbas577 toSci  '.e+1'           ->  NaN Conversion_syntax

dsbas578 toSci  '+.e+1'          ->  NaN Conversion_syntax

dsbas579 toSci  '-.e+'           ->  NaN Conversion_syntax

dsbas580 toSci  '-.e'            ->  NaN Conversion_syntax

dsbas581 toSci  'E+1'            ->  NaN Conversion_syntax

dsbas582 toSci  '.E+1'           ->  NaN Conversion_syntax

dsbas583 toSci  '+.E+1'          ->  NaN Conversion_syntax

dsbas584 toSci  '-.E+'           ->  NaN Conversion_syntax

dsbas585 toSci  '-.E'            ->  NaN Conversion_syntax



dsbas586 toSci  '.NaN'           ->  NaN Conversion_syntax

dsbas587 toSci  '-.NaN'          ->  NaN Conversion_syntax

dsbas588 toSci  '+.sNaN'         ->  NaN Conversion_syntax

dsbas589 toSci  '+.Inf'          ->  NaN Conversion_syntax

dsbas590 toSci  '.Infinity'      ->  NaN Conversion_syntax



-- Zeros

dsbas601 toSci 0.000000000       -> 0E-9

dsbas602 toSci 0.00000000        -> 0E-8

dsbas603 toSci 0.0000000         -> 0E-7

dsbas604 toSci 0.000000          -> 0.000000

dsbas605 toSci 0.00000           -> 0.00000

dsbas606 toSci 0.0000            -> 0.0000

dsbas607 toSci 0.000             -> 0.000

dsbas608 toSci 0.00              -> 0.00

dsbas609 toSci 0.0               -> 0.0

dsbas610 toSci  .0               -> 0.0

dsbas611 toSci 0.                -> 0

dsbas612 toSci -.0               -> -0.0

dsbas613 toSci -0.               -> -0

dsbas614 toSci -0.0              -> -0.0

dsbas615 toSci -0.00             -> -0.00

dsbas616 toSci -0.000            -> -0.000

dsbas617 toSci -0.0000           -> -0.0000

dsbas618 toSci -0.00000          -> -0.00000

dsbas619 toSci -0.000000         -> -0.000000

dsbas620 toSci -0.0000000        -> -0E-7

dsbas621 toSci -0.00000000       -> -0E-8

dsbas622 toSci -0.000000000      -> -0E-9



dsbas630 toSci  0.00E+0          -> 0.00

dsbas631 toSci  0.00E+1          -> 0.0

dsbas632 toSci  0.00E+2          -> 0

dsbas633 toSci  0.00E+3          -> 0E+1

dsbas634 toSci  0.00E+4          -> 0E+2

dsbas635 toSci  0.00E+5          -> 0E+3

dsbas636 toSci  0.00E+6          -> 0E+4

dsbas637 toSci  0.00E+7          -> 0E+5

dsbas638 toSci  0.00E+8          -> 0E+6

dsbas639 toSci  0.00E+9          -> 0E+7



dsbas640 toSci  0.0E+0           -> 0.0

dsbas641 toSci  0.0E+1           -> 0

dsbas642 toSci  0.0E+2           -> 0E+1

dsbas643 toSci  0.0E+3           -> 0E+2

dsbas644 toSci  0.0E+4           -> 0E+3

dsbas645 toSci  0.0E+5           -> 0E+4

dsbas646 toSci  0.0E+6           -> 0E+5

dsbas647 toSci  0.0E+7           -> 0E+6

dsbas648 toSci  0.0E+8           -> 0E+7

dsbas649 toSci  0.0E+9           -> 0E+8



dsbas650 toSci  0E+0             -> 0

dsbas651 toSci  0E+1             -> 0E+1

dsbas652 toSci  0E+2             -> 0E+2

dsbas653 toSci  0E+3             -> 0E+3

dsbas654 toSci  0E+4             -> 0E+4

dsbas655 toSci  0E+5             -> 0E+5

dsbas656 toSci  0E+6             -> 0E+6

dsbas657 toSci  0E+7             -> 0E+7

dsbas658 toSci  0E+8             -> 0E+8

dsbas659 toSci  0E+9             -> 0E+9



dsbas660 toSci  0.0E-0           -> 0.0

dsbas661 toSci  0.0E-1           -> 0.00

dsbas662 toSci  0.0E-2           -> 0.000

dsbas663 toSci  0.0E-3           -> 0.0000

dsbas664 toSci  0.0E-4           -> 0.00000

dsbas665 toSci  0.0E-5           -> 0.000000

dsbas666 toSci  0.0E-6           -> 0E-7

dsbas667 toSci  0.0E-7           -> 0E-8

dsbas668 toSci  0.0E-8           -> 0E-9

dsbas669 toSci  0.0E-9           -> 0E-10



dsbas670 toSci  0.00E-0          -> 0.00

dsbas671 toSci  0.00E-1          -> 0.000

dsbas672 toSci  0.00E-2          -> 0.0000

dsbas673 toSci  0.00E-3          -> 0.00000

dsbas674 toSci  0.00E-4          -> 0.000000

dsbas675 toSci  0.00E-5          -> 0E-7

dsbas676 toSci  0.00E-6          -> 0E-8

dsbas677 toSci  0.00E-7          -> 0E-9

dsbas678 toSci  0.00E-8          -> 0E-10

dsbas679 toSci  0.00E-9          -> 0E-11



dsbas680 toSci  000000.          ->  0

dsbas681 toSci   00000.          ->  0

dsbas682 toSci    0000.          ->  0

dsbas683 toSci     000.          ->  0

dsbas684 toSci      00.          ->  0

dsbas685 toSci       0.          ->  0

dsbas686 toSci  +00000.          ->  0

dsbas687 toSci  -00000.          -> -0

dsbas688 toSci  +0.              ->  0

dsbas689 toSci  -0.              -> -0



-- Specials

dsbas700 toSci "NaN"             -> NaN

dsbas701 toSci "nan"             -> NaN

dsbas702 toSci "nAn"             -> NaN

dsbas703 toSci "NAN"             -> NaN

dsbas704 toSci "+NaN"            -> NaN

dsbas705 toSci "+nan"            -> NaN

dsbas706 toSci "+nAn"            -> NaN

dsbas707 toSci "+NAN"            -> NaN

dsbas708 toSci "-NaN"            -> -NaN

dsbas709 toSci "-nan"            -> -NaN

dsbas710 toSci "-nAn"            -> -NaN

dsbas711 toSci "-NAN"            -> -NaN

dsbas712 toSci 'NaN0'            -> NaN

dsbas713 toSci 'NaN1'            -> NaN1

dsbas714 toSci 'NaN12'           -> NaN12

dsbas715 toSci 'NaN123'          -> NaN123

dsbas716 toSci 'NaN1234'         -> NaN1234

dsbas717 toSci 'NaN01'           -> NaN1

dsbas718 toSci 'NaN012'          -> NaN12

dsbas719 toSci 'NaN0123'         -> NaN123

dsbas720 toSci 'NaN01234'        -> NaN1234

dsbas721 toSci 'NaN001'          -> NaN1

dsbas722 toSci 'NaN0012'         -> NaN12

dsbas723 toSci 'NaN00123'        -> NaN123

dsbas724 toSci 'NaN001234'       -> NaN1234

dsbas725 toSci 'NaN1234567890123456' -> NaN Conversion_syntax

dsbas726 toSci 'NaN123e+1'       -> NaN Conversion_syntax

dsbas727 toSci 'NaN12.45'        -> NaN Conversion_syntax

dsbas728 toSci 'NaN-12'          -> NaN Conversion_syntax

dsbas729 toSci 'NaN+12'          -> NaN Conversion_syntax



dsbas730 toSci "sNaN"            -> sNaN

dsbas731 toSci "snan"            -> sNaN

dsbas732 toSci "SnAn"            -> sNaN

dsbas733 toSci "SNAN"            -> sNaN

dsbas734 toSci "+sNaN"           -> sNaN

dsbas735 toSci "+snan"           -> sNaN

dsbas736 toSci "+SnAn"           -> sNaN

dsbas737 toSci "+SNAN"           -> sNaN

dsbas738 toSci "-sNaN"           -> -sNaN

dsbas739 toSci "-snan"           -> -sNaN

dsbas740 toSci "-SnAn"           -> -sNaN

dsbas741 toSci "-SNAN"           -> -sNaN

dsbas742 toSci 'sNaN0000'        -> sNaN

dsbas743 toSci 'sNaN7'           -> sNaN7

dsbas744 toSci 'sNaN007234'      -> sNaN7234

dsbas745 toSci 'sNaN7234561234567890' -> NaN Conversion_syntax

dsbas746 toSci 'sNaN72.45'       -> NaN Conversion_syntax

dsbas747 toSci 'sNaN-72'         -> NaN Conversion_syntax



dsbas748 toSci "Inf"             -> Infinity

dsbas749 toSci "inf"             -> Infinity

dsbas750 toSci "iNf"             -> Infinity

dsbas751 toSci "INF"             -> Infinity

dsbas752 toSci "+Inf"            -> Infinity

dsbas753 toSci "+inf"            -> Infinity

dsbas754 toSci "+iNf"            -> Infinity

dsbas755 toSci "+INF"            -> Infinity

dsbas756 toSci "-Inf"            -> -Infinity

dsbas757 toSci "-inf"            -> -Infinity

dsbas758 toSci "-iNf"            -> -Infinity

dsbas759 toSci "-INF"            -> -Infinity



dsbas760 toSci "Infinity"        -> Infinity

dsbas761 toSci "infinity"        -> Infinity

dsbas762 toSci "iNfInItY"        -> Infinity

dsbas763 toSci "INFINITY"        -> Infinity

dsbas764 toSci "+Infinity"       -> Infinity

dsbas765 toSci "+infinity"       -> Infinity

dsbas766 toSci "+iNfInItY"       -> Infinity

dsbas767 toSci "+INFINITY"       -> Infinity

dsbas768 toSci "-Infinity"       -> -Infinity

dsbas769 toSci "-infinity"       -> -Infinity

dsbas770 toSci "-iNfInItY"       -> -Infinity

dsbas771 toSci "-INFINITY"       -> -Infinity



-- Specials and zeros for toEng

dsbast772 toEng "NaN"              -> NaN

dsbast773 toEng "-Infinity"        -> -Infinity

dsbast774 toEng "-sNaN"            -> -sNaN

dsbast775 toEng "-NaN"             -> -NaN

dsbast776 toEng "+Infinity"        -> Infinity

dsbast778 toEng "+sNaN"            -> sNaN

dsbast779 toEng "+NaN"             -> NaN

dsbast780 toEng "INFINITY"         -> Infinity

dsbast781 toEng "SNAN"             -> sNaN

dsbast782 toEng "NAN"              -> NaN

dsbast783 toEng "infinity"         -> Infinity

dsbast784 toEng "snan"             -> sNaN

dsbast785 toEng "nan"              -> NaN

dsbast786 toEng "InFINITY"         -> Infinity

dsbast787 toEng "SnAN"             -> sNaN

dsbast788 toEng "nAN"              -> NaN

dsbast789 toEng "iNfinity"         -> Infinity

dsbast790 toEng "sNan"             -> sNaN

dsbast791 toEng "Nan"              -> NaN

dsbast792 toEng "Infinity"         -> Infinity

dsbast793 toEng "sNaN"             -> sNaN



-- Zero toEng, etc.

dsbast800 toEng 0e+1              -> "0.00E+3"  -- doc example



dsbast801 toEng 0.000000000       -> 0E-9

dsbast802 toEng 0.00000000        -> 0.00E-6

dsbast803 toEng 0.0000000         -> 0.0E-6

dsbast804 toEng 0.000000          -> 0.000000

dsbast805 toEng 0.00000           -> 0.00000

dsbast806 toEng 0.0000            -> 0.0000

dsbast807 toEng 0.000             -> 0.000

dsbast808 toEng 0.00              -> 0.00

dsbast809 toEng 0.0               -> 0.0

dsbast810 toEng  .0               -> 0.0

dsbast811 toEng 0.                -> 0

dsbast812 toEng -.0               -> -0.0

dsbast813 toEng -0.               -> -0

dsbast814 toEng -0.0              -> -0.0

dsbast815 toEng -0.00             -> -0.00

dsbast816 toEng -0.000            -> -0.000

dsbast817 toEng -0.0000           -> -0.0000

dsbast818 toEng -0.00000          -> -0.00000

dsbast819 toEng -0.000000         -> -0.000000

dsbast820 toEng -0.0000000        -> -0.0E-6

dsbast821 toEng -0.00000000       -> -0.00E-6

dsbast822 toEng -0.000000000      -> -0E-9



dsbast830 toEng  0.00E+0          -> 0.00

dsbast831 toEng  0.00E+1          -> 0.0

dsbast832 toEng  0.00E+2          -> 0

dsbast833 toEng  0.00E+3          -> 0.00E+3

dsbast834 toEng  0.00E+4          -> 0.0E+3

dsbast835 toEng  0.00E+5          -> 0E+3

dsbast836 toEng  0.00E+6          -> 0.00E+6

dsbast837 toEng  0.00E+7          -> 0.0E+6

dsbast838 toEng  0.00E+8          -> 0E+6

dsbast839 toEng  0.00E+9          -> 0.00E+9



dsbast840 toEng  0.0E+0           -> 0.0

dsbast841 toEng  0.0E+1           -> 0

dsbast842 toEng  0.0E+2           -> 0.00E+3

dsbast843 toEng  0.0E+3           -> 0.0E+3

dsbast844 toEng  0.0E+4           -> 0E+3

dsbast845 toEng  0.0E+5           -> 0.00E+6

dsbast846 toEng  0.0E+6           -> 0.0E+6

dsbast847 toEng  0.0E+7           -> 0E+6

dsbast848 toEng  0.0E+8           -> 0.00E+9

dsbast849 toEng  0.0E+9           -> 0.0E+9



dsbast850 toEng  0E+0             -> 0

dsbast851 toEng  0E+1             -> 0.00E+3

dsbast852 toEng  0E+2             -> 0.0E+3

dsbast853 toEng  0E+3             -> 0E+3

dsbast854 toEng  0E+4             -> 0.00E+6

dsbast855 toEng  0E+5             -> 0.0E+6

dsbast856 toEng  0E+6             -> 0E+6

dsbast857 toEng  0E+7             -> 0.00E+9

dsbast858 toEng  0E+8             -> 0.0E+9

dsbast859 toEng  0E+9             -> 0E+9



dsbast860 toEng  0.0E-0           -> 0.0

dsbast861 toEng  0.0E-1           -> 0.00

dsbast862 toEng  0.0E-2           -> 0.000

dsbast863 toEng  0.0E-3           -> 0.0000

dsbast864 toEng  0.0E-4           -> 0.00000

dsbast865 toEng  0.0E-5           -> 0.000000

dsbast866 toEng  0.0E-6           -> 0.0E-6

dsbast867 toEng  0.0E-7           -> 0.00E-6

dsbast868 toEng  0.0E-8           -> 0E-9

dsbast869 toEng  0.0E-9           -> 0.0E-9



dsbast870 toEng  0.00E-0          -> 0.00

dsbast871 toEng  0.00E-1          -> 0.000

dsbast872 toEng  0.00E-2          -> 0.0000

dsbast873 toEng  0.00E-3          -> 0.00000

dsbast874 toEng  0.00E-4          -> 0.000000

dsbast875 toEng  0.00E-5          -> 0.0E-6

dsbast876 toEng  0.00E-6          -> 0.00E-6

dsbast877 toEng  0.00E-7          -> 0E-9

dsbast878 toEng  0.00E-8          -> 0.0E-9

dsbast879 toEng  0.00E-9          -> 0.00E-9



-- long input strings

dsbas801 tosci          '01234567' -> 1234567

dsbas802 tosci         '001234567' -> 1234567

dsbas803 tosci        '0001234567' -> 1234567

dsbas804 tosci       '00001234567' -> 1234567

dsbas805 tosci      '000001234567' -> 1234567

dsbas806 tosci     '0000001234567' -> 1234567

dsbas807 tosci    '00000001234567' -> 1234567

dsbas808 tosci   '000000001234567' -> 1234567

dsbas809 tosci  '0000000001234567' -> 1234567

dsbas810 tosci '00000000001234567' -> 1234567



dsbas811 tosci          '0.1234567' ->      0.1234567

dsbas812 tosci         '0.01234567' ->     0.01234567

dsbas813 tosci        '0.001234567' ->    0.001234567

dsbas814 tosci       '0.0001234567' ->   0.0001234567

dsbas815 tosci      '0.00001234567' ->  0.00001234567

dsbas816 tosci     '0.000001234567' -> 0.000001234567

dsbas817 tosci    '0.0000001234567' ->       1.234567E-7

dsbas818 tosci   '0.00000001234567' ->       1.234567E-8

dsbas819 tosci  '0.000000001234567' ->       1.234567E-9

dsbas820 tosci '0.0000000001234567' ->       1.234567E-10



dsbas821 tosci '123456790'         -> 1.234568E+8 Inexact Rounded

dsbas822 tosci '1234567901'        -> 1.234568E+9  Inexact Rounded

dsbas823 tosci '12345679012'       -> 1.234568E+10 Inexact Rounded

dsbas824 tosci '123456790123'      -> 1.234568E+11 Inexact Rounded

dsbas825 tosci '1234567901234'     -> 1.234568E+12 Inexact Rounded

dsbas826 tosci '12345679012345'    -> 1.234568E+13 Inexact Rounded

dsbas827 tosci '123456790123456'   -> 1.234568E+14 Inexact Rounded

dsbas828 tosci '1234567901234567'  -> 1.234568E+15 Inexact Rounded

dsbas829 tosci '1234567890123456'  -> 1.234568E+15 Inexact Rounded



-- subnormals and overflows

dsbas906 toSci '99e999999999'       -> Infinity Overflow  Inexact Rounded

dsbas907 toSci '999e999999999'      -> Infinity Overflow  Inexact Rounded

dsbas908 toSci '0.9e-999999999'     -> 0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas909 toSci '0.09e-999999999'    -> 0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas910 toSci '0.1e1000000000'     -> Infinity Overflow  Inexact Rounded

dsbas911 toSci '10e-1000000000'     -> 0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas912 toSci '0.9e9999999999'     -> Infinity Overflow  Inexact Rounded

dsbas913 toSci '99e-9999999999'     -> 0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas914 toSci '111e9999999999'     -> Infinity Overflow  Inexact Rounded

dsbas915 toSci '1111e-9999999999'   -> 0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas916 toSci '1111e-99999999999'  -> 0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas917 toSci '7e1000000000'       -> Infinity Overflow  Inexact Rounded

-- negatives the same

dsbas918 toSci '-99e999999999'      -> -Infinity Overflow  Inexact Rounded

dsbas919 toSci '-999e999999999'     -> -Infinity Overflow  Inexact Rounded

dsbas920 toSci '-0.9e-999999999'    -> -0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas921 toSci '-0.09e-999999999'   -> -0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas922 toSci '-0.1e1000000000'    -> -Infinity Overflow  Inexact Rounded

dsbas923 toSci '-10e-1000000000'    -> -0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas924 toSci '-0.9e9999999999'    -> -Infinity Overflow  Inexact Rounded

dsbas925 toSci '-99e-9999999999'    -> -0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas926 toSci '-111e9999999999'    -> -Infinity Overflow  Inexact Rounded

dsbas927 toSci '-1111e-9999999999'  -> -0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas928 toSci '-1111e-99999999999' -> -0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas929 toSci '-7e1000000000'      -> -Infinity Overflow  Inexact Rounded



-- overflow results at different rounding modes

rounding:  ceiling

dsbas930 toSci  '7e10000'  ->  Infinity Overflow  Inexact Rounded

dsbas931 toSci '-7e10000'  -> -9.999999E+96 Overflow  Inexact Rounded

rounding:  up

dsbas932 toSci  '7e10000'  ->  Infinity Overflow  Inexact Rounded

dsbas933 toSci '-7e10000'  -> -Infinity Overflow  Inexact Rounded

rounding:  down

dsbas934 toSci  '7e10000'  ->  9.999999E+96 Overflow  Inexact Rounded

dsbas935 toSci '-7e10000'  -> -9.999999E+96 Overflow  Inexact Rounded

rounding:  floor

dsbas936 toSci  '7e10000'  ->  9.999999E+96 Overflow  Inexact Rounded

dsbas937 toSci '-7e10000'  -> -Infinity Overflow  Inexact Rounded



rounding:  half_up

dsbas938 toSci  '7e10000'  ->  Infinity Overflow  Inexact Rounded

dsbas939 toSci '-7e10000'  -> -Infinity Overflow  Inexact Rounded

rounding:  half_even

dsbas940 toSci  '7e10000'  ->  Infinity Overflow  Inexact Rounded

dsbas941 toSci '-7e10000'  -> -Infinity Overflow  Inexact Rounded

rounding:  half_down

dsbas942 toSci  '7e10000'  ->  Infinity Overflow  Inexact Rounded

dsbas943 toSci '-7e10000'  -> -Infinity Overflow  Inexact Rounded



rounding:  half_even



-- Now check 854/754r some subnormals and underflow to 0

dsbem400 toSci  1.0000E-86     -> 1.0000E-86

dsbem401 toSci  0.1E-97        -> 1E-98       Subnormal

dsbem402 toSci  0.1000E-97     -> 1.000E-98   Subnormal

dsbem403 toSci  0.0100E-97     -> 1.00E-99    Subnormal

dsbem404 toSci  0.0010E-97     -> 1.0E-100     Subnormal

dsbem405 toSci  0.0001E-97     -> 1E-101       Subnormal

dsbem406 toSci  0.00010E-97    -> 1E-101     Subnormal Rounded

dsbem407 toSci  0.00013E-97    -> 1E-101     Underflow Subnormal Inexact Rounded

dsbem408 toSci  0.00015E-97    -> 2E-101     Underflow Subnormal Inexact Rounded

dsbem409 toSci  0.00017E-97    -> 2E-101     Underflow Subnormal Inexact Rounded

dsbem410 toSci  0.00023E-97    -> 2E-101     Underflow Subnormal Inexact Rounded

dsbem411 toSci  0.00025E-97    -> 2E-101     Underflow Subnormal Inexact Rounded

dsbem412 toSci  0.00027E-97    -> 3E-101     Underflow Subnormal Inexact Rounded

dsbem413 toSci  0.000149E-97   -> 1E-101     Underflow Subnormal Inexact Rounded

dsbem414 toSci  0.000150E-97   -> 2E-101     Underflow Subnormal Inexact Rounded

dsbem415 toSci  0.000151E-97   -> 2E-101     Underflow Subnormal Inexact Rounded

dsbem416 toSci  0.000249E-97   -> 2E-101     Underflow Subnormal Inexact Rounded

dsbem417 toSci  0.000250E-97   -> 2E-101     Underflow Subnormal Inexact Rounded

dsbem418 toSci  0.000251E-97   -> 3E-101     Underflow Subnormal Inexact Rounded

dsbem419 toSci  0.00009E-97    -> 1E-101     Underflow Subnormal Inexact Rounded

dsbem420 toSci  0.00005E-97    -> 0E-101     Underflow Subnormal Inexact Rounded Clamped

dsbem421 toSci  0.00003E-97    -> 0E-101     Underflow Subnormal Inexact Rounded Clamped

dsbem422 toSci  0.000009E-97   -> 0E-101     Underflow Subnormal Inexact Rounded Clamped

dsbem423 toSci  0.000005E-97   -> 0E-101     Underflow Subnormal Inexact Rounded Clamped

dsbem424 toSci  0.000003E-97   -> 0E-101     Underflow Subnormal Inexact Rounded Clamped



dsbem425 toSci  0.001049E-97   -> 1.0E-100   Underflow Subnormal Inexact Rounded

dsbem426 toSci  0.001050E-97   -> 1.0E-100   Underflow Subnormal Inexact Rounded

dsbem427 toSci  0.001051E-97   -> 1.1E-100   Underflow Subnormal Inexact Rounded

dsbem428 toSci  0.001149E-97   -> 1.1E-100   Underflow Subnormal Inexact Rounded

dsbem429 toSci  0.001150E-97   -> 1.2E-100   Underflow Subnormal Inexact Rounded

dsbem430 toSci  0.001151E-97   -> 1.2E-100   Underflow Subnormal Inexact Rounded



dsbem432 toSci  0.010049E-97   -> 1.00E-99  Underflow Subnormal Inexact Rounded

dsbem433 toSci  0.010050E-97   -> 1.00E-99  Underflow Subnormal Inexact Rounded

dsbem434 toSci  0.010051E-97   -> 1.01E-99  Underflow Subnormal Inexact Rounded

dsbem435 toSci  0.010149E-97   -> 1.01E-99  Underflow Subnormal Inexact Rounded

dsbem436 toSci  0.010150E-97   -> 1.02E-99  Underflow Subnormal Inexact Rounded

dsbem437 toSci  0.010151E-97   -> 1.02E-99  Underflow Subnormal Inexact Rounded



dsbem440 toSci  0.10103E-97    -> 1.010E-98 Underflow Subnormal Inexact Rounded

dsbem441 toSci  0.10105E-97    -> 1.010E-98 Underflow Subnormal Inexact Rounded

dsbem442 toSci  0.10107E-97    -> 1.011E-98 Underflow Subnormal Inexact Rounded

dsbem443 toSci  0.10113E-97    -> 1.011E-98 Underflow Subnormal Inexact Rounded

dsbem444 toSci  0.10115E-97    -> 1.012E-98 Underflow Subnormal Inexact Rounded

dsbem445 toSci  0.10117E-97    -> 1.012E-98 Underflow Subnormal Inexact Rounded



dsbem450 toSci  1.10730E-98    -> 1.107E-98 Underflow Subnormal Inexact Rounded

dsbem451 toSci  1.10750E-98    -> 1.108E-98 Underflow Subnormal Inexact Rounded

dsbem452 toSci  1.10770E-98    -> 1.108E-98 Underflow Subnormal Inexact Rounded

dsbem453 toSci  1.10830E-98    -> 1.108E-98 Underflow Subnormal Inexact Rounded

dsbem454 toSci  1.10850E-98    -> 1.108E-98 Underflow Subnormal Inexact Rounded

dsbem455 toSci  1.10870E-98    -> 1.109E-98 Underflow Subnormal Inexact Rounded



-- make sure sign OK

dsbem456 toSci  -0.10103E-97   -> -1.010E-98 Underflow Subnormal Inexact Rounded

dsbem457 toSci  -0.10105E-97   -> -1.010E-98 Underflow Subnormal Inexact Rounded

dsbem458 toSci  -0.10107E-97   -> -1.011E-98 Underflow Subnormal Inexact Rounded

dsbem459 toSci  -0.10113E-97   -> -1.011E-98 Underflow Subnormal Inexact Rounded

dsbem460 toSci  -0.10115E-97   -> -1.012E-98 Underflow Subnormal Inexact Rounded

dsbem461 toSci  -0.10117E-97   -> -1.012E-98 Underflow Subnormal Inexact Rounded



-- '999s' cases

dsbem464 toSci  999999E-98         -> 9.99999E-93

dsbem465 toSci  99999.0E-97        -> 9.99990E-93

dsbem466 toSci  99999.E-97         -> 9.9999E-93

dsbem467 toSci  9999.9E-97         -> 9.9999E-94

dsbem468 toSci  999.99E-97         -> 9.9999E-95

dsbem469 toSci  99.999E-97         -> 9.9999E-96 Subnormal

dsbem470 toSci  9.9999E-97         -> 9.9999E-97 Subnormal

dsbem471 toSci  0.99999E-97        -> 1.0000E-97 Underflow Subnormal Inexact Rounded

dsbem472 toSci  0.099999E-97       -> 1.000E-98  Underflow Subnormal Inexact Rounded

dsbem473 toSci  0.0099999E-97      -> 1.00E-99   Underflow Subnormal Inexact Rounded

dsbem474 toSci  0.00099999E-97     -> 1.0E-100   Underflow Subnormal Inexact Rounded

dsbem475 toSci  0.000099999E-97    -> 1E-101     Underflow Subnormal Inexact Rounded

dsbem476 toSci  0.0000099999E-97   -> 0E-101     Underflow Subnormal Inexact Rounded Clamped

dsbem477 toSci  0.00000099999E-97  -> 0E-101     Underflow Subnormal Inexact Rounded Clamped

dsbem478 toSci  0.000000099999E-97 -> 0E-101     Underflow Subnormal Inexact Rounded Clamped



-- Exponents with insignificant leading zeros

dsbas1001 toSci  1e999999999 -> Infinity Overflow Inexact Rounded

dsbas1002 toSci  1e0999999999 -> Infinity Overflow Inexact Rounded

dsbas1003 toSci  1e00999999999 -> Infinity Overflow Inexact Rounded

dsbas1004 toSci  1e000999999999 -> Infinity Overflow Inexact Rounded

dsbas1005 toSci  1e000000000000999999999 -> Infinity Overflow Inexact Rounded

dsbas1006 toSci  1e000000000001000000007 -> Infinity Overflow Inexact Rounded

dsbas1007 toSci  1e-999999999 -> 0E-101             Underflow Subnormal Inexact Rounded Clamped

dsbas1008 toSci  1e-0999999999 -> 0E-101            Underflow Subnormal Inexact Rounded Clamped

dsbas1009 toSci  1e-00999999999 -> 0E-101           Underflow Subnormal Inexact Rounded Clamped

dsbas1010 toSci  1e-000999999999 -> 0E-101          Underflow Subnormal Inexact Rounded Clamped

dsbas1011 toSci  1e-000000000000999999999 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped

dsbas1012 toSci  1e-000000000001000000007 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped



-- check for double-rounded subnormals

dsbas1041 toSci     1.1152444E-96 ->  1.11524E-96 Inexact Rounded Subnormal Underflow

dsbas1042 toSci     1.1152445E-96 ->  1.11524E-96 Inexact Rounded Subnormal Underflow

dsbas1043 toSci     1.1152446E-96 ->  1.11524E-96 Inexact Rounded Subnormal Underflow



-- clamped zeros [see also clamp.decTest]

dsbas1075 toSci   0e+10000  ->  0E+90   Clamped

dsbas1076 toSci   0e-10000  ->  0E-101  Clamped

dsbas1077 toSci  -0e+10000  -> -0E+90   Clamped

dsbas1078 toSci  -0e-10000  -> -0E-101  Clamped



-- extreme values from next-wider

dsbas1101 toSci -9.999999999999999E+384 -> -Infinity Overflow Inexact Rounded

dsbas1102 toSci -1E-383 -> -0E-101 Inexact Rounded Subnormal Underflow Clamped

dsbas1103 toSci -1E-398 -> -0E-101 Inexact Rounded Subnormal Underflow Clamped

dsbas1104 toSci -0 -> -0

dsbas1105 toSci +0 ->  0

dsbas1106 toSci +1E-398 ->  0E-101 Inexact Rounded Subnormal Underflow Clamped

dsbas1107 toSci +1E-383 ->  0E-101 Inexact Rounded Subnormal Underflow Clamped

dsbas1108 toSci +9.999999999999999E+384 ->  Infinity Overflow Inexact Rounded



-- narrowing case

dsbas1110 toSci 2.000000000000000E-99 -> 2.00E-99 Rounded Subnormal

