Staging
v0.5.1
Raw File
dqNextToward.decTest
------------------------------------------------------------------------
-- dqNextToward.decTest -- decQuad next toward rhs [754r nextafter]   --
-- 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

-- All operands and results are decQuads.
extended:    1
clamp:       1
precision:   34
maxExponent: 6144
minExponent: -6143
rounding:    half_even


-- Sanity check with a scattering of numerics
dqnextt001 nexttoward   10    10   ->  10
dqnextt002 nexttoward  -10   -10   -> -10
dqnextt003 nexttoward   1     10   ->  1.000000000000000000000000000000001
dqnextt004 nexttoward   1    -10   ->  0.9999999999999999999999999999999999
dqnextt005 nexttoward  -1     10   -> -0.9999999999999999999999999999999999
dqnextt006 nexttoward  -1    -10   -> -1.000000000000000000000000000000001
dqnextt007 nexttoward   0     10   ->  1E-6176       Underflow Subnormal Inexact Rounded
dqnextt008 nexttoward   0    -10   -> -1E-6176       Underflow Subnormal Inexact Rounded
dqnextt009 nexttoward   9.999999999999999999999999999999999E+6144 +Infinity ->  Infinity Overflow Inexact Rounded
dqnextt010 nexttoward  -9.999999999999999999999999999999999E+6144 -Infinity -> -Infinity Overflow Inexact Rounded
dqnextt011 nexttoward       9.999999999999999999999999999999999  10  ->  10.00000000000000000000000000000000
dqnextt012 nexttoward   10  9.999999999999999999999999999999999      ->  9.999999999999999999999999999999999
dqnextt013 nexttoward      -9.999999999999999999999999999999999 -10  -> -10.00000000000000000000000000000000
dqnextt014 nexttoward  -10 -9.999999999999999999999999999999999      -> -9.999999999999999999999999999999999
dqnextt015 nexttoward       9.999999999999999999999999999999998  10  ->  9.999999999999999999999999999999999
dqnextt016 nexttoward   10  9.999999999999999999999999999999998      ->  9.999999999999999999999999999999999
dqnextt017 nexttoward      -9.999999999999999999999999999999998 -10  -> -9.999999999999999999999999999999999
dqnextt018 nexttoward  -10 -9.999999999999999999999999999999998      -> -9.999999999999999999999999999999999

------- lhs=rhs
-- finites
dqnextt101 nexttoward          7       7 ->  7
dqnextt102 nexttoward         -7      -7 -> -7
dqnextt103 nexttoward         75      75 ->  75
dqnextt104 nexttoward        -75     -75 -> -75
dqnextt105 nexttoward       7.50     7.5 ->  7.50
dqnextt106 nexttoward      -7.50   -7.50 -> -7.50
dqnextt107 nexttoward       7.500 7.5000 ->  7.500
dqnextt108 nexttoward      -7.500   -7.5 -> -7.500

-- zeros
dqnextt111 nexttoward          0       0 ->  0
dqnextt112 nexttoward         -0      -0 -> -0
dqnextt113 nexttoward       0E+4       0 ->  0E+4
dqnextt114 nexttoward      -0E+4      -0 -> -0E+4
dqnextt115 nexttoward     0.00000000000   0.000000000000 ->  0E-11
dqnextt116 nexttoward    -0.00000000000  -0.00           -> -0E-11
dqnextt117 nexttoward      0E-141      0 ->  0E-141
dqnextt118 nexttoward     -0E-141   -000 -> -0E-141

-- full coefficients, alternating bits
dqnextt121 nexttoward   268268268    268268268 ->   268268268
dqnextt122 nexttoward  -268268268   -268268268 ->  -268268268
dqnextt123 nexttoward   134134134    134134134 ->   134134134
dqnextt124 nexttoward  -134134134   -134134134 ->  -134134134

-- Nmax, Nmin, Ntiny
dqnextt131 nexttoward  9.999999999999999999999999999999999E+6144  9.999999999999999999999999999999999E+6144   ->   9.999999999999999999999999999999999E+6144
dqnextt132 nexttoward  1E-6143           1E-6143            ->   1E-6143
dqnextt133 nexttoward  1.000000000000000000000000000000000E-6143  1.000000000000000000000000000000000E-6143   ->   1.000000000000000000000000000000000E-6143
dqnextt134 nexttoward  1E-6176           1E-6176            ->   1E-6176

