OpenSimMirror/bin/ScriptEngines/Lib/test/decimaltestdata/base.decTest

1273 lines
55 KiB
Plaintext
Raw Normal View History

2008-02-22 18:11:10 +00:00
------------------------------------------------------------------------
-- base.decTest -- base decimal <--> string conversions --
-- Copyright (c) IBM Corporation, 1981, 2003. 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.39
-- This file tests base conversions from string to a decimal number
-- and back to a string (in either Scientific or Engineering 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).
precision: 15
rounding: half_up
maxExponent: 999999999
minExponent: -999999999
extended: 1
basx001 toSci 0 -> 0
basx002 toSci 1 -> 1
basx003 toSci 1.0 -> 1.0
basx004 toSci 1.00 -> 1.00
basx005 toSci 10 -> 10
basx006 toSci 1000 -> 1000
basx007 toSci 10.0 -> 10.0
basx008 toSci 10.1 -> 10.1
basx009 toSci 10.4 -> 10.4
basx010 toSci 10.5 -> 10.5
basx011 toSci 10.6 -> 10.6
basx012 toSci 10.9 -> 10.9
basx013 toSci 11.0 -> 11.0
basx014 toSci 1.234 -> 1.234
basx015 toSci 0.123 -> 0.123
basx016 toSci 0.012 -> 0.012
basx017 toSci -0 -> -0
basx018 toSci -0.0 -> -0.0
basx019 toSci -00.00 -> -0.00
basx021 toSci -1 -> -1
basx022 toSci -1.0 -> -1.0
basx023 toSci -0.1 -> -0.1
basx024 toSci -9.1 -> -9.1
basx025 toSci -9.11 -> -9.11
basx026 toSci -9.119 -> -9.119
basx027 toSci -9.999 -> -9.999
basx030 toSci '123456789.123456' -> '123456789.123456'
basx031 toSci '123456789.000000' -> '123456789.000000'
basx032 toSci '123456789123456' -> '123456789123456'
basx033 toSci '0.0000123456789' -> '0.0000123456789'
basx034 toSci '0.00000123456789' -> '0.00000123456789'
basx035 toSci '0.000000123456789' -> '1.23456789E-7'
basx036 toSci '0.0000000123456789' -> '1.23456789E-8'
basx037 toSci '0.123456789012344' -> '0.123456789012344'
basx038 toSci '0.123456789012345' -> '0.123456789012345'
-- String [many more examples are implicitly tested elsewhere]
-- strings without E cannot generate E in result
basx100 toSci "12" -> '12'
basx101 toSci "-76" -> '-76'
basx102 toSci "12.76" -> '12.76'
basx103 toSci "+12.76" -> '12.76'
basx104 toSci "012.76" -> '12.76'
basx105 toSci "+0.003" -> '0.003'
basx106 toSci "17." -> '17'
basx107 toSci ".5" -> '0.5'
basx108 toSci "044" -> '44'
basx109 toSci "0044" -> '44'
basx110 toSci "0.0005" -> '0.0005'
basx111 toSci "00.00005" -> '0.00005'
basx112 toSci "0.000005" -> '0.000005'
basx113 toSci "0.0000050" -> '0.0000050'
basx114 toSci "0.0000005" -> '5E-7'
basx115 toSci "0.00000005" -> '5E-8'
basx116 toSci "12345678.543210" -> '12345678.543210'
basx117 toSci "2345678.543210" -> '2345678.543210'
basx118 toSci "345678.543210" -> '345678.543210'
basx119 toSci "0345678.54321" -> '345678.54321'
basx120 toSci "345678.5432" -> '345678.5432'
basx121 toSci "+345678.5432" -> '345678.5432'
basx122 toSci "+0345678.5432" -> '345678.5432'
basx123 toSci "+00345678.5432" -> '345678.5432'
basx124 toSci "-345678.5432" -> '-345678.5432'
basx125 toSci "-0345678.5432" -> '-345678.5432'
basx126 toSci "-00345678.5432" -> '-345678.5432'
-- examples
basx127 toSci "5E-6" -> '0.000005'
basx128 toSci "50E-7" -> '0.0000050'
basx129 toSci "5E-7" -> '5E-7'
-- [No exotics as no Unicode]
-- Numbers with E
basx130 toSci "0.000E-1" -> '0.0000'
basx131 toSci "0.000E-2" -> '0.00000'
basx132 toSci "0.000E-3" -> '0.000000'
basx133 toSci "0.000E-4" -> '0E-7'
basx134 toSci "0.00E-2" -> '0.0000'
basx135 toSci "0.00E-3" -> '0.00000'
basx136 toSci "0.00E-4" -> '0.000000'
basx137 toSci "0.00E-5" -> '0E-7'
basx138 toSci "+0E+9" -> '0E+9'
basx139 toSci "-0E+9" -> '-0E+9'
basx140 toSci "1E+9" -> '1E+9'
basx141 toSci "1e+09" -> '1E+9'
basx142 toSci "1E+90" -> '1E+90'
basx143 toSci "+1E+009" -> '1E+9'
basx144 toSci "0E+9" -> '0E+9'
basx145 toSci "1E+9" -> '1E+9'
basx146 toSci "1E+09" -> '1E+9'
basx147 toSci "1e+90" -> '1E+90'
basx148 toSci "1E+009" -> '1E+9'
basx149 toSci "000E+9" -> '0E+9'
basx150 toSci "1E9" -> '1E+9'
basx151 toSci "1e09" -> '1E+9'
basx152 toSci "1E90" -> '1E+90'
basx153 toSci "1E009" -> '1E+9'
basx154 toSci "0E9" -> '0E+9'
basx155 toSci "0.000e+0" -> '0.000'
basx156 toSci "0.000E-1" -> '0.0000'
basx157 toSci "4E+9" -> '4E+9'
basx158 toSci "44E+9" -> '4.4E+10'
basx159 toSci "0.73e-7" -> '7.3E-8'
basx160 toSci "00E+9" -> '0E+9'
basx161 toSci "00E-9" -> '0E-9'
basx162 toSci "10E+9" -> '1.0E+10'
basx163 toSci "10E+09" -> '1.0E+10'
basx164 toSci "10e+90" -> '1.0E+91'
basx165 toSci "10E+009" -> '1.0E+10'
basx166 toSci "100e+9" -> '1.00E+11'
basx167 toSci "100e+09" -> '1.00E+11'
basx168 toSci "100E+90" -> '1.00E+92'
basx169 toSci "100e+009" -> '1.00E+11'
basx170 toSci "1.265" -> '1.265'
basx171 toSci "1.265E-20" -> '1.265E-20'
basx172 toSci "1.265E-8" -> '1.265E-8'
basx173 toSci "1.265E-4" -> '0.0001265'
basx174 toSci "1.265E-3" -> '0.001265'
basx175 toSci "1.265E-2" -> '0.01265'
basx176 toSci "1.265E-1" -> '0.1265'
basx177 toSci "1.265E-0" -> '1.265'
basx178 toSci "1.265E+1" -> '12.65'
basx179 toSci "1.265E+2" -> '126.5'
basx180 toSci "1.265E+3" -> '1265'
basx181 toSci "1.265E+4" -> '1.265E+4'
basx182 toSci "1.265E+8" -> '1.265E+8'
basx183 toSci "1.265E+20" -> '1.265E+20'
basx190 toSci "12.65" -> '12.65'
basx191 toSci "12.65E-20" -> '1.265E-19'
basx192 toSci "12.65E-8" -> '1.265E-7'
basx193 toSci "12.65E-4" -> '0.001265'
basx194 toSci "12.65E-3" -> '0.01265'
basx195 toSci "12.65E-2" -> '0.1265'
basx196 toSci "12.65E-1" -> '1.265'
basx197 toSci "12.65E-0" -> '12.65'
basx198 toSci "12.65E+1" -> '126.5'
basx199 toSci "12.65E+2" -> '1265'
basx200 toSci "12.65E+3" -> '1.265E+4'
basx201 toSci "12.65E+4" -> '1.265E+5'
basx202 toSci "12.65E+8" -> '1.265E+9'
basx203 toSci "12.65E+20" -> '1.265E+21'
basx210 toSci "126.5" -> '126.5'
basx211 toSci "126.5E-20" -> '1.265E-18'
basx212 toSci "126.5E-8" -> '0.000001265'
basx213 toSci "126.5E-4" -> '0.01265'
basx214 toSci "126.5E-3" -> '0.1265'
basx215 toSci "126.5E-2" -> '1.265'
basx216 toSci "126.5E-1" -> '12.65'
basx217 toSci "126.5E-0" -> '126.5'
basx218 toSci "126.5E+1" -> '1265'
basx219 toSci "126.5E+2" -> '1.265E+4'
basx220 toSci "126.5E+3" -> '1.265E+5'
basx221 toSci "126.5E+4" -> '1.265E+6'
basx222 toSci "126.5E+8" -> '1.265E+10'
basx223 toSci "126.5E+20" -> '1.265E+22'
basx230 toSci "1265" -> '1265'
basx231 toSci "1265E-20" -> '1.265E-17'
basx232 toSci "1265E-8" -> '0.00001265'
basx233 toSci "1265E-4" -> '0.1265'
basx234 toSci "1265E-3" -> '1.265'
basx235 toSci "1265E-2" -> '12.65'
basx236 toSci "1265E-1" -> '126.5'
basx237 toSci "1265E-0" -> '1265'
basx238 toSci "1265E+1" -> '1.265E+4'
basx239 toSci "1265E+2" -> '1.265E+5'
basx240 toSci "1265E+3" -> '1.265E+6'
basx241 toSci "1265E+4" -> '1.265E+7'
basx242 toSci "1265E+8" -> '1.265E+11'
basx243 toSci "1265E+20" -> '1.265E+23'
basx250 toSci "0.1265" -> '0.1265'
basx251 toSci "0.1265E-20" -> '1.265E-21'
basx252 toSci "0.1265E-8" -> '1.265E-9'
basx253 toSci "0.1265E-4" -> '0.00001265'
basx254 toSci "0.1265E-3" -> '0.0001265'
basx255 toSci "0.1265E-2" -> '0.001265'
basx256 toSci "0.1265E-1" -> '0.01265'
basx257 toSci "0.1265E-0" -> '0.1265'
basx258 toSci "0.1265E+1" -> '1.265'
basx259 toSci "0.1265E+2" -> '12.65'
basx260 toSci "0.1265E+3" -> '126.5'
basx261 toSci "0.1265E+4" -> '1265'
basx262 toSci "0.1265E+8" -> '1.265E+7'
basx263 toSci "0.1265E+20" -> '1.265E+19'
basx270 toSci "0.09e999" -> '9E+997'
basx271 toSci "0.9e999" -> '9E+998'
basx272 toSci "9e999" -> '9E+999'
basx273 toSci "9.9e999" -> '9.9E+999'
basx274 toSci "9.99e999" -> '9.99E+999'
basx275 toSci "9.99e-999" -> '9.99E-999'
basx276 toSci "9.9e-999" -> '9.9E-999'
basx277 toSci "9e-999" -> '9E-999'
basx279 toSci "99e-999" -> '9.9E-998'
basx280 toSci "999e-999" -> '9.99E-997'
basx281 toSci '0.9e-998' -> '9E-999'
basx282 toSci '0.09e-997' -> '9E-999'
basx283 toSci '0.1e1000' -> '1E+999'
basx284 toSci '10e-1000' -> '1.0E-999'
-- some more negative zeros [systematic tests below]
basx290 toSci "-0.000E-1" -> '-0.0000'
basx291 toSci "-0.000E-2" -> '-0.00000'
basx292 toSci "-0.000E-3" -> '-0.000000'
basx293 toSci "-0.000E-4" -> '-0E-7'
basx294 toSci "-0.00E-2" -> '-0.0000'
basx295 toSci "-0.00E-3" -> '-0.00000'
basx296 toSci "-0.0E-2" -> '-0.000'
basx297 toSci "-0.0E-3" -> '-0.0000'
basx298 toSci "-0E-2" -> '-0.00'
basx299 toSci "-0E-3" -> '-0.000'
-- Engineering notation tests
basx301 toSci 10e12 -> 1.0E+13
basx302 toEng 10e12 -> 10E+12
basx303 toSci 10e11 -> 1.0E+12
basx304 toEng 10e11 -> 1.0E+12
basx305 toSci 10e10 -> 1.0E+11
basx306 toEng 10e10 -> 100E+9
basx307 toSci 10e9 -> 1.0E+10
basx308 toEng 10e9 -> 10E+9
basx309 toSci 10e8 -> 1.0E+9
basx310 toEng 10e8 -> 1.0E+9
basx311 toSci 10e7 -> 1.0E+8
basx312 toEng 10e7 -> 100E+6
basx313 toSci 10e6 -> 1.0E+7
basx314 toEng 10e6 -> 10E+6
basx315 toSci 10e5 -> 1.0E+6
basx316 toEng 10e5 -> 1.0E+6
basx317 toSci 10e4 -> 1.0E+5
basx318 toEng 10e4 -> 100E+3
basx319 toSci 10e3 -> 1.0E+4
basx320 toEng 10e3 -> 10E+3
basx321 toSci 10e2 -> 1.0E+3
basx322 toEng 10e2 -> 1.0E+3
basx323 toSci 10e1 -> 1.0E+2
basx324 toEng 10e1 -> 100
basx325 toSci 10e0 -> 10
basx326 toEng 10e0 -> 10
basx327 toSci 10e-1 -> 1.0
basx328 toEng 10e-1 -> 1.0
basx329 toSci 10e-2 -> 0.10
basx330 toEng 10e-2 -> 0.10
basx331 toSci 10e-3 -> 0.010
basx332 toEng 10e-3 -> 0.010
basx333 toSci 10e-4 -> 0.0010
basx334 toEng 10e-4 -> 0.0010
basx335 toSci 10e-5 -> 0.00010
basx336 toEng 10e-5 -> 0.00010
basx337 toSci 10e-6 -> 0.000010
basx338 toEng 10e-6 -> 0.000010
basx339 toSci 10e-7 -> 0.0000010
basx340 toEng 10e-7 -> 0.0000010
basx341 toSci 10e-8 -> 1.0E-7
basx342 toEng 10e-8 -> 100E-9
basx343 toSci 10e-9 -> 1.0E-8
basx344 toEng 10e-9 -> 10E-9
basx345 toSci 10e-10 -> 1.0E-9
basx346 toEng 10e-10 -> 1.0E-9
basx347 toSci 10e-11 -> 1.0E-10
basx348 toEng 10e-11 -> 100E-12
basx349 toSci 10e-12 -> 1.0E-11
basx350 toEng 10e-12 -> 10E-12
basx351 toSci 10e-13 -> 1.0E-12
basx352 toEng 10e-13 -> 1.0E-12
basx361 toSci 7E12 -> 7E+12
basx362 toEng 7E12 -> 7E+12
basx363 toSci 7E11 -> 7E+11
basx364 toEng 7E11 -> 700E+9
basx365 toSci 7E10 -> 7E+10
basx366 toEng 7E10 -> 70E+9
basx367 toSci 7E9 -> 7E+9
basx368 toEng 7E9 -> 7E+9
basx369 toSci 7E8 -> 7E+8
basx370 toEng 7E8 -> 700E+6
basx371 toSci 7E7 -> 7E+7
basx372 toEng 7E7 -> 70E+6
basx373 toSci 7E6 -> 7E+6
basx374 toEng 7E6 -> 7E+6
basx375 toSci 7E5 -> 7E+5
basx376 toEng 7E5 -> 700E+3
basx377 toSci 7E4 -> 7E+4
basx378 toEng 7E4 -> 70E+3
basx379 toSci 7E3 -> 7E+3
basx380 toEng 7E3 -> 7E+3
basx381 toSci 7E2 -> 7E+2
basx382 toEng 7E2 -> 700
basx383 toSci 7E1 -> 7E+1
basx384 toEng 7E1 -> 70
basx385 toSci 7E0 -> 7
basx386 toEng 7E0 -> 7
basx387 toSci 7E-1 -> 0.7
basx388 toEng 7E-1 -> 0.7
basx389 toSci 7E-2 -> 0.07
basx390 toEng 7E-2 -> 0.07
basx391 toSci 7E-3 -> 0.007
basx392 toEng 7E-3 -> 0.007
basx393 toSci 7E-4 -> 0.0007
basx394 toEng 7E-4 -> 0.0007
basx395 toSci 7E-5 -> 0.00007
basx396 toEng 7E-5 -> 0.00007
basx397 toSci 7E-6 -> 0.000007
basx398 toEng 7E-6 -> 0.000007
basx399 toSci 7E-7 -> 7E-7
basx400 toEng 7E-7 -> 700E-9
basx401 toSci 7E-8 -> 7E-8
basx402 toEng 7E-8 -> 70E-9
basx403 toSci 7E-9 -> 7E-9
basx404 toEng 7E-9 -> 7E-9
basx405 toSci 7E-10 -> 7E-10
basx406 toEng 7E-10 -> 700E-12
basx407 toSci 7E-11 -> 7E-11
basx408 toEng 7E-11 -> 70E-12
basx409 toSci 7E-12 -> 7E-12
basx410 toEng 7E-12 -> 7E-12
basx411 toSci 7E-13 -> 7E-13
basx412 toEng 7E-13 -> 700E-15
-- Exacts remain exact up to precision ..
precision: 9
basx420 toSci 100 -> 100
basx421 toEng 100 -> 100
basx422 toSci 1000 -> 1000
basx423 toEng 1000 -> 1000
basx424 toSci 999.9 -> 999.9
basx425 toEng 999.9 -> 999.9
basx426 toSci 1000.0 -> 1000.0
basx427 toEng 1000.0 -> 1000.0
basx428 toSci 1000.1 -> 1000.1
basx429 toEng 1000.1 -> 1000.1
basx430 toSci 10000 -> 10000
basx431 toEng 10000 -> 10000
basx432 toSci 100000 -> 100000
basx433 toEng 100000 -> 100000
basx434 toSci 1000000 -> 1000000
basx435 toEng 1000000 -> 1000000
basx436 toSci 10000000 -> 10000000
basx437 toEng 10000000 -> 10000000
basx438 toSci 100000000 -> 100000000
basx439 toEng 100000000 -> 100000000
basx440 toSci 1000000000 -> 1.00000000E+9 Rounded
basx441 toEng 1000000000 -> 1.00000000E+9 Rounded
basx442 toSci 1000000000 -> 1.00000000E+9 Rounded
basx443 toEng 1000000000 -> 1.00000000E+9 Rounded
basx444 toSci 1000000003 -> 1.00000000E+9 Rounded Inexact
basx445 toEng 1000000003 -> 1.00000000E+9 Rounded Inexact
basx446 toSci 1000000005 -> 1.00000001E+9 Rounded Inexact
basx447 toEng 1000000005 -> 1.00000001E+9 Rounded Inexact
basx448 toSci 10000000050 -> 1.00000001E+10 Rounded Inexact
basx449 toEng 10000000050 -> 10.0000001E+9 Rounded Inexact
basx450 toSci 1000000009 -> 1.00000001E+9 Rounded Inexact
basx451 toEng 1000000009 -> 1.00000001E+9 Rounded Inexact
basx452 toSci 10000000000 -> 1.00000000E+10 Rounded
basx453 toEng 10000000000 -> 10.0000000E+9 Rounded
basx454 toSci 10000000003 -> 1.00000000E+10 Rounded Inexact
basx455 toEng 10000000003 -> 10.0000000E+9 Rounded Inexact
basx456 toSci 10000000005 -> 1.00000000E+10 Rounded Inexact
basx457 toEng 10000000005 -> 10.0000000E+9 Rounded Inexact
basx458 toSci 10000000009 -> 1.00000000E+10 Rounded Inexact
basx459 toEng 10000000009 -> 10.0000000E+9 Rounded Inexact
basx460 toSci 100000000000 -> 1.00000000E+11 Rounded
basx461 toEng 100000000000 -> 100.000000E+9 Rounded
basx462 toSci 100000000300 -> 1.00000000E+11 Rounded Inexact
basx463 toEng 100000000300 -> 100.000000E+9 Rounded Inexact
basx464 toSci 100000000500 -> 1.00000001E+11 Rounded Inexact
basx465 toEng 100000000500 -> 100.000001E+9 Rounded Inexact
basx466 toSci 100000000900 -> 1.00000001E+11 Rounded Inexact
basx467 toEng 100000000900 -> 100.000001E+9 Rounded Inexact
basx468 toSci 1000000000000 -> 1.00000000E+12 Rounded
basx469 toEng 1000000000000 -> 1.00000000E+12 Rounded
basx470 toSci 1000000003000 -> 1.00000000E+12 Rounded Inexact
basx471 toEng 1000000003000 -> 1.00000000E+12 Rounded Inexact
basx472 toSci 1000000005000 -> 1.00000001E+12 Rounded Inexact
basx473 toEng 1000000005000 -> 1.00000001E+12 Rounded Inexact
basx474 toSci 1000000009000 -> 1.00000001E+12 Rounded Inexact
basx475 toEng 1000000009000 -> 1.00000001E+12 Rounded Inexact
-- check rounding modes heeded
precision: 5
rounding: ceiling
bsrx401 toSci 1.23450 -> 1.2345 Rounded
bsrx402 toSci 1.234549 -> 1.2346 Rounded Inexact
bsrx403 toSci 1.234550 -> 1.2346 Rounded Inexact
bsrx404 toSci 1.234551 -> 1.2346 Rounded Inexact
rounding: down
bsrx405 toSci 1.23450 -> 1.2345 Rounded
bsrx406 toSci 1.234549 -> 1.2345 Rounded Inexact
bsrx407 toSci 1.234550 -> 1.2345 Rounded Inexact
bsrx408 toSci 1.234551 -> 1.2345 Rounded Inexact
rounding: floor
bsrx410 toSci 1.23450 -> 1.2345 Rounded
bsrx411 toSci 1.234549 -> 1.2345 Rounded Inexact
bsrx412 toSci 1.234550 -> 1.2345 Rounded Inexact
bsrx413 toSci 1.234551 -> 1.2345 Rounded Inexact
rounding: half_down
bsrx415 toSci 1.23450 -> 1.2345 Rounded
bsrx416 toSci 1.234549 -> 1.2345 Rounded Inexact
bsrx417 toSci 1.234550 -> 1.2345 Rounded Inexact
bsrx418 toSci 1.234650 -> 1.2346 Rounded Inexact
bsrx419 toSci 1.234551 -> 1.2346 Rounded Inexact
rounding: half_even
bsrx421 toSci 1.23450 -> 1.2345 Rounded
bsrx422 toSci 1.234549 -> 1.2345 Rounded Inexact
bsrx423 toSci 1.234550 -> 1.2346 Rounded Inexact
bsrx424 toSci 1.234650 -> 1.2346 Rounded Inexact
bsrx425 toSci 1.234551 -> 1.2346 Rounded Inexact
rounding: down
bsrx426 toSci 1.23450 -> 1.2345 Rounded
bsrx427 toSci 1.234549 -> 1.2345 Rounded Inexact
bsrx428 toSci 1.234550 -> 1.2345 Rounded Inexact
bsrx429 toSci 1.234551 -> 1.2345 Rounded Inexact
rounding: half_up
bsrx431 toSci 1.23450 -> 1.2345 Rounded
bsrx432 toSci 1.234549 -> 1.2345 Rounded Inexact
bsrx433 toSci 1.234550 -> 1.2346 Rounded Inexact
bsrx434 toSci 1.234650 -> 1.2347 Rounded Inexact
bsrx435 toSci 1.234551 -> 1.2346 Rounded Inexact
-- negatives
rounding: ceiling
bsrx501 toSci -1.23450 -> -1.2345 Rounded
bsrx502 toSci -1.234549 -> -1.2345 Rounded Inexact
bsrx503 toSci -1.234550 -> -1.2345 Rounded Inexact
bsrx504 toSci -1.234551 -> -1.2345 Rounded Inexact
rounding: down
bsrx505 toSci -1.23450 -> -1.2345 Rounded
bsrx506 toSci -1.234549 -> -1.2345 Rounded Inexact
bsrx507 toSci -1.234550 -> -1.2345 Rounded Inexact
bsrx508 toSci -1.234551 -> -1.2345 Rounded Inexact
rounding: floor
bsrx510 toSci -1.23450 -> -1.2345 Rounded
bsrx511 toSci -1.234549 -> -1.2346 Rounded Inexact
bsrx512 toSci -1.234550 -> -1.2346 Rounded Inexact
bsrx513 toSci -1.234551 -> -1.2346 Rounded Inexact
rounding: half_down
bsrx515 toSci -1.23450 -> -1.2345 Rounded
bsrx516 toSci -1.234549 -> -1.2345 Rounded Inexact
bsrx517 toSci -1.234550 -> -1.2345 Rounded Inexact
bsrx518 toSci -1.234650 -> -1.2346 Rounded Inexact
bsrx519 toSci -1.234551 -> -1.2346 Rounded Inexact
rounding: half_even
bsrx521 toSci -1.23450 -> -1.2345 Rounded
bsrx522 toSci -1.234549 -> -1.2345 Rounded Inexact
bsrx523 toSci -1.234550 -> -1.2346 Rounded Inexact
bsrx524 toSci -1.234650 -> -1.2346 Rounded Inexact
bsrx525 toSci -1.234551 -> -1.2346 Rounded Inexact
rounding: down
bsrx526 toSci -1.23450 -> -1.2345 Rounded
bsrx527 toSci -1.234549 -> -1.2345 Rounded Inexact
bsrx528 toSci -1.234550 -> -1.2345 Rounded Inexact
bsrx529 toSci -1.234551 -> -1.2345 Rounded Inexact
rounding: half_up
bsrx531 toSci -1.23450 -> -1.2345 Rounded
bsrx532 toSci -1.234549 -> -1.2345 Rounded Inexact
bsrx533 toSci -1.234550 -> -1.2346 Rounded Inexact
bsrx534 toSci -1.234650 -> -1.2347 Rounded Inexact
bsrx535 toSci -1.234551 -> -1.2346 Rounded Inexact
rounding: half_up
precision: 9
-- The 'baddies' tests from DiagBigDecimal, plus some new ones
basx500 toSci '1..2' -> NaN Conversion_syntax
basx501 toSci '.' -> NaN Conversion_syntax
basx502 toSci '..' -> NaN Conversion_syntax
basx503 toSci '++1' -> NaN Conversion_syntax
basx504 toSci '--1' -> NaN Conversion_syntax
basx505 toSci '-+1' -> NaN Conversion_syntax
basx506 toSci '+-1' -> NaN Conversion_syntax
basx507 toSci '12e' -> NaN Conversion_syntax
basx508 toSci '12e++' -> NaN Conversion_syntax
basx509 toSci '12f4' -> NaN Conversion_syntax
basx510 toSci ' +1' -> NaN Conversion_syntax
basx511 toSci '+ 1' -> NaN Conversion_syntax
basx512 toSci '12 ' -> NaN Conversion_syntax
basx513 toSci ' + 1' -> NaN Conversion_syntax
basx514 toSci ' - 1 ' -> NaN Conversion_syntax
basx515 toSci 'x' -> NaN Conversion_syntax
basx516 toSci '-1-' -> NaN Conversion_syntax
basx517 toSci '12-' -> NaN Conversion_syntax
basx518 toSci '3+' -> NaN Conversion_syntax
basx519 toSci '' -> NaN Conversion_syntax
basx520 toSci '1e-' -> NaN Conversion_syntax
basx521 toSci '7e99999a' -> NaN Conversion_syntax
basx522 toSci '7e123567890x' -> NaN Conversion_syntax
basx523 toSci '7e12356789012x' -> NaN Conversion_syntax
basx524 toSci '' -> NaN Conversion_syntax
basx525 toSci 'e100' -> NaN Conversion_syntax
basx526 toSci '\u0e5a' -> NaN Conversion_syntax
basx527 toSci '\u0b65' -> NaN Conversion_syntax
basx528 toSci '123,65' -> NaN Conversion_syntax
basx529 toSci '1.34.5' -> NaN Conversion_syntax
basx530 toSci '.123.5' -> NaN Conversion_syntax
basx531 toSci '01.35.' -> NaN Conversion_syntax
basx532 toSci '01.35-' -> NaN Conversion_syntax
basx533 toSci '0000..' -> NaN Conversion_syntax
basx534 toSci '.0000.' -> NaN Conversion_syntax
basx535 toSci '00..00' -> NaN Conversion_syntax
basx536 toSci '111e*123' -> NaN Conversion_syntax
basx537 toSci '111e123-' -> NaN Conversion_syntax
basx538 toSci '111e+12+' -> NaN Conversion_syntax
basx539 toSci '111e1-3-' -> NaN Conversion_syntax
basx540 toSci '111e1*23' -> NaN Conversion_syntax
basx541 toSci '111e1e+3' -> NaN Conversion_syntax
basx542 toSci '1e1.0' -> NaN Conversion_syntax
basx543 toSci '1e123e' -> NaN Conversion_syntax
basx544 toSci 'ten' -> NaN Conversion_syntax
basx545 toSci 'ONE' -> NaN Conversion_syntax
basx546 toSci '1e.1' -> NaN Conversion_syntax
basx547 toSci '1e1.' -> NaN Conversion_syntax
basx548 toSci '1ee' -> NaN Conversion_syntax
basx549 toSci 'e+1' -> NaN Conversion_syntax
basx550 toSci '1.23.4' -> NaN Conversion_syntax
basx551 toSci '1.2.1' -> NaN Conversion_syntax
basx552 toSci '1E+1.2' -> NaN Conversion_syntax
basx553 toSci '1E+1.2.3' -> NaN Conversion_syntax
basx554 toSci '1E++1' -> NaN Conversion_syntax
basx555 toSci '1E--1' -> NaN Conversion_syntax
basx556 toSci '1E+-1' -> NaN Conversion_syntax
basx557 toSci '1E-+1' -> NaN Conversion_syntax
basx558 toSci '1E''1' -> NaN Conversion_syntax
basx559 toSci "1E""1" -> NaN Conversion_syntax
basx560 toSci "1E""""" -> NaN Conversion_syntax
-- Near-specials
basx561 toSci "qNaN" -> NaN Conversion_syntax
basx562 toSci "NaNq" -> NaN Conversion_syntax
basx563 toSci "NaNs" -> NaN Conversion_syntax
basx564 toSci "Infi" -> NaN Conversion_syntax
basx565 toSci "Infin" -> NaN Conversion_syntax
basx566 toSci "Infini" -> NaN Conversion_syntax
basx567 toSci "Infinit" -> NaN Conversion_syntax
basx568 toSci "-Infinit" -> NaN Conversion_syntax
basx569 toSci "0Inf" -> NaN Conversion_syntax
basx570 toSci "9Inf" -> NaN Conversion_syntax
basx571 toSci "-0Inf" -> NaN Conversion_syntax
basx572 toSci "-9Inf" -> NaN Conversion_syntax
basx573 toSci "-sNa" -> NaN Conversion_syntax
basx574 toSci "xNaN" -> NaN Conversion_syntax
basx575 toSci "0sNaN" -> NaN Conversion_syntax
-- subnormals and overflows
basx576 toSci '99e999999999' -> Infinity Overflow Inexact Rounded
basx577 toSci '999e999999999' -> Infinity Overflow Inexact Rounded
basx578 toSci '0.9e-999999999' -> 9E-1000000000 Subnormal
basx579 toSci '0.09e-999999999' -> 9E-1000000001 Subnormal
basx580 toSci '0.1e1000000000' -> 1E+999999999
basx581 toSci '10e-1000000000' -> 1.0E-999999999
basx582 toSci '0.9e9999999999' -> Infinity Overflow Inexact Rounded
basx583 toSci '99e-9999999999' -> 0E-1000000007 Underflow Subnormal Inexact Rounded
basx584 toSci '111e9999999999' -> Infinity Overflow Inexact Rounded
basx585 toSci '1111e-9999999999' -> 0E-1000000007 Underflow Subnormal Inexact Rounded
basx586 toSci '1111e-99999999999' -> 0E-1000000007 Underflow Subnormal Inexact Rounded
basx587 toSci '7e1000000000' -> Infinity Overflow Inexact Rounded
-- negatives the same
basx588 toSci '-99e999999999' -> -Infinity Overflow Inexact Rounded
basx589 toSci '-999e999999999' -> -Infinity Overflow Inexact Rounded
basx590 toSci '-0.9e-999999999' -> -9E-1000000000 Subnormal
basx591 toSci '-0.09e-999999999' -> -9E-1000000001 Subnormal
basx592 toSci '-0.1e1000000000' -> -1E+999999999
basx593 toSci '-10e-1000000000' -> -1.0E-999999999
basx594 toSci '-0.9e9999999999' -> -Infinity Overflow Inexact Rounded
basx595 toSci '-99e-9999999999' -> -0E-1000000007 Underflow Subnormal Inexact Rounded
basx596 toSci '-111e9999999999' -> -Infinity Overflow Inexact Rounded
basx597 toSci '-1111e-9999999999' -> -0E-1000000007 Underflow Subnormal Inexact Rounded
basx598 toSci '-1111e-99999999999' -> -0E-1000000007 Underflow Subnormal Inexact Rounded
basx599 toSci '-7e1000000000' -> -Infinity Overflow Inexact Rounded
-- Zeros
basx601 toSci 0.000000000 -> 0E-9
basx602 toSci 0.00000000 -> 0E-8
basx603 toSci 0.0000000 -> 0E-7
basx604 toSci 0.000000 -> 0.000000
basx605 toSci 0.00000 -> 0.00000
basx606 toSci 0.0000 -> 0.0000
basx607 toSci 0.000 -> 0.000
basx608 toSci 0.00 -> 0.00
basx609 toSci 0.0 -> 0.0
basx610 toSci .0 -> 0.0
basx611 toSci 0. -> 0
basx612 toSci -.0 -> -0.0
basx613 toSci -0. -> -0
basx614 toSci -0.0 -> -0.0
basx615 toSci -0.00 -> -0.00
basx616 toSci -0.000 -> -0.000
basx617 toSci -0.0000 -> -0.0000
basx618 toSci -0.00000 -> -0.00000
basx619 toSci -0.000000 -> -0.000000
basx620 toSci -0.0000000 -> -0E-7
basx621 toSci -0.00000000 -> -0E-8
basx622 toSci -0.000000000 -> -0E-9
basx630 toSci 0.00E+0 -> 0.00
basx631 toSci 0.00E+1 -> 0.0
basx632 toSci 0.00E+2 -> 0
basx633 toSci 0.00E+3 -> 0E+1
basx634 toSci 0.00E+4 -> 0E+2
basx635 toSci 0.00E+5 -> 0E+3
basx636 toSci 0.00E+6 -> 0E+4
basx637 toSci 0.00E+7 -> 0E+5
basx638 toSci 0.00E+8 -> 0E+6
basx639 toSci 0.00E+9 -> 0E+7
basx640 toSci 0.0E+0 -> 0.0
basx641 toSci 0.0E+1 -> 0
basx642 toSci 0.0E+2 -> 0E+1
basx643 toSci 0.0E+3 -> 0E+2
basx644 toSci 0.0E+4 -> 0E+3
basx645 toSci 0.0E+5 -> 0E+4
basx646 toSci 0.0E+6 -> 0E+5
basx647 toSci 0.0E+7 -> 0E+6
basx648 toSci 0.0E+8 -> 0E+7
basx649 toSci 0.0E+9 -> 0E+8
basx650 toSci 0E+0 -> 0
basx651 toSci 0E+1 -> 0E+1
basx652 toSci 0E+2 -> 0E+2
basx653 toSci 0E+3 -> 0E+3
basx654 toSci 0E+4 -> 0E+4
basx655 toSci 0E+5 -> 0E+5
basx656 toSci 0E+6 -> 0E+6
basx657 toSci 0E+7 -> 0E+7
basx658 toSci 0E+8 -> 0E+8
basx659 toSci 0E+9 -> 0E+9
basx660 toSci 0.0E-0 -> 0.0
basx661 toSci 0.0E-1 -> 0.00
basx662 toSci 0.0E-2 -> 0.000
basx663 toSci 0.0E-3 -> 0.0000
basx664 toSci 0.0E-4 -> 0.00000
basx665 toSci 0.0E-5 -> 0.000000
basx666 toSci 0.0E-6 -> 0E-7
basx667 toSci 0.0E-7 -> 0E-8
basx668 toSci 0.0E-8 -> 0E-9
basx669 toSci 0.0E-9 -> 0E-10
basx670 toSci 0.00E-0 -> 0.00
basx671 toSci 0.00E-1 -> 0.000
basx672 toSci 0.00E-2 -> 0.0000
basx673 toSci 0.00E-3 -> 0.00000
basx674 toSci 0.00E-4 -> 0.000000
basx675 toSci 0.00E-5 -> 0E-7
basx676 toSci 0.00E-6 -> 0E-8
basx677 toSci 0.00E-7 -> 0E-9
basx678 toSci 0.00E-8 -> 0E-10
basx679 toSci 0.00E-9 -> 0E-11
-- Specials
precision: 4
basx700 toSci "NaN" -> NaN
basx701 toSci "nan" -> NaN
basx702 toSci "nAn" -> NaN
basx703 toSci "NAN" -> NaN
basx704 toSci "+NaN" -> NaN
basx705 toSci "+nan" -> NaN
basx706 toSci "+nAn" -> NaN
basx707 toSci "+NAN" -> NaN
basx708 toSci "-NaN" -> -NaN
basx709 toSci "-nan" -> -NaN
basx710 toSci "-nAn" -> -NaN
basx711 toSci "-NAN" -> -NaN
basx712 toSci 'NaN0' -> NaN
basx713 toSci 'NaN1' -> NaN1
basx714 toSci 'NaN12' -> NaN12
basx715 toSci 'NaN123' -> NaN123
basx716 toSci 'NaN1234' -> NaN1234
basx717 toSci 'NaN01' -> NaN1
basx718 toSci 'NaN012' -> NaN12
basx719 toSci 'NaN0123' -> NaN123
basx720 toSci 'NaN01234' -> NaN1234
basx721 toSci 'NaN001' -> NaN1
basx722 toSci 'NaN0012' -> NaN12
basx723 toSci 'NaN00123' -> NaN123
basx724 toSci 'NaN001234' -> NaN1234
basx725 toSci 'NaN12345' -> NaN Conversion_syntax
basx726 toSci 'NaN123e+1' -> NaN Conversion_syntax
basx727 toSci 'NaN12.45' -> NaN Conversion_syntax
basx728 toSci 'NaN-12' -> NaN Conversion_syntax
basx729 toSci 'NaN+12' -> NaN Conversion_syntax
basx730 toSci "sNaN" -> sNaN
basx731 toSci "snan" -> sNaN
basx732 toSci "SnAn" -> sNaN
basx733 toSci "SNAN" -> sNaN
basx734 toSci "+sNaN" -> sNaN
basx735 toSci "+snan" -> sNaN
basx736 toSci "+SnAn" -> sNaN
basx737 toSci "+SNAN" -> sNaN
basx738 toSci "-sNaN" -> -sNaN
basx739 toSci "-snan" -> -sNaN
basx740 toSci "-SnAn" -> -sNaN
basx741 toSci "-SNAN" -> -sNaN
basx742 toSci 'sNaN0000' -> sNaN
basx743 toSci 'sNaN7' -> sNaN7
basx744 toSci 'sNaN007234' -> sNaN7234
basx745 toSci 'sNaN72345' -> NaN Conversion_syntax
basx746 toSci 'sNaN72.45' -> NaN Conversion_syntax
basx747 toSci 'sNaN-72' -> NaN Conversion_syntax
basx748 toSci "Inf" -> Infinity
basx749 toSci "inf" -> Infinity
basx750 toSci "iNf" -> Infinity
basx751 toSci "INF" -> Infinity
basx752 toSci "+Inf" -> Infinity
basx753 toSci "+inf" -> Infinity
basx754 toSci "+iNf" -> Infinity
basx755 toSci "+INF" -> Infinity
basx756 toSci "-Inf" -> -Infinity
basx757 toSci "-inf" -> -Infinity
basx758 toSci "-iNf" -> -Infinity
basx759 toSci "-INF" -> -Infinity
basx760 toSci "Infinity" -> Infinity
basx761 toSci "infinity" -> Infinity
basx762 toSci "iNfInItY" -> Infinity
basx763 toSci "INFINITY" -> Infinity
basx764 toSci "+Infinity" -> Infinity
basx765 toSci "+infinity" -> Infinity
basx766 toSci "+iNfInItY" -> Infinity
basx767 toSci "+INFINITY" -> Infinity
basx768 toSci "-Infinity" -> -Infinity
basx769 toSci "-infinity" -> -Infinity
basx770 toSci "-iNfInItY" -> -Infinity
basx771 toSci "-INFINITY" -> -Infinity
-- Specials and zeros for toEng
basx772 toEng "NaN" -> NaN
basx773 toEng "-Infinity" -> -Infinity
basx774 toEng "-sNaN" -> -sNaN
basx775 toEng "-NaN" -> -NaN
basx776 toEng "+Infinity" -> Infinity
basx778 toEng "+sNaN" -> sNaN
basx779 toEng "+NaN" -> NaN
basx780 toEng "INFINITY" -> Infinity
basx781 toEng "SNAN" -> sNaN
basx782 toEng "NAN" -> NaN
basx783 toEng "infinity" -> Infinity
basx784 toEng "snan" -> sNaN
basx785 toEng "nan" -> NaN
basx786 toEng "InFINITY" -> Infinity
basx787 toEng "SnAN" -> sNaN
basx788 toEng "nAN" -> NaN
basx789 toEng "iNfinity" -> Infinity
basx790 toEng "sNan" -> sNaN
basx791 toEng "Nan" -> NaN
basx792 toEng "Infinity" -> Infinity
basx793 toEng "sNaN" -> sNaN
-- Zero toEng, etc.
basx800 toEng 0e+1 -> "0.00E+3" -- doc example
basx801 toEng 0.000000000 -> 0E-9
basx802 toEng 0.00000000 -> 0.00E-6
basx803 toEng 0.0000000 -> 0.0E-6
basx804 toEng 0.000000 -> 0.000000
basx805 toEng 0.00000 -> 0.00000
basx806 toEng 0.0000 -> 0.0000
basx807 toEng 0.000 -> 0.000
basx808 toEng 0.00 -> 0.00
basx809 toEng 0.0 -> 0.0
basx810 toEng .0 -> 0.0
basx811 toEng 0. -> 0
basx812 toEng -.0 -> -0.0
basx813 toEng -0. -> -0
basx814 toEng -0.0 -> -0.0
basx815 toEng -0.00 -> -0.00
basx816 toEng -0.000 -> -0.000
basx817 toEng -0.0000 -> -0.0000
basx818 toEng -0.00000 -> -0.00000
basx819 toEng -0.000000 -> -0.000000
basx820 toEng -0.0000000 -> -0.0E-6
basx821 toEng -0.00000000 -> -0.00E-6
basx822 toEng -0.000000000 -> -0E-9
basx830 toEng 0.00E+0 -> 0.00
basx831 toEng 0.00E+1 -> 0.0
basx832 toEng 0.00E+2 -> 0
basx833 toEng 0.00E+3 -> 0.00E+3
basx834 toEng 0.00E+4 -> 0.0E+3
basx835 toEng 0.00E+5 -> 0E+3
basx836 toEng 0.00E+6 -> 0.00E+6
basx837 toEng 0.00E+7 -> 0.0E+6
basx838 toEng 0.00E+8 -> 0E+6
basx839 toEng 0.00E+9 -> 0.00E+9
basx840 toEng 0.0E+0 -> 0.0
basx841 toEng 0.0E+1 -> 0
basx842 toEng 0.0E+2 -> 0.00E+3
basx843 toEng 0.0E+3 -> 0.0E+3
basx844 toEng 0.0E+4 -> 0E+3
basx845 toEng 0.0E+5 -> 0.00E+6
basx846 toEng 0.0E+6 -> 0.0E+6
basx847 toEng 0.0E+7 -> 0E+6
basx848 toEng 0.0E+8 -> 0.00E+9
basx849 toEng 0.0E+9 -> 0.0E+9
basx850 toEng 0E+0 -> 0
basx851 toEng 0E+1 -> 0.00E+3
basx852 toEng 0E+2 -> 0.0E+3
basx853 toEng 0E+3 -> 0E+3
basx854 toEng 0E+4 -> 0.00E+6
basx855 toEng 0E+5 -> 0.0E+6
basx856 toEng 0E+6 -> 0E+6
basx857 toEng 0E+7 -> 0.00E+9
basx858 toEng 0E+8 -> 0.0E+9
basx859 toEng 0E+9 -> 0E+9
basx860 toEng 0.0E-0 -> 0.0
basx861 toEng 0.0E-1 -> 0.00
basx862 toEng 0.0E-2 -> 0.000
basx863 toEng 0.0E-3 -> 0.0000
basx864 toEng 0.0E-4 -> 0.00000
basx865 toEng 0.0E-5 -> 0.000000
basx866 toEng 0.0E-6 -> 0.0E-6
basx867 toEng 0.0E-7 -> 0.00E-6
basx868 toEng 0.0E-8 -> 0E-9
basx869 toEng 0.0E-9 -> 0.0E-9
basx870 toEng 0.00E-0 -> 0.00
basx871 toEng 0.00E-1 -> 0.000
basx872 toEng 0.00E-2 -> 0.0000
basx873 toEng 0.00E-3 -> 0.00000
basx874 toEng 0.00E-4 -> 0.000000
basx875 toEng 0.00E-5 -> 0.0E-6
basx876 toEng 0.00E-6 -> 0.00E-6
basx877 toEng 0.00E-7 -> 0E-9
basx878 toEng 0.00E-8 -> 0.0E-9
basx879 toEng 0.00E-9 -> 0.00E-9
-- Giga exponent initial tests
maxExponent: 999999999
minExponent: -999999999
basx951 toSci '99e999' -> '9.9E+1000'
basx952 toSci '999e999' -> '9.99E+1001'
basx953 toSci '0.9e-999' -> '9E-1000'
basx954 toSci '0.09e-999' -> '9E-1001'
basx955 toSci '0.1e1001' -> '1E+1000'
basx956 toSci '10e-1001' -> '1.0E-1000'
basx957 toSci '0.9e9999' -> '9E+9998'
basx958 toSci '99e-9999' -> '9.9E-9998'
basx959 toSci '111e9997' -> '1.11E+9999'
basx960 toSci '1111e-9999' -> '1.111E-9996'
basx961 toSci '99e9999' -> '9.9E+10000'
basx962 toSci '999e9999' -> '9.99E+10001'
basx963 toSci '0.9e-9999' -> '9E-10000'
basx964 toSci '0.09e-9999' -> '9E-10001'
basx965 toSci '0.1e10001' -> '1E+10000'
basx966 toSci '10e-10001' -> '1.0E-10000'
basx967 toSci '0.9e99999' -> '9E+99998'
basx968 toSci '99e-99999' -> '9.9E-99998'
basx969 toSci '111e99999' -> '1.11E+100001'
basx970 toSci '1111e-99999' -> '1.111E-99996'
basx971 toSci "0.09e999999999" -> '9E+999999997'
basx972 toSci "0.9e999999999" -> '9E+999999998'
basx973 toSci "9e999999999" -> '9E+999999999'
basx974 toSci "9.9e999999999" -> '9.9E+999999999'
basx975 toSci "9.99e999999999" -> '9.99E+999999999'
basx976 toSci "9.99e-999999999" -> '9.99E-999999999'
basx977 toSci "9.9e-999999999" -> '9.9E-999999999'
basx978 toSci "9e-999999999" -> '9E-999999999'
basx979 toSci "99e-999999999" -> '9.9E-999999998'
basx980 toSci "999e-999999999" -> '9.99E-999999997'
-- Varying exponent maximums
precision: 5
maxexponent: 0
minexponent: 0
emax001 toSci -1E+2 -> -Infinity Overflow Inexact Rounded
emax002 toSci -100 -> -Infinity Overflow Inexact Rounded
emax003 toSci -10 -> -Infinity 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 -> Infinity Overflow Inexact Rounded
emax012 toSci 100 -> Infinity Overflow Inexact Rounded
emax013 toSci 1E+2 -> Infinity Overflow Inexact Rounded
emax014 toSci 0.99 -> 0.99 Subnormal
emax015 toSci 0.1 -> 0.1 Subnormal
emax016 toSci 0.01 -> 0.01 Subnormal
emax017 toSci 1E-1 -> 0.1 Subnormal
emax018 toSci 1E-2 -> 0.01 Subnormal
maxexponent: 1
minexponent: -1
emax100 toSci -1E+3 -> -Infinity Overflow Inexact Rounded
emax101 toSci -1E+2 -> -Infinity Overflow Inexact Rounded
emax102 toSci -100 -> -Infinity 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 -> Infinity Overflow Inexact Rounded
emax113 toSci 1E+2 -> Infinity Overflow Inexact Rounded
emax114 toSci 1E+3 -> Infinity Overflow Inexact Rounded
emax115 toSci 0.99 -> 0.99
emax116 toSci 0.1 -> 0.1
emax117 toSci 0.01 -> 0.01 Subnormal
emax118 toSci 1E-1 -> 0.1
emax119 toSci 1E-2 -> 0.01 Subnormal
emax120 toSci 1E-3 -> 0.001 Subnormal
emax121 toSci 1.1E-3 -> 0.0011 Subnormal
emax122 toSci 1.11E-3 -> 0.00111 Subnormal
emax123 toSci 1.111E-3 -> 0.00111 Subnormal Underflow Inexact Rounded
emax124 toSci 1.1111E-3 -> 0.00111 Subnormal Underflow Inexact Rounded
emax125 toSci 1.11111E-3 -> 0.00111 Subnormal Underflow Inexact Rounded
maxexponent: 2
minexponent: -2
precision: 9
emax200 toSci -1E+3 -> -Infinity 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 -> Infinity 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 -> 0.001 Subnormal
emax219 toSci 1E-1 -> 0.1
emax220 toSci 1E-2 -> 0.01
emax221 toSci 1E-3 -> 0.001 Subnormal
emax222 toSci 1E-4 -> 0.0001 Subnormal
emax223 toSci 1E-5 -> 0.00001 Subnormal
emax224 toSci 1E-6 -> 0.000001 Subnormal
emax225 toSci 1E-7 -> 1E-7 Subnormal
emax226 toSci 1E-8 -> 1E-8 Subnormal
emax227 toSci 1E-9 -> 1E-9 Subnormal
emax228 toSci 1E-10 -> 1E-10 Subnormal
emax229 toSci 1E-11 -> 0E-10 Underflow Subnormal Inexact Rounded
emax230 toSci 1E-12 -> 0E-10 Underflow Subnormal Inexact Rounded
maxexponent: 7
minexponent: -7
emax231 toSci 1E-8 -> 1E-8 Subnormal
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 -> Infinity Overflow Inexact Rounded
maxexponent: 9
minexponent: -9
emax240 toSci 1E-21 -> 0E-17 Subnormal Underflow Inexact Rounded
emax241 toSci 1E-10 -> 1E-10 Subnormal
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 -> Infinity Overflow Inexact Rounded
maxexponent: 10 -- boundary
minexponent: -10
emax250 toSci 1E-21 -> 0E-18 Underflow Subnormal Inexact Rounded
emax251 toSci 1E-11 -> 1E-11 Subnormal
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 -> Infinity Overflow Inexact Rounded
emax260 toSci 1.00E-21 -> 0E-18 Underflow Subnormal Inexact Rounded
emax261 toSci 1.00E-11 -> 1.00E-11 Subnormal
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 -> Infinity Overflow Inexact Rounded
emax270 toSci 9.99E-21 -> 0E-18 Underflow Subnormal Inexact Rounded
emax271 toSci 9.99E-11 -> 9.99E-11 Subnormal
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 -> Infinity Overflow Inexact Rounded
maxexponent: 99
minexponent: -99
emax280 toSci 1E-120 -> 0E-107 Underflow Subnormal Inexact Rounded
emax281 toSci 1E-100 -> 1E-100 Subnormal
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 -> Infinity Overflow Inexact Rounded
maxexponent: 999
minexponent: -999
emax291 toSci 1E-1000 -> 1E-1000 Subnormal
emax292 toSci 1E-999 -> 1E-999
emax293 toSci 1E+999 -> 1E+999
emax294 toSci 1E+1000 -> Infinity Overflow Inexact Rounded
maxexponent: 9999
minexponent: -9999
emax301 toSci 1E-10000 -> 1E-10000 Subnormal
emax302 toSci 1E-9999 -> 1E-9999
emax303 toSci 1E+9999 -> 1E+9999
emax304 toSci 1E+10000 -> Infinity Overflow Inexact Rounded
maxexponent: 99999
minexponent: -99999
emax311 toSci 1E-100000 -> 1E-100000 Subnormal
emax312 toSci 1E-99999 -> 1E-99999
emax313 toSci 1E+99999 -> 1E+99999
emax314 toSci 1E+100000 -> Infinity Overflow Inexact Rounded
maxexponent: 999999
minexponent: -999999
emax321 toSci 1E-1000000 -> 1E-1000000 Subnormal
emax322 toSci 1E-999999 -> 1E-999999
emax323 toSci 1E+999999 -> 1E+999999
emax324 toSci 1E+1000000 -> Infinity Overflow Inexact Rounded
maxexponent: 9999999
minexponent: -9999999
emax331 toSci 1E-10000000 -> 1E-10000000 Subnormal
emax332 toSci 1E-9999999 -> 1E-9999999
emax333 toSci 1E+9999999 -> 1E+9999999
emax334 toSci 1E+10000000 -> Infinity Overflow Inexact Rounded
maxexponent: 99999999
minexponent: -99999999
emax341 toSci 1E-100000000 -> 1E-100000000 Subnormal
emax342 toSci 1E-99999999 -> 1E-99999999
emax343 toSci 1E+99999999 -> 1E+99999999
emax344 toSci 1E+100000000 -> Infinity Overflow Inexact Rounded
maxexponent: 999999999
minexponent: -999999999
emax347 toSci 1E-1000000008 -> 0E-1000000007 Underflow Subnormal Inexact Rounded
emax348 toSci 1E-1000000007 -> 1E-1000000007 Subnormal
emax349 toSci 1E-1000000000 -> 1E-1000000000 Subnormal
emax350 toSci 1E-999999999 -> 1E-999999999
emax351 toSci 1E+999999999 -> 1E+999999999
emax352 toSci 1E+1000000000 -> Infinity Overflow Inexact Rounded
emax353 toSci 1.000E-1000000000 -> 1.000E-1000000000 Subnormal
emax354 toSci 1.000E-999999999 -> 1.000E-999999999
emax355 toSci 1.000E+999999999 -> 1.000E+999999999
emax356 toSci 1.000E+1000000000 -> Infinity Overflow Inexact Rounded
emax357 toSci 1.001E-1000000008 -> 0E-1000000007 Underflow Subnormal Inexact Rounded
emax358 toSci 1.001E-1000000007 -> 1E-1000000007 Subnormal Inexact Rounded Underflow
emax359 toSci 1.001E-1000000000 -> 1.001E-1000000000 Subnormal
emax360 toSci 1.001E-999999999 -> 1.001E-999999999
emax361 toSci 1.001E+999999999 -> 1.001E+999999999
emax362 toSci 1.001E+1000000000 -> Infinity Overflow Inexact Rounded
emax363 toSci 9.000E-1000000000 -> 9.000E-1000000000 Subnormal
emax364 toSci 9.000E-999999999 -> 9.000E-999999999
emax365 toSci 9.000E+999999999 -> 9.000E+999999999
emax366 toSci 9.000E+1000000000 -> Infinity Overflow Inexact Rounded
emax367 toSci 9.999E-1000000009 -> 0E-1000000007 Underflow Subnormal Inexact Rounded
emax368 toSci 9.999E-1000000008 -> 1E-1000000007 Underflow Subnormal Inexact Rounded
emax369 toSci 9.999E-1000000007 -> 1.0E-1000000006 Underflow Subnormal Inexact Rounded
emax370 toSci 9.999E-1000000000 -> 9.999E-1000000000 Subnormal
emax371 toSci 9.999E-999999999 -> 9.999E-999999999
emax372 toSci 9.999E+999999999 -> 9.999E+999999999
emax373 toSci 9.999E+1000000000 -> Infinity Overflow Inexact Rounded
emax374 toSci -1E-1000000000 -> -1E-1000000000 Subnormal
emax375 toSci -1E-999999999 -> -1E-999999999
emax376 toSci -1E+999999999 -> -1E+999999999
emax377 toSci -1E+1000000000 -> -Infinity Overflow Inexact Rounded
emax378 toSci -1.000E-1000000000 -> -1.000E-1000000000 Subnormal
emax379 toSci -1.000E-999999999 -> -1.000E-999999999
emax380 toSci -1.000E+999999999 -> -1.000E+999999999
emax381 toSci -1.000E+1000000000 -> -Infinity Overflow Inexact Rounded
emax382 toSci -1.001E-1000000008 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
emax383 toSci -1.001E-999999999 -> -1.001E-999999999
emax384 toSci -1.001E+999999999 -> -1.001E+999999999
emax385 toSci -1.001E+1000000000 -> -Infinity Overflow Inexact Rounded
emax386 toSci -9.000E-1000000123 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
emax387 toSci -9.000E-999999999 -> -9.000E-999999999
emax388 toSci -9.000E+999999999 -> -9.000E+999999999
emax389 toSci -9.000E+1000000000 -> -Infinity Overflow Inexact Rounded
emax390 toSci -9.999E-1000000008 -> -1E-1000000007 Underflow Subnormal Inexact Rounded
emax391 toSci -9.999E-999999999 -> -9.999E-999999999
emax392 toSci -9.999E+999999999 -> -9.999E+999999999
emax393 toSci -9.999E+1000000000 -> -Infinity Overflow Inexact Rounded
-- Now check 854 rounding of subnormals and proper underflow to 0
precision: 5
maxExponent: 999
minexponent: -999
rounding: half_even
emax400 toSci 1.0000E-999 -> 1.0000E-999
emax401 toSci 0.1E-999 -> 1E-1000 Subnormal
emax402 toSci 0.1000E-999 -> 1.000E-1000 Subnormal
emax403 toSci 0.0100E-999 -> 1.00E-1001 Subnormal
emax404 toSci 0.0010E-999 -> 1.0E-1002 Subnormal
emax405 toSci 0.0001E-999 -> 1E-1003 Subnormal
emax406 toSci 0.00010E-999 -> 1E-1003 Subnormal Rounded
emax407 toSci 0.00013E-999 -> 1E-1003 Underflow Subnormal Inexact Rounded
emax408 toSci 0.00015E-999 -> 2E-1003 Underflow Subnormal Inexact Rounded
emax409 toSci 0.00017E-999 -> 2E-1003 Underflow Subnormal Inexact Rounded
emax410 toSci 0.00023E-999 -> 2E-1003 Underflow Subnormal Inexact Rounded
emax411 toSci 0.00025E-999 -> 2E-1003 Underflow Subnormal Inexact Rounded
emax412 toSci 0.00027E-999 -> 3E-1003 Underflow Subnormal Inexact Rounded
emax413 toSci 0.000149E-999 -> 1E-1003 Underflow Subnormal Inexact Rounded
emax414 toSci 0.000150E-999 -> 2E-1003 Underflow Subnormal Inexact Rounded
emax415 toSci 0.000151E-999 -> 2E-1003 Underflow Subnormal Inexact Rounded
emax416 toSci 0.000249E-999 -> 2E-1003 Underflow Subnormal Inexact Rounded
emax417 toSci 0.000250E-999 -> 2E-1003 Underflow Subnormal Inexact Rounded
emax418 toSci 0.000251E-999 -> 3E-1003 Underflow Subnormal Inexact Rounded
emax419 toSci 0.00009E-999 -> 1E-1003 Underflow Subnormal Inexact Rounded
emax420 toSci 0.00005E-999 -> 0E-1003 Underflow Subnormal Inexact Rounded
emax421 toSci 0.00003E-999 -> 0E-1003 Underflow Subnormal Inexact Rounded
emax422 toSci 0.000009E-999 -> 0E-1003 Underflow Subnormal Inexact Rounded
emax423 toSci 0.000005E-999 -> 0E-1003 Underflow Subnormal Inexact Rounded
emax424 toSci 0.000003E-999 -> 0E-1003 Underflow Subnormal Inexact Rounded
emax425 toSci 0.001049E-999 -> 1.0E-1002 Underflow Subnormal Inexact Rounded
emax426 toSci 0.001050E-999 -> 1.0E-1002 Underflow Subnormal Inexact Rounded
emax427 toSci 0.001051E-999 -> 1.1E-1002 Underflow Subnormal Inexact Rounded
emax428 toSci 0.001149E-999 -> 1.1E-1002 Underflow Subnormal Inexact Rounded
emax429 toSci 0.001150E-999 -> 1.2E-1002 Underflow Subnormal Inexact Rounded
emax430 toSci 0.001151E-999 -> 1.2E-1002 Underflow Subnormal Inexact Rounded
emax432 toSci 0.010049E-999 -> 1.00E-1001 Underflow Subnormal Inexact Rounded
emax433 toSci 0.010050E-999 -> 1.00E-1001 Underflow Subnormal Inexact Rounded
emax434 toSci 0.010051E-999 -> 1.01E-1001 Underflow Subnormal Inexact Rounded
emax435 toSci 0.010149E-999 -> 1.01E-1001 Underflow Subnormal Inexact Rounded
emax436 toSci 0.010150E-999 -> 1.02E-1001 Underflow Subnormal Inexact Rounded
emax437 toSci 0.010151E-999 -> 1.02E-1001 Underflow Subnormal Inexact Rounded
emax440 toSci 0.10103E-999 -> 1.010E-1000 Underflow Subnormal Inexact Rounded
emax441 toSci 0.10105E-999 -> 1.010E-1000 Underflow Subnormal Inexact Rounded
emax442 toSci 0.10107E-999 -> 1.011E-1000 Underflow Subnormal Inexact Rounded
emax443 toSci 0.10113E-999 -> 1.011E-1000 Underflow Subnormal Inexact Rounded
emax444 toSci 0.10115E-999 -> 1.012E-1000 Underflow Subnormal Inexact Rounded
emax445 toSci 0.10117E-999 -> 1.012E-1000 Underflow Subnormal Inexact Rounded
emax450 toSci 1.10730E-1000 -> 1.107E-1000 Underflow Subnormal Inexact Rounded
emax451 toSci 1.10750E-1000 -> 1.108E-1000 Underflow Subnormal Inexact Rounded
emax452 toSci 1.10770E-1000 -> 1.108E-1000 Underflow Subnormal Inexact Rounded
emax453 toSci 1.10830E-1000 -> 1.108E-1000 Underflow Subnormal Inexact Rounded
emax454 toSci 1.10850E-1000 -> 1.108E-1000 Underflow Subnormal Inexact Rounded
emax455 toSci 1.10870E-1000 -> 1.109E-1000 Underflow Subnormal Inexact Rounded
-- make sure sign OK
emax456 toSci -0.10103E-999 -> -1.010E-1000 Underflow Subnormal Inexact Rounded
emax457 toSci -0.10105E-999 -> -1.010E-1000 Underflow Subnormal Inexact Rounded
emax458 toSci -0.10107E-999 -> -1.011E-1000 Underflow Subnormal Inexact Rounded
emax459 toSci -0.10113E-999 -> -1.011E-1000 Underflow Subnormal Inexact Rounded
emax460 toSci -0.10115E-999 -> -1.012E-1000 Underflow Subnormal Inexact Rounded
emax461 toSci -0.10117E-999 -> -1.012E-1000 Underflow Subnormal Inexact Rounded
-- '999s' cases
emax464 toSci 999999E-999 -> 1.0000E-993 Inexact Rounded
emax465 toSci 99999.0E-999 -> 9.9999E-995 Rounded
emax466 toSci 99999.E-999 -> 9.9999E-995
emax467 toSci 9999.9E-999 -> 9.9999E-996
emax468 toSci 999.99E-999 -> 9.9999E-997
emax469 toSci 99.999E-999 -> 9.9999E-998
emax470 toSci 9.9999E-999 -> 9.9999E-999
emax471 toSci 0.99999E-999 -> 1.0000E-999 Underflow Subnormal Inexact Rounded
emax472 toSci 0.099999E-999 -> 1.000E-1000 Underflow Subnormal Inexact Rounded
emax473 toSci 0.0099999E-999 -> 1.00E-1001 Underflow Subnormal Inexact Rounded
emax474 toSci 0.00099999E-999 -> 1.0E-1002 Underflow Subnormal Inexact Rounded
emax475 toSci 0.000099999E-999 -> 1E-1003 Underflow Subnormal Inexact Rounded
emax476 toSci 0.0000099999E-999 -> 0E-1003 Underflow Subnormal Inexact Rounded
emax477 toSci 0.00000099999E-999 -> 0E-1003 Underflow Subnormal Inexact Rounded
emax478 toSci 0.000000099999E-999 -> 0E-1003 Underflow Subnormal Inexact Rounded
-- Exponents with insignificant leading zeros
precision: 16
maxExponent: 999999999
minexponent: -999999999
basx1001 toSci 1e999999999 -> 1E+999999999
basx1002 toSci 1e0999999999 -> 1E+999999999
basx1003 toSci 1e00999999999 -> 1E+999999999
basx1004 toSci 1e000999999999 -> 1E+999999999
basx1005 toSci 1e000000000000999999999 -> 1E+999999999
basx1006 toSci 1e000000000001000000007 -> Infinity Overflow Inexact Rounded
basx1007 toSci 1e-999999999 -> 1E-999999999
basx1008 toSci 1e-0999999999 -> 1E-999999999
basx1009 toSci 1e-00999999999 -> 1E-999999999
basx1010 toSci 1e-000999999999 -> 1E-999999999
basx1011 toSci 1e-000000000000999999999 -> 1E-999999999
basx1012 toSci 1e-000000000001000000007 -> 1E-1000000007 Subnormal
-- Edge cases for int32 exponents...
basx1021 tosci 1e+2147483649 -> Infinity Overflow Inexact Rounded
basx1022 tosci 1e+2147483648 -> Infinity Overflow Inexact Rounded
basx1023 tosci 1e+2147483647 -> Infinity Overflow Inexact Rounded
basx1024 tosci 1e-2147483647 -> 0E-1000000014 Underflow Subnormal Inexact Rounded
basx1025 tosci 1e-2147483648 -> 0E-1000000014 Underflow Subnormal Inexact Rounded
basx1026 tosci 1e-2147483649 -> 0E-1000000014 Underflow Subnormal Inexact Rounded
-- same unbalanced
precision: 7
maxExponent: 96
minexponent: -95
basx1031 tosci 1e+2147483649 -> Infinity Overflow Inexact Rounded
basx1032 tosci 1e+2147483648 -> Infinity Overflow Inexact Rounded
basx1033 tosci 1e+2147483647 -> Infinity Overflow Inexact Rounded
basx1034 tosci 1e-2147483647 -> 0E-101 Underflow Subnormal Inexact Rounded
basx1035 tosci 1e-2147483648 -> 0E-101 Underflow Subnormal Inexact Rounded
basx1036 tosci 1e-2147483649 -> 0E-101 Underflow Subnormal Inexact Rounded
-- check for double-rounded subnormals
precision: 5
maxexponent: 79
minexponent: -79
basx1041 toSci 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
basx1042 toSci 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
basx1043 toSci 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow