lib-python.2.5.test.decimaltestdata.rescale.decTest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jython Show documentation
Show all versions of jython Show documentation
Jython is an implementation of the high-level, dynamic, object-oriented
language Python written in 100% Pure Java, and seamlessly integrated with
the Java platform. It thus allows you to run Python on any Java platform.
------------------------------------------------------------------------
-- rescale.decTest -- decimal rescale operation --
-- Copyright (c) IBM Corporation, 1981, 2007. 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 --
-- [email protected] --
------------------------------------------------------------------------
version: 2.57
-- [obsolete] Quantize.decTest has the improved version
-- 2004.03.15 Underflow for quantize is suppressed
extended: 1
precision: 9
rounding: half_up
maxExponent: 999
minexponent: -999
-- sanity checks
resx001 rescale 0 0 -> 0
resx002 rescale 1 0 -> 1
resx003 rescale 0.1 +2 -> 0E+2 Inexact Rounded
resx005 rescale 0.1 +1 -> 0E+1 Inexact Rounded
resx006 rescale 0.1 0 -> 0 Inexact Rounded
resx007 rescale 0.1 -1 -> 0.1
resx008 rescale 0.1 -2 -> 0.10
resx009 rescale 0.1 -3 -> 0.100
resx010 rescale 0.9 +2 -> 0E+2 Inexact Rounded
resx011 rescale 0.9 +1 -> 0E+1 Inexact Rounded
resx012 rescale 0.9 +0 -> 1 Inexact Rounded
resx013 rescale 0.9 -1 -> 0.9
resx014 rescale 0.9 -2 -> 0.90
resx015 rescale 0.9 -3 -> 0.900
-- negatives
resx021 rescale -0 0 -> -0
resx022 rescale -1 0 -> -1
resx023 rescale -0.1 +2 -> -0E+2 Inexact Rounded
resx025 rescale -0.1 +1 -> -0E+1 Inexact Rounded
resx026 rescale -0.1 0 -> -0 Inexact Rounded
resx027 rescale -0.1 -1 -> -0.1
resx028 rescale -0.1 -2 -> -0.10
resx029 rescale -0.1 -3 -> -0.100
resx030 rescale -0.9 +2 -> -0E+2 Inexact Rounded
resx031 rescale -0.9 +1 -> -0E+1 Inexact Rounded
resx032 rescale -0.9 +0 -> -1 Inexact Rounded
resx033 rescale -0.9 -1 -> -0.9
resx034 rescale -0.9 -2 -> -0.90
resx035 rescale -0.9 -3 -> -0.900
resx036 rescale -0.5 +2 -> -0E+2 Inexact Rounded
resx037 rescale -0.5 +1 -> -0E+1 Inexact Rounded
resx038 rescale -0.5 +0 -> -1 Inexact Rounded
resx039 rescale -0.5 -1 -> -0.5
resx040 rescale -0.5 -2 -> -0.50
resx041 rescale -0.5 -3 -> -0.500
resx042 rescale -0.9 +2 -> -0E+2 Inexact Rounded
resx043 rescale -0.9 +1 -> -0E+1 Inexact Rounded
resx044 rescale -0.9 +0 -> -1 Inexact Rounded
resx045 rescale -0.9 -1 -> -0.9
resx046 rescale -0.9 -2 -> -0.90
resx047 rescale -0.9 -3 -> -0.900
-- examples from Specification
resx060 rescale 2.17 -3 -> 2.170
resx061 rescale 2.17 -2 -> 2.17
resx062 rescale 2.17 -1 -> 2.2 Inexact Rounded
resx063 rescale 2.17 0 -> 2 Inexact Rounded
resx064 rescale 2.17 +1 -> 0E+1 Inexact Rounded
resx065 rescale 2 Inf -> NaN Invalid_operation
resx066 rescale -0.1 0 -> -0 Inexact Rounded
resx067 rescale -0 5 -> -0E+5
resx068 rescale +35236450.6 -2 -> NaN Invalid_operation
resx069 rescale -35236450.6 -2 -> NaN Invalid_operation
resx070 rescale 217 -1 -> 217.0
resx071 rescale 217 0 -> 217
resx072 rescale 217 +1 -> 2.2E+2 Inexact Rounded
resx073 rescale 217 +2 -> 2E+2 Inexact Rounded
-- general tests ..
resx089 rescale 12 +4 -> 0E+4 Inexact Rounded
resx090 rescale 12 +3 -> 0E+3 Inexact Rounded
resx091 rescale 12 +2 -> 0E+2 Inexact Rounded
resx092 rescale 12 +1 -> 1E+1 Inexact Rounded
resx093 rescale 1.2345 -2 -> 1.23 Inexact Rounded
resx094 rescale 1.2355 -2 -> 1.24 Inexact Rounded
resx095 rescale 1.2345 -6 -> 1.234500
resx096 rescale 9.9999 -2 -> 10.00 Inexact Rounded
resx097 rescale 0.0001 -2 -> 0.00 Inexact Rounded
resx098 rescale 0.001 -2 -> 0.00 Inexact Rounded
resx099 rescale 0.009 -2 -> 0.01 Inexact Rounded
resx100 rescale 92 +2 -> 1E+2 Inexact Rounded
resx101 rescale -1 0 -> -1
resx102 rescale -1 -1 -> -1.0
resx103 rescale -1 -2 -> -1.00
resx104 rescale 0 0 -> 0
resx105 rescale 0 -1 -> 0.0
resx106 rescale 0 -2 -> 0.00
resx107 rescale 0.00 0 -> 0
resx108 rescale 0 +1 -> 0E+1
resx109 rescale 0 +2 -> 0E+2
resx110 rescale +1 0 -> 1
resx111 rescale +1 -1 -> 1.0
resx112 rescale +1 -2 -> 1.00
resx120 rescale 1.04 -3 -> 1.040
resx121 rescale 1.04 -2 -> 1.04
resx122 rescale 1.04 -1 -> 1.0 Inexact Rounded
resx123 rescale 1.04 0 -> 1 Inexact Rounded
resx124 rescale 1.05 -3 -> 1.050
resx125 rescale 1.05 -2 -> 1.05
resx126 rescale 1.05 -1 -> 1.1 Inexact Rounded
resx127 rescale 1.05 0 -> 1 Inexact Rounded
resx128 rescale 1.05 -3 -> 1.050
resx129 rescale 1.05 -2 -> 1.05
resx130 rescale 1.05 -1 -> 1.1 Inexact Rounded
resx131 rescale 1.05 0 -> 1 Inexact Rounded
resx132 rescale 1.06 -3 -> 1.060
resx133 rescale 1.06 -2 -> 1.06
resx134 rescale 1.06 -1 -> 1.1 Inexact Rounded
resx135 rescale 1.06 0 -> 1 Inexact Rounded
resx140 rescale -10 -2 -> -10.00
resx141 rescale +1 -2 -> 1.00
resx142 rescale +10 -2 -> 10.00
resx143 rescale 1E+10 -2 -> NaN Invalid_operation
resx144 rescale 1E-10 -2 -> 0.00 Inexact Rounded
resx145 rescale 1E-3 -2 -> 0.00 Inexact Rounded
resx146 rescale 1E-2 -2 -> 0.01
resx147 rescale 1E-1 -2 -> 0.10
resx148 rescale 0E-10 -2 -> 0.00
resx150 rescale 1.0600 -5 -> 1.06000
resx151 rescale 1.0600 -4 -> 1.0600
resx152 rescale 1.0600 -3 -> 1.060 Rounded
resx153 rescale 1.0600 -2 -> 1.06 Rounded
resx154 rescale 1.0600 -1 -> 1.1 Inexact Rounded
resx155 rescale 1.0600 0 -> 1 Inexact Rounded
-- +ve exponents ..
resx201 rescale -1 +0 -> -1
resx202 rescale -1 +1 -> -0E+1 Inexact Rounded
resx203 rescale -1 +2 -> -0E+2 Inexact Rounded
resx204 rescale 0 +0 -> 0
resx205 rescale 0 +1 -> 0E+1
resx206 rescale 0 +2 -> 0E+2
resx207 rescale +1 +0 -> 1
resx208 rescale +1 +1 -> 0E+1 Inexact Rounded
resx209 rescale +1 +2 -> 0E+2 Inexact Rounded
resx220 rescale 1.04 +3 -> 0E+3 Inexact Rounded
resx221 rescale 1.04 +2 -> 0E+2 Inexact Rounded
resx222 rescale 1.04 +1 -> 0E+1 Inexact Rounded
resx223 rescale 1.04 +0 -> 1 Inexact Rounded
resx224 rescale 1.05 +3 -> 0E+3 Inexact Rounded
resx225 rescale 1.05 +2 -> 0E+2 Inexact Rounded
resx226 rescale 1.05 +1 -> 0E+1 Inexact Rounded
resx227 rescale 1.05 +0 -> 1 Inexact Rounded
resx228 rescale 1.05 +3 -> 0E+3 Inexact Rounded
resx229 rescale 1.05 +2 -> 0E+2 Inexact Rounded
resx230 rescale 1.05 +1 -> 0E+1 Inexact Rounded
resx231 rescale 1.05 +0 -> 1 Inexact Rounded
resx232 rescale 1.06 +3 -> 0E+3 Inexact Rounded
resx233 rescale 1.06 +2 -> 0E+2 Inexact Rounded
resx234 rescale 1.06 +1 -> 0E+1 Inexact Rounded
resx235 rescale 1.06 +0 -> 1 Inexact Rounded
resx240 rescale -10 +1 -> -1E+1 Rounded
resx241 rescale +1 +1 -> 0E+1 Inexact Rounded
resx242 rescale +10 +1 -> 1E+1 Rounded
resx243 rescale 1E+1 +1 -> 1E+1 -- underneath this is E+1
resx244 rescale 1E+2 +1 -> 1.0E+2 -- underneath this is E+1
resx245 rescale 1E+3 +1 -> 1.00E+3 -- underneath this is E+1
resx246 rescale 1E+4 +1 -> 1.000E+4 -- underneath this is E+1
resx247 rescale 1E+5 +1 -> 1.0000E+5 -- underneath this is E+1
resx248 rescale 1E+6 +1 -> 1.00000E+6 -- underneath this is E+1
resx249 rescale 1E+7 +1 -> 1.000000E+7 -- underneath this is E+1
resx250 rescale 1E+8 +1 -> 1.0000000E+8 -- underneath this is E+1
resx251 rescale 1E+9 +1 -> 1.00000000E+9 -- underneath this is E+1
-- next one tries to add 9 zeros
resx252 rescale 1E+10 +1 -> NaN Invalid_operation
resx253 rescale 1E-10 +1 -> 0E+1 Inexact Rounded
resx254 rescale 1E-2 +1 -> 0E+1 Inexact Rounded
resx255 rescale 0E-10 +1 -> 0E+1
resx256 rescale -0E-10 +1 -> -0E+1
resx257 rescale -0E-1 +1 -> -0E+1
resx258 rescale -0 +1 -> -0E+1
resx259 rescale -0E+1 +1 -> -0E+1
resx260 rescale -10 +2 -> -0E+2 Inexact Rounded
resx261 rescale +1 +2 -> 0E+2 Inexact Rounded
resx262 rescale +10 +2 -> 0E+2 Inexact Rounded
resx263 rescale 1E+1 +2 -> 0E+2 Inexact Rounded
resx264 rescale 1E+2 +2 -> 1E+2
resx265 rescale 1E+3 +2 -> 1.0E+3
resx266 rescale 1E+4 +2 -> 1.00E+4
resx267 rescale 1E+5 +2 -> 1.000E+5
resx268 rescale 1E+6 +2 -> 1.0000E+6
resx269 rescale 1E+7 +2 -> 1.00000E+7
resx270 rescale 1E+8 +2 -> 1.000000E+8
resx271 rescale 1E+9 +2 -> 1.0000000E+9
resx272 rescale 1E+10 +2 -> 1.00000000E+10
resx273 rescale 1E-10 +2 -> 0E+2 Inexact Rounded
resx274 rescale 1E-2 +2 -> 0E+2 Inexact Rounded
resx275 rescale 0E-10 +2 -> 0E+2
resx280 rescale -10 +3 -> -0E+3 Inexact Rounded
resx281 rescale +1 +3 -> 0E+3 Inexact Rounded
resx282 rescale +10 +3 -> 0E+3 Inexact Rounded
resx283 rescale 1E+1 +3 -> 0E+3 Inexact Rounded
resx284 rescale 1E+2 +3 -> 0E+3 Inexact Rounded
resx285 rescale 1E+3 +3 -> 1E+3
resx286 rescale 1E+4 +3 -> 1.0E+4
resx287 rescale 1E+5 +3 -> 1.00E+5
resx288 rescale 1E+6 +3 -> 1.000E+6
resx289 rescale 1E+7 +3 -> 1.0000E+7
resx290 rescale 1E+8 +3 -> 1.00000E+8
resx291 rescale 1E+9 +3 -> 1.000000E+9
resx292 rescale 1E+10 +3 -> 1.0000000E+10
resx293 rescale 1E-10 +3 -> 0E+3 Inexact Rounded
resx294 rescale 1E-2 +3 -> 0E+3 Inexact Rounded
resx295 rescale 0E-10 +3 -> 0E+3
-- round up from below [sign wrong in JIT compiler once]
resx300 rescale 0.0078 -5 -> 0.00780
resx301 rescale 0.0078 -4 -> 0.0078
resx302 rescale 0.0078 -3 -> 0.008 Inexact Rounded
resx303 rescale 0.0078 -2 -> 0.01 Inexact Rounded
resx304 rescale 0.0078 -1 -> 0.0 Inexact Rounded
resx305 rescale 0.0078 0 -> 0 Inexact Rounded
resx306 rescale 0.0078 +1 -> 0E+1 Inexact Rounded
resx307 rescale 0.0078 +2 -> 0E+2 Inexact Rounded
resx310 rescale -0.0078 -5 -> -0.00780
resx311 rescale -0.0078 -4 -> -0.0078
resx312 rescale -0.0078 -3 -> -0.008 Inexact Rounded
resx313 rescale -0.0078 -2 -> -0.01 Inexact Rounded
resx314 rescale -0.0078 -1 -> -0.0 Inexact Rounded
resx315 rescale -0.0078 0 -> -0 Inexact Rounded
resx316 rescale -0.0078 +1 -> -0E+1 Inexact Rounded
resx317 rescale -0.0078 +2 -> -0E+2 Inexact Rounded
resx320 rescale 0.078 -5 -> 0.07800
resx321 rescale 0.078 -4 -> 0.0780
resx322 rescale 0.078 -3 -> 0.078
resx323 rescale 0.078 -2 -> 0.08 Inexact Rounded
resx324 rescale 0.078 -1 -> 0.1 Inexact Rounded
resx325 rescale 0.078 0 -> 0 Inexact Rounded
resx326 rescale 0.078 +1 -> 0E+1 Inexact Rounded
resx327 rescale 0.078 +2 -> 0E+2 Inexact Rounded
resx330 rescale -0.078 -5 -> -0.07800
resx331 rescale -0.078 -4 -> -0.0780
resx332 rescale -0.078 -3 -> -0.078
resx333 rescale -0.078 -2 -> -0.08 Inexact Rounded
resx334 rescale -0.078 -1 -> -0.1 Inexact Rounded
resx335 rescale -0.078 0 -> -0 Inexact Rounded
resx336 rescale -0.078 +1 -> -0E+1 Inexact Rounded
resx337 rescale -0.078 +2 -> -0E+2 Inexact Rounded
resx340 rescale 0.78 -5 -> 0.78000
resx341 rescale 0.78 -4 -> 0.7800
resx342 rescale 0.78 -3 -> 0.780
resx343 rescale 0.78 -2 -> 0.78
resx344 rescale 0.78 -1 -> 0.8 Inexact Rounded
resx345 rescale 0.78 0 -> 1 Inexact Rounded
resx346 rescale 0.78 +1 -> 0E+1 Inexact Rounded
resx347 rescale 0.78 +2 -> 0E+2 Inexact Rounded
resx350 rescale -0.78 -5 -> -0.78000
resx351 rescale -0.78 -4 -> -0.7800
resx352 rescale -0.78 -3 -> -0.780
resx353 rescale -0.78 -2 -> -0.78
resx354 rescale -0.78 -1 -> -0.8 Inexact Rounded
resx355 rescale -0.78 0 -> -1 Inexact Rounded
resx356 rescale -0.78 +1 -> -0E+1 Inexact Rounded
resx357 rescale -0.78 +2 -> -0E+2 Inexact Rounded
resx360 rescale 7.8 -5 -> 7.80000
resx361 rescale 7.8 -4 -> 7.8000
resx362 rescale 7.8 -3 -> 7.800
resx363 rescale 7.8 -2 -> 7.80
resx364 rescale 7.8 -1 -> 7.8
resx365 rescale 7.8 0 -> 8 Inexact Rounded
resx366 rescale 7.8 +1 -> 1E+1 Inexact Rounded
resx367 rescale 7.8 +2 -> 0E+2 Inexact Rounded
resx368 rescale 7.8 +3 -> 0E+3 Inexact Rounded
resx370 rescale -7.8 -5 -> -7.80000
resx371 rescale -7.8 -4 -> -7.8000
resx372 rescale -7.8 -3 -> -7.800
resx373 rescale -7.8 -2 -> -7.80
resx374 rescale -7.8 -1 -> -7.8
resx375 rescale -7.8 0 -> -8 Inexact Rounded
resx376 rescale -7.8 +1 -> -1E+1 Inexact Rounded
resx377 rescale -7.8 +2 -> -0E+2 Inexact Rounded
resx378 rescale -7.8 +3 -> -0E+3 Inexact Rounded
-- some individuals
precision: 9
resx380 rescale 352364.506 -2 -> 352364.51 Inexact Rounded
resx381 rescale 3523645.06 -2 -> 3523645.06
resx382 rescale 35236450.6 -2 -> NaN Invalid_operation
resx383 rescale 352364506 -2 -> NaN Invalid_operation
resx384 rescale -352364.506 -2 -> -352364.51 Inexact Rounded
resx385 rescale -3523645.06 -2 -> -3523645.06
resx386 rescale -35236450.6 -2 -> NaN Invalid_operation
resx387 rescale -352364506 -2 -> NaN Invalid_operation
rounding: down
resx389 rescale 35236450.6 -2 -> NaN Invalid_operation
-- ? should that one instead have been:
-- resx389 rescale 35236450.6 -2 -> NaN Invalid_operation
rounding: half_up
-- and a few more from e-mail discussions
precision: 7
resx391 rescale 12.34567 -3 -> 12.346 Inexact Rounded
resx392 rescale 123.4567 -3 -> 123.457 Inexact Rounded
resx393 rescale 1234.567 -3 -> 1234.567
resx394 rescale 12345.67 -3 -> NaN Invalid_operation
resx395 rescale 123456.7 -3 -> NaN Invalid_operation
resx396 rescale 1234567. -3 -> NaN Invalid_operation
-- some 9999 round-up cases
precision: 9
resx400 rescale 9.999 -5 -> 9.99900
resx401 rescale 9.999 -4 -> 9.9990
resx402 rescale 9.999 -3 -> 9.999
resx403 rescale 9.999 -2 -> 10.00 Inexact Rounded
resx404 rescale 9.999 -1 -> 10.0 Inexact Rounded
resx405 rescale 9.999 0 -> 10 Inexact Rounded
resx406 rescale 9.999 1 -> 1E+1 Inexact Rounded
resx407 rescale 9.999 2 -> 0E+2 Inexact Rounded
resx410 rescale 0.999 -5 -> 0.99900
resx411 rescale 0.999 -4 -> 0.9990
resx412 rescale 0.999 -3 -> 0.999
resx413 rescale 0.999 -2 -> 1.00 Inexact Rounded
resx414 rescale 0.999 -1 -> 1.0 Inexact Rounded
resx415 rescale 0.999 0 -> 1 Inexact Rounded
resx416 rescale 0.999 1 -> 0E+1 Inexact Rounded
resx420 rescale 0.0999 -5 -> 0.09990
resx421 rescale 0.0999 -4 -> 0.0999
resx422 rescale 0.0999 -3 -> 0.100 Inexact Rounded
resx423 rescale 0.0999 -2 -> 0.10 Inexact Rounded
resx424 rescale 0.0999 -1 -> 0.1 Inexact Rounded
resx425 rescale 0.0999 0 -> 0 Inexact Rounded
resx426 rescale 0.0999 1 -> 0E+1 Inexact Rounded
resx430 rescale 0.00999 -5 -> 0.00999
resx431 rescale 0.00999 -4 -> 0.0100 Inexact Rounded
resx432 rescale 0.00999 -3 -> 0.010 Inexact Rounded
resx433 rescale 0.00999 -2 -> 0.01 Inexact Rounded
resx434 rescale 0.00999 -1 -> 0.0 Inexact Rounded
resx435 rescale 0.00999 0 -> 0 Inexact Rounded
resx436 rescale 0.00999 1 -> 0E+1 Inexact Rounded
resx440 rescale 0.000999 -5 -> 0.00100 Inexact Rounded
resx441 rescale 0.000999 -4 -> 0.0010 Inexact Rounded
resx442 rescale 0.000999 -3 -> 0.001 Inexact Rounded
resx443 rescale 0.000999 -2 -> 0.00 Inexact Rounded
resx444 rescale 0.000999 -1 -> 0.0 Inexact Rounded
resx445 rescale 0.000999 0 -> 0 Inexact Rounded
resx446 rescale 0.000999 1 -> 0E+1 Inexact Rounded
precision: 8
resx449 rescale 9.999E-15 -23 -> NaN Invalid_operation
resx450 rescale 9.999E-15 -22 -> 9.9990000E-15
resx451 rescale 9.999E-15 -21 -> 9.999000E-15
resx452 rescale 9.999E-15 -20 -> 9.99900E-15
resx453 rescale 9.999E-15 -19 -> 9.9990E-15
resx454 rescale 9.999E-15 -18 -> 9.999E-15
resx455 rescale 9.999E-15 -17 -> 1.000E-14 Inexact Rounded
resx456 rescale 9.999E-15 -16 -> 1.00E-14 Inexact Rounded
resx457 rescale 9.999E-15 -15 -> 1.0E-14 Inexact Rounded
resx458 rescale 9.999E-15 -14 -> 1E-14 Inexact Rounded
resx459 rescale 9.999E-15 -13 -> 0E-13 Inexact Rounded
resx460 rescale 9.999E-15 -12 -> 0E-12 Inexact Rounded
resx461 rescale 9.999E-15 -11 -> 0E-11 Inexact Rounded
resx462 rescale 9.999E-15 -10 -> 0E-10 Inexact Rounded
resx463 rescale 9.999E-15 -9 -> 0E-9 Inexact Rounded
resx464 rescale 9.999E-15 -8 -> 0E-8 Inexact Rounded
resx465 rescale 9.999E-15 -7 -> 0E-7 Inexact Rounded
resx466 rescale 9.999E-15 -6 -> 0.000000 Inexact Rounded
resx467 rescale 9.999E-15 -5 -> 0.00000 Inexact Rounded
resx468 rescale 9.999E-15 -4 -> 0.0000 Inexact Rounded
resx469 rescale 9.999E-15 -3 -> 0.000 Inexact Rounded
resx470 rescale 9.999E-15 -2 -> 0.00 Inexact Rounded
resx471 rescale 9.999E-15 -1 -> 0.0 Inexact Rounded
resx472 rescale 9.999E-15 0 -> 0 Inexact Rounded
resx473 rescale 9.999E-15 1 -> 0E+1 Inexact Rounded
-- [additional tests for "don't fit" edge cases are in
-- quantize.decTest. Here's a critical one.]
precision: 3
resx480 rescale 0.9999 -3 -> NaN Invalid_operation
-- long operand checks [rhs checks removed]
maxexponent: 999
minexponent: -999
precision: 9
resx481 rescale 12345678000 +3 -> 1.2345678E+10 Rounded
resx482 rescale 1234567800 +1 -> 1.23456780E+9 Rounded
resx483 rescale 1234567890 +1 -> 1.23456789E+9 Rounded
resx484 rescale 1234567891 +1 -> 1.23456789E+9 Inexact Rounded
resx485 rescale 12345678901 +2 -> 1.23456789E+10 Inexact Rounded
resx486 rescale 1234567896 +1 -> 1.23456790E+9 Inexact Rounded
-- a potential double-round
resx487 rescale 1234.987643 -4 -> 1234.9876 Inexact Rounded
resx488 rescale 1234.987647 -4 -> 1234.9876 Inexact Rounded
precision: 15
resx491 rescale 12345678000 +3 -> 1.2345678E+10 Rounded
resx492 rescale 1234567800 +1 -> 1.23456780E+9 Rounded
resx493 rescale 1234567890 +1 -> 1.23456789E+9 Rounded
resx494 rescale 1234567891 +1 -> 1.23456789E+9 Inexact Rounded
resx495 rescale 12345678901 +2 -> 1.23456789E+10 Inexact Rounded
resx496 rescale 1234567896 +1 -> 1.23456790E+9 Inexact Rounded
resx497 rescale 1234.987643 -4 -> 1234.9876 Inexact Rounded
resx498 rescale 1234.987647 -4 -> 1234.9876 Inexact Rounded
-- Zeros
resx500 rescale 0 1 -> 0E+1
resx501 rescale 0 0 -> 0
resx502 rescale 0 -1 -> 0.0
resx503 rescale 0.0 -1 -> 0.0
resx504 rescale 0.0 0 -> 0
resx505 rescale 0.0 +1 -> 0E+1
resx506 rescale 0E+1 -1 -> 0.0
resx507 rescale 0E+1 0 -> 0
resx508 rescale 0E+1 +1 -> 0E+1
resx509 rescale -0 1 -> -0E+1
resx510 rescale -0 0 -> -0
resx511 rescale -0 -1 -> -0.0
resx512 rescale -0.0 -1 -> -0.0
resx513 rescale -0.0 0 -> -0
resx514 rescale -0.0 +1 -> -0E+1
resx515 rescale -0E+1 -1 -> -0.0
resx516 rescale -0E+1 0 -> -0
resx517 rescale -0E+1 +1 -> -0E+1
-- Suspicious RHS values
maxexponent: 999999999
minexponent: -999999999
precision: 15
resx520 rescale 1.234 999999E+3 -> 0E+999999000 Inexact Rounded
resx521 rescale 123.456 999999E+3 -> 0E+999999000 Inexact Rounded
resx522 rescale 1.234 999999999 -> 0E+999999999 Inexact Rounded
resx523 rescale 123.456 999999999 -> 0E+999999999 Inexact Rounded
resx524 rescale 123.456 1000000000 -> NaN Invalid_operation
resx525 rescale 123.456 12345678903 -> NaN Invalid_operation
-- next four are "won't fit" overflows
resx526 rescale 1.234 -999999E+3 -> NaN Invalid_operation
resx527 rescale 123.456 -999999E+3 -> NaN Invalid_operation
resx528 rescale 1.234 -999999999 -> NaN Invalid_operation
resx529 rescale 123.456 -999999999 -> NaN Invalid_operation
resx530 rescale 123.456 -1000000014 -> NaN Invalid_operation
resx531 rescale 123.456 -12345678903 -> NaN Invalid_operation
maxexponent: 999
minexponent: -999
precision: 15
resx532 rescale 1.234E+999 999 -> 1E+999 Inexact Rounded
resx533 rescale 1.234E+998 999 -> 0E+999 Inexact Rounded
resx534 rescale 1.234 999 -> 0E+999 Inexact Rounded
resx535 rescale 1.234 1000 -> NaN Invalid_operation
resx536 rescale 1.234 5000 -> NaN Invalid_operation
resx537 rescale 0 -999 -> 0E-999
-- next two are "won't fit" overflows
resx538 rescale 1.234 -999 -> NaN Invalid_operation
resx539 rescale 1.234 -1000 -> NaN Invalid_operation
resx540 rescale 1.234 -5000 -> NaN Invalid_operation
-- [more below]
-- check bounds (lhs maybe out of range for destination, etc.)
precision: 7
resx541 rescale 1E+999 +999 -> 1E+999
resx542 rescale 1E+1000 +999 -> NaN Invalid_operation
resx543 rescale 1E+999 +1000 -> NaN Invalid_operation
resx544 rescale 1E-999 -999 -> 1E-999
resx545 rescale 1E-1000 -999 -> 0E-999 Inexact Rounded
resx546 rescale 1E-999 -1000 -> 1.0E-999
resx547 rescale 1E-1005 -999 -> 0E-999 Inexact Rounded
resx548 rescale 1E-1006 -999 -> 0E-999 Inexact Rounded
resx549 rescale 1E-1007 -999 -> 0E-999 Inexact Rounded
resx550 rescale 1E-998 -1005 -> NaN Invalid_operation -- won't fit
resx551 rescale 1E-999 -1005 -> 1.000000E-999
resx552 rescale 1E-1000 -1005 -> 1.00000E-1000 Subnormal
resx553 rescale 1E-999 -1006 -> NaN Invalid_operation
resx554 rescale 1E-999 -1007 -> NaN Invalid_operation
-- related subnormal rounding
resx555 rescale 1.666666E-999 -1005 -> 1.666666E-999
resx556 rescale 1.666666E-1000 -1005 -> 1.66667E-1000 Subnormal Inexact Rounded
resx557 rescale 1.666666E-1001 -1005 -> 1.6667E-1001 Subnormal Inexact Rounded
resx558 rescale 1.666666E-1002 -1005 -> 1.667E-1002 Subnormal Inexact Rounded
resx559 rescale 1.666666E-1003 -1005 -> 1.67E-1003 Subnormal Inexact Rounded
resx560 rescale 1.666666E-1004 -1005 -> 1.7E-1004 Subnormal Inexact Rounded
resx561 rescale 1.666666E-1005 -1005 -> 2E-1005 Subnormal Inexact Rounded
resx562 rescale 1.666666E-1006 -1005 -> 0E-1005 Inexact Rounded
resx563 rescale 1.666666E-1007 -1005 -> 0E-1005 Inexact Rounded
-- fractional RHS, some good and some bad
precision: 9
resx564 rescale 222 +2.0 -> 2E+2 Inexact Rounded
resx565 rescale 222 +2.00000000 -> 2E+2 Inexact Rounded
resx566 rescale 222 +2.00100000000 -> NaN Invalid_operation
resx567 rescale 222 +2.000001 -> NaN Invalid_operation
resx568 rescale 222 +2.000000001 -> NaN Invalid_operation
resx569 rescale 222 +2.0000000001 -> NaN Invalid_operation
resx570 rescale 222 +2.00000000001 -> NaN Invalid_operation
resx571 rescale 222 +2.99999999999 -> NaN Invalid_operation
resx572 rescale 222 -2.00000000 -> 222.00
resx573 rescale 222 -2.00100000000 -> NaN Invalid_operation
resx574 rescale 222 -2.0000001000 -> NaN Invalid_operation
resx575 rescale 222 -2.00000000001 -> NaN Invalid_operation
resx576 rescale 222 -2.99999999999 -> NaN Invalid_operation
-- Specials
resx580 rescale Inf -Inf -> Infinity
resx581 rescale Inf -1000 -> NaN Invalid_operation
resx582 rescale Inf -1 -> NaN Invalid_operation
resx583 rescale Inf 0 -> NaN Invalid_operation
resx584 rescale Inf 1 -> NaN Invalid_operation
resx585 rescale Inf 1000 -> NaN Invalid_operation
resx586 rescale Inf Inf -> Infinity
resx587 rescale -1000 Inf -> NaN Invalid_operation
resx588 rescale -Inf Inf -> -Infinity
resx589 rescale -1 Inf -> NaN Invalid_operation
resx590 rescale 0 Inf -> NaN Invalid_operation
resx591 rescale 1 Inf -> NaN Invalid_operation
resx592 rescale 1000 Inf -> NaN Invalid_operation
resx593 rescale Inf Inf -> Infinity
resx594 rescale Inf -0 -> NaN Invalid_operation
resx595 rescale -0 Inf -> NaN Invalid_operation
resx600 rescale -Inf -Inf -> -Infinity
resx601 rescale -Inf -1000 -> NaN Invalid_operation
resx602 rescale -Inf -1 -> NaN Invalid_operation
resx603 rescale -Inf 0 -> NaN Invalid_operation
resx604 rescale -Inf 1 -> NaN Invalid_operation
resx605 rescale -Inf 1000 -> NaN Invalid_operation
resx606 rescale -Inf Inf -> -Infinity
resx607 rescale -1000 Inf -> NaN Invalid_operation
resx608 rescale -Inf -Inf -> -Infinity
resx609 rescale -1 -Inf -> NaN Invalid_operation
resx610 rescale 0 -Inf -> NaN Invalid_operation
resx611 rescale 1 -Inf -> NaN Invalid_operation
resx612 rescale 1000 -Inf -> NaN Invalid_operation
resx613 rescale Inf -Inf -> Infinity
resx614 rescale -Inf -0 -> NaN Invalid_operation
resx615 rescale -0 -Inf -> NaN Invalid_operation
resx621 rescale NaN -Inf -> NaN
resx622 rescale NaN -1000 -> NaN
resx623 rescale NaN -1 -> NaN
resx624 rescale NaN 0 -> NaN
resx625 rescale NaN 1 -> NaN
resx626 rescale NaN 1000 -> NaN
resx627 rescale NaN Inf -> NaN
resx628 rescale NaN NaN -> NaN
resx629 rescale -Inf NaN -> NaN
resx630 rescale -1000 NaN -> NaN
resx631 rescale -1 NaN -> NaN
resx632 rescale 0 NaN -> NaN
resx633 rescale 1 -NaN -> -NaN
resx634 rescale 1000 NaN -> NaN
resx635 rescale Inf NaN -> NaN
resx636 rescale NaN -0 -> NaN
resx637 rescale -0 NaN -> NaN
resx641 rescale sNaN -Inf -> NaN Invalid_operation
resx642 rescale sNaN -1000 -> NaN Invalid_operation
resx643 rescale sNaN -1 -> NaN Invalid_operation
resx644 rescale sNaN 0 -> NaN Invalid_operation
resx645 rescale sNaN 1 -> NaN Invalid_operation
resx646 rescale sNaN 1000 -> NaN Invalid_operation
resx647 rescale -sNaN NaN -> -NaN Invalid_operation
resx648 rescale sNaN -sNaN -> NaN Invalid_operation
resx649 rescale NaN sNaN -> NaN Invalid_operation
resx650 rescale -Inf sNaN -> NaN Invalid_operation
resx651 rescale -1000 sNaN -> NaN Invalid_operation
resx652 rescale -1 sNaN -> NaN Invalid_operation
resx653 rescale 0 sNaN -> NaN Invalid_operation
resx654 rescale 1 -sNaN -> -NaN Invalid_operation
resx655 rescale 1000 sNaN -> NaN Invalid_operation
resx656 rescale Inf sNaN -> NaN Invalid_operation
resx657 rescale NaN sNaN -> NaN Invalid_operation
resx658 rescale sNaN -0 -> NaN Invalid_operation
resx659 rescale -0 sNaN -> NaN Invalid_operation
-- propagating NaNs
resx661 rescale NaN9 -Inf -> NaN9
resx662 rescale NaN81 919 -> NaN81
resx663 rescale NaN72 Inf -> NaN72
resx664 rescale -NaN66 NaN5 -> -NaN66
resx665 rescale -Inf NaN4 -> NaN4
resx666 rescale -919 NaN32 -> NaN32
resx667 rescale Inf NaN2 -> NaN2
resx671 rescale sNaN99 -Inf -> NaN99 Invalid_operation
resx672 rescale -sNaN98 -11 -> -NaN98 Invalid_operation
resx673 rescale sNaN97 NaN -> NaN97 Invalid_operation
resx674 rescale sNaN16 sNaN94 -> NaN16 Invalid_operation
resx675 rescale NaN95 sNaN93 -> NaN93 Invalid_operation
resx676 rescale -Inf sNaN92 -> NaN92 Invalid_operation
resx677 rescale 088 -sNaN91 -> -NaN91 Invalid_operation
resx678 rescale Inf -sNaN90 -> -NaN90 Invalid_operation
resx679 rescale NaN sNaN87 -> NaN87 Invalid_operation
-- subnormals and underflow
precision: 4
maxexponent: 999
minexponent: -999
resx710 rescale 1.00E-999 -999 -> 1E-999 Rounded
resx711 rescale 0.1E-999 -1000 -> 1E-1000 Subnormal
resx712 rescale 0.10E-999 -1000 -> 1E-1000 Subnormal Rounded
resx713 rescale 0.100E-999 -1000 -> 1E-1000 Subnormal Rounded
resx714 rescale 0.01E-999 -1001 -> 1E-1001 Subnormal
-- next is rounded to Emin
resx715 rescale 0.999E-999 -999 -> 1E-999 Inexact Rounded
resx716 rescale 0.099E-999 -1000 -> 1E-1000 Inexact Rounded Subnormal
resx717 rescale 0.009E-999 -1001 -> 1E-1001 Inexact Rounded Subnormal
resx718 rescale 0.001E-999 -1001 -> 0E-1001 Inexact Rounded
resx719 rescale 0.0009E-999 -1001 -> 0E-1001 Inexact Rounded
resx720 rescale 0.0001E-999 -1001 -> 0E-1001 Inexact Rounded
resx730 rescale -1.00E-999 -999 -> -1E-999 Rounded
resx731 rescale -0.1E-999 -999 -> -0E-999 Rounded Inexact
resx732 rescale -0.10E-999 -999 -> -0E-999 Rounded Inexact
resx733 rescale -0.100E-999 -999 -> -0E-999 Rounded Inexact
resx734 rescale -0.01E-999 -999 -> -0E-999 Inexact Rounded
-- next is rounded to Emin
resx735 rescale -0.999E-999 -999 -> -1E-999 Inexact Rounded
resx736 rescale -0.099E-999 -999 -> -0E-999 Inexact Rounded
resx737 rescale -0.009E-999 -999 -> -0E-999 Inexact Rounded
resx738 rescale -0.001E-999 -999 -> -0E-999 Inexact Rounded
resx739 rescale -0.0001E-999 -999 -> -0E-999 Inexact Rounded
resx740 rescale -1.00E-999 -1000 -> -1.0E-999 Rounded
resx741 rescale -0.1E-999 -1000 -> -1E-1000 Subnormal
resx742 rescale -0.10E-999 -1000 -> -1E-1000 Subnormal Rounded
resx743 rescale -0.100E-999 -1000 -> -1E-1000 Subnormal Rounded
resx744 rescale -0.01E-999 -1000 -> -0E-1000 Inexact Rounded
-- next is rounded to Emin
resx745 rescale -0.999E-999 -1000 -> -1.0E-999 Inexact Rounded
resx746 rescale -0.099E-999 -1000 -> -1E-1000 Inexact Rounded Subnormal
resx747 rescale -0.009E-999 -1000 -> -0E-1000 Inexact Rounded
resx748 rescale -0.001E-999 -1000 -> -0E-1000 Inexact Rounded
resx749 rescale -0.0001E-999 -1000 -> -0E-1000 Inexact Rounded
resx750 rescale -1.00E-999 -1001 -> -1.00E-999
resx751 rescale -0.1E-999 -1001 -> -1.0E-1000 Subnormal
resx752 rescale -0.10E-999 -1001 -> -1.0E-1000 Subnormal
resx753 rescale -0.100E-999 -1001 -> -1.0E-1000 Subnormal Rounded
resx754 rescale -0.01E-999 -1001 -> -1E-1001 Subnormal
-- next is rounded to Emin
resx755 rescale -0.999E-999 -1001 -> -1.00E-999 Inexact Rounded
resx756 rescale -0.099E-999 -1001 -> -1.0E-1000 Inexact Rounded Subnormal
resx757 rescale -0.009E-999 -1001 -> -1E-1001 Inexact Rounded Subnormal
resx758 rescale -0.001E-999 -1001 -> -0E-1001 Inexact Rounded
resx759 rescale -0.0001E-999 -1001 -> -0E-1001 Inexact Rounded
resx760 rescale -1.00E-999 -1002 -> -1.000E-999
resx761 rescale -0.1E-999 -1002 -> -1.00E-1000 Subnormal
resx762 rescale -0.10E-999 -1002 -> -1.00E-1000 Subnormal
resx763 rescale -0.100E-999 -1002 -> -1.00E-1000 Subnormal
resx764 rescale -0.01E-999 -1002 -> -1.0E-1001 Subnormal
resx765 rescale -0.999E-999 -1002 -> -9.99E-1000 Subnormal
resx766 rescale -0.099E-999 -1002 -> -9.9E-1001 Subnormal
resx767 rescale -0.009E-999 -1002 -> -9E-1002 Subnormal
resx768 rescale -0.001E-999 -1002 -> -1E-1002 Subnormal
resx769 rescale -0.0001E-999 -1002 -> -0E-1002 Inexact Rounded
-- rhs must be no less than Etiny
resx770 rescale -1.00E-999 -1003 -> NaN Invalid_operation
resx771 rescale -0.1E-999 -1003 -> NaN Invalid_operation
resx772 rescale -0.10E-999 -1003 -> NaN Invalid_operation
resx773 rescale -0.100E-999 -1003 -> NaN Invalid_operation
resx774 rescale -0.01E-999 -1003 -> NaN Invalid_operation
resx775 rescale -0.999E-999 -1003 -> NaN Invalid_operation
resx776 rescale -0.099E-999 -1003 -> NaN Invalid_operation
resx777 rescale -0.009E-999 -1003 -> NaN Invalid_operation
resx778 rescale -0.001E-999 -1003 -> NaN Invalid_operation
resx779 rescale -0.0001E-999 -1003 -> NaN Invalid_operation
precision: 9
maxExponent: 999999999
minexponent: -999999999
-- getInt worries
resx801 rescale 0 1000000000 -> NaN Invalid_operation
resx802 rescale 0 -1000000000 -> 0E-1000000000
resx803 rescale 0 2000000000 -> NaN Invalid_operation
resx804 rescale 0 -2000000000 -> NaN Invalid_operation
resx805 rescale 0 3000000000 -> NaN Invalid_operation
resx806 rescale 0 -3000000000 -> NaN Invalid_operation
resx807 rescale 0 4000000000 -> NaN Invalid_operation
resx808 rescale 0 -4000000000 -> NaN Invalid_operation
resx809 rescale 0 5000000000 -> NaN Invalid_operation
resx810 rescale 0 -5000000000 -> NaN Invalid_operation
resx811 rescale 0 6000000000 -> NaN Invalid_operation
resx812 rescale 0 -6000000000 -> NaN Invalid_operation
resx813 rescale 0 7000000000 -> NaN Invalid_operation
resx814 rescale 0 -7000000000 -> NaN Invalid_operation
resx815 rescale 0 8000000000 -> NaN Invalid_operation
resx816 rescale 0 -8000000000 -> NaN Invalid_operation
resx817 rescale 0 9000000000 -> NaN Invalid_operation
resx818 rescale 0 -9000000000 -> NaN Invalid_operation
resx819 rescale 0 9999999999 -> NaN Invalid_operation
resx820 rescale 0 -9999999999 -> NaN Invalid_operation
resx821 rescale 0 10000000000 -> NaN Invalid_operation
resx822 rescale 0 -10000000000 -> NaN Invalid_operation
resx831 rescale 1 0E-1 -> 1
resx832 rescale 1 0E-2 -> 1
resx833 rescale 1 0E-3 -> 1
resx834 rescale 1 0E-4 -> 1
resx835 rescale 1 0E-100 -> 1
resx836 rescale 1 0E-100000 -> 1
resx837 rescale 1 0E+100 -> 1
resx838 rescale 1 0E+100000 -> 1
resx841 rescale 0 5E-1000000 -> NaN Invalid_operation
resx842 rescale 0 5E-1000000 -> NaN Invalid_operation
resx843 rescale 0 999999999 -> 0E+999999999
resx844 rescale 0 1000000000 -> NaN Invalid_operation
resx845 rescale 0 -999999999 -> 0E-999999999
resx846 rescale 0 -1000000000 -> 0E-1000000000
resx847 rescale 0 -1000000001 -> 0E-1000000001
resx848 rescale 0 -1000000002 -> 0E-1000000002
resx849 rescale 0 -1000000003 -> 0E-1000000003
resx850 rescale 0 -1000000004 -> 0E-1000000004
resx851 rescale 0 -1000000005 -> 0E-1000000005
resx852 rescale 0 -1000000006 -> 0E-1000000006
resx853 rescale 0 -1000000007 -> 0E-1000000007
resx854 rescale 0 -1000000008 -> NaN Invalid_operation
resx861 rescale 1 +2147483649 -> NaN Invalid_operation
resx862 rescale 1 +2147483648 -> NaN Invalid_operation
resx863 rescale 1 +2147483647 -> NaN Invalid_operation
resx864 rescale 1 -2147483647 -> NaN Invalid_operation
resx865 rescale 1 -2147483648 -> NaN Invalid_operation
resx866 rescale 1 -2147483649 -> NaN Invalid_operation
-- Null tests
res900 rescale 10 # -> NaN Invalid_operation
res901 rescale # 10 -> NaN Invalid_operation