dqnextt135 nexttoward  -1E-6176          -1E-6176           ->  -1E-6176
dqnextt136 nexttoward  -1.000000000000000000000000000000000E-6143 -1.000000000000000000000000000000000E-6143  ->  -1.000000000000000000000000000000000E-6143
dqnextt137 nexttoward  -1E-6143          -1E-6143           ->  -1E-6143
dqnextt138 nexttoward  -9.999999999999999999999999999999999E+6144 -9.999999999999999999999999999999999E+6144  ->  -9.999999999999999999999999999999999E+6144

------- lhs<rhs
dqnextt201 nexttoward  0.9999999999999999999999999999999995 Infinity ->   0.9999999999999999999999999999999996
dqnextt202 nexttoward  0.9999999999999999999999999999999996 Infinity ->   0.9999999999999999999999999999999997
dqnextt203 nexttoward  0.9999999999999999999999999999999997 Infinity ->   0.9999999999999999999999999999999998
dqnextt204 nexttoward  0.9999999999999999999999999999999998 Infinity ->   0.9999999999999999999999999999999999
dqnextt205 nexttoward  0.9999999999999999999999999999999999 Infinity ->   1.000000000000000000000000000000000
dqnextt206 nexttoward  1.000000000000000000000000000000000  Infinity ->   1.000000000000000000000000000000001
dqnextt207 nexttoward  1.0         Infinity ->   1.000000000000000000000000000000001
dqnextt208 nexttoward  1           Infinity ->   1.000000000000000000000000000000001
dqnextt209 nexttoward  1.000000000000000000000000000000001  Infinity ->   1.000000000000000000000000000000002
dqnextt210 nexttoward  1.000000000000000000000000000000002  Infinity ->   1.000000000000000000000000000000003
dqnextt211 nexttoward  1.000000000000000000000000000000003  Infinity ->   1.000000000000000000000000000000004
dqnextt212 nexttoward  1.000000000000000000000000000000004  Infinity ->   1.000000000000000000000000000000005
dqnextt213 nexttoward  1.000000000000000000000000000000005  Infinity ->   1.000000000000000000000000000000006
dqnextt214 nexttoward  1.000000000000000000000000000000006  Infinity ->   1.000000000000000000000000000000007
dqnextt215 nexttoward  1.000000000000000000000000000000007  Infinity ->   1.000000000000000000000000000000008
dqnextt216 nexttoward  1.000000000000000000000000000000008  Infinity ->   1.000000000000000000000000000000009
dqnextt217 nexttoward  1.000000000000000000000000000000009  Infinity ->   1.000000000000000000000000000000010
dqnextt218 nexttoward  1.000000000000000000000000000000010  Infinity ->   1.000000000000000000000000000000011
dqnextt219 nexttoward  1.000000000000000000000000000000011  Infinity ->   1.000000000000000000000000000000012

dqnextt221 nexttoward -0.9999999999999999999999999999999995 Infinity ->  -0.9999999999999999999999999999999994
dqnextt222 nexttoward -0.9999999999999999999999999999999996 Infinity -> -0.9999999999999999999999999999999995
dqnextt223 nexttoward -0.9999999999999999999999999999999997 Infinity ->  -0.9999999999999999999999999999999996
dqnextt224 nexttoward -0.9999999999999999999999999999999998 Infinity ->  -0.9999999999999999999999999999999997
dqnextt225 nexttoward -0.9999999999999999999999999999999999 Infinity ->  -0.9999999999999999999999999999999998
dqnextt226 nexttoward -1.000000000000000000000000000000000  Infinity ->  -0.9999999999999999999999999999999999
dqnextt227 nexttoward -1.0         Infinity ->  -0.9999999999999999999999999999999999
dqnextt228 nexttoward -1           Infinity ->  -0.9999999999999999999999999999999999
dqnextt229 nexttoward -1.000000000000000000000000000000001  Infinity ->  -1.000000000000000000000000000000000
dqnextt230 nexttoward -1.000000000000000000000000000000002  Infinity ->  -1.000000000000000000000000000000001
dqnextt231 nexttoward -1.000000000000000000000000000000003  Infinity ->  -1.000000000000000000000000000000002
dqnextt232 nexttoward -1.000000000000000000000000000000004  Infinity ->  -1.000000000000000000000000000000003
dqnextt233 nexttoward -1.000000000000000000000000000000005  Infinity ->  -1.000000000000000000000000000000004
dqnextt234 nexttoward -1.000000000000000000000000000000006  Infinity ->  -1.000000000000000000000000000000005
dqnextt235 nexttoward -1.000000000000000000000000000000007  Infinity ->  -1.000000000000000000000000000000006
dqnextt236 nexttoward -1.000000000000000000000000000000008  Infinity ->  -1.000000000000000000000000000000007
dqnextt237 nexttoward -1.000000000000000000000000000000009  Infinity ->  -1.000000000000000000000000000000008
dqnextt238 nexttoward -1.000000000000000000000000000000010  Infinity ->  -1.000000000000000000000000000000009
dqnextt239 nexttoward -1.000000000000000000000000000000011  Infinity ->  -1.000000000000000000000000000000010
dqnextt240 nexttoward -1.000000000000000000000000000000012  Infinity ->  -1.000000000000000000000000000000011

