------------------------------------------------------------------------
-- base0.decTest -- base decimal <--> string conversions (simplified) --
-- 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 either Scientific or Engineering form),
-- using the simplified arithmetic rules

extended:    0
precision:   15
rounding:    half_up
maxExponent: 999999999
minexponent: -999999999

bas001 toSci      0 -> 0
bas002 toSci      1 -> 1
bas003 toSci    1.0 -> 1.0
bas004 toSci   1.00 -> 1.00
bas005 toSci     10 -> 10
bas006 toSci   1000 -> 1000
bas007 toSci   10.0 -> 10.0
bas008 toSci   10.1 -> 10.1
bas009 toSci   10.4 -> 10.4
bas010 toSci   10.5 -> 10.5
bas011 toSci   10.6 -> 10.6
bas012 toSci   10.9 -> 10.9
bas013 toSci   11.0 -> 11.0
bas014 toSci 1.234 -> 1.234
bas015 toSci 0.123 -> 0.123
bas016 toSci 0.012 -> 0.012

bas021 toSci     -1 -> -1
bas022 toSci   -1.0 -> -1.0
bas023 toSci   -0.1 -> -0.1
bas024 toSci   -9.1 -> -9.1
bas025 toSci   -9.11 -> -9.11
bas026 toSci   -9.119 -> -9.119
bas027 toSci   -9.999 -> -9.999

bas030 toSci  '123456789.123456'   -> '123456789.123456'
bas031 toSci  '123456789.000000'   -> '123456789.000000'
bas032 toSci   '123456789123456'   -> '123456789123456'
bas033 toSci   '0.0000123456789'   -> '0.0000123456789'
bas034 toSci  '0.00000123456789'   -> '0.00000123456789'
bas035 toSci '0.000000123456789'   -> '1.23456789E-7'
bas036 toSci '0.0000000123456789'  -> '1.23456789E-8'

bas037 toSci '0.123456789012344'   -> '0.123456789012344'
bas038 toSci '0.123456789012345'   -> '0.123456789012345'

-- String [many more examples are implicitly tested elsewhere]
-- strings without E cannot generate E in result
bas101 toSci "12"        -> '12'
bas102 toSci "-76"       -> '-76'
bas103 toSci "12.76"     -> '12.76'
bas104 toSci "+12.76"    -> '12.76'
bas105 toSci "012.76"    -> '12.76'
bas106 toSci "+0.003"    -> '0.003'
bas107 toSci "17."       -> '17'
bas108 toSci ".5"        -> '0.5'
bas109 toSci "044"       -> '44'
bas110 toSci "0044"      -> '44'
bas111 toSci "0.0005"    -> '0.0005'
bas112 toSci "00.00005"  -> '0.00005'
bas113 toSci "0.000005"  -> '0.000005'
bas114 toSci "0.0000005" -> '5E-7'
bas115 toSci "0.00000005" -> '5E-8'
bas116 toSci "12345678.543210" -> '12345678.543210'
bas117 toSci "2345678.543210" -> '2345678.543210'
bas118 toSci "345678.543210" -> '345678.543210'
bas119 toSci "0345678.54321" -> '345678.54321'
bas120 toSci "345678.5432" -> '345678.5432'
bas121 toSci "+345678.5432" -> '345678.5432'
bas122 toSci "+0345678.5432" -> '345678.5432'
bas123 toSci "+00345678.5432" -> '345678.5432'
bas124 toSci "-345678.5432"  -> '-345678.5432'
bas125 toSci "-0345678.5432"  -> '-345678.5432'
bas126 toSci "-00345678.5432"  -> '-345678.5432'

-- [No exotics as no Unicode]

-- Numbers with E
bas130 toSci "0.000E-1"  -> '0'
bas131 toSci "0.000E-2"  -> '0'
bas132 toSci "0.000E-3"  -> '0'
bas133 toSci "0.000E-4"  -> '0'
bas134 toSci "0.00E-2"   -> '0'
bas135 toSci "0.00E-3"   -> '0'
bas136 toSci "0.00E-4"   -> '0'
bas137 toSci "0.00E-5"   -> '0'
bas138 toSci "+0E+9"     -> '0'
bas139 toSci "-0E+9"     -> '0'

bas140 toSci "1E+9"      -> '1E+9'
bas141 toSci "1e+09"     -> '1E+9'
bas142 toSci "1E+90"     -> '1E+90'
bas143 toSci "+1E+009"   -> '1E+9'
bas144 toSci "0E+9"      -> '0'
bas145 toSci "1E+9"      -> '1E+9'
bas146 toSci "1E+09"     -> '1E+9'
bas147 toSci "1e+90"     -> '1E+90'
bas148 toSci "1E+009"    -> '1E+9'
bas149 toSci "000E+9"    -> '0'
bas150 toSci "1E9"       -> '1E+9'
bas151 toSci "1e09"      -> '1E+9'
bas152 toSci "1E90"      -> '1E+90'
bas153 toSci "1E009"     -> '1E+9'
bas154 toSci "0E9"       -> '0'
bas155 toSci "0.000e+0"  -> '0'
bas156 toSci "0.000E-1"  -> '0'
bas157 toSci "4E+9"      -> '4E+9'
bas158 toSci "44E+9"     -> '4.4E+10'
bas159 toSci "0.73e-7"   -> '7.3E-8'
bas160 toSci "00E+9"     -> '0'
bas161 toSci "00E-9"     -> '0'
bas162 toSci "10E+9"     -> '1.0E+10'
bas163 toSci "10E+09"    -> '1.0E+10'
bas164 toSci "10e+90"    -> '1.0E+91'
bas165 toSci "10E+009"   -> '1.0E+10'
bas166 toSci "100e+9"    -> '1.00E+11'
bas167 toSci "100e+09"   -> '1.00E+11'
bas168 toSci "100E+90"   -> '1.00E+92'
bas169 toSci "100e+009"  -> '1.00E+11'

