123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062 |
- ------------------------------------------------------------------------
- -- dsBase.decTest -- base decSingle <--> string conversions --
- -- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. --
- ------------------------------------------------------------------------
- -- Please see the document "General Decimal Arithmetic Testcases" --
- -- at http://www2.hursley.ibm.com/decimal for the description of --
- -- these testcases. --
- -- --
- -- These testcases are experimental ('beta' versions), and they --
- -- may contain errors. They are offered on an as-is basis. In --
- -- particular, achieving the same results as the tests here is not --
- -- a guarantee that an implementation complies with any Standard --
- -- or specification. The tests are not exhaustive. --
- -- --
- -- Please send comments, suggestions, and corrections to the author: --
- -- Mike Cowlishaw, IBM Fellow --
- -- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
- -- mfc@uk.ibm.com --
- ------------------------------------------------------------------------
- version: 2.59
- -- This file tests base conversions from string to a decimal number
- -- and back to a string (in Scientific form)
- -- Note that unlike other operations the operand is subject to rounding
- -- to conform to emax and precision settings (that is, numbers will
- -- conform to rules and exponent will be in permitted range). The
- -- 'left hand side', therefore, may have numbers that cannot be
- -- represented in a decSingle. Some testcases go to the limit of the
- -- next-wider format, and hence these testcases may also be used to
- -- test narrowing and widening operations.
- extended: 1
- clamp: 1
- precision: 7
- maxExponent: 96
- minExponent: -95
- rounding: half_even
- dsbas001 toSci 0 -> 0
- dsbas002 toSci 1 -> 1
- dsbas003 toSci 1.0 -> 1.0
- dsbas004 toSci 1.00 -> 1.00
- dsbas005 toSci 10 -> 10
- dsbas006 toSci 1000 -> 1000
- dsbas007 toSci 10.0 -> 10.0
- dsbas008 toSci 10.1 -> 10.1
- dsbas009 toSci 10.4 -> 10.4
- dsbas010 toSci 10.5 -> 10.5
- dsbas011 toSci 10.6 -> 10.6
- dsbas012 toSci 10.9 -> 10.9
- dsbas013 toSci 11.0 -> 11.0
- dsbas014 toSci 1.234 -> 1.234
- dsbas015 toSci 0.123 -> 0.123
- dsbas016 toSci 0.012 -> 0.012
- dsbas017 toSci -0 -> -0
- dsbas018 toSci -0.0 -> -0.0
- dsbas019 toSci -00.00 -> -0.00
- dsbas021 toSci -1 -> -1
- dsbas022 toSci -1.0 -> -1.0
- dsbas023 toSci -0.1 -> -0.1
- dsbas024 toSci -9.1 -> -9.1
- dsbas025 toSci -9.11 -> -9.11
- dsbas026 toSci -9.119 -> -9.119
- dsbas027 toSci -9.999 -> -9.999
- dsbas030 toSci '1234.567' -> '1234.567'
- dsbas031 toSci '1234.000' -> '1234.000'
- dsbas032 toSci '1234912' -> '1234912'
- dsbas033 toSci '0.00001234567' -> '0.00001234567'
- dsbas034 toSci '0.000001234567' -> '0.000001234567'
- dsbas035 toSci '0.0000001234567' -> '1.234567E-7'
- dsbas036 toSci '0.00000001234567' -> '1.234567E-8'
- dsbas037 toSci '0.1234564' -> '0.1234564'
- dsbas038 toSci '0.1234565' -> '0.1234565'
- -- test finite bounds (Negs of, then 0, Ntiny, Nmin, other, Nmax)
- dsbsn001 toSci -9.999999E+96 -> -9.999999E+96
- dsbsn002 toSci -1E-95 -> -1E-95
- dsbsn003 toSci -1E-101 -> -1E-101 Subnormal
- dsbsn004 toSci -0 -> -0
- dsbsn005 toSci +0 -> 0
- dsbsn006 toSci +1E-101 -> 1E-101 Subnormal
- dsbsn007 toSci +1E-95 -> 1E-95
- dsbsn008 toSci +9.999999E+96 -> 9.999999E+96
- -- String [many more examples are implicitly tested elsewhere]
- -- strings without E cannot generate E in result
- dsbas040 toSci "12" -> '12'
- dsbas041 toSci "-76" -> '-76'
- dsbas042 toSci "12.76" -> '12.76'
- dsbas043 toSci "+12.76" -> '12.76'
- dsbas044 toSci "012.76" -> '12.76'
- dsbas045 toSci "+0.003" -> '0.003'
- dsbas046 toSci "17." -> '17'
- dsbas047 toSci ".5" -> '0.5'
- dsbas048 toSci "044" -> '44'
- dsbas049 toSci "0044" -> '44'
- dsbas050 toSci "0.0005" -> '0.0005'
- dsbas051 toSci "00.00005" -> '0.00005'
- dsbas052 toSci "0.000005" -> '0.000005'
- dsbas053 toSci "0.0000050" -> '0.0000050'
- dsbas054 toSci "0.0000005" -> '5E-7'
- dsbas055 toSci "0.00000005" -> '5E-8'
- dsbas056 toSci "12678.54" -> '12678.54'
- dsbas057 toSci "2678.543" -> '2678.543'
- dsbas058 toSci "345678.5" -> '345678.5'
- dsbas059 toSci "0678.5432" -> '678.5432'
- dsbas060 toSci "678.5432" -> '678.5432'
- dsbas061 toSci "+678.5432" -> '678.5432'
- dsbas062 toSci "+0678.5432" -> '678.5432'
- dsbas063 toSci "+00678.5432" -> '678.5432'
- dsbas064 toSci "-678.5432" -> '-678.5432'
- dsbas065 toSci "-0678.5432" -> '-678.5432'
- dsbas066 toSci "-00678.5432" -> '-678.5432'
- -- examples
- dsbas067 toSci "5E-6" -> '0.000005'
- dsbas068 toSci "50E-7" -> '0.0000050'
- dsbas069 toSci "5E-7" -> '5E-7'
- -- [No exotics as no Unicode]
- -- rounded with dots in all (including edge) places
- dsbas071 toSci .1234567890123456 -> 0.1234568 Inexact Rounded
- dsbas072 toSci 1.234567890123456 -> 1.234568 Inexact Rounded
- dsbas073 toSci 12.34567890123456 -> 12.34568 Inexact Rounded
- dsbas074 toSci 123.4567890123456 -> 123.4568 Inexact Rounded
- dsbas075 toSci 1234.567890123456 -> 1234.568 Inexact Rounded
- dsbas076 toSci 12345.67890123456 -> 12345.68 Inexact Rounded
- dsbas077 toSci 123456.7890123456 -> 123456.8 Inexact Rounded
- dsbas078 toSci 1234567.890123456 -> 1234568 Inexact Rounded
- dsbas079 toSci 12345678.90123456 -> 1.234568E+7 Inexact Rounded
- dsbas080 toSci 123456789.0123456 -> 1.234568E+8 Inexact Rounded
- dsbas081 toSci 1234567890.123456 -> 1.234568E+9 Inexact Rounded
- dsbas082 toSci 12345678901.23456 -> 1.234568E+10 Inexact Rounded
- dsbas083 toSci 123456789012.3456 -> 1.234568E+11 Inexact Rounded
- dsbas084 toSci 1234567890123.456 -> 1.234568E+12 Inexact Rounded
- dsbas085 toSci 12345678901234.56 -> 1.234568E+13 Inexact Rounded
- dsbas086 toSci 123456789012345.6 -> 1.234568E+14 Inexact Rounded
- dsbas087 toSci 1234567890123456. -> 1.234568E+15 Inexact Rounded
- dsbas088 toSci 1234567890123456 -> 1.234568E+15 Inexact Rounded
- -- Numbers with E
- dsbas130 toSci "0.000E-1" -> '0.0000'
- dsbas131 toSci "0.000E-2" -> '0.00000'
- dsbas132 toSci "0.000E-3" -> '0.000000'
- dsbas133 toSci "0.000E-4" -> '0E-7'
- dsbas134 toSci "0.00E-2" -> '0.0000'
- dsbas135 toSci "0.00E-3" -> '0.00000'
- dsbas136 toSci "0.00E-4" -> '0.000000'
- dsbas137 toSci "0.00E-5" -> '0E-7'
- dsbas138 toSci "+0E+9" -> '0E+9'
- dsbas139 toSci "-0E+9" -> '-0E+9'
- dsbas140 toSci "1E+9" -> '1E+9'
- dsbas141 toSci "1e+09" -> '1E+9'
- dsbas142 toSci "1E+90" -> '1E+90'
- dsbas143 toSci "+1E+009" -> '1E+9'
- dsbas144 toSci "0E+9" -> '0E+9'
- dsbas145 toSci "1E+9" -> '1E+9'
- dsbas146 toSci "1E+09" -> '1E+9'
- dsbas147 toSci "1e+90" -> '1E+90'
- dsbas148 toSci "1E+009" -> '1E+9'
- dsbas149 toSci "000E+9" -> '0E+9'
- dsbas150 toSci "1E9" -> '1E+9'
- dsbas151 toSci "1e09" -> '1E+9'
- dsbas152 toSci "1E90" -> '1E+90'
- dsbas153 toSci "1E009" -> '1E+9'
- dsbas154 toSci "0E9" -> '0E+9'
- dsbas155 toSci "0.000e+0" -> '0.000'
- dsbas156 toSci "0.000E-1" -> '0.0000'
- dsbas157 toSci "4E+9" -> '4E+9'
- dsbas158 toSci "44E+9" -> '4.4E+10'
- dsbas159 toSci "0.73e-7" -> '7.3E-8'
- dsbas160 toSci "00E+9" -> '0E+9'
- dsbas161 toSci "00E-9" -> '0E-9'
- dsbas162 toSci "10E+9" -> '1.0E+10'
- dsbas163 toSci "10E+09" -> '1.0E+10'
- dsbas164 toSci "10e+90" -> '1.0E+91'
- dsbas165 toSci "10E+009" -> '1.0E+10'
- dsbas166 toSci "100e+9" -> '1.00E+11'
- dsbas167 toSci "100e+09" -> '1.00E+11'
- dsbas168 toSci "100E+90" -> '1.00E+92'
- dsbas169 toSci "100e+009" -> '1.00E+11'
- dsbas170 toSci "1.265" -> '1.265'
- dsbas171 toSci "1.265E-20" -> '1.265E-20'
- dsbas172 toSci "1.265E-8" -> '1.265E-8'
- dsbas173 toSci "1.265E-4" -> '0.0001265'
- dsbas174 toSci "1.265E-3" -> '0.001265'
- dsbas175 toSci "1.265E-2" -> '0.01265'
- dsbas176 toSci "1.265E-1" -> '0.1265'
- dsbas177 toSci "1.265E-0" -> '1.265'
- dsbas178 toSci "1.265E+1" -> '12.65'
- dsbas179 toSci "1.265E+2" -> '126.5'
- dsbas180 toSci "1.265E+3" -> '1265'
- dsbas181 toSci "1.265E+4" -> '1.265E+4'
- dsbas182 toSci "1.265E+8" -> '1.265E+8'
- dsbas183 toSci "1.265E+20" -> '1.265E+20'
- dsbas190 toSci "12.65" -> '12.65'
- dsbas191 toSci "12.65E-20" -> '1.265E-19'
- dsbas192 toSci "12.65E-8" -> '1.265E-7'
- dsbas193 toSci "12.65E-4" -> '0.001265'
- dsbas194 toSci "12.65E-3" -> '0.01265'
- dsbas195 toSci "12.65E-2" -> '0.1265'
- dsbas196 toSci "12.65E-1" -> '1.265'
- dsbas197 toSci "12.65E-0" -> '12.65'
- dsbas198 toSci "12.65E+1" -> '126.5'
- dsbas199 toSci "12.65E+2" -> '1265'
- dsbas200 toSci "12.65E+3" -> '1.265E+4'
- dsbas201 toSci "12.65E+4" -> '1.265E+5'
- dsbas202 toSci "12.65E+8" -> '1.265E+9'
- dsbas203 toSci "12.65E+20" -> '1.265E+21'
- dsbas210 toSci "126.5" -> '126.5'
- dsbas211 toSci "126.5E-20" -> '1.265E-18'
- dsbas212 toSci "126.5E-8" -> '0.000001265'
- dsbas213 toSci "126.5E-4" -> '0.01265'
- dsbas214 toSci "126.5E-3" -> '0.1265'
- dsbas215 toSci "126.5E-2" -> '1.265'
- dsbas216 toSci "126.5E-1" -> '12.65'
- dsbas217 toSci "126.5E-0" -> '126.5'
- dsbas218 toSci "126.5E+1" -> '1265'
- dsbas219 toSci "126.5E+2" -> '1.265E+4'
- dsbas220 toSci "126.5E+3" -> '1.265E+5'
- dsbas221 toSci "126.5E+4" -> '1.265E+6'
- dsbas222 toSci "126.5E+8" -> '1.265E+10'
- dsbas223 toSci "126.5E+20" -> '1.265E+22'
- dsbas230 toSci "1265" -> '1265'
- dsbas231 toSci "1265E-20" -> '1.265E-17'
- dsbas232 toSci "1265E-8" -> '0.00001265'
- dsbas233 toSci "1265E-4" -> '0.1265'
- dsbas234 toSci "1265E-3" -> '1.265'
- dsbas235 toSci "1265E-2" -> '12.65'
- dsbas236 toSci "1265E-1" -> '126.5'
- dsbas237 toSci "1265E-0" -> '1265'
- dsbas238 toSci "1265E+1" -> '1.265E+4'
- dsbas239 toSci "1265E+2" -> '1.265E+5'
- dsbas240 toSci "1265E+3" -> '1.265E+6'
- dsbas241 toSci "1265E+4" -> '1.265E+7'
- dsbas242 toSci "1265E+8" -> '1.265E+11'
- dsbas243 toSci "1265E+20" -> '1.265E+23'
- dsbas250 toSci "0.1265" -> '0.1265'
- dsbas251 toSci "0.1265E-20" -> '1.265E-21'
- dsbas252 toSci "0.1265E-8" -> '1.265E-9'
- dsbas253 toSci "0.1265E-4" -> '0.00001265'
- dsbas254 toSci "0.1265E-3" -> '0.0001265'
- dsbas255 toSci "0.1265E-2" -> '0.001265'
- dsbas256 toSci "0.1265E-1" -> '0.01265'
- dsbas257 toSci "0.1265E-0" -> '0.1265'
- dsbas258 toSci "0.1265E+1" -> '1.265'
- dsbas259 toSci "0.1265E+2" -> '12.65'
- dsbas260 toSci "0.1265E+3" -> '126.5'
- dsbas261 toSci "0.1265E+4" -> '1265'
- dsbas262 toSci "0.1265E+8" -> '1.265E+7'
- dsbas263 toSci "0.1265E+20" -> '1.265E+19'
- -- some more negative zeros [systematic tests below]
- dsbas290 toSci "-0.000E-1" -> '-0.0000'
- dsbas291 toSci "-0.000E-2" -> '-0.00000'
- dsbas292 toSci "-0.000E-3" -> '-0.000000'
- dsbas293 toSci "-0.000E-4" -> '-0E-7'
- dsbas294 toSci "-0.00E-2" -> '-0.0000'
- dsbas295 toSci "-0.00E-3" -> '-0.00000'
- dsbas296 toSci "-0.0E-2" -> '-0.000'
- dsbas297 toSci "-0.0E-3" -> '-0.0000'
- dsbas298 toSci "-0E-2" -> '-0.00'
- dsbas299 toSci "-0E-3" -> '-0.000'
- -- Engineering notation tests
- dsbas301 toSci 10e12 -> 1.0E+13
- dsbas302 toEng 10e12 -> 10E+12
- dsbas303 toSci 10e11 -> 1.0E+12
- dsbas304 toEng 10e11 -> 1.0E+12
- dsbas305 toSci 10e10 -> 1.0E+11
- dsbas306 toEng 10e10 -> 100E+9
- dsbas307 toSci 10e9 -> 1.0E+10
- dsbas308 toEng 10e9 -> 10E+9
- dsbas309 toSci 10e8 -> 1.0E+9
- dsbas310 toEng 10e8 -> 1.0E+9
- dsbas311 toSci 10e7 -> 1.0E+8
- dsbas312 toEng 10e7 -> 100E+6
- dsbas313 toSci 10e6 -> 1.0E+7
- dsbas314 toEng 10e6 -> 10E+6
- dsbas315 toSci 10e5 -> 1.0E+6
- dsbas316 toEng 10e5 -> 1.0E+6
- dsbas317 toSci 10e4 -> 1.0E+5
- dsbas318 toEng 10e4 -> 100E+3
- dsbas319 toSci 10e3 -> 1.0E+4
- dsbas320 toEng 10e3 -> 10E+3
- dsbas321 toSci 10e2 -> 1.0E+3
- dsbas322 toEng 10e2 -> 1.0E+3
- dsbas323 toSci 10e1 -> 1.0E+2
- dsbas324 toEng 10e1 -> 100
- dsbas325 toSci 10e0 -> 10
- dsbas326 toEng 10e0 -> 10
- dsbas327 toSci 10e-1 -> 1.0
- dsbas328 toEng 10e-1 -> 1.0
- dsbas329 toSci 10e-2 -> 0.10
- dsbas330 toEng 10e-2 -> 0.10
- dsbas331 toSci 10e-3 -> 0.010
- dsbas332 toEng 10e-3 -> 0.010
- dsbas333 toSci 10e-4 -> 0.0010
- dsbas334 toEng 10e-4 -> 0.0010
- dsbas335 toSci 10e-5 -> 0.00010
- dsbas336 toEng 10e-5 -> 0.00010
- dsbas337 toSci 10e-6 -> 0.000010
- dsbas338 toEng 10e-6 -> 0.000010
- dsbas339 toSci 10e-7 -> 0.0000010
- dsbas340 toEng 10e-7 -> 0.0000010
- dsbas341 toSci 10e-8 -> 1.0E-7
- dsbas342 toEng 10e-8 -> 100E-9
- dsbas343 toSci 10e-9 -> 1.0E-8
- dsbas344 toEng 10e-9 -> 10E-9
- dsbas345 toSci 10e-10 -> 1.0E-9
- dsbas346 toEng 10e-10 -> 1.0E-9
- dsbas347 toSci 10e-11 -> 1.0E-10
- dsbas348 toEng 10e-11 -> 100E-12
- dsbas349 toSci 10e-12 -> 1.0E-11
- dsbas350 toEng 10e-12 -> 10E-12
- dsbas351 toSci 10e-13 -> 1.0E-12
- dsbas352 toEng 10e-13 -> 1.0E-12
- dsbas361 toSci 7E12 -> 7E+12
- dsbas362 toEng 7E12 -> 7E+12
- dsbas363 toSci 7E11 -> 7E+11
- dsbas364 toEng 7E11 -> 700E+9
- dsbas365 toSci 7E10 -> 7E+10
- dsbas366 toEng 7E10 -> 70E+9
- dsbas367 toSci 7E9 -> 7E+9
- dsbas368 toEng 7E9 -> 7E+9
- dsbas369 toSci 7E8 -> 7E+8
- dsbas370 toEng 7E8 -> 700E+6
- dsbas371 toSci 7E7 -> 7E+7
- dsbas372 toEng 7E7 -> 70E+6
- dsbas373 toSci 7E6 -> 7E+6
- dsbas374 toEng 7E6 -> 7E+6
- dsbas375 toSci 7E5 -> 7E+5
- dsbas376 toEng 7E5 -> 700E+3
- dsbas377 toSci 7E4 -> 7E+4
- dsbas378 toEng 7E4 -> 70E+3
- dsbas379 toSci 7E3 -> 7E+3
- dsbas380 toEng 7E3 -> 7E+3
- dsbas381 toSci 7E2 -> 7E+2
- dsbas382 toEng 7E2 -> 700
- dsbas383 toSci 7E1 -> 7E+1
- dsbas384 toEng 7E1 -> 70
- dsbas385 toSci 7E0 -> 7
- dsbas386 toEng 7E0 -> 7
- dsbas387 toSci 7E-1 -> 0.7
- dsbas388 toEng 7E-1 -> 0.7
- dsbas389 toSci 7E-2 -> 0.07
- dsbas390 toEng 7E-2 -> 0.07
- dsbas391 toSci 7E-3 -> 0.007
- dsbas392 toEng 7E-3 -> 0.007
- dsbas393 toSci 7E-4 -> 0.0007
- dsbas394 toEng 7E-4 -> 0.0007
- dsbas395 toSci 7E-5 -> 0.00007
- dsbas396 toEng 7E-5 -> 0.00007
- dsbas397 toSci 7E-6 -> 0.000007
- dsbas398 toEng 7E-6 -> 0.000007
- dsbas399 toSci 7E-7 -> 7E-7
- dsbas400 toEng 7E-7 -> 700E-9
- dsbas401 toSci 7E-8 -> 7E-8
- dsbas402 toEng 7E-8 -> 70E-9
- dsbas403 toSci 7E-9 -> 7E-9
- dsbas404 toEng 7E-9 -> 7E-9
- dsbas405 toSci 7E-10 -> 7E-10
- dsbas406 toEng 7E-10 -> 700E-12
- dsbas407 toSci 7E-11 -> 7E-11
- dsbas408 toEng 7E-11 -> 70E-12
- dsbas409 toSci 7E-12 -> 7E-12
- dsbas410 toEng 7E-12 -> 7E-12
- dsbas411 toSci 7E-13 -> 7E-13
- dsbas412 toEng 7E-13 -> 700E-15
- -- Exacts remain exact up to precision ..
- dsbas420 toSci 100 -> 100
- dsbas422 toSci 1000 -> 1000
- dsbas424 toSci 999.9 -> 999.9
- dsbas426 toSci 1000.0 -> 1000.0
- dsbas428 toSci 1000.1 -> 1000.1
- dsbas430 toSci 10000 -> 10000
- dsbas432 toSci 1000 -> 1000
- dsbas434 toSci 10000 -> 10000
- dsbas436 toSci 100000 -> 100000
- dsbas438 toSci 1000000 -> 1000000
- dsbas440 toSci 10000000 -> 1.000000E+7 Rounded
- dsbas442 toSci 10000000 -> 1.000000E+7 Rounded
- dsbas444 toSci 10000003 -> 1.000000E+7 Rounded Inexact
- dsbas446 toSci 10000005 -> 1.000000E+7 Rounded Inexact
- dsbas448 toSci 100000050 -> 1.000000E+8 Rounded Inexact
- dsbas450 toSci 10000009 -> 1.000001E+7 Rounded Inexact
- dsbas452 toSci 100000000 -> 1.000000E+8 Rounded
- dsbas454 toSci 100000003 -> 1.000000E+8 Rounded Inexact
- dsbas456 toSci 100000005 -> 1.000000E+8 Rounded Inexact
- dsbas458 toSci 100000009 -> 1.000000E+8 Rounded Inexact
- dsbas460 toSci 1000000000 -> 1.000000E+9 Rounded
- dsbas462 toSci 1000000300 -> 1.000000E+9 Rounded Inexact
- dsbas464 toSci 1000000500 -> 1.000000E+9 Rounded Inexact
- dsbas466 toSci 1000000900 -> 1.000001E+9 Rounded Inexact
- dsbas468 toSci 10000000000 -> 1.000000E+10 Rounded
- dsbas470 toSci 10000003000 -> 1.000000E+10 Rounded Inexact
- dsbas472 toSci 10000005000 -> 1.000000E+10 Rounded Inexact
- dsbas474 toSci 10000009000 -> 1.000001E+10 Rounded Inexact
- -- check rounding modes heeded
- rounding: ceiling
- dsbsr401 toSci 1.1123450 -> 1.112345 Rounded
- dsbsr402 toSci 1.11234549 -> 1.112346 Rounded Inexact
- dsbsr403 toSci 1.11234550 -> 1.112346 Rounded Inexact
- dsbsr404 toSci 1.11234551 -> 1.112346 Rounded Inexact
- rounding: up
- dsbsr405 toSci 1.1123450 -> 1.112345 Rounded
- dsbsr406 toSci 1.11234549 -> 1.112346 Rounded Inexact
- dsbsr407 toSci 1.11234550 -> 1.112346 Rounded Inexact
- dsbsr408 toSci 1.11234551 -> 1.112346 Rounded Inexact
- rounding: floor
- dsbsr410 toSci 1.1123450 -> 1.112345 Rounded
- dsbsr411 toSci 1.11234549 -> 1.112345 Rounded Inexact
- dsbsr412 toSci 1.11234550 -> 1.112345 Rounded Inexact
- dsbsr413 toSci 1.11234551 -> 1.112345 Rounded Inexact
- rounding: half_down
- dsbsr415 toSci 1.1123450 -> 1.112345 Rounded
- dsbsr416 toSci 1.11234549 -> 1.112345 Rounded Inexact
- dsbsr417 toSci 1.11234550 -> 1.112345 Rounded Inexact
- dsbsr418 toSci 1.11234650 -> 1.112346 Rounded Inexact
- dsbsr419 toSci 1.11234551 -> 1.112346 Rounded Inexact
- rounding: half_even
- dsbsr421 toSci 1.1123450 -> 1.112345 Rounded
- dsbsr422 toSci 1.11234549 -> 1.112345 Rounded Inexact
- dsbsr423 toSci 1.11234550 -> 1.112346 Rounded Inexact
- dsbsr424 toSci 1.11234650 -> 1.112346 Rounded Inexact
- dsbsr425 toSci 1.11234551 -> 1.112346 Rounded Inexact
- rounding: down
- dsbsr426 toSci 1.1123450 -> 1.112345 Rounded
- dsbsr427 toSci 1.11234549 -> 1.112345 Rounded Inexact
- dsbsr428 toSci 1.11234550 -> 1.112345 Rounded Inexact
- dsbsr429 toSci 1.11234551 -> 1.112345 Rounded Inexact
- rounding: half_up
- dsbsr431 toSci 1.1123450 -> 1.112345 Rounded
- dsbsr432 toSci 1.11234549 -> 1.112345 Rounded Inexact
- dsbsr433 toSci 1.11234550 -> 1.112346 Rounded Inexact
- dsbsr434 toSci 1.11234650 -> 1.112347 Rounded Inexact
- dsbsr435 toSci 1.11234551 -> 1.112346 Rounded Inexact
- -- negatives
- rounding: ceiling
- dsbsr501 toSci -1.1123450 -> -1.112345 Rounded
- dsbsr502 toSci -1.11234549 -> -1.112345 Rounded Inexact
- dsbsr503 toSci -1.11234550 -> -1.112345 Rounded Inexact
- dsbsr504 toSci -1.11234551 -> -1.112345 Rounded Inexact
- rounding: up
- dsbsr505 toSci -1.1123450 -> -1.112345 Rounded
- dsbsr506 toSci -1.11234549 -> -1.112346 Rounded Inexact
- dsbsr507 toSci -1.11234550 -> -1.112346 Rounded Inexact
- dsbsr508 toSci -1.11234551 -> -1.112346 Rounded Inexact
- rounding: floor
- dsbsr510 toSci -1.1123450 -> -1.112345 Rounded
- dsbsr511 toSci -1.11234549 -> -1.112346 Rounded Inexact
- dsbsr512 toSci -1.11234550 -> -1.112346 Rounded Inexact
- dsbsr513 toSci -1.11234551 -> -1.112346 Rounded Inexact
- rounding: half_down
- dsbsr515 toSci -1.1123450 -> -1.112345 Rounded
- dsbsr516 toSci -1.11234549 -> -1.112345 Rounded Inexact
- dsbsr517 toSci -1.11234550 -> -1.112345 Rounded Inexact
- dsbsr518 toSci -1.11234650 -> -1.112346 Rounded Inexact
- dsbsr519 toSci -1.11234551 -> -1.112346 Rounded Inexact
- rounding: half_even
- dsbsr521 toSci -1.1123450 -> -1.112345 Rounded
- dsbsr522 toSci -1.11234549 -> -1.112345 Rounded Inexact
- dsbsr523 toSci -1.11234550 -> -1.112346 Rounded Inexact
- dsbsr524 toSci -1.11234650 -> -1.112346 Rounded Inexact
- dsbsr525 toSci -1.11234551 -> -1.112346 Rounded Inexact
- rounding: down
- dsbsr526 toSci -1.1123450 -> -1.112345 Rounded
- dsbsr527 toSci -1.11234549 -> -1.112345 Rounded Inexact
- dsbsr528 toSci -1.11234550 -> -1.112345 Rounded Inexact
- dsbsr529 toSci -1.11234551 -> -1.112345 Rounded Inexact
- rounding: half_up
- dsbsr531 toSci -1.1123450 -> -1.112345 Rounded
- dsbsr532 toSci -1.11234549 -> -1.112345 Rounded Inexact
- dsbsr533 toSci -1.11234550 -> -1.112346 Rounded Inexact
- dsbsr534 toSci -1.11234650 -> -1.112347 Rounded Inexact
- dsbsr535 toSci -1.11234551 -> -1.112346 Rounded Inexact
- rounding: half_even
- -- The 'baddies' tests from DiagBigDecimal, plus some new ones
- dsbas500 toSci '1..2' -> NaN Conversion_syntax
- dsbas501 toSci '.' -> NaN Conversion_syntax
- dsbas502 toSci '..' -> NaN Conversion_syntax
- dsbas503 toSci '++1' -> NaN Conversion_syntax
- dsbas504 toSci '--1' -> NaN Conversion_syntax
- dsbas505 toSci '-+1' -> NaN Conversion_syntax
- dsbas506 toSci '+-1' -> NaN Conversion_syntax
- dsbas507 toSci '12e' -> NaN Conversion_syntax
- dsbas508 toSci '12e++' -> NaN Conversion_syntax
- dsbas509 toSci '12f4' -> NaN Conversion_syntax
- dsbas510 toSci ' +1' -> NaN Conversion_syntax
- dsbas511 toSci '+ 1' -> NaN Conversion_syntax
- dsbas512 toSci '12 ' -> NaN Conversion_syntax
- dsbas513 toSci ' + 1' -> NaN Conversion_syntax
- dsbas514 toSci ' - 1 ' -> NaN Conversion_syntax
- dsbas515 toSci 'x' -> NaN Conversion_syntax
- dsbas516 toSci '-1-' -> NaN Conversion_syntax
- dsbas517 toSci '12-' -> NaN Conversion_syntax
- dsbas518 toSci '3+' -> NaN Conversion_syntax
- dsbas519 toSci '' -> NaN Conversion_syntax
- dsbas520 toSci '1e-' -> NaN Conversion_syntax
- dsbas521 toSci '7e99999a' -> NaN Conversion_syntax
- dsbas522 toSci '7e123567890x' -> NaN Conversion_syntax
- dsbas523 toSci '7e12356789012x' -> NaN Conversion_syntax
- dsbas524 toSci '' -> NaN Conversion_syntax
- dsbas525 toSci 'e100' -> NaN Conversion_syntax
- dsbas526 toSci '\u0e5a' -> NaN Conversion_syntax
- dsbas527 toSci '\u0b65' -> NaN Conversion_syntax
- dsbas528 toSci '123,65' -> NaN Conversion_syntax
- dsbas529 toSci '1.34.5' -> NaN Conversion_syntax
- dsbas530 toSci '.123.5' -> NaN Conversion_syntax
- dsbas531 toSci '01.35.' -> NaN Conversion_syntax
- dsbas532 toSci '01.35-' -> NaN Conversion_syntax
- dsbas533 toSci '0000..' -> NaN Conversion_syntax
- dsbas534 toSci '.0000.' -> NaN Conversion_syntax
- dsbas535 toSci '00..00' -> NaN Conversion_syntax
- dsbas536 toSci '111e*123' -> NaN Conversion_syntax
- dsbas537 toSci '111e123-' -> NaN Conversion_syntax
- dsbas538 toSci '111e+12+' -> NaN Conversion_syntax
- dsbas539 toSci '111e1-3-' -> NaN Conversion_syntax
- dsbas540 toSci '111e1*23' -> NaN Conversion_syntax
- dsbas541 toSci '111e1e+3' -> NaN Conversion_syntax
- dsbas542 toSci '1e1.0' -> NaN Conversion_syntax
- dsbas543 toSci '1e123e' -> NaN Conversion_syntax
- dsbas544 toSci 'ten' -> NaN Conversion_syntax
- dsbas545 toSci 'ONE' -> NaN Conversion_syntax
- dsbas546 toSci '1e.1' -> NaN Conversion_syntax
- dsbas547 toSci '1e1.' -> NaN Conversion_syntax
- dsbas548 toSci '1ee' -> NaN Conversion_syntax
- dsbas549 toSci 'e+1' -> NaN Conversion_syntax
- dsbas550 toSci '1.23.4' -> NaN Conversion_syntax
- dsbas551 toSci '1.2.1' -> NaN Conversion_syntax
- dsbas552 toSci '1E+1.2' -> NaN Conversion_syntax
- dsbas553 toSci '1E+1.2.3' -> NaN Conversion_syntax
- dsbas554 toSci '1E++1' -> NaN Conversion_syntax
- dsbas555 toSci '1E--1' -> NaN Conversion_syntax
- dsbas556 toSci '1E+-1' -> NaN Conversion_syntax
- dsbas557 toSci '1E-+1' -> NaN Conversion_syntax
- dsbas558 toSci '1E''1' -> NaN Conversion_syntax
- dsbas559 toSci "1E""1" -> NaN Conversion_syntax
- dsbas560 toSci "1E""""" -> NaN Conversion_syntax
- -- Near-specials
- dsbas561 toSci "qNaN" -> NaN Conversion_syntax
- dsbas562 toSci "NaNq" -> NaN Conversion_syntax
- dsbas563 toSci "NaNs" -> NaN Conversion_syntax
- dsbas564 toSci "Infi" -> NaN Conversion_syntax
- dsbas565 toSci "Infin" -> NaN Conversion_syntax
- dsbas566 toSci "Infini" -> NaN Conversion_syntax
- dsbas567 toSci "Infinit" -> NaN Conversion_syntax
- dsbas568 toSci "-Infinit" -> NaN Conversion_syntax
- dsbas569 toSci "0Inf" -> NaN Conversion_syntax
- dsbas570 toSci "9Inf" -> NaN Conversion_syntax
- dsbas571 toSci "-0Inf" -> NaN Conversion_syntax
- dsbas572 toSci "-9Inf" -> NaN Conversion_syntax
- dsbas573 toSci "-sNa" -> NaN Conversion_syntax
- dsbas574 toSci "xNaN" -> NaN Conversion_syntax
- dsbas575 toSci "0sNaN" -> NaN Conversion_syntax
- -- some baddies with dots and Es and dots and specials
- dsbas576 toSci 'e+1' -> NaN Conversion_syntax
- dsbas577 toSci '.e+1' -> NaN Conversion_syntax
- dsbas578 toSci '+.e+1' -> NaN Conversion_syntax
- dsbas579 toSci '-.e+' -> NaN Conversion_syntax
- dsbas580 toSci '-.e' -> NaN Conversion_syntax
- dsbas581 toSci 'E+1' -> NaN Conversion_syntax
- dsbas582 toSci '.E+1' -> NaN Conversion_syntax
- dsbas583 toSci '+.E+1' -> NaN Conversion_syntax
- dsbas584 toSci '-.E+' -> NaN Conversion_syntax
- dsbas585 toSci '-.E' -> NaN Conversion_syntax
- dsbas586 toSci '.NaN' -> NaN Conversion_syntax
- dsbas587 toSci '-.NaN' -> NaN Conversion_syntax
- dsbas588 toSci '+.sNaN' -> NaN Conversion_syntax
- dsbas589 toSci '+.Inf' -> NaN Conversion_syntax
- dsbas590 toSci '.Infinity' -> NaN Conversion_syntax
- -- Zeros
- dsbas601 toSci 0.000000000 -> 0E-9
- dsbas602 toSci 0.00000000 -> 0E-8
- dsbas603 toSci 0.0000000 -> 0E-7
- dsbas604 toSci 0.000000 -> 0.000000
- dsbas605 toSci 0.00000 -> 0.00000
- dsbas606 toSci 0.0000 -> 0.0000
- dsbas607 toSci 0.000 -> 0.000
- dsbas608 toSci 0.00 -> 0.00
- dsbas609 toSci 0.0 -> 0.0
- dsbas610 toSci .0 -> 0.0
- dsbas611 toSci 0. -> 0
- dsbas612 toSci -.0 -> -0.0
- dsbas613 toSci -0. -> -0
- dsbas614 toSci -0.0 -> -0.0
- dsbas615 toSci -0.00 -> -0.00
- dsbas616 toSci -0.000 -> -0.000
- dsbas617 toSci -0.0000 -> -0.0000
- dsbas618 toSci -0.00000 -> -0.00000
- dsbas619 toSci -0.000000 -> -0.000000
- dsbas620 toSci -0.0000000 -> -0E-7
- dsbas621 toSci -0.00000000 -> -0E-8
- dsbas622 toSci -0.000000000 -> -0E-9
- dsbas630 toSci 0.00E+0 -> 0.00
- dsbas631 toSci 0.00E+1 -> 0.0
- dsbas632 toSci 0.00E+2 -> 0
- dsbas633 toSci 0.00E+3 -> 0E+1
- dsbas634 toSci 0.00E+4 -> 0E+2
- dsbas635 toSci 0.00E+5 -> 0E+3
- dsbas636 toSci 0.00E+6 -> 0E+4
- dsbas637 toSci 0.00E+7 -> 0E+5
- dsbas638 toSci 0.00E+8 -> 0E+6
- dsbas639 toSci 0.00E+9 -> 0E+7
- dsbas640 toSci 0.0E+0 -> 0.0
- dsbas641 toSci 0.0E+1 -> 0
- dsbas642 toSci 0.0E+2 -> 0E+1
- dsbas643 toSci 0.0E+3 -> 0E+2
- dsbas644 toSci 0.0E+4 -> 0E+3
- dsbas645 toSci 0.0E+5 -> 0E+4
- dsbas646 toSci 0.0E+6 -> 0E+5
- dsbas647 toSci 0.0E+7 -> 0E+6
- dsbas648 toSci 0.0E+8 -> 0E+7
- dsbas649 toSci 0.0E+9 -> 0E+8
- dsbas650 toSci 0E+0 -> 0
- dsbas651 toSci 0E+1 -> 0E+1
- dsbas652 toSci 0E+2 -> 0E+2
- dsbas653 toSci 0E+3 -> 0E+3
- dsbas654 toSci 0E+4 -> 0E+4
- dsbas655 toSci 0E+5 -> 0E+5
- dsbas656 toSci 0E+6 -> 0E+6
- dsbas657 toSci 0E+7 -> 0E+7
- dsbas658 toSci 0E+8 -> 0E+8
- dsbas659 toSci 0E+9 -> 0E+9
- dsbas660 toSci 0.0E-0 -> 0.0
- dsbas661 toSci 0.0E-1 -> 0.00
- dsbas662 toSci 0.0E-2 -> 0.000
- dsbas663 toSci 0.0E-3 -> 0.0000
- dsbas664 toSci 0.0E-4 -> 0.00000
- dsbas665 toSci 0.0E-5 -> 0.000000
- dsbas666 toSci 0.0E-6 -> 0E-7
- dsbas667 toSci 0.0E-7 -> 0E-8
- dsbas668 toSci 0.0E-8 -> 0E-9
- dsbas669 toSci 0.0E-9 -> 0E-10
- dsbas670 toSci 0.00E-0 -> 0.00
- dsbas671 toSci 0.00E-1 -> 0.000
- dsbas672 toSci 0.00E-2 -> 0.0000
- dsbas673 toSci 0.00E-3 -> 0.00000
- dsbas674 toSci 0.00E-4 -> 0.000000
- dsbas675 toSci 0.00E-5 -> 0E-7
- dsbas676 toSci 0.00E-6 -> 0E-8
- dsbas677 toSci 0.00E-7 -> 0E-9
- dsbas678 toSci 0.00E-8 -> 0E-10
- dsbas679 toSci 0.00E-9 -> 0E-11
- dsbas680 toSci 000000. -> 0
- dsbas681 toSci 00000. -> 0
- dsbas682 toSci 0000. -> 0
- dsbas683 toSci 000. -> 0
- dsbas684 toSci 00. -> 0
- dsbas685 toSci 0. -> 0
- dsbas686 toSci +00000. -> 0
- dsbas687 toSci -00000. -> -0
- dsbas688 toSci +0. -> 0
- dsbas689 toSci -0. -> -0
- -- Specials
- dsbas700 toSci "NaN" -> NaN
- dsbas701 toSci "nan" -> NaN
- dsbas702 toSci "nAn" -> NaN
- dsbas703 toSci "NAN" -> NaN
- dsbas704 toSci "+NaN" -> NaN
- dsbas705 toSci "+nan" -> NaN
- dsbas706 toSci "+nAn" -> NaN
- dsbas707 toSci "+NAN" -> NaN
- dsbas708 toSci "-NaN" -> -NaN
- dsbas709 toSci "-nan" -> -NaN
- dsbas710 toSci "-nAn" -> -NaN
- dsbas711 toSci "-NAN" -> -NaN
- dsbas712 toSci 'NaN0' -> NaN
- dsbas713 toSci 'NaN1' -> NaN1
- dsbas714 toSci 'NaN12' -> NaN12
- dsbas715 toSci 'NaN123' -> NaN123
- dsbas716 toSci 'NaN1234' -> NaN1234
- dsbas717 toSci 'NaN01' -> NaN1
- dsbas718 toSci 'NaN012' -> NaN12
- dsbas719 toSci 'NaN0123' -> NaN123
- dsbas720 toSci 'NaN01234' -> NaN1234
- dsbas721 toSci 'NaN001' -> NaN1
- dsbas722 toSci 'NaN0012' -> NaN12
- dsbas723 toSci 'NaN00123' -> NaN123
- dsbas724 toSci 'NaN001234' -> NaN1234
- dsbas725 toSci 'NaN1234567890123456' -> NaN Conversion_syntax
- dsbas726 toSci 'NaN123e+1' -> NaN Conversion_syntax
- dsbas727 toSci 'NaN12.45' -> NaN Conversion_syntax
- dsbas728 toSci 'NaN-12' -> NaN Conversion_syntax
- dsbas729 toSci 'NaN+12' -> NaN Conversion_syntax
- dsbas730 toSci "sNaN" -> sNaN
- dsbas731 toSci "snan" -> sNaN
- dsbas732 toSci "SnAn" -> sNaN
- dsbas733 toSci "SNAN" -> sNaN
- dsbas734 toSci "+sNaN" -> sNaN
- dsbas735 toSci "+snan" -> sNaN
- dsbas736 toSci "+SnAn" -> sNaN
- dsbas737 toSci "+SNAN" -> sNaN
- dsbas738 toSci "-sNaN" -> -sNaN
- dsbas739 toSci "-snan" -> -sNaN
- dsbas740 toSci "-SnAn" -> -sNaN
- dsbas741 toSci "-SNAN" -> -sNaN
- dsbas742 toSci 'sNaN0000' -> sNaN
- dsbas743 toSci 'sNaN7' -> sNaN7
- dsbas744 toSci 'sNaN007234' -> sNaN7234
- dsbas745 toSci 'sNaN7234561234567890' -> NaN Conversion_syntax
- dsbas746 toSci 'sNaN72.45' -> NaN Conversion_syntax
- dsbas747 toSci 'sNaN-72' -> NaN Conversion_syntax
- dsbas748 toSci "Inf" -> Infinity
- dsbas749 toSci "inf" -> Infinity
- dsbas750 toSci "iNf" -> Infinity
- dsbas751 toSci "INF" -> Infinity
- dsbas752 toSci "+Inf" -> Infinity
- dsbas753 toSci "+inf" -> Infinity
- dsbas754 toSci "+iNf" -> Infinity
- dsbas755 toSci "+INF" -> Infinity
- dsbas756 toSci "-Inf" -> -Infinity
- dsbas757 toSci "-inf" -> -Infinity
- dsbas758 toSci "-iNf" -> -Infinity
- dsbas759 toSci "-INF" -> -Infinity
- dsbas760 toSci "Infinity" -> Infinity
- dsbas761 toSci "infinity" -> Infinity
- dsbas762 toSci "iNfInItY" -> Infinity
- dsbas763 toSci "INFINITY" -> Infinity
- dsbas764 toSci "+Infinity" -> Infinity
- dsbas765 toSci "+infinity" -> Infinity
- dsbas766 toSci "+iNfInItY" -> Infinity
- dsbas767 toSci "+INFINITY" -> Infinity
- dsbas768 toSci "-Infinity" -> -Infinity
- dsbas769 toSci "-infinity" -> -Infinity
- dsbas770 toSci "-iNfInItY" -> -Infinity
- dsbas771 toSci "-INFINITY" -> -Infinity
- -- Specials and zeros for toEng
- dsbast772 toEng "NaN" -> NaN
- dsbast773 toEng "-Infinity" -> -Infinity
- dsbast774 toEng "-sNaN" -> -sNaN
- dsbast775 toEng "-NaN" -> -NaN
- dsbast776 toEng "+Infinity" -> Infinity
- dsbast778 toEng "+sNaN" -> sNaN
- dsbast779 toEng "+NaN" -> NaN
- dsbast780 toEng "INFINITY" -> Infinity
- dsbast781 toEng "SNAN" -> sNaN
- dsbast782 toEng "NAN" -> NaN
- dsbast783 toEng "infinity" -> Infinity
- dsbast784 toEng "snan" -> sNaN
- dsbast785 toEng "nan" -> NaN
- dsbast786 toEng "InFINITY" -> Infinity
- dsbast787 toEng "SnAN" -> sNaN
- dsbast788 toEng "nAN" -> NaN
- dsbast789 toEng "iNfinity" -> Infinity
- dsbast790 toEng "sNan" -> sNaN
- dsbast791 toEng "Nan" -> NaN
- dsbast792 toEng "Infinity" -> Infinity
- dsbast793 toEng "sNaN" -> sNaN
- -- Zero toEng, etc.
- dsbast800 toEng 0e+1 -> "0.00E+3" -- doc example
- dsbast801 toEng 0.000000000 -> 0E-9
- dsbast802 toEng 0.00000000 -> 0.00E-6
- dsbast803 toEng 0.0000000 -> 0.0E-6
- dsbast804 toEng 0.000000 -> 0.000000
- dsbast805 toEng 0.00000 -> 0.00000
- dsbast806 toEng 0.0000 -> 0.0000
- dsbast807 toEng 0.000 -> 0.000
- dsbast808 toEng 0.00 -> 0.00
- dsbast809 toEng 0.0 -> 0.0
- dsbast810 toEng .0 -> 0.0
- dsbast811 toEng 0. -> 0
- dsbast812 toEng -.0 -> -0.0
- dsbast813 toEng -0. -> -0
- dsbast814 toEng -0.0 -> -0.0
- dsbast815 toEng -0.00 -> -0.00
- dsbast816 toEng -0.000 -> -0.000
- dsbast817 toEng -0.0000 -> -0.0000
- dsbast818 toEng -0.00000 -> -0.00000
- dsbast819 toEng -0.000000 -> -0.000000
- dsbast820 toEng -0.0000000 -> -0.0E-6
- dsbast821 toEng -0.00000000 -> -0.00E-6
- dsbast822 toEng -0.000000000 -> -0E-9
- dsbast830 toEng 0.00E+0 -> 0.00
- dsbast831 toEng 0.00E+1 -> 0.0
- dsbast832 toEng 0.00E+2 -> 0
- dsbast833 toEng 0.00E+3 -> 0.00E+3
- dsbast834 toEng 0.00E+4 -> 0.0E+3
- dsbast835 toEng 0.00E+5 -> 0E+3
- dsbast836 toEng 0.00E+6 -> 0.00E+6
- dsbast837 toEng 0.00E+7 -> 0.0E+6
- dsbast838 toEng 0.00E+8 -> 0E+6
- dsbast839 toEng 0.00E+9 -> 0.00E+9
- dsbast840 toEng 0.0E+0 -> 0.0
- dsbast841 toEng 0.0E+1 -> 0
- dsbast842 toEng 0.0E+2 -> 0.00E+3
- dsbast843 toEng 0.0E+3 -> 0.0E+3
- dsbast844 toEng 0.0E+4 -> 0E+3
- dsbast845 toEng 0.0E+5 -> 0.00E+6
- dsbast846 toEng 0.0E+6 -> 0.0E+6
- dsbast847 toEng 0.0E+7 -> 0E+6
- dsbast848 toEng 0.0E+8 -> 0.00E+9
- dsbast849 toEng 0.0E+9 -> 0.0E+9
- dsbast850 toEng 0E+0 -> 0
- dsbast851 toEng 0E+1 -> 0.00E+3
- dsbast852 toEng 0E+2 -> 0.0E+3
- dsbast853 toEng 0E+3 -> 0E+3
- dsbast854 toEng 0E+4 -> 0.00E+6
- dsbast855 toEng 0E+5 -> 0.0E+6
- dsbast856 toEng 0E+6 -> 0E+6
- dsbast857 toEng 0E+7 -> 0.00E+9
- dsbast858 toEng 0E+8 -> 0.0E+9
- dsbast859 toEng 0E+9 -> 0E+9
- dsbast860 toEng 0.0E-0 -> 0.0
- dsbast861 toEng 0.0E-1 -> 0.00
- dsbast862 toEng 0.0E-2 -> 0.000
- dsbast863 toEng 0.0E-3 -> 0.0000
- dsbast864 toEng 0.0E-4 -> 0.00000
- dsbast865 toEng 0.0E-5 -> 0.000000
- dsbast866 toEng 0.0E-6 -> 0.0E-6
- dsbast867 toEng 0.0E-7 -> 0.00E-6
- dsbast868 toEng 0.0E-8 -> 0E-9
- dsbast869 toEng 0.0E-9 -> 0.0E-9
- dsbast870 toEng 0.00E-0 -> 0.00
- dsbast871 toEng 0.00E-1 -> 0.000
- dsbast872 toEng 0.00E-2 -> 0.0000
- dsbast873 toEng 0.00E-3 -> 0.00000
- dsbast874 toEng 0.00E-4 -> 0.000000
- dsbast875 toEng 0.00E-5 -> 0.0E-6
- dsbast876 toEng 0.00E-6 -> 0.00E-6
- dsbast877 toEng 0.00E-7 -> 0E-9
- dsbast878 toEng 0.00E-8 -> 0.0E-9
- dsbast879 toEng 0.00E-9 -> 0.00E-9
- -- long input strings
- dsbas801 tosci '01234567' -> 1234567
- dsbas802 tosci '001234567' -> 1234567
- dsbas803 tosci '0001234567' -> 1234567
- dsbas804 tosci '00001234567' -> 1234567
- dsbas805 tosci '000001234567' -> 1234567
- dsbas806 tosci '0000001234567' -> 1234567
- dsbas807 tosci '00000001234567' -> 1234567
- dsbas808 tosci '000000001234567' -> 1234567
- dsbas809 tosci '0000000001234567' -> 1234567
- dsbas810 tosci '00000000001234567' -> 1234567
- dsbas811 tosci '0.1234567' -> 0.1234567
- dsbas812 tosci '0.01234567' -> 0.01234567
- dsbas813 tosci '0.001234567' -> 0.001234567
- dsbas814 tosci '0.0001234567' -> 0.0001234567
- dsbas815 tosci '0.00001234567' -> 0.00001234567
- dsbas816 tosci '0.000001234567' -> 0.000001234567
- dsbas817 tosci '0.0000001234567' -> 1.234567E-7
- dsbas818 tosci '0.00000001234567' -> 1.234567E-8
- dsbas819 tosci '0.000000001234567' -> 1.234567E-9
- dsbas820 tosci '0.0000000001234567' -> 1.234567E-10
- dsbas821 tosci '123456790' -> 1.234568E+8 Inexact Rounded
- dsbas822 tosci '1234567901' -> 1.234568E+9 Inexact Rounded
- dsbas823 tosci '12345679012' -> 1.234568E+10 Inexact Rounded
- dsbas824 tosci '123456790123' -> 1.234568E+11 Inexact Rounded
- dsbas825 tosci '1234567901234' -> 1.234568E+12 Inexact Rounded
- dsbas826 tosci '12345679012345' -> 1.234568E+13 Inexact Rounded
- dsbas827 tosci '123456790123456' -> 1.234568E+14 Inexact Rounded
- dsbas828 tosci '1234567901234567' -> 1.234568E+15 Inexact Rounded
- dsbas829 tosci '1234567890123456' -> 1.234568E+15 Inexact Rounded
- -- subnormals and overflows
- dsbas906 toSci '99e999999999' -> Infinity Overflow Inexact Rounded
- dsbas907 toSci '999e999999999' -> Infinity Overflow Inexact Rounded
- dsbas908 toSci '0.9e-999999999' -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas909 toSci '0.09e-999999999' -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas910 toSci '0.1e1000000000' -> Infinity Overflow Inexact Rounded
- dsbas911 toSci '10e-1000000000' -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas912 toSci '0.9e9999999999' -> Infinity Overflow Inexact Rounded
- dsbas913 toSci '99e-9999999999' -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas914 toSci '111e9999999999' -> Infinity Overflow Inexact Rounded
- dsbas915 toSci '1111e-9999999999' -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas916 toSci '1111e-99999999999' -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas917 toSci '7e1000000000' -> Infinity Overflow Inexact Rounded
- -- negatives the same
- dsbas918 toSci '-99e999999999' -> -Infinity Overflow Inexact Rounded
- dsbas919 toSci '-999e999999999' -> -Infinity Overflow Inexact Rounded
- dsbas920 toSci '-0.9e-999999999' -> -0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas921 toSci '-0.09e-999999999' -> -0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas922 toSci '-0.1e1000000000' -> -Infinity Overflow Inexact Rounded
- dsbas923 toSci '-10e-1000000000' -> -0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas924 toSci '-0.9e9999999999' -> -Infinity Overflow Inexact Rounded
- dsbas925 toSci '-99e-9999999999' -> -0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas926 toSci '-111e9999999999' -> -Infinity Overflow Inexact Rounded
- dsbas927 toSci '-1111e-9999999999' -> -0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas928 toSci '-1111e-99999999999' -> -0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas929 toSci '-7e1000000000' -> -Infinity Overflow Inexact Rounded
- -- overflow results at different rounding modes
- rounding: ceiling
- dsbas930 toSci '7e10000' -> Infinity Overflow Inexact Rounded
- dsbas931 toSci '-7e10000' -> -9.999999E+96 Overflow Inexact Rounded
- rounding: up
- dsbas932 toSci '7e10000' -> Infinity Overflow Inexact Rounded
- dsbas933 toSci '-7e10000' -> -Infinity Overflow Inexact Rounded
- rounding: down
- dsbas934 toSci '7e10000' -> 9.999999E+96 Overflow Inexact Rounded
- dsbas935 toSci '-7e10000' -> -9.999999E+96 Overflow Inexact Rounded
- rounding: floor
- dsbas936 toSci '7e10000' -> 9.999999E+96 Overflow Inexact Rounded
- dsbas937 toSci '-7e10000' -> -Infinity Overflow Inexact Rounded
- rounding: half_up
- dsbas938 toSci '7e10000' -> Infinity Overflow Inexact Rounded
- dsbas939 toSci '-7e10000' -> -Infinity Overflow Inexact Rounded
- rounding: half_even
- dsbas940 toSci '7e10000' -> Infinity Overflow Inexact Rounded
- dsbas941 toSci '-7e10000' -> -Infinity Overflow Inexact Rounded
- rounding: half_down
- dsbas942 toSci '7e10000' -> Infinity Overflow Inexact Rounded
- dsbas943 toSci '-7e10000' -> -Infinity Overflow Inexact Rounded
- rounding: half_even
- -- Now check 854/754r some subnormals and underflow to 0
- dsbem400 toSci 1.0000E-86 -> 1.0000E-86
- dsbem401 toSci 0.1E-97 -> 1E-98 Subnormal
- dsbem402 toSci 0.1000E-97 -> 1.000E-98 Subnormal
- dsbem403 toSci 0.0100E-97 -> 1.00E-99 Subnormal
- dsbem404 toSci 0.0010E-97 -> 1.0E-100 Subnormal
- dsbem405 toSci 0.0001E-97 -> 1E-101 Subnormal
- dsbem406 toSci 0.00010E-97 -> 1E-101 Subnormal Rounded
- dsbem407 toSci 0.00013E-97 -> 1E-101 Underflow Subnormal Inexact Rounded
- dsbem408 toSci 0.00015E-97 -> 2E-101 Underflow Subnormal Inexact Rounded
- dsbem409 toSci 0.00017E-97 -> 2E-101 Underflow Subnormal Inexact Rounded
- dsbem410 toSci 0.00023E-97 -> 2E-101 Underflow Subnormal Inexact Rounded
- dsbem411 toSci 0.00025E-97 -> 2E-101 Underflow Subnormal Inexact Rounded
- dsbem412 toSci 0.00027E-97 -> 3E-101 Underflow Subnormal Inexact Rounded
- dsbem413 toSci 0.000149E-97 -> 1E-101 Underflow Subnormal Inexact Rounded
- dsbem414 toSci 0.000150E-97 -> 2E-101 Underflow Subnormal Inexact Rounded
- dsbem415 toSci 0.000151E-97 -> 2E-101 Underflow Subnormal Inexact Rounded
- dsbem416 toSci 0.000249E-97 -> 2E-101 Underflow Subnormal Inexact Rounded
- dsbem417 toSci 0.000250E-97 -> 2E-101 Underflow Subnormal Inexact Rounded
- dsbem418 toSci 0.000251E-97 -> 3E-101 Underflow Subnormal Inexact Rounded
- dsbem419 toSci 0.00009E-97 -> 1E-101 Underflow Subnormal Inexact Rounded
- dsbem420 toSci 0.00005E-97 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbem421 toSci 0.00003E-97 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbem422 toSci 0.000009E-97 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbem423 toSci 0.000005E-97 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbem424 toSci 0.000003E-97 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbem425 toSci 0.001049E-97 -> 1.0E-100 Underflow Subnormal Inexact Rounded
- dsbem426 toSci 0.001050E-97 -> 1.0E-100 Underflow Subnormal Inexact Rounded
- dsbem427 toSci 0.001051E-97 -> 1.1E-100 Underflow Subnormal Inexact Rounded
- dsbem428 toSci 0.001149E-97 -> 1.1E-100 Underflow Subnormal Inexact Rounded
- dsbem429 toSci 0.001150E-97 -> 1.2E-100 Underflow Subnormal Inexact Rounded
- dsbem430 toSci 0.001151E-97 -> 1.2E-100 Underflow Subnormal Inexact Rounded
- dsbem432 toSci 0.010049E-97 -> 1.00E-99 Underflow Subnormal Inexact Rounded
- dsbem433 toSci 0.010050E-97 -> 1.00E-99 Underflow Subnormal Inexact Rounded
- dsbem434 toSci 0.010051E-97 -> 1.01E-99 Underflow Subnormal Inexact Rounded
- dsbem435 toSci 0.010149E-97 -> 1.01E-99 Underflow Subnormal Inexact Rounded
- dsbem436 toSci 0.010150E-97 -> 1.02E-99 Underflow Subnormal Inexact Rounded
- dsbem437 toSci 0.010151E-97 -> 1.02E-99 Underflow Subnormal Inexact Rounded
- dsbem440 toSci 0.10103E-97 -> 1.010E-98 Underflow Subnormal Inexact Rounded
- dsbem441 toSci 0.10105E-97 -> 1.010E-98 Underflow Subnormal Inexact Rounded
- dsbem442 toSci 0.10107E-97 -> 1.011E-98 Underflow Subnormal Inexact Rounded
- dsbem443 toSci 0.10113E-97 -> 1.011E-98 Underflow Subnormal Inexact Rounded
- dsbem444 toSci 0.10115E-97 -> 1.012E-98 Underflow Subnormal Inexact Rounded
- dsbem445 toSci 0.10117E-97 -> 1.012E-98 Underflow Subnormal Inexact Rounded
- dsbem450 toSci 1.10730E-98 -> 1.107E-98 Underflow Subnormal Inexact Rounded
- dsbem451 toSci 1.10750E-98 -> 1.108E-98 Underflow Subnormal Inexact Rounded
- dsbem452 toSci 1.10770E-98 -> 1.108E-98 Underflow Subnormal Inexact Rounded
- dsbem453 toSci 1.10830E-98 -> 1.108E-98 Underflow Subnormal Inexact Rounded
- dsbem454 toSci 1.10850E-98 -> 1.108E-98 Underflow Subnormal Inexact Rounded
- dsbem455 toSci 1.10870E-98 -> 1.109E-98 Underflow Subnormal Inexact Rounded
- -- make sure sign OK
- dsbem456 toSci -0.10103E-97 -> -1.010E-98 Underflow Subnormal Inexact Rounded
- dsbem457 toSci -0.10105E-97 -> -1.010E-98 Underflow Subnormal Inexact Rounded
- dsbem458 toSci -0.10107E-97 -> -1.011E-98 Underflow Subnormal Inexact Rounded
- dsbem459 toSci -0.10113E-97 -> -1.011E-98 Underflow Subnormal Inexact Rounded
- dsbem460 toSci -0.10115E-97 -> -1.012E-98 Underflow Subnormal Inexact Rounded
- dsbem461 toSci -0.10117E-97 -> -1.012E-98 Underflow Subnormal Inexact Rounded
- -- '999s' cases
- dsbem464 toSci 999999E-98 -> 9.99999E-93
- dsbem465 toSci 99999.0E-97 -> 9.99990E-93
- dsbem466 toSci 99999.E-97 -> 9.9999E-93
- dsbem467 toSci 9999.9E-97 -> 9.9999E-94
- dsbem468 toSci 999.99E-97 -> 9.9999E-95
- dsbem469 toSci 99.999E-97 -> 9.9999E-96 Subnormal
- dsbem470 toSci 9.9999E-97 -> 9.9999E-97 Subnormal
- dsbem471 toSci 0.99999E-97 -> 1.0000E-97 Underflow Subnormal Inexact Rounded
- dsbem472 toSci 0.099999E-97 -> 1.000E-98 Underflow Subnormal Inexact Rounded
- dsbem473 toSci 0.0099999E-97 -> 1.00E-99 Underflow Subnormal Inexact Rounded
- dsbem474 toSci 0.00099999E-97 -> 1.0E-100 Underflow Subnormal Inexact Rounded
- dsbem475 toSci 0.000099999E-97 -> 1E-101 Underflow Subnormal Inexact Rounded
- dsbem476 toSci 0.0000099999E-97 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbem477 toSci 0.00000099999E-97 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbem478 toSci 0.000000099999E-97 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- -- Exponents with insignificant leading zeros
- dsbas1001 toSci 1e999999999 -> Infinity Overflow Inexact Rounded
- dsbas1002 toSci 1e0999999999 -> Infinity Overflow Inexact Rounded
- dsbas1003 toSci 1e00999999999 -> Infinity Overflow Inexact Rounded
- dsbas1004 toSci 1e000999999999 -> Infinity Overflow Inexact Rounded
- dsbas1005 toSci 1e000000000000999999999 -> Infinity Overflow Inexact Rounded
- dsbas1006 toSci 1e000000000001000000007 -> Infinity Overflow Inexact Rounded
- dsbas1007 toSci 1e-999999999 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas1008 toSci 1e-0999999999 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas1009 toSci 1e-00999999999 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas1010 toSci 1e-000999999999 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas1011 toSci 1e-000000000000999999999 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- dsbas1012 toSci 1e-000000000001000000007 -> 0E-101 Underflow Subnormal Inexact Rounded Clamped
- -- check for double-rounded subnormals
- dsbas1041 toSci 1.1152444E-96 -> 1.11524E-96 Inexact Rounded Subnormal Underflow
- dsbas1042 toSci 1.1152445E-96 -> 1.11524E-96 Inexact Rounded Subnormal Underflow
- dsbas1043 toSci 1.1152446E-96 -> 1.11524E-96 Inexact Rounded Subnormal Underflow
- -- clamped zeros [see also clamp.decTest]
- dsbas1075 toSci 0e+10000 -> 0E+90 Clamped
- dsbas1076 toSci 0e-10000 -> 0E-101 Clamped
- dsbas1077 toSci -0e+10000 -> -0E+90 Clamped
- dsbas1078 toSci -0e-10000 -> -0E-101 Clamped
- -- extreme values from next-wider
- dsbas1101 toSci -9.999999999999999E+384 -> -Infinity Overflow Inexact Rounded
- dsbas1102 toSci -1E-383 -> -0E-101 Inexact Rounded Subnormal Underflow Clamped
- dsbas1103 toSci -1E-398 -> -0E-101 Inexact Rounded Subnormal Underflow Clamped
- dsbas1104 toSci -0 -> -0
- dsbas1105 toSci +0 -> 0
- dsbas1106 toSci +1E-398 -> 0E-101 Inexact Rounded Subnormal Underflow Clamped
- dsbas1107 toSci +1E-383 -> 0E-101 Inexact Rounded Subnormal Underflow Clamped
- dsbas1108 toSci +9.999999999999999E+384 -> Infinity Overflow Inexact Rounded
- -- narrowing case
- dsbas1110 toSci 2.000000000000000E-99 -> 2.00E-99 Rounded Subnormal
|