-- Zeros
dqnextt300 nexttoward  0           Infinity ->  1E-6176              Underflow Subnormal Inexact Rounded
dqnextt301 nexttoward  0.00        Infinity ->  1E-6176              Underflow Subnormal Inexact Rounded
dqnextt302 nexttoward  0E-300      Infinity ->  1E-6176              Underflow Subnormal Inexact Rounded
dqnextt303 nexttoward  0E+300      Infinity ->  1E-6176              Underflow Subnormal Inexact Rounded
dqnextt304 nexttoward  0E+30000    Infinity ->  1E-6176              Underflow Subnormal Inexact Rounded
dqnextt305 nexttoward -0           Infinity ->  1E-6176              Underflow Subnormal Inexact Rounded
dqnextt306 nexttoward -0.00        Infinity ->  1E-6176              Underflow Subnormal Inexact Rounded
dqnextt307 nexttoward -0E-300      Infinity ->  1E-6176              Underflow Subnormal Inexact Rounded
dqnextt308 nexttoward -0E+300      Infinity ->  1E-6176              Underflow Subnormal Inexact Rounded
dqnextt309 nexttoward -0E+30000    Infinity ->  1E-6176              Underflow Subnormal Inexact Rounded

-- specials
dqnextt350 nexttoward   Inf    Infinity ->  Infinity
dqnextt351 nexttoward  -Inf    Infinity -> -9.999999999999999999999999999999999E+6144
dqnextt352 nexttoward   NaN    Infinity ->  NaN
dqnextt353 nexttoward  sNaN    Infinity ->  NaN   Invalid_operation
dqnextt354 nexttoward   NaN77  Infinity ->  NaN77
dqnextt355 nexttoward  sNaN88  Infinity ->  NaN88 Invalid_operation
dqnextt356 nexttoward  -NaN    Infinity -> -NaN
dqnextt357 nexttoward -sNaN    Infinity -> -NaN   Invalid_operation
dqnextt358 nexttoward  -NaN77  Infinity -> -NaN77
dqnextt359 nexttoward -sNaN88  Infinity -> -NaN88 Invalid_operation

-- Nmax, Nmin, Ntiny, subnormals
dqnextt370 nexttoward  -9.999999999999999999999999999999999E+6144  Infinity  -> -9.999999999999999999999999999999998E+6144
dqnextt371 nexttoward  -9.999999999999999999999999999999998E+6144  Infinity  -> -9.999999999999999999999999999999997E+6144
dqnextt372 nexttoward  -1E-6143                  Infinity  -> -9.99999999999999999999999999999999E-6144  Underflow Subnormal Inexact Rounded
dqnextt373 nexttoward  -1.000000000000000E-6143  Infinity  -> -9.99999999999999999999999999999999E-6144  Underflow Subnormal Inexact Rounded
dqnextt374 nexttoward  -9E-6176                  Infinity  -> -8E-6176                 Underflow Subnormal Inexact Rounded
dqnextt375 nexttoward  -9.9E-6175                Infinity  -> -9.8E-6175               Underflow Subnormal Inexact Rounded
dqnextt376 nexttoward  -9.99999999999999999999999999999E-6147      Infinity  -> -9.99999999999999999999999999998E-6147     Underflow Subnormal Inexact Rounded
dqnextt377 nexttoward  -9.99999999999999999999999999999999E-6144   Infinity  -> -9.99999999999999999999999999999998E-6144  Underflow Subnormal Inexact Rounded
dqnextt378 nexttoward  -9.99999999999999999999999999999998E-6144   Infinity  -> -9.99999999999999999999999999999997E-6144  Underflow Subnormal Inexact Rounded
dqnextt379 nexttoward  -9.99999999999999999999999999999997E-6144   Infinity  -> -9.99999999999999999999999999999996E-6144  Underflow Subnormal Inexact Rounded
dqnextt380 nexttoward  -0E-6176                  Infinity  ->  1E-6176                 Underflow Subnormal Inexact Rounded
dqnextt381 nexttoward  -1E-6176                  Infinity  -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped
dqnextt382 nexttoward  -2E-6176                  Infinity  -> -1E-6176                 Underflow Subnormal Inexact Rounded