bas170 toSci "1.265"     -> '1.265'
bas171 toSci "1.265E-20" -> '1.265E-20'
bas172 toSci "1.265E-8"  -> '1.265E-8'
bas173 toSci "1.265E-4"  -> '0.0001265'
bas174 toSci "1.265E-3"  -> '0.001265'
bas175 toSci "1.265E-2"  -> '0.01265'
bas176 toSci "1.265E-1"  -> '0.1265'
bas177 toSci "1.265E-0"  -> '1.265'
bas178 toSci "1.265E+1"  -> '12.65'
bas179 toSci "1.265E+2"  -> '126.5'
bas180 toSci "1.265E+3"  -> '1265'
bas181 toSci "1.265E+4"  -> '1.265E+4'
bas182 toSci "1.265E+8"  -> '1.265E+8'
bas183 toSci "1.265E+20" -> '1.265E+20'

bas190 toSci "12.65"     -> '12.65'
bas191 toSci "12.65E-20" -> '1.265E-19'
bas192 toSci "12.65E-8"  -> '1.265E-7'
bas193 toSci "12.65E-4"  -> '0.001265'
bas194 toSci "12.65E-3"  -> '0.01265'
bas195 toSci "12.65E-2"  -> '0.1265'
bas196 toSci "12.65E-1"  -> '1.265'
bas197 toSci "12.65E-0"  -> '12.65'
bas198 toSci "12.65E+1"  -> '126.5'
bas199 toSci "12.65E+2"  -> '1265'
bas200 toSci "12.65E+3"  -> '1.265E+4'
bas201 toSci "12.65E+4"  -> '1.265E+5'
bas202 toSci "12.65E+8"  -> '1.265E+9'
bas203 toSci "12.65E+20" -> '1.265E+21'

bas210 toSci "126.5"     -> '126.5'
bas211 toSci "126.5E-20" -> '1.265E-18'
bas212 toSci "126.5E-8"  -> '0.000001265'
bas213 toSci "126.5E-4"  -> '0.01265'
bas214 toSci "126.5E-3"  -> '0.1265'
bas215 toSci "126.5E-2"  -> '1.265'
bas216 toSci "126.5E-1"  -> '12.65'
bas217 toSci "126.5E-0"  -> '126.5'
bas218 toSci "126.5E+1"  -> '1265'
bas219 toSci "126.5E+2"  -> '1.265E+4'
bas220 toSci "126.5E+3"  -> '1.265E+5'
bas221 toSci "126.5E+4"  -> '1.265E+6'
bas222 toSci "126.5E+8"  -> '1.265E+10'
bas223 toSci "126.5E+20" -> '1.265E+22'

bas230 toSci "1265"     -> '1265'
bas231 toSci "1265E-20" -> '1.265E-17'
bas232 toSci "1265E-8"  -> '0.00001265'
bas233 toSci "1265E-4"  -> '0.1265'
bas234 toSci "1265E-3"  -> '1.265'
bas235 toSci "1265E-2"  -> '12.65'
bas236 toSci "1265E-1"  -> '126.5'
bas237 toSci "1265E-0"  -> '1265'
bas238 toSci "1265E+1"  -> '1.265E+4'
bas239 toSci "1265E+2"  -> '1.265E+5'
bas240 toSci "1265E+3"  -> '1.265E+6'
bas241 toSci "1265E+4"  -> '1.265E+7'
bas242 toSci "1265E+8"  -> '1.265E+11'
bas243 toSci "1265E+20" -> '1.265E+23'

bas250 toSci "0.1265"     -> '0.1265'
bas251 toSci "0.1265E-20" -> '1.265E-21'
bas252 toSci "0.1265E-8"  -> '1.265E-9'
bas253 toSci "0.1265E-4"  -> '0.00001265'
bas254 toSci "0.1265E-3"  -> '0.0001265'
bas255 toSci "0.1265E-2"  -> '0.001265'
bas256 toSci "0.1265E-1"  -> '0.01265'
bas257 toSci "0.1265E-0"  -> '0.1265'
bas258 toSci "0.1265E+1"  -> '1.265'
bas259 toSci "0.1265E+2"  -> '12.65'
bas260 toSci "0.1265E+3"  -> '126.5'
bas261 toSci "0.1265E+4"  -> '1265'
bas262 toSci "0.1265E+8"  -> '1.265E+7'
bas263 toSci "0.1265E+20" -> '1.265E+19'

bas270 toSci "0.09e999"  -> '9E+997'
bas271 toSci "0.9e999"   -> '9E+998'
bas272 toSci "9e999"     -> '9E+999'
bas273 toSci "9.9e999"   -> '9.9E+999'
bas274 toSci "9.99e999"  -> '9.99E+999'
bas275 toSci "9.99e-999" -> '9.99E-999'
bas276 toSci "9.9e-999"  -> '9.9E-999'
bas277 toSci "9e-999"    -> '9E-999'
bas279 toSci "99e-999"   -> '9.9E-998'
bas280 toSci "999e-999"  -> '9.99E-997'
bas281 toSci '0.9e-998'  -> '9E-999'
bas282 toSci '0.09e-997' -> '9E-999'
bas283 toSci '0.1e1000'  -> '1E+999'
bas284 toSci '10e-1000'  -> '1.0E-999'

