You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

893 lines
34 KiB
Plaintext

------------------------------------------------------------------------
-- 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