dqnextt383 nexttoward   0E-6176                  Infinity  ->  1E-6176                 Underflow Subnormal Inexact Rounded
dqnextt384 nexttoward   1E-6176                  Infinity  ->  2E-6176                 Underflow Subnormal Inexact Rounded
dqnextt385 nexttoward   2E-6176                  Infinity  ->  3E-6176                 Underflow Subnormal Inexact Rounded
dqnextt386 nexttoward   10E-6176                 Infinity  ->  1.1E-6175               Underflow Subnormal Inexact Rounded
dqnextt387 nexttoward   100E-6176                Infinity  ->  1.01E-6174              Underflow Subnormal Inexact Rounded
dqnextt388 nexttoward   100000E-6176             Infinity  ->  1.00001E-6171           Underflow Subnormal Inexact Rounded
dqnextt389 nexttoward   1.00000000000000000000000000000E-6143      Infinity  ->  1.000000000000000000000000000000001E-6143
dqnextt390 nexttoward   1.000000000000000000000000000000000E-6143  Infinity  ->  1.000000000000000000000000000000001E-6143
dqnextt391 nexttoward   1E-6143                  Infinity  ->  1.000000000000000000000000000000001E-6143
dqnextt392 nexttoward   9.999999999999999999999999999999997E+6144  Infinity  ->  9.999999999999999999999999999999998E+6144
dqnextt393 nexttoward   9.999999999999999999999999999999998E+6144  Infinity  ->  9.999999999999999999999999999999999E+6144
dqnextt394 nexttoward   9.999999999999999999999999999999999E+6144  Infinity  ->  Infinity               Overflow Inexact Rounded

------- lhs>rhs
dqnextt401 nexttoward  0.9999999999999999999999999999999995  -Infinity ->   0.9999999999999999999999999999999994
dqnextt402 nexttoward  0.9999999999999999999999999999999996  -Infinity ->   0.9999999999999999999999999999999995
dqnextt403 nexttoward  0.9999999999999999999999999999999997  -Infinity ->   0.9999999999999999999999999999999996
dqnextt404 nexttoward  0.9999999999999999999999999999999998  -Infinity ->   0.9999999999999999999999999999999997
dqnextt405 nexttoward  0.9999999999999999999999999999999999  -Infinity ->   0.9999999999999999999999999999999998
dqnextt406 nexttoward  1.000000000000000000000000000000000   -Infinity ->   0.9999999999999999999999999999999999
dqnextt407 nexttoward  1.0          -Infinity ->   0.9999999999999999999999999999999999
dqnextt408 nexttoward  1            -Infinity ->   0.9999999999999999999999999999999999
dqnextt409 nexttoward  1.000000000000000000000000000000001   -Infinity ->   1.000000000000000000000000000000000
dqnextt410 nexttoward  1.000000000000000000000000000000002   -Infinity ->   1.000000000000000000000000000000001
dqnextt411 nexttoward  1.000000000000000000000000000000003   -Infinity ->   1.000000000000000000000000000000002
dqnextt412 nexttoward  1.000000000000000000000000000000004   -Infinity ->   1.000000000000000000000000000000003
dqnextt413 nexttoward  1.000000000000000000000000000000005   -Infinity ->   1.000000000000000000000000000000004
dqnextt414 nexttoward  1.000000000000000000000000000000006   -Infinity ->   1.000000000000000000000000000000005
dqnextt415 nexttoward  1.000000000000000000000000000000007   -Infinity ->   1.000000000000000000000000000000006
dqnextt416 nexttoward  1.000000000000000000000000000000008   -Infinity ->   1.000000000000000000000000000000007
dqnextt417 nexttoward  1.000000000000000000000000000000009   -Infinity ->   1.000000000000000000000000000000008
dqnextt418 nexttoward  1.000000000000000000000000000000010   -Infinity ->   1.000000000000000000000000000000009
dqnextt419 nexttoward  1.000000000000000000000000000000011   -Infinity ->   1.000000000000000000000000000000010
dqnextt420 nexttoward  1.000000000000000000000000000000012   -Infinity ->   1.000000000000000000000000000000011