-- Engineering notation tests
bas301  toSci 10e12  -> 1.0E+13
bas302  toEng 10e12  -> 10E+12
bas303  toSci 10e11  -> 1.0E+12
bas304  toEng 10e11  -> 1.0E+12
bas305  toSci 10e10  -> 1.0E+11
bas306  toEng 10e10  -> 100E+9
bas307  toSci 10e9   -> 1.0E+10
bas308  toEng 10e9   -> 10E+9
bas309  toSci 10e8   -> 1.0E+9
bas310  toEng 10e8   -> 1.0E+9
bas311  toSci 10e7   -> 1.0E+8
bas312  toEng 10e7   -> 100E+6
bas313  toSci 10e6   -> 1.0E+7
bas314  toEng 10e6   -> 10E+6
bas315  toSci 10e5   -> 1.0E+6
bas316  toEng 10e5   -> 1.0E+6
bas317  toSci 10e4   -> 1.0E+5
bas318  toEng 10e4   -> 100E+3
bas319  toSci 10e3   -> 1.0E+4
bas320  toEng 10e3   -> 10E+3
bas321  toSci 10e2   -> 1.0E+3
bas322  toEng 10e2   -> 1.0E+3
bas323  toSci 10e1   -> 1.0E+2
bas324  toEng 10e1   -> 100
bas325  toSci 10e0   -> 10
bas326  toEng 10e0   -> 10
bas327  toSci 10e-1  -> 1.0
bas328  toEng 10e-1  -> 1.0
bas329  toSci 10e-2  -> 0.10
bas330  toEng 10e-2  -> 0.10
bas331  toSci 10e-3  -> 0.010
bas332  toEng 10e-3  -> 0.010
bas333  toSci 10e-4  -> 0.0010
bas334  toEng 10e-4  -> 0.0010
bas335  toSci 10e-5  -> 0.00010
bas336  toEng 10e-5  -> 0.00010
bas337  toSci 10e-6  -> 0.000010
bas338  toEng 10e-6  -> 0.000010
bas339  toSci 10e-7  -> 0.0000010
bas340  toEng 10e-7  -> 0.0000010
bas341  toSci 10e-8  -> 1.0E-7
bas342  toEng 10e-8  -> 100E-9
bas343  toSci 10e-9  -> 1.0E-8
bas344  toEng 10e-9  -> 10E-9
bas345  toSci 10e-10 -> 1.0E-9
bas346  toEng 10e-10 -> 1.0E-9
bas347  toSci 10e-11 -> 1.0E-10
bas348  toEng 10e-11 -> 100E-12
bas349  toSci 10e-12 -> 1.0E-11
bas350  toEng 10e-12 -> 10E-12
bas351  toSci 10e-13 -> 1.0E-12
bas352  toEng 10e-13 -> 1.0E-12

bas361  toSci 7E12  -> 7E+12
bas362  toEng 7E12  -> 7E+12
bas363  toSci 7E11  -> 7E+11
bas364  toEng 7E11  -> 700E+9
bas365  toSci 7E10  -> 7E+10
bas366  toEng 7E10  -> 70E+9
bas367  toSci 7E9   -> 7E+9
bas368  toEng 7E9   -> 7E+9
bas369  toSci 7E8   -> 7E+8
bas370  toEng 7E8   -> 700E+6
bas371  toSci 7E7   -> 7E+7
bas372  toEng 7E7   -> 70E+6
bas373  toSci 7E6   -> 7E+6
bas374  toEng 7E6   -> 7E+6
bas375  toSci 7E5   -> 7E+5
bas376  toEng 7E5   -> 700E+3
bas377  toSci 7E4   -> 7E+4
bas378  toEng 7E4   -> 70E+3
bas379  toSci 7E3   -> 7E+3
bas380  toEng 7E3   -> 7E+3
bas381  toSci 7E2   -> 7E+2
bas382  toEng 7E2   -> 700
bas383  toSci 7E1   -> 7E+1
bas384  toEng 7E1   -> 70
bas385  toSci 7E0   -> 7
bas386  toEng 7E0   -> 7
bas387  toSci 7E-1  -> 0.7
bas388  toEng 7E-1  -> 0.7
bas389  toSci 7E-2  -> 0.07
bas390  toEng 7E-2  -> 0.07
bas391  toSci 7E-3  -> 0.007
bas392  toEng 7E-3  -> 0.007
bas393  toSci 7E-4  -> 0.0007
bas394  toEng 7E-4  -> 0.0007
bas395  toSci 7E-5  -> 0.00007
bas396  toEng 7E-5  -> 0.00007
bas397  toSci 7E-6  -> 0.000007
bas398  toEng 7E-6  -> 0.000007
bas399  toSci 7E-7  -> 7E-7
bas400  toEng 7E-7  -> 700E-9
bas401  toSci 7E-8  -> 7E-8
bas402  toEng 7E-8  -> 70E-9
bas403  toSci 7E-9  -> 7E-9
bas404  toEng 7E-9  -> 7E-9
bas405  toSci 7E-10 -> 7E-10
bas406  toEng 7E-10 -> 700E-12
bas407  toSci 7E-11 -> 7E-11
bas408  toEng 7E-11 -> 70E-12
bas409  toSci 7E-12 -> 7E-12
bas410  toEng 7E-12 -> 7E-12
bas411  toSci 7E-13 -> 7E-13
bas412  toEng 7E-13 -> 700E-15
-- Exacts remain exact within precision ..
precision: 9
bas420  toSci    100 -> 100
bas421  toEng    100 -> 100
bas422  toSci   1000 -> 1000
bas423  toEng   1000 -> 1000
bas424  toSci  999.9 ->  999.9
bas425  toEng  999.9 ->  999.9
bas426  toSci 1000.0 -> 1000.0
bas427  toEng 1000.0 -> 1000.0
bas428  toSci 1000.1 -> 1000.1
bas429  toEng 1000.1 -> 1000.1
bas430  toSci 10000 -> 10000
bas431  toEng 10000 -> 10000
bas432  toSci 100000 -> 100000
bas433  toEng 100000 -> 100000
bas434  toSci 1000000 -> 1000000
bas435  toEng 1000000 -> 1000000
bas436  toSci 10000000 -> 10000000
bas437  toEng 10000000 -> 10000000
bas438  toSci 100000000 -> 100000000
bas439  toEng 100000000 -> 100000000
bas440  toSci 1000000000   -> 1.00000000E+9   Rounded
bas441  toEng 1000000000   -> 1.00000000E+9   Rounded
bas442  toSci 10000000000  -> 1.00000000E+10  Rounded
bas443  toEng 10000000000  -> 10.0000000E+9   Rounded
bas444  toSci 100000000000 -> 1.00000000E+11  Rounded
bas445  toEng 100000000000 -> 100.000000E+9   Rounded
bas446  toSci 100000000300 -> 1.00000000E+11  Rounded Inexact
bas447  toEng 100000000499 -> 100.000000E+9   Rounded Inexact
bas448  toSci 100000000500 -> 1.00000001E+11  Rounded Inexact
bas449  toEng 100000000900 -> 100.000001E+9   Rounded Inexact