dqnextt421 nexttoward -0.9999999999999999999999999999999995  -Infinity ->  -0.9999999999999999999999999999999996
dqnextt422 nexttoward -0.9999999999999999999999999999999996  -Infinity ->  -0.9999999999999999999999999999999997
dqnextt423 nexttoward -0.9999999999999999999999999999999997  -Infinity ->  -0.9999999999999999999999999999999998
dqnextt424 nexttoward -0.9999999999999999999999999999999998  -Infinity ->  -0.9999999999999999999999999999999999
dqnextt425 nexttoward -0.9999999999999999999999999999999999  -Infinity ->  -1.000000000000000000000000000000000
dqnextt426 nexttoward -1.000000000000000000000000000000000   -Infinity ->  -1.000000000000000000000000000000001
dqnextt427 nexttoward -1.0          -Infinity ->  -1.000000000000000000000000000000001
dqnextt428 nexttoward -1            -Infinity ->  -1.000000000000000000000000000000001
dqnextt429 nexttoward -1.000000000000000000000000000000001   -Infinity ->  -1.000000000000000000000000000000002
dqnextt430 nexttoward -1.000000000000000000000000000000002   -Infinity ->  -1.000000000000000000000000000000003
dqnextt431 nexttoward -1.000000000000000000000000000000003   -Infinity ->  -1.000000000000000000000000000000004
dqnextt432 nexttoward -1.000000000000000000000000000000004   -Infinity ->  -1.000000000000000000000000000000005
dqnextt433 nexttoward -1.000000000000000000000000000000005   -Infinity ->  -1.000000000000000000000000000000006
dqnextt434 nexttoward -1.000000000000000000000000000000006   -Infinity ->  -1.000000000000000000000000000000007
dqnextt435 nexttoward -1.000000000000000000000000000000007   -Infinity ->  -1.000000000000000000000000000000008
dqnextt436 nexttoward -1.000000000000000000000000000000008   -Infinity ->  -1.000000000000000000000000000000009
dqnextt437 nexttoward -1.000000000000000000000000000000009   -Infinity ->  -1.000000000000000000000000000000010
dqnextt438 nexttoward -1.000000000000000000000000000000010   -Infinity ->  -1.000000000000000000000000000000011
dqnextt439 nexttoward -1.000000000000000000000000000000011   -Infinity ->  -1.000000000000000000000000000000012

-- Zeros
dqnextt500 nexttoward -0            -Infinity -> -1E-6176         Underflow Subnormal Inexact Rounded
dqnextt501 nexttoward  0            -Infinity -> -1E-6176         Underflow Subnormal Inexact Rounded
dqnextt502 nexttoward  0.00         -Infinity -> -1E-6176         Underflow Subnormal Inexact Rounded
dqnextt503 nexttoward -0.00         -Infinity -> -1E-6176         Underflow Subnormal Inexact Rounded
dqnextt504 nexttoward  0E-300       -Infinity -> -1E-6176         Underflow Subnormal Inexact Rounded
dqnextt505 nexttoward  0E+300       -Infinity -> -1E-6176         Underflow Subnormal Inexact Rounded
dqnextt506 nexttoward  0E+30000     -Infinity -> -1E-6176         Underflow Subnormal Inexact Rounded
dqnextt507 nexttoward -0E+30000     -Infinity -> -1E-6176         Underflow Subnormal Inexact Rounded

-- specials
dqnextt550 nexttoward   Inf     -Infinity ->  9.999999999999999999999999999999999E+6144
dqnextt551 nexttoward  -Inf     -Infinity -> -Infinity
dqnextt552 nexttoward   NaN     -Infinity ->  NaN
dqnextt553 nexttoward  sNaN     -Infinity ->  NaN   Invalid_operation
dqnextt554 nexttoward   NaN77   -Infinity ->  NaN77
dqnextt555 nexttoward  sNaN88   -Infinity ->  NaN88 Invalid_operation
dqnextt556 nexttoward  -NaN     -Infinity -> -NaN
dqnextt557 nexttoward -sNaN     -Infinity -> -NaN   Invalid_operation
dqnextt558 nexttoward  -NaN77   -Infinity -> -NaN77
dqnextt559 nexttoward -sNaN88   -Infinity -> -NaN88 Invalid_operation

-- Nmax, Nmin, Ntiny, subnormals
dqnextt670 nexttoward  9.999999999999999999999999999999999E+6144   -Infinity  -> 9.999999999999999999999999999999998E+6144
dqnextt671 nexttoward  9.999999999999999999999999999999998E+6144   -Infinity  -> 9.999999999999999999999999999999997E+6144
dqnextt672 nexttoward  1E-6143                   -Infinity  -> 9.99999999999999999999999999999999E-6144   Underflow Subnormal  Inexact Rounded
dqnextt673 nexttoward  1.000000000000000000000000000000000E-6143   -Infinity  -> 9.99999999999999999999999999999999E-6144   Underflow Subnormal  Inexact Rounded
dqnextt674 nexttoward  9E-6176                   -Infinity  -> 8E-6176                  Underflow Subnormal  Inexact Rounded
dqnextt675 nexttoward  9.9E-6175                 -Infinity  -> 9.8E-6175                Underflow Subnormal  Inexact Rounded
dqnextt676 nexttoward  9.99999999999999999999999999999E-6147       -Infinity  -> 9.99999999999999999999999999998E-6147      Underflow Subnormal  Inexact Rounded
dqnextt677 nexttoward  9.99999999999999999999999999999999E-6144    -Infinity  -> 9.99999999999999999999999999999998E-6144   Underflow Subnormal  Inexact Rounded
dqnextt678 nexttoward  9.99999999999999999999999999999998E-6144    -Infinity  -> 9.99999999999999999999999999999997E-6144   Underflow Subnormal  Inexact Rounded
dqnextt679 nexttoward  9.99999999999999999999999999999997E-6144    -Infinity  -> 9.99999999999999999999999999999996E-6144   Underflow Subnormal  Inexact Rounded
dqnextt680 nexttoward  0E-6176                   -Infinity  -> -1E-6176                 Underflow Subnormal  Inexact Rounded
dqnextt681 nexttoward  1E-6176                   -Infinity  -> 0E-6176                  Underflow Subnormal  Inexact Rounded Clamped
dqnextt682 nexttoward  2E-6176                   -Infinity  -> 1E-6176                  Underflow Subnormal  Inexact Rounded

dqnextt683 nexttoward  -0E-6176                  -Infinity  -> -1E-6176                 Underflow Subnormal  Inexact Rounded
dqnextt684 nexttoward  -1E-6176                  -Infinity  -> -2E-6176                 Underflow Subnormal  Inexact Rounded
dqnextt685 nexttoward  -2E-6176                  -Infinity  -> -3E-6176                 Underflow Subnormal  Inexact Rounded
dqnextt686 nexttoward  -10E-6176                 -Infinity  -> -1.1E-6175               Underflow Subnormal  Inexact Rounded
dqnextt687 nexttoward  -100E-6176                -Infinity  -> -1.01E-6174              Underflow Subnormal  Inexact Rounded
dqnextt688 nexttoward  -100000E-6176             -Infinity  -> -1.00001E-6171           Underflow Subnormal  Inexact Rounded
dqnextt689 nexttoward  -1.00000000000000000000000000000E-6143      -Infinity  -> -1.000000000000000000000000000000001E-6143
dqnextt690 nexttoward  -1.000000000000000000000000000000000E-6143  -Infinity  -> -1.000000000000000000000000000000001E-6143
dqnextt691 nexttoward  -1E-6143                  -Infinity  -> -1.000000000000000000000000000000001E-6143
dqnextt692 nexttoward  -9.999999999999999999999999999999998E+6144  -Infinity  -> -9.999999999999999999999999999999999E+6144
dqnextt693 nexttoward  -9.999999999999999999999999999999999E+6144  -Infinity  -> -Infinity               Overflow Inexact Rounded