-- The 'baddies' tests from DiagBigDecimal, plus some new ones
bas500 toSci '1..2'            -> ? Conversion_syntax
bas501 toSci '.'               -> ? Conversion_syntax
bas502 toSci '..'              -> ? Conversion_syntax
bas503 toSci '++1'             -> ? Conversion_syntax
bas504 toSci '--1'             -> ? Conversion_syntax
bas505 toSci '-+1'             -> ? Conversion_syntax
bas506 toSci '+-1'             -> ? Conversion_syntax
bas507 toSci '12e'             -> ? Conversion_syntax
bas508 toSci '12e++'           -> ? Conversion_syntax
bas509 toSci '12f4'            -> ? Conversion_syntax
bas510 toSci ' +1'             -> ? Conversion_syntax
bas511 toSci '+ 1'             -> ? Conversion_syntax
bas512 toSci '12 '             -> ? Conversion_syntax
bas513 toSci ' + 1'            -> ? Conversion_syntax
bas514 toSci ' - 1 '           -> ? Conversion_syntax
bas515 toSci 'x'               -> ? Conversion_syntax
bas516 toSci '-1-'             -> ? Conversion_syntax
bas517 toSci '12-'             -> ? Conversion_syntax
bas518 toSci '3+'              -> ? Conversion_syntax
bas519 toSci ''                -> ? Conversion_syntax
bas520 toSci '1e-'             -> ? Conversion_syntax
bas521 toSci '7e99999a'        -> ? Conversion_syntax
bas522 toSci '7e123567890x'    -> ? Conversion_syntax
bas523 toSci '7e12356789012x'  -> ? Conversion_syntax
bas524 toSci ''                -> ? Conversion_syntax
bas525 toSci 'e100'            -> ? Conversion_syntax
bas526 toSci '\u0e5a'          -> ? Conversion_syntax
bas527 toSci '\u0b65'          -> ? Conversion_syntax
bas528 toSci '123,65'          -> ? Conversion_syntax
bas529 toSci '1.34.5'          -> ? Conversion_syntax
bas530 toSci '.123.5'          -> ? Conversion_syntax
bas531 toSci '01.35.'          -> ? Conversion_syntax
bas532 toSci '01.35-'          -> ? Conversion_syntax
bas533 toSci '0000..'          -> ? Conversion_syntax
bas534 toSci '.0000.'          -> ? Conversion_syntax
bas535 toSci '00..00'          -> ? Conversion_syntax
bas536 toSci '111e*123'        -> ? Conversion_syntax
bas537 toSci '111e123-'        -> ? Conversion_syntax
bas538 toSci '111e+12+'        -> ? Conversion_syntax
bas539 toSci '111e1-3-'        -> ? Conversion_syntax
bas540 toSci '111e1*23'        -> ? Conversion_syntax
bas541 toSci '111e1e+3'        -> ? Conversion_syntax
bas542 toSci '1e1.0'           -> ? Conversion_syntax
bas543 toSci '1e123e'          -> ? Conversion_syntax
bas544 toSci 'ten'             -> ? Conversion_syntax
bas545 toSci 'ONE'             -> ? Conversion_syntax
bas546 toSci '1e.1'            -> ? Conversion_syntax
bas547 toSci '1e1.'            -> ? Conversion_syntax
bas548 toSci '1ee'             -> ? Conversion_syntax
bas549 toSci 'e+1'             -> ? Conversion_syntax
bas550 toSci '1.23.4'          -> ? Conversion_syntax
bas551 toSci '1.2.1'           -> ? Conversion_syntax
bas552 toSci '1E+1.2'          -> ? Conversion_syntax
bas553 toSci '1E+1.2.3'        -> ? Conversion_syntax
bas554 toSci '1E++1'           -> ? Conversion_syntax
bas555 toSci '1E--1'           -> ? Conversion_syntax
bas556 toSci '1E+-1'           -> ? Conversion_syntax
bas557 toSci '1E-+1'           -> ? Conversion_syntax
bas558 toSci '1E''1'           -> ? Conversion_syntax
bas559 toSci "1E""1"           -> ? Conversion_syntax
bas560 toSci "1E"""""          -> ? Conversion_syntax
-- Near-specials
bas561 toSci "qNaN"            -> ? Conversion_syntax
bas562 toSci "NaNq"            -> ? Conversion_syntax
bas563 toSci "NaNs"            -> ? Conversion_syntax
bas564 toSci "Infi"            -> ? Conversion_syntax
bas565 toSci "Infin"           -> ? Conversion_syntax
bas566 toSci "Infini"          -> ? Conversion_syntax
bas567 toSci "Infinit"         -> ? Conversion_syntax

-- Xflows for all precisions
bas570 toSci '99e999999999'       -> ? Overflow  Inexact Rounded
bas571 toSci '999e999999999'      -> ? Overflow  Inexact Rounded
bas572 toSci '0.9e-999999999'     -> ? Underflow Subnormal Inexact Rounded
bas573 toSci '0.09e-999999999'    -> ? Underflow Subnormal Inexact Rounded
bas574 toSci '0.1e1000000000'     -> 1E+999999999
bas575 toSci '10e-1000000000'     -> 1.0E-999999999
bas576 toSci '0.9e9999999999'     -> ? Overflow  Inexact Rounded
bas577 toSci '99e-9999999999'     -> ? Underflow Subnormal Inexact Rounded
bas578 toSci '111e9999999999'     -> ? Overflow  Inexact Rounded
bas579 toSci '1111e-9999999999'   -> ? Underflow Subnormal Inexact Rounded
bas580 toSci '1111e-99999999999'  -> ? Underflow Subnormal Inexact Rounded
bas581 toSci '7e1000000000'       -> ? Overflow  Inexact Rounded
-- negatives the same
bas582 toSci '-99e999999999'      -> ? Overflow  Inexact Rounded
bas583 toSci '-999e999999999'     -> ? Overflow  Inexact Rounded
bas584 toSci '-0.9e-999999999'    -> ? Underflow Subnormal Inexact Rounded
bas585 toSci '-0.09e-999999999'   -> ? Underflow Subnormal Inexact Rounded
bas586 toSci '-0.1e1000000000'    -> -1E+999999999
bas587 toSci '-10e-1000000000'    -> -1.0E-999999999
bas588 toSci '-0.9e9999999999'    -> ? Overflow  Inexact Rounded
bas589 toSci '-99e-9999999999'    -> ? Underflow Subnormal Inexact Rounded
bas590 toSci '-111e9999999999'    -> ? Overflow  Inexact Rounded
bas591 toSci '-1111e-9999999999'  -> ? Underflow Subnormal Inexact Rounded
bas592 toSci '-1111e-99999999999' -> ? Underflow Subnormal Inexact Rounded
bas593 toSci '-7e1000000000'      -> ? Overflow  Inexact Rounded

-- Specials not allowed unless extended: 1
bas700 toSci "Infinity"         -> ? Conversion_syntax
bas701 toSci "sNaN"             -> ? Conversion_syntax
bas702 toSci "NaN"              -> ? Conversion_syntax
bas703 toSci "-Infinity"        -> ? Conversion_syntax
bas704 toSci "-sNaN"            -> ? Conversion_syntax
bas705 toSci "-NaN"             -> ? Conversion_syntax
bas706 toSci "+Infinity"        -> ? Conversion_syntax
bas708 toSci "+sNaN"            -> ? Conversion_syntax
bas709 toSci "+NaN"             -> ? Conversion_syntax
bas710 toSci "INFINITY"         -> ? Conversion_syntax
bas711 toSci "SNAN"             -> ? Conversion_syntax
bas712 toSci "NAN"              -> ? Conversion_syntax
bas713 toSci "infinity"         -> ? Conversion_syntax
bas714 toSci "snan"             -> ? Conversion_syntax
bas715 toSci "nan"              -> ? Conversion_syntax
bas716 toSci "InFINITY"         -> ? Conversion_syntax
bas717 toSci "SnAN"             -> ? Conversion_syntax
bas718 toSci "nAN"              -> ? Conversion_syntax
bas719 toSci "iNfinity"         -> ? Conversion_syntax
bas720 toSci "sNan"             -> ? Conversion_syntax
bas721 toSci "Nan"              -> ? Conversion_syntax

bas601 toSci 0.000000000       -> 0
bas602 toSci 0.00000000        -> 0
bas603 toSci 0.0000000         -> 0
bas604 toSci 0.000000          -> 0
bas605 toSci 0.00000           -> 0
bas606 toSci 0.0000            -> 0
bas607 toSci 0.000             -> 0
bas608 toSci 0.00              -> 0
bas609 toSci 0.0               -> 0
bas610 toSci  .0               -> 0
bas611 toSci 0.                -> 0
bas612 toSci -.0               -> 0
bas613 toSci -0.               -> 0
bas614 toSci -0.0              -> 0
bas615 toSci -0.00             -> 0
bas616 toSci -0.000            -> 0
bas617 toSci -0.0000           -> 0
bas618 toSci -0.00000          -> 0
bas619 toSci -0.000000         -> 0
bas620 toSci -0.0000000        -> 0
bas621 toSci -0.00000000       -> 0
bas622 toSci -0.000000000      -> 0

bas630 toSci  0.00E+0          -> 0
bas631 toSci  0.00E+1          -> 0
bas632 toSci  0.00E+2          -> 0
bas633 toSci  0.00E+3          -> 0
bas634 toSci  0.00E+4          -> 0
bas635 toSci  0.00E+5          -> 0
bas636 toSci  0.00E+6          -> 0
bas637 toSci  0.00E+7          -> 0
bas638 toSci  0.00E+8          -> 0
bas639 toSci  0.00E+9          -> 0

bas640 toSci  0.0E+0           -> 0
bas641 toSci  0.0E+1           -> 0
bas642 toSci  0.0E+2           -> 0
bas643 toSci  0.0E+3           -> 0
bas644 toSci  0.0E+4           -> 0
bas645 toSci  0.0E+5           -> 0
bas646 toSci  0.0E+6           -> 0
bas647 toSci  0.0E+7           -> 0
bas648 toSci  0.0E+8           -> 0
bas649 toSci  0.0E+9           -> 0

bas650 toSci  0E+0             -> 0
bas651 toSci  0E+1             -> 0
bas652 toSci  0E+2             -> 0
bas653 toSci  0E+3             -> 0
bas654 toSci  0E+4             -> 0
bas655 toSci  0E+5             -> 0
bas656 toSci  0E+6             -> 0
bas657 toSci  0E+7             -> 0
bas658 toSci  0E+8             -> 0
bas659 toSci  0E+9             -> 0

bas660 toSci  0.0E-0           -> 0
bas661 toSci  0.0E-1           -> 0
bas662 toSci  0.0E-2           -> 0
bas663 toSci  0.0E-3           -> 0
bas664 toSci  0.0E-4           -> 0
bas665 toSci  0.0E-5           -> 0
bas666 toSci  0.0E-6           -> 0
bas667 toSci  0.0E-7           -> 0
bas668 toSci  0.0E-8           -> 0
bas669 toSci  0.0E-9           -> 0

bas670 toSci  0.00E-0          -> 0
bas671 toSci  0.00E-1          -> 0
bas672 toSci  0.00E-2          -> 0
bas673 toSci  0.00E-3          -> 0
bas674 toSci  0.00E-4          -> 0
bas675 toSci  0.00E-5          -> 0
bas676 toSci  0.00E-6          -> 0
bas677 toSci  0.00E-7          -> 0
bas678 toSci  0.00E-8          -> 0
bas679 toSci  0.00E-9          -> 0

-- Zeros for toEng
bas801 toEng 0.000000000       -> 0
bas802 toEng 0.00000000        -> 0
bas803 toEng 0.0000000         -> 0
bas804 toEng 0.000000          -> 0
bas805 toEng 0.00000           -> 0
bas806 toEng 0.0000            -> 0
bas807 toEng 0.000             -> 0
bas808 toEng 0.00              -> 0
bas809 toEng 0.0               -> 0
bas810 toEng  .0               -> 0
bas811 toEng 0.                -> 0
bas812 toEng -.0               -> 0
bas813 toEng -0.               -> 0
bas814 toEng -0.0              -> 0
bas815 toEng -0.00             -> 0
bas816 toEng -0.000            -> 0
bas817 toEng -0.0000           -> 0
bas818 toEng -0.00000          -> 0
bas819 toEng -0.000000         -> 0
bas820 toEng -0.0000000        -> 0
bas821 toEng -0.00000000       -> 0
bas822 toEng -0.000000000      -> 0

bas830 toEng  0.00E+0          -> 0
bas831 toEng  0.00E+1          -> 0
bas832 toEng  0.00E+2          -> 0
bas833 toEng  0.00E+3          -> 0
bas834 toEng  0.00E+4          -> 0
bas835 toEng  0.00E+5          -> 0
bas836 toEng  0.00E+6          -> 0
bas837 toEng  0.00E+7          -> 0
bas838 toEng  0.00E+8          -> 0
bas839 toEng  0.00E+9          -> 0

bas840 toEng  0.0E+0           -> 0
bas841 toEng  0.0E+1           -> 0
bas842 toEng  0.0E+2           -> 0
bas843 toEng  0.0E+3           -> 0
bas844 toEng  0.0E+4           -> 0
bas845 toEng  0.0E+5           -> 0
bas846 toEng  0.0E+6           -> 0
bas847 toEng  0.0E+7           -> 0
bas848 toEng  0.0E+8           -> 0
bas849 toEng  0.0E+9           -> 0

bas850 toEng  0E+0             -> 0
bas851 toEng  0E+1             -> 0
bas852 toEng  0E+2             -> 0
bas853 toEng  0E+3             -> 0
bas854 toEng  0E+4             -> 0
bas855 toEng  0E+5             -> 0
bas856 toEng  0E+6             -> 0
bas857 toEng  0E+7             -> 0
bas858 toEng  0E+8             -> 0
bas859 toEng  0E+9             -> 0

bas860 toEng  0.0E-0           -> 0
bas861 toEng  0.0E-1           -> 0
bas862 toEng  0.0E-2           -> 0
bas863 toEng  0.0E-3           -> 0
bas864 toEng  0.0E-4           -> 0
bas865 toEng  0.0E-5           -> 0
bas866 toEng  0.0E-6           -> 0
bas867 toEng  0.0E-7           -> 0
bas868 toEng  0.0E-8           -> 0
bas869 toEng  0.0E-9           -> 0

bas870 toEng  0.00E-0          -> 0
bas871 toEng  0.00E-1          -> 0
bas872 toEng  0.00E-2          -> 0
bas873 toEng  0.00E-3          -> 0
bas874 toEng  0.00E-4          -> 0
bas875 toEng  0.00E-5          -> 0
bas876 toEng  0.00E-6          -> 0
bas877 toEng  0.00E-7          -> 0
bas878 toEng  0.00E-8          -> 0
bas879 toEng  0.00E-9          -> 0

-- Giga exponent
maxexponent: 999999999
minexponent: -999999999

bas951 toSci '99e999'          -> '9.9E+1000'
bas952 toSci '999e999'         -> '9.99E+1001'
bas953 toSci '0.9e-999'        -> '9E-1000'
bas954 toSci '0.09e-999'       -> '9E-1001'
bas955 toSci '0.1e1001'        -> '1E+1000'
bas956 toSci '10e-1001'        -> '1.0E-1000'
bas957 toSci '0.9e9999'        -> '9E+9998'
bas958 toSci '99e-9999'        -> '9.9E-9998'
bas959 toSci '111e9997'        -> '1.11E+9999'
bas960 toSci '1111e-9999'      -> '1.111E-9996'
bas961 toSci '99e9999'         -> '9.9E+10000'
bas962 toSci '999e9999'        -> '9.99E+10001'
bas963 toSci '0.9e-9999'       -> '9E-10000'
bas964 toSci '0.09e-9999'      -> '9E-10001'
bas965 toSci '0.1e10001'       -> '1E+10000'
bas966 toSci '10e-10001'       -> '1.0E-10000'
bas967 toSci '0.9e99999'       -> '9E+99998'
bas968 toSci '99e-99999'       -> '9.9E-99998'
bas969 toSci '111e99999'       -> '1.11E+100001'
bas970 toSci '1111e-99999'     -> '1.111E-99996'
bas971 toSci "0.09e999999999"  -> '9E+999999997'
bas972 toSci "0.9e999999999"   -> '9E+999999998'
bas973 toSci "9e999999999"     -> '9E+999999999'
bas974 toSci "9.9e999999999"   -> '9.9E+999999999'
bas975 toSci "9.99e999999999"  -> '9.99E+999999999'
bas976 toSci "9.99e-999999999" -> '9.99E-999999999'
bas977 toSci "9.9e-999999999"  -> '9.9E-999999999'
bas978 toSci "9e-999999999"    -> '9E-999999999'
bas979 toSci "99e-999999999"   -> '9.9E-999999998'
bas980 toSci "999e-999999999"  -> '9.99E-999999997'

-- Varying exponent maximums
maxexponent: 0
minexponent: 0
emax001 toSci -1E+2  ->  ? Overflow Inexact Rounded
emax002 toSci -100   ->  ? Overflow Inexact Rounded
emax003 toSci  -10   ->  ? Overflow Inexact Rounded
emax004 toSci   -9.9 -> -9.9
emax005 toSci   -9   -> -9
emax006 toSci   -1   -> -1
emax007 toSci    0   ->  0
emax008 toSci    1   ->  1
emax009 toSci    9   ->  9
emax010 toSci    9.9 ->  9.9
emax011 toSci   10   ->  ? Overflow Inexact Rounded
emax012 toSci  100   ->  ? Overflow Inexact Rounded
emax013 toSci  1E+2  ->  ? Overflow Inexact Rounded
emax014 toSci   0.99 ->  ? Underflow Subnormal Inexact Rounded
emax015 toSci   0.1  ->  ? Underflow Subnormal Inexact Rounded
emax016 toSci   0.01 ->  ? Underflow Subnormal Inexact Rounded
emax017 toSci  1E-1  ->  ? Underflow Subnormal Inexact Rounded
emax018 toSci  1E-2  ->  ? Underflow Subnormal Inexact Rounded

maxexponent: 1
minexponent: -1
emax100 toSci -1E+3  ->  ? Overflow Inexact Rounded
emax101 toSci -1E+2  ->  ? Overflow Inexact Rounded
emax102 toSci -100   ->  ? Overflow Inexact Rounded
emax103 toSci  -10   -> -10
emax104 toSci   -9.9 -> -9.9
emax105 toSci   -9   -> -9
emax106 toSci   -1   -> -1
emax107 toSci    0   ->  0
emax108 toSci    1   ->  1
emax109 toSci    9   ->  9
emax110 toSci    9.9 ->  9.9
emax111 toSci   10   -> 10
emax112 toSci  100   ->  ? Overflow Inexact Rounded
emax113 toSci  1E+2  ->  ? Overflow Inexact Rounded
emax114 toSci  1E+3  ->  ? Overflow Inexact Rounded
emax115 toSci   0.99 ->  0.99
emax116 toSci   0.1  ->  0.1
emax117 toSci   0.01 ->  ? Underflow Subnormal Inexact Rounded
emax118 toSci  1E-1  ->  0.1
emax119 toSci  1E-2  ->  ? Underflow Subnormal Inexact Rounded
emax120 toSci  1E-3  ->  ? Underflow Subnormal Inexact Rounded

maxexponent: 2
minexponent: -2
emax200 toSci -1E+3  ->  ? Overflow Inexact Rounded
emax201 toSci -1E+2  -> -1E+2
emax202 toSci -100   -> -100
emax203 toSci  -10   -> -10
emax204 toSci   -9.9 -> -9.9
emax205 toSci   -9   -> -9
emax206 toSci   -1   -> -1
emax207 toSci    0   ->  0
emax208 toSci    1   ->  1
emax209 toSci    9   ->  9
emax210 toSci    9.9 ->  9.9
emax211 toSci   10   -> 10
emax212 toSci  100   -> 100
emax213 toSci  1E+2  -> 1E+2
emax214 toSci  1E+3  ->  ? Overflow Inexact Rounded
emax215 toSci   0.99 ->  0.99
emax216 toSci   0.1  ->  0.1
emax217 toSci   0.01 ->  0.01
emax218 toSci  0.001 ->  ? Underflow Subnormal Inexact Rounded
emax219 toSci  1E-1  ->  0.1
emax220 toSci  1E-2  ->  0.01
emax221 toSci  1E-3  ->  ? Underflow Subnormal Inexact Rounded

maxexponent: 7
minexponent: -7
emax231 toSci  1E-8  ->  ? Underflow Subnormal Inexact Rounded
emax232 toSci  1E-7  ->  1E-7
emax233 toSci  1E-6  ->  0.000001
emax234 toSci  1E-5  ->  0.00001
emax235 toSci  1E+5  ->  1E+5
emax236 toSci  1E+6  ->  1E+6
emax237 toSci  1E+7  ->  1E+7
emax238 toSci  1E+8  ->  ? Overflow Inexact Rounded

maxexponent: 9
minexponent: -9
emax241 toSci  1E-10 ->  ? Underflow Subnormal Inexact Rounded
emax242 toSci  1E-9  ->  1E-9
emax243 toSci  1E-8  ->  1E-8
emax244 toSci  1E-7  ->  1E-7
emax245 toSci  1E+7  ->  1E+7
emax246 toSci  1E+8  ->  1E+8
emax247 toSci  1E+9  ->  1E+9
emax248 toSci  1E+10 ->  ? Overflow Inexact Rounded

maxexponent: 10  -- boundary
minexponent: -10
emax251 toSci  1E-11 ->  ? Underflow Subnormal Inexact Rounded
emax252 toSci  1E-10 ->  1E-10
emax253 toSci  1E-9  ->  1E-9
emax254 toSci  1E-8  ->  1E-8
emax255 toSci  1E+8  ->  1E+8
emax256 toSci  1E+9  ->  1E+9
emax257 toSci  1E+10 ->  1E+10
emax258 toSci  1E+11 ->  ? Overflow Inexact Rounded
emax261 toSci  1.00E-11 ->  ? Underflow Subnormal Inexact Rounded
emax262 toSci  1.00E-10 ->  1.00E-10
emax263 toSci  1.00E-9  ->  1.00E-9
emax264 toSci  1.00E-8  ->  1.00E-8
emax265 toSci  1.00E+8  ->  1.00E+8
emax266 toSci  1.00E+9  ->  1.00E+9
emax267 toSci  1.00E+10 ->  1.00E+10
emax268 toSci  1.00E+11 ->  ? Overflow Inexact Rounded
emax271 toSci  9.99E-11 ->  ? Underflow Subnormal Inexact Rounded
emax272 toSci  9.99E-10 ->  9.99E-10
emax273 toSci  9.99E-9  ->  9.99E-9
emax274 toSci  9.99E-8  ->  9.99E-8
emax275 toSci  9.99E+8  ->  9.99E+8
emax276 toSci  9.99E+9  ->  9.99E+9
emax277 toSci  9.99E+10 ->  9.99E+10
emax278 toSci  9.99E+11 ->  ? Overflow Inexact Rounded

maxexponent: 99
minexponent: -99
emax281 toSci  1E-100 ->  ? Underflow Subnormal Inexact Rounded
emax282 toSci  1E-99  ->  1E-99
emax283 toSci  1E-98  ->  1E-98
emax284 toSci  1E+98  ->  1E+98
emax285 toSci  1E+99  ->  1E+99
emax286 toSci  1E+100 ->  ? Overflow Inexact Rounded

maxexponent: 999
minexponent: -999
emax291 toSci  1E-1000 ->  ? Underflow Subnormal Inexact Rounded
emax292 toSci  1E-999  ->  1E-999
emax293 toSci  1E+999  ->  1E+999
emax294 toSci  1E+1000 ->  ? Overflow Inexact Rounded
maxexponent: 9999
minexponent: -9999
emax301 toSci  1E-10000 ->  ? Underflow Subnormal Inexact Rounded
emax302 toSci  1E-9999  ->  1E-9999
emax303 toSci  1E+9999  ->  1E+9999
emax304 toSci  1E+10000 ->  ? Overflow Inexact Rounded
maxexponent: 99999
minexponent: -99999
emax311 toSci  1E-100000 ->  ? Underflow Subnormal Inexact Rounded
emax312 toSci  1E-99999  ->  1E-99999
emax313 toSci  1E+99999  ->  1E+99999
emax314 toSci  1E+100000 ->  ? Overflow Inexact Rounded
maxexponent: 999999
minexponent: -999999
emax321 toSci  1E-1000000 ->  ? Underflow Subnormal Inexact Rounded
emax322 toSci  1E-999999  ->  1E-999999
emax323 toSci  1E+999999  ->  1E+999999
emax324 toSci  1E+1000000 ->  ? Overflow Inexact Rounded
maxexponent: 9999999
minexponent: -9999999
emax331 toSci  1E-10000000 ->  ? Underflow Subnormal Inexact Rounded
emax332 toSci  1E-9999999  ->  1E-9999999
emax333 toSci  1E+9999999  ->  1E+9999999
emax334 toSci  1E+10000000 ->  ? Overflow Inexact Rounded
maxexponent: 99999999
minexponent: -99999999
emax341 toSci  1E-100000000 ->  ? Underflow Subnormal Inexact Rounded
emax342 toSci  1E-99999999  ->  1E-99999999
emax343 toSci  1E+99999999  ->  1E+99999999
emax344 toSci  1E+100000000 ->  ? Overflow Inexact Rounded

maxexponent: 999999999
minexponent: -999999999
emax351 toSci  1E-1000000000     ->  ? Underflow Subnormal Inexact Rounded
emax352 toSci  1E-999999999      ->  1E-999999999
emax353 toSci  1E+999999999      ->  1E+999999999
emax354 toSci  1E+1000000000     ->  ? Overflow Inexact Rounded
emax355 toSci  1.000E-1000000000 ->  ? Underflow Subnormal Inexact Rounded
emax356 toSci  1.000E-999999999  ->  1.000E-999999999
emax357 toSci  1.000E+999999999  ->  1.000E+999999999
emax358 toSci  1.000E+1000000000 ->  ? Overflow Inexact Rounded
emax359 toSci  1.001E-1000000000 ->  ? Underflow Subnormal Inexact Rounded
emax360 toSci  1.001E-999999999  ->  1.001E-999999999
emax361 toSci  1.001E+999999999  ->  1.001E+999999999
emax362 toSci  1.001E+1000000000 ->  ? Overflow Inexact Rounded
emax363 toSci  9.000E-1000000000 ->  ? Underflow Subnormal Inexact Rounded
emax364 toSci  9.000E-999999999  ->  9.000E-999999999
emax365 toSci  9.000E+999999999  ->  9.000E+999999999
emax366 toSci  9.000E+1000000000 ->  ? Overflow Inexact Rounded
emax367 toSci  9.999E-1000000000 ->  ? Underflow Subnormal Inexact Rounded
emax368 toSci  9.999E-999999999  ->  9.999E-999999999
emax369 toSci  9.999E+999999999  ->  9.999E+999999999
emax370 toSci  9.999E+1000000000 ->  ? Overflow Inexact Rounded
emax371 toSci -1E-1000000000     ->  ? Underflow Subnormal Inexact Rounded
emax372 toSci -1E-999999999      -> -1E-999999999
emax373 toSci -1E+999999999      -> -1E+999999999
emax374 toSci -1E+1000000000     ->  ? Overflow Inexact Rounded
emax375 toSci -1.000E-1000000000 ->  ? Underflow Subnormal Inexact Rounded
emax376 toSci -1.000E-999999999  -> -1.000E-999999999
emax377 toSci -1.000E+999999999  -> -1.000E+999999999
emax378 toSci -1.000E+1000000000 ->  ? Overflow Inexact Rounded
emax379 toSci -1.001E-1000000000 ->  ? Underflow Subnormal Inexact Rounded
emax380 toSci -1.001E-999999999  -> -1.001E-999999999
emax381 toSci -1.001E+999999999  -> -1.001E+999999999
emax382 toSci -1.001E+1000000000 ->  ? Overflow Inexact Rounded
emax383 toSci -9.000E-1000000000 ->  ? Underflow Subnormal Inexact Rounded
emax384 toSci -9.000E-999999999  -> -9.000E-999999999
emax385 toSci -9.000E+999999999  -> -9.000E+999999999
emax386 toSci -9.000E+1000000000 ->  ? Overflow Inexact Rounded
emax387 toSci -9.999E-1000000000 ->  ? Underflow Subnormal Inexact Rounded
emax388 toSci -9.999E-999999999  -> -9.999E-999999999
emax389 toSci -9.999E+999999999  -> -9.999E+999999999
emax390 toSci -9.999E+1000000000 ->  ? Overflow Inexact Rounded