------- Specials
dqnextt780 nexttoward -Inf  -Inf   -> -Infinity
dqnextt781 nexttoward -Inf  -1000  -> -9.999999999999999999999999999999999E+6144
dqnextt782 nexttoward -Inf  -1     -> -9.999999999999999999999999999999999E+6144
dqnextt783 nexttoward -Inf  -0     -> -9.999999999999999999999999999999999E+6144
dqnextt784 nexttoward -Inf   0     -> -9.999999999999999999999999999999999E+6144
dqnextt785 nexttoward -Inf   1     -> -9.999999999999999999999999999999999E+6144
dqnextt786 nexttoward -Inf   1000  -> -9.999999999999999999999999999999999E+6144
dqnextt787 nexttoward -1000 -Inf   -> -1000.000000000000000000000000000001
dqnextt788 nexttoward -Inf  -Inf   -> -Infinity
dqnextt789 nexttoward -1    -Inf   -> -1.000000000000000000000000000000001
dqnextt790 nexttoward -0    -Inf   -> -1E-6176           Underflow Subnormal Inexact Rounded
dqnextt791 nexttoward  0    -Inf   -> -1E-6176           Underflow Subnormal Inexact Rounded
dqnextt792 nexttoward  1    -Inf   ->  0.9999999999999999999999999999999999
dqnextt793 nexttoward  1000 -Inf   ->  999.9999999999999999999999999999999
dqnextt794 nexttoward  Inf  -Inf   ->  9.999999999999999999999999999999999E+6144

dqnextt800 nexttoward  Inf  -Inf   ->  9.999999999999999999999999999999999E+6144
dqnextt801 nexttoward  Inf  -1000  ->  9.999999999999999999999999999999999E+6144
dqnextt802 nexttoward  Inf  -1     ->  9.999999999999999999999999999999999E+6144
dqnextt803 nexttoward  Inf  -0     ->  9.999999999999999999999999999999999E+6144
dqnextt804 nexttoward  Inf   0     ->  9.999999999999999999999999999999999E+6144
dqnextt805 nexttoward  Inf   1     ->  9.999999999999999999999999999999999E+6144
dqnextt806 nexttoward  Inf   1000  ->  9.999999999999999999999999999999999E+6144
dqnextt807 nexttoward  Inf   Inf   ->  Infinity
dqnextt808 nexttoward -1000  Inf   -> -999.9999999999999999999999999999999
dqnextt809 nexttoward -Inf   Inf   -> -9.999999999999999999999999999999999E+6144
dqnextt810 nexttoward -1     Inf   -> -0.9999999999999999999999999999999999
dqnextt811 nexttoward -0     Inf   ->  1E-6176           Underflow Subnormal Inexact Rounded
dqnextt812 nexttoward  0     Inf   ->  1E-6176           Underflow Subnormal Inexact Rounded
dqnextt813 nexttoward  1     Inf   ->  1.000000000000000000000000000000001
dqnextt814 nexttoward  1000  Inf   ->  1000.000000000000000000000000000001
dqnextt815 nexttoward  Inf   Inf   ->  Infinity

dqnextt821 nexttoward  NaN -Inf    ->  NaN
dqnextt822 nexttoward  NaN -1000   ->  NaN
dqnextt823 nexttoward  NaN -1      ->  NaN
dqnextt824 nexttoward  NaN -0      ->  NaN
dqnextt825 nexttoward  NaN  0      ->  NaN
dqnextt826 nexttoward  NaN  1      ->  NaN
dqnextt827 nexttoward  NaN  1000   ->  NaN
dqnextt828 nexttoward  NaN  Inf    ->  NaN
dqnextt829 nexttoward  NaN  NaN    ->  NaN
dqnextt830 nexttoward -Inf  NaN    ->  NaN
dqnextt831 nexttoward -1000 NaN    ->  NaN
dqnextt832 nexttoward -1    NaN    ->  NaN
dqnextt833 nexttoward -0    NaN    ->  NaN
dqnextt834 nexttoward  0    NaN    ->  NaN
dqnextt835 nexttoward  1    NaN    ->  NaN
dqnextt836 nexttoward  1000 NaN    ->  NaN
dqnextt837 nexttoward  Inf  NaN    ->  NaN

dqnextt841 nexttoward  sNaN -Inf   ->  NaN  Invalid_operation
dqnextt842 nexttoward  sNaN -1000  ->  NaN  Invalid_operation
dqnextt843 nexttoward  sNaN -1     ->  NaN  Invalid_operation
dqnextt844 nexttoward  sNaN -0     ->  NaN  Invalid_operation
dqnextt845 nexttoward  sNaN  0     ->  NaN  Invalid_operation
dqnextt846 nexttoward  sNaN  1     ->  NaN  Invalid_operation
dqnextt847 nexttoward  sNaN  1000  ->  NaN  Invalid_operation
dqnextt848 nexttoward  sNaN  NaN   ->  NaN  Invalid_operation
dqnextt849 nexttoward  sNaN sNaN   ->  NaN  Invalid_operation
dqnextt850 nexttoward  NaN  sNaN   ->  NaN  Invalid_operation
dqnextt851 nexttoward -Inf  sNaN   ->  NaN  Invalid_operation
dqnextt852 nexttoward -1000 sNaN   ->  NaN  Invalid_operation
dqnextt853 nexttoward -1    sNaN   ->  NaN  Invalid_operation
dqnextt854 nexttoward -0    sNaN   ->  NaN  Invalid_operation
dqnextt855 nexttoward  0    sNaN   ->  NaN  Invalid_operation
dqnextt856 nexttoward  1    sNaN   ->  NaN  Invalid_operation
dqnextt857 nexttoward  1000 sNaN   ->  NaN  Invalid_operation
dqnextt858 nexttoward  Inf  sNaN   ->  NaN  Invalid_operation
dqnextt859 nexttoward  NaN  sNaN   ->  NaN  Invalid_operation

-- propagating NaNs
dqnextt861 nexttoward  NaN1   -Inf    ->  NaN1
dqnextt862 nexttoward +NaN2   -1000   ->  NaN2
dqnextt863 nexttoward  NaN3    1000   ->  NaN3
dqnextt864 nexttoward  NaN4    Inf    ->  NaN4
dqnextt865 nexttoward  NaN5   +NaN6   ->  NaN5
dqnextt866 nexttoward -Inf     NaN7   ->  NaN7
dqnextt867 nexttoward -1000    NaN8   ->  NaN8
dqnextt868 nexttoward  1000    NaN9   ->  NaN9
dqnextt869 nexttoward  Inf    +NaN10  ->  NaN10
dqnextt871 nexttoward  sNaN11  -Inf   ->  NaN11  Invalid_operation
dqnextt872 nexttoward  sNaN12  -1000  ->  NaN12  Invalid_operation
dqnextt873 nexttoward  sNaN13   1000  ->  NaN13  Invalid_operation
dqnextt874 nexttoward  sNaN14   NaN17 ->  NaN14  Invalid_operation
dqnextt875 nexttoward  sNaN15  sNaN18 ->  NaN15  Invalid_operation
dqnextt876 nexttoward  NaN16   sNaN19 ->  NaN19  Invalid_operation
dqnextt877 nexttoward -Inf    +sNaN20 ->  NaN20  Invalid_operation
dqnextt878 nexttoward -1000    sNaN21 ->  NaN21  Invalid_operation
dqnextt879 nexttoward  1000    sNaN22 ->  NaN22  Invalid_operation
dqnextt880 nexttoward  Inf     sNaN23 ->  NaN23  Invalid_operation
dqnextt881 nexttoward +NaN25  +sNaN24 ->  NaN24  Invalid_operation
dqnextt882 nexttoward -NaN26    NaN28 -> -NaN26
dqnextt883 nexttoward -sNaN27  sNaN29 -> -NaN27  Invalid_operation
dqnextt884 nexttoward  1000    -NaN30 -> -NaN30
dqnextt885 nexttoward  1000   -sNaN31 -> -NaN31  Invalid_operation

-- Null tests
dqnextt900 nexttoward 1  # -> NaN Invalid_operation
dqnextt901 nexttoward #  1 -> NaN Invalid_operation

back to top