707 lines
29 KiB
Plaintext
707 lines
29 KiB
Plaintext
|
------------------------------------------------------------------------
|
||
|
-- ddCompareTotal.decTest -- decDouble comparison using total ordering--
|
||
|
-- 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
|
||
|
|
||
|
-- Note that we cannot assume add/subtract tests cover paths adequately,
|
||
|
-- here, because the code might be quite different (comparison cannot
|
||
|
-- overflow or underflow, so actual subtractions are not necessary).
|
||
|
-- Similarly, comparetotal will have some radically different paths
|
||
|
-- than compare.
|
||
|
|
||
|
-- All operands and results are decDoubles.
|
||
|
precision: 16
|
||
|
maxExponent: 384
|
||
|
minExponent: -383
|
||
|
extended: 1
|
||
|
clamp: 1
|
||
|
rounding: half_even
|
||
|
|
||
|
-- sanity checks
|
||
|
ddcot001 comparetotal -2 -2 -> 0
|
||
|
ddcot002 comparetotal -2 -1 -> -1
|
||
|
ddcot003 comparetotal -2 0 -> -1
|
||
|
ddcot004 comparetotal -2 1 -> -1
|
||
|
ddcot005 comparetotal -2 2 -> -1
|
||
|
ddcot006 comparetotal -1 -2 -> 1
|
||
|
ddcot007 comparetotal -1 -1 -> 0
|
||
|
ddcot008 comparetotal -1 0 -> -1
|
||
|
ddcot009 comparetotal -1 1 -> -1
|
||
|
ddcot010 comparetotal -1 2 -> -1
|
||
|
ddcot011 comparetotal 0 -2 -> 1
|
||
|
ddcot012 comparetotal 0 -1 -> 1
|
||
|
ddcot013 comparetotal 0 0 -> 0
|
||
|
ddcot014 comparetotal 0 1 -> -1
|
||
|
ddcot015 comparetotal 0 2 -> -1
|
||
|
ddcot016 comparetotal 1 -2 -> 1
|
||
|
ddcot017 comparetotal 1 -1 -> 1
|
||
|
ddcot018 comparetotal 1 0 -> 1
|
||
|
ddcot019 comparetotal 1 1 -> 0
|
||
|
ddcot020 comparetotal 1 2 -> -1
|
||
|
ddcot021 comparetotal 2 -2 -> 1
|
||
|
ddcot022 comparetotal 2 -1 -> 1
|
||
|
ddcot023 comparetotal 2 0 -> 1
|
||
|
ddcot025 comparetotal 2 1 -> 1
|
||
|
ddcot026 comparetotal 2 2 -> 0
|
||
|
|
||
|
ddcot031 comparetotal -20 -20 -> 0
|
||
|
ddcot032 comparetotal -20 -10 -> -1
|
||
|
ddcot033 comparetotal -20 00 -> -1
|
||
|
ddcot034 comparetotal -20 10 -> -1
|
||
|
ddcot035 comparetotal -20 20 -> -1
|
||
|
ddcot036 comparetotal -10 -20 -> 1
|
||
|
ddcot037 comparetotal -10 -10 -> 0
|
||
|
ddcot038 comparetotal -10 00 -> -1
|
||
|
ddcot039 comparetotal -10 10 -> -1
|
||
|
ddcot040 comparetotal -10 20 -> -1
|
||
|
ddcot041 comparetotal 00 -20 -> 1
|
||
|
ddcot042 comparetotal 00 -10 -> 1
|
||
|
ddcot043 comparetotal 00 00 -> 0
|
||
|
ddcot044 comparetotal 00 10 -> -1
|
||
|
ddcot045 comparetotal 00 20 -> -1
|
||
|
ddcot046 comparetotal 10 -20 -> 1
|
||
|
ddcot047 comparetotal 10 -10 -> 1
|
||
|
ddcot048 comparetotal 10 00 -> 1
|
||
|
ddcot049 comparetotal 10 10 -> 0
|
||
|
ddcot050 comparetotal 10 20 -> -1
|
||
|
ddcot051 comparetotal 20 -20 -> 1
|
||
|
ddcot052 comparetotal 20 -10 -> 1
|
||
|
ddcot053 comparetotal 20 00 -> 1
|
||
|
ddcot055 comparetotal 20 10 -> 1
|
||
|
ddcot056 comparetotal 20 20 -> 0
|
||
|
|
||
|
ddcot061 comparetotal -2.0 -2.0 -> 0
|
||
|
ddcot062 comparetotal -2.0 -1.0 -> -1
|
||
|
ddcot063 comparetotal -2.0 0.0 -> -1
|
||
|
ddcot064 comparetotal -2.0 1.0 -> -1
|
||
|
ddcot065 comparetotal -2.0 2.0 -> -1
|
||
|
ddcot066 comparetotal -1.0 -2.0 -> 1
|
||
|
ddcot067 comparetotal -1.0 -1.0 -> 0
|
||
|
ddcot068 comparetotal -1.0 0.0 -> -1
|
||
|
ddcot069 comparetotal -1.0 1.0 -> -1
|
||
|
ddcot070 comparetotal -1.0 2.0 -> -1
|
||
|
ddcot071 comparetotal 0.0 -2.0 -> 1
|
||
|
ddcot072 comparetotal 0.0 -1.0 -> 1
|
||
|
ddcot073 comparetotal 0.0 0.0 -> 0
|
||
|
ddcot074 comparetotal 0.0 1.0 -> -1
|
||
|
ddcot075 comparetotal 0.0 2.0 -> -1
|
||
|
ddcot076 comparetotal 1.0 -2.0 -> 1
|
||
|
ddcot077 comparetotal 1.0 -1.0 -> 1
|
||
|
ddcot078 comparetotal 1.0 0.0 -> 1
|
||
|
ddcot079 comparetotal 1.0 1.0 -> 0
|
||
|
ddcot080 comparetotal 1.0 2.0 -> -1
|
||
|
ddcot081 comparetotal 2.0 -2.0 -> 1
|
||
|
ddcot082 comparetotal 2.0 -1.0 -> 1
|
||
|
ddcot083 comparetotal 2.0 0.0 -> 1
|
||
|
ddcot085 comparetotal 2.0 1.0 -> 1
|
||
|
ddcot086 comparetotal 2.0 2.0 -> 0
|
||
|
|
||
|
-- now some cases which might overflow if subtract were used
|
||
|
ddcot090 comparetotal 9.99999999E+384 9.99999999E+384 -> 0
|
||
|
ddcot091 comparetotal -9.99999999E+384 9.99999999E+384 -> -1
|
||
|
ddcot092 comparetotal 9.99999999E+384 -9.99999999E+384 -> 1
|
||
|
ddcot093 comparetotal -9.99999999E+384 -9.99999999E+384 -> 0
|
||
|
|
||
|
-- some differing length/exponent cases
|
||
|
-- in this first group, compare would compare all equal
|
||
|
ddcot100 comparetotal 7.0 7.0 -> 0
|
||
|
ddcot101 comparetotal 7.0 7 -> -1
|
||
|
ddcot102 comparetotal 7 7.0 -> 1
|
||
|
ddcot103 comparetotal 7E+0 7.0 -> 1
|
||
|
ddcot104 comparetotal 70E-1 7.0 -> 0
|
||
|
ddcot105 comparetotal 0.7E+1 7 -> 0
|
||
|
ddcot106 comparetotal 70E-1 7 -> -1
|
||
|
ddcot107 comparetotal 7.0 7E+0 -> -1
|
||
|
ddcot108 comparetotal 7.0 70E-1 -> 0
|
||
|
ddcot109 comparetotal 7 0.7E+1 -> 0
|
||
|
ddcot110 comparetotal 7 70E-1 -> 1
|
||
|
|
||
|
ddcot120 comparetotal 8.0 7.0 -> 1
|
||
|
ddcot121 comparetotal 8.0 7 -> 1
|
||
|
ddcot122 comparetotal 8 7.0 -> 1
|
||
|
ddcot123 comparetotal 8E+0 7.0 -> 1
|
||
|
ddcot124 comparetotal 80E-1 7.0 -> 1
|
||
|
ddcot125 comparetotal 0.8E+1 7 -> 1
|
||
|
ddcot126 comparetotal 80E-1 7 -> 1
|
||
|
ddcot127 comparetotal 8.0 7E+0 -> 1
|
||
|
ddcot128 comparetotal 8.0 70E-1 -> 1
|
||
|
ddcot129 comparetotal 8 0.7E+1 -> 1
|
||
|
ddcot130 comparetotal 8 70E-1 -> 1
|
||
|
|
||
|
ddcot140 comparetotal 8.0 9.0 -> -1
|
||
|
ddcot141 comparetotal 8.0 9 -> -1
|
||
|
ddcot142 comparetotal 8 9.0 -> -1
|
||
|
ddcot143 comparetotal 8E+0 9.0 -> -1
|
||
|
ddcot144 comparetotal 80E-1 9.0 -> -1
|
||
|
ddcot145 comparetotal 0.8E+1 9 -> -1
|
||
|
ddcot146 comparetotal 80E-1 9 -> -1
|
||
|
ddcot147 comparetotal 8.0 9E+0 -> -1
|
||
|
ddcot148 comparetotal 8.0 90E-1 -> -1
|
||
|
ddcot149 comparetotal 8 0.9E+1 -> -1
|
||
|
ddcot150 comparetotal 8 90E-1 -> -1
|
||
|
|
||
|
-- and again, with sign changes -+ ..
|
||
|
ddcot200 comparetotal -7.0 7.0 -> -1
|
||
|
ddcot201 comparetotal -7.0 7 -> -1
|
||
|
ddcot202 comparetotal -7 7.0 -> -1
|
||
|
ddcot203 comparetotal -7E+0 7.0 -> -1
|
||
|
ddcot204 comparetotal -70E-1 7.0 -> -1
|
||
|
ddcot205 comparetotal -0.7E+1 7 -> -1
|
||
|
ddcot206 comparetotal -70E-1 7 -> -1
|
||
|
ddcot207 comparetotal -7.0 7E+0 -> -1
|
||
|
ddcot208 comparetotal -7.0 70E-1 -> -1
|
||
|
ddcot209 comparetotal -7 0.7E+1 -> -1
|
||
|
ddcot210 comparetotal -7 70E-1 -> -1
|
||
|
|
||
|
ddcot220 comparetotal -8.0 7.0 -> -1
|
||
|
ddcot221 comparetotal -8.0 7 -> -1
|
||
|
ddcot222 comparetotal -8 7.0 -> -1
|
||
|
ddcot223 comparetotal -8E+0 7.0 -> -1
|
||
|
ddcot224 comparetotal -80E-1 7.0 -> -1
|
||
|
ddcot225 comparetotal -0.8E+1 7 -> -1
|
||
|
ddcot226 comparetotal -80E-1 7 -> -1
|
||
|
ddcot227 comparetotal -8.0 7E+0 -> -1
|
||
|
ddcot228 comparetotal -8.0 70E-1 -> -1
|
||
|
ddcot229 comparetotal -8 0.7E+1 -> -1
|
||
|
ddcot230 comparetotal -8 70E-1 -> -1
|
||
|
|
||
|
ddcot240 comparetotal -8.0 9.0 -> -1
|
||
|
ddcot241 comparetotal -8.0 9 -> -1
|
||
|
ddcot242 comparetotal -8 9.0 -> -1
|
||
|
ddcot243 comparetotal -8E+0 9.0 -> -1
|
||
|
ddcot244 comparetotal -80E-1 9.0 -> -1
|
||
|
ddcot245 comparetotal -0.8E+1 9 -> -1
|
||
|
ddcot246 comparetotal -80E-1 9 -> -1
|
||
|
ddcot247 comparetotal -8.0 9E+0 -> -1
|
||
|
ddcot248 comparetotal -8.0 90E-1 -> -1
|
||
|
ddcot249 comparetotal -8 0.9E+1 -> -1
|
||
|
ddcot250 comparetotal -8 90E-1 -> -1
|
||
|
|
||
|
-- and again, with sign changes +- ..
|
||
|
ddcot300 comparetotal 7.0 -7.0 -> 1
|
||
|
ddcot301 comparetotal 7.0 -7 -> 1
|
||
|
ddcot302 comparetotal 7 -7.0 -> 1
|
||
|
ddcot303 comparetotal 7E+0 -7.0 -> 1
|
||
|
ddcot304 comparetotal 70E-1 -7.0 -> 1
|
||
|
ddcot305 comparetotal .7E+1 -7 -> 1
|
||
|
ddcot306 comparetotal 70E-1 -7 -> 1
|
||
|
ddcot307 comparetotal 7.0 -7E+0 -> 1
|
||
|
ddcot308 comparetotal 7.0 -70E-1 -> 1
|
||
|
ddcot309 comparetotal 7 -.7E+1 -> 1
|
||
|
ddcot310 comparetotal 7 -70E-1 -> 1
|
||
|
|
||
|
ddcot320 comparetotal 8.0 -7.0 -> 1
|
||
|
ddcot321 comparetotal 8.0 -7 -> 1
|
||
|
ddcot322 comparetotal 8 -7.0 -> 1
|
||
|
ddcot323 comparetotal 8E+0 -7.0 -> 1
|
||
|
ddcot324 comparetotal 80E-1 -7.0 -> 1
|
||
|
ddcot325 comparetotal .8E+1 -7 -> 1
|
||
|
ddcot326 comparetotal 80E-1 -7 -> 1
|
||
|
ddcot327 comparetotal 8.0 -7E+0 -> 1
|
||
|
ddcot328 comparetotal 8.0 -70E-1 -> 1
|
||
|
ddcot329 comparetotal 8 -.7E+1 -> 1
|
||
|
ddcot330 comparetotal 8 -70E-1 -> 1
|
||
|
|
||
|
ddcot340 comparetotal 8.0 -9.0 -> 1
|
||
|
ddcot341 comparetotal 8.0 -9 -> 1
|
||
|
ddcot342 comparetotal 8 -9.0 -> 1
|
||
|
ddcot343 comparetotal 8E+0 -9.0 -> 1
|
||
|
ddcot344 comparetotal 80E-1 -9.0 -> 1
|
||
|
ddcot345 comparetotal .8E+1 -9 -> 1
|
||
|
ddcot346 comparetotal 80E-1 -9 -> 1
|
||
|
ddcot347 comparetotal 8.0 -9E+0 -> 1
|
||
|
ddcot348 comparetotal 8.0 -90E-1 -> 1
|
||
|
ddcot349 comparetotal 8 -.9E+1 -> 1
|
||
|
ddcot350 comparetotal 8 -90E-1 -> 1
|
||
|
|
||
|
-- and again, with sign changes -- ..
|
||
|
ddcot400 comparetotal -7.0 -7.0 -> 0
|
||
|
ddcot401 comparetotal -7.0 -7 -> 1
|
||
|
ddcot402 comparetotal -7 -7.0 -> -1
|
||
|
ddcot403 comparetotal -7E+0 -7.0 -> -1
|
||
|
ddcot404 comparetotal -70E-1 -7.0 -> 0
|
||
|
ddcot405 comparetotal -.7E+1 -7 -> 0
|
||
|
ddcot406 comparetotal -70E-1 -7 -> 1
|
||
|
ddcot407 comparetotal -7.0 -7E+0 -> 1
|
||
|
ddcot408 comparetotal -7.0 -70E-1 -> 0
|
||
|
ddcot409 comparetotal -7 -.7E+1 -> 0
|
||
|
ddcot410 comparetotal -7 -70E-1 -> -1
|
||
|
|
||
|
ddcot420 comparetotal -8.0 -7.0 -> -1
|
||
|
ddcot421 comparetotal -8.0 -7 -> -1
|
||
|
ddcot422 comparetotal -8 -7.0 -> -1
|
||
|
ddcot423 comparetotal -8E+0 -7.0 -> -1
|
||
|
ddcot424 comparetotal -80E-1 -7.0 -> -1
|
||
|
ddcot425 comparetotal -.8E+1 -7 -> -1
|
||
|
ddcot426 comparetotal -80E-1 -7 -> -1
|
||
|
ddcot427 comparetotal -8.0 -7E+0 -> -1
|
||
|
ddcot428 comparetotal -8.0 -70E-1 -> -1
|
||
|
ddcot429 comparetotal -8 -.7E+1 -> -1
|
||
|
ddcot430 comparetotal -8 -70E-1 -> -1
|
||
|
|
||
|
ddcot440 comparetotal -8.0 -9.0 -> 1
|
||
|
ddcot441 comparetotal -8.0 -9 -> 1
|
||
|
ddcot442 comparetotal -8 -9.0 -> 1
|
||
|
ddcot443 comparetotal -8E+0 -9.0 -> 1
|
||
|
ddcot444 comparetotal -80E-1 -9.0 -> 1
|
||
|
ddcot445 comparetotal -.8E+1 -9 -> 1
|
||
|
ddcot446 comparetotal -80E-1 -9 -> 1
|
||
|
ddcot447 comparetotal -8.0 -9E+0 -> 1
|
||
|
ddcot448 comparetotal -8.0 -90E-1 -> 1
|
||
|
ddcot449 comparetotal -8 -.9E+1 -> 1
|
||
|
ddcot450 comparetotal -8 -90E-1 -> 1
|
||
|
|
||
|
|
||
|
-- testcases that subtract to lots of zeros at boundaries [pgr]
|
||
|
ddcot473 comparetotal 123.4560000000000E-89 123.456E-89 -> -1
|
||
|
ddcot474 comparetotal 123.456000000000E+89 123.456E+89 -> -1
|
||
|
ddcot475 comparetotal 123.45600000000E-89 123.456E-89 -> -1
|
||
|
ddcot476 comparetotal 123.4560000000E+89 123.456E+89 -> -1
|
||
|
ddcot477 comparetotal 123.456000000E-89 123.456E-89 -> -1
|
||
|
ddcot478 comparetotal 123.45600000E+89 123.456E+89 -> -1
|
||
|
ddcot479 comparetotal 123.4560000E-89 123.456E-89 -> -1
|
||
|
ddcot480 comparetotal 123.456000E+89 123.456E+89 -> -1
|
||
|
ddcot481 comparetotal 123.45600E-89 123.456E-89 -> -1
|
||
|
ddcot482 comparetotal 123.4560E+89 123.456E+89 -> -1
|
||
|
ddcot483 comparetotal 123.456E-89 123.456E-89 -> 0
|
||
|
ddcot487 comparetotal 123.456E+89 123.4560000000000E+89 -> 1
|
||
|
ddcot488 comparetotal 123.456E-89 123.456000000000E-89 -> 1
|
||
|
ddcot489 comparetotal 123.456E+89 123.45600000000E+89 -> 1
|
||
|
ddcot490 comparetotal 123.456E-89 123.4560000000E-89 -> 1
|
||
|
ddcot491 comparetotal 123.456E+89 123.456000000E+89 -> 1
|
||
|
ddcot492 comparetotal 123.456E-89 123.45600000E-89 -> 1
|
||
|
ddcot493 comparetotal 123.456E+89 123.4560000E+89 -> 1
|
||
|
ddcot494 comparetotal 123.456E-89 123.456000E-89 -> 1
|
||
|
ddcot495 comparetotal 123.456E+89 123.45600E+89 -> 1
|
||
|
ddcot496 comparetotal 123.456E-89 123.4560E-89 -> 1
|
||
|
ddcot497 comparetotal 123.456E+89 123.456E+89 -> 0
|
||
|
|
||
|
-- wide-ranging, around precision; signs equal
|
||
|
ddcot498 comparetotal 1 1E-17 -> 1
|
||
|
ddcot499 comparetotal 1 1E-16 -> 1
|
||
|
ddcot500 comparetotal 1 1E-15 -> 1
|
||
|
ddcot501 comparetotal 1 1E-14 -> 1
|
||
|
ddcot502 comparetotal 1 1E-13 -> 1
|
||
|
ddcot503 comparetotal 1 1E-12 -> 1
|
||
|
ddcot504 comparetotal 1 1E-11 -> 1
|
||
|
ddcot505 comparetotal 1 1E-10 -> 1
|
||
|
ddcot506 comparetotal 1 1E-9 -> 1
|
||
|
ddcot507 comparetotal 1 1E-8 -> 1
|
||
|
ddcot508 comparetotal 1 1E-7 -> 1
|
||
|
ddcot509 comparetotal 1 1E-6 -> 1
|
||
|
ddcot510 comparetotal 1 1E-5 -> 1
|
||
|
ddcot511 comparetotal 1 1E-4 -> 1
|
||
|
ddcot512 comparetotal 1 1E-3 -> 1
|
||
|
ddcot513 comparetotal 1 1E-2 -> 1
|
||
|
ddcot514 comparetotal 1 1E-1 -> 1
|
||
|
ddcot515 comparetotal 1 1E-0 -> 0
|
||
|
ddcot516 comparetotal 1 1E+1 -> -1
|
||
|
ddcot517 comparetotal 1 1E+2 -> -1
|
||
|
ddcot518 comparetotal 1 1E+3 -> -1
|
||
|
ddcot519 comparetotal 1 1E+4 -> -1
|
||
|
ddcot521 comparetotal 1 1E+5 -> -1
|
||
|
ddcot522 comparetotal 1 1E+6 -> -1
|
||
|
ddcot523 comparetotal 1 1E+7 -> -1
|
||
|
ddcot524 comparetotal 1 1E+8 -> -1
|
||
|
ddcot525 comparetotal 1 1E+9 -> -1
|
||
|
ddcot526 comparetotal 1 1E+10 -> -1
|
||
|
ddcot527 comparetotal 1 1E+11 -> -1
|
||
|
ddcot528 comparetotal 1 1E+12 -> -1
|
||
|
ddcot529 comparetotal 1 1E+13 -> -1
|
||
|
ddcot530 comparetotal 1 1E+14 -> -1
|
||
|
ddcot531 comparetotal 1 1E+15 -> -1
|
||
|
ddcot532 comparetotal 1 1E+16 -> -1
|
||
|
ddcot533 comparetotal 1 1E+17 -> -1
|
||
|
-- LR swap
|
||
|
ddcot538 comparetotal 1E-17 1 -> -1
|
||
|
ddcot539 comparetotal 1E-16 1 -> -1
|
||
|
ddcot540 comparetotal 1E-15 1 -> -1
|
||
|
ddcot541 comparetotal 1E-14 1 -> -1
|
||
|
ddcot542 comparetotal 1E-13 1 -> -1
|
||
|
ddcot543 comparetotal 1E-12 1 -> -1
|
||
|
ddcot544 comparetotal 1E-11 1 -> -1
|
||
|
ddcot545 comparetotal 1E-10 1 -> -1
|
||
|
ddcot546 comparetotal 1E-9 1 -> -1
|
||
|
ddcot547 comparetotal 1E-8 1 -> -1
|
||
|
ddcot548 comparetotal 1E-7 1 -> -1
|
||
|
ddcot549 comparetotal 1E-6 1 -> -1
|
||
|
ddcot550 comparetotal 1E-5 1 -> -1
|
||
|
ddcot551 comparetotal 1E-4 1 -> -1
|
||
|
ddcot552 comparetotal 1E-3 1 -> -1
|
||
|
ddcot553 comparetotal 1E-2 1 -> -1
|
||
|
ddcot554 comparetotal 1E-1 1 -> -1
|
||
|
ddcot555 comparetotal 1E-0 1 -> 0
|
||
|
ddcot556 comparetotal 1E+1 1 -> 1
|
||
|
ddcot557 comparetotal 1E+2 1 -> 1
|
||
|
ddcot558 comparetotal 1E+3 1 -> 1
|
||
|
ddcot559 comparetotal 1E+4 1 -> 1
|
||
|
ddcot561 comparetotal 1E+5 1 -> 1
|
||
|
ddcot562 comparetotal 1E+6 1 -> 1
|
||
|
ddcot563 comparetotal 1E+7 1 -> 1
|
||
|
ddcot564 comparetotal 1E+8 1 -> 1
|
||
|
ddcot565 comparetotal 1E+9 1 -> 1
|
||
|
ddcot566 comparetotal 1E+10 1 -> 1
|
||
|
ddcot567 comparetotal 1E+11 1 -> 1
|
||
|
ddcot568 comparetotal 1E+12 1 -> 1
|
||
|
ddcot569 comparetotal 1E+13 1 -> 1
|
||
|
ddcot570 comparetotal 1E+14 1 -> 1
|
||
|
ddcot571 comparetotal 1E+15 1 -> 1
|
||
|
ddcot572 comparetotal 1E+16 1 -> 1
|
||
|
ddcot573 comparetotal 1E+17 1 -> 1
|
||
|
-- similar with a useful coefficient, one side only
|
||
|
ddcot578 comparetotal 0.000000987654321 1E-17 -> 1
|
||
|
ddcot579 comparetotal 0.000000987654321 1E-16 -> 1
|
||
|
ddcot580 comparetotal 0.000000987654321 1E-15 -> 1
|
||
|
ddcot581 comparetotal 0.000000987654321 1E-14 -> 1
|
||
|
ddcot582 comparetotal 0.000000987654321 1E-13 -> 1
|
||
|
ddcot583 comparetotal 0.000000987654321 1E-12 -> 1
|
||
|
ddcot584 comparetotal 0.000000987654321 1E-11 -> 1
|
||
|
ddcot585 comparetotal 0.000000987654321 1E-10 -> 1
|
||
|
ddcot586 comparetotal 0.000000987654321 1E-9 -> 1
|
||
|
ddcot587 comparetotal 0.000000987654321 1E-8 -> 1
|
||
|
ddcot588 comparetotal 0.000000987654321 1E-7 -> 1
|
||
|
ddcot589 comparetotal 0.000000987654321 1E-6 -> -1
|
||
|
ddcot590 comparetotal 0.000000987654321 1E-5 -> -1
|
||
|
ddcot591 comparetotal 0.000000987654321 1E-4 -> -1
|
||
|
ddcot592 comparetotal 0.000000987654321 1E-3 -> -1
|
||
|
ddcot593 comparetotal 0.000000987654321 1E-2 -> -1
|
||
|
ddcot594 comparetotal 0.000000987654321 1E-1 -> -1
|
||
|
ddcot595 comparetotal 0.000000987654321 1E-0 -> -1
|
||
|
ddcot596 comparetotal 0.000000987654321 1E+1 -> -1
|
||
|
ddcot597 comparetotal 0.000000987654321 1E+2 -> -1
|
||
|
ddcot598 comparetotal 0.000000987654321 1E+3 -> -1
|
||
|
ddcot599 comparetotal 0.000000987654321 1E+4 -> -1
|
||
|
|
||
|
-- check some unit-y traps
|
||
|
ddcot600 comparetotal 12 12.2345 -> -1
|
||
|
ddcot601 comparetotal 12.0 12.2345 -> -1
|
||
|
ddcot602 comparetotal 12.00 12.2345 -> -1
|
||
|
ddcot603 comparetotal 12.000 12.2345 -> -1
|
||
|
ddcot604 comparetotal 12.0000 12.2345 -> -1
|
||
|
ddcot605 comparetotal 12.00000 12.2345 -> -1
|
||
|
ddcot606 comparetotal 12.000000 12.2345 -> -1
|
||
|
ddcot607 comparetotal 12.0000000 12.2345 -> -1
|
||
|
ddcot608 comparetotal 12.00000000 12.2345 -> -1
|
||
|
ddcot609 comparetotal 12.000000000 12.2345 -> -1
|
||
|
ddcot610 comparetotal 12.1234 12 -> 1
|
||
|
ddcot611 comparetotal 12.1234 12.0 -> 1
|
||
|
ddcot612 comparetotal 12.1234 12.00 -> 1
|
||
|
ddcot613 comparetotal 12.1234 12.000 -> 1
|
||
|
ddcot614 comparetotal 12.1234 12.0000 -> 1
|
||
|
ddcot615 comparetotal 12.1234 12.00000 -> 1
|
||
|
ddcot616 comparetotal 12.1234 12.000000 -> 1
|
||
|
ddcot617 comparetotal 12.1234 12.0000000 -> 1
|
||
|
ddcot618 comparetotal 12.1234 12.00000000 -> 1
|
||
|
ddcot619 comparetotal 12.1234 12.000000000 -> 1
|
||
|
ddcot620 comparetotal -12 -12.2345 -> 1
|
||
|
ddcot621 comparetotal -12.0 -12.2345 -> 1
|
||
|
ddcot622 comparetotal -12.00 -12.2345 -> 1
|
||
|
ddcot623 comparetotal -12.000 -12.2345 -> 1
|
||
|
ddcot624 comparetotal -12.0000 -12.2345 -> 1
|
||
|
ddcot625 comparetotal -12.00000 -12.2345 -> 1
|
||
|
ddcot626 comparetotal -12.000000 -12.2345 -> 1
|
||
|
ddcot627 comparetotal -12.0000000 -12.2345 -> 1
|
||
|
ddcot628 comparetotal -12.00000000 -12.2345 -> 1
|
||
|
ddcot629 comparetotal -12.000000000 -12.2345 -> 1
|
||
|
ddcot630 comparetotal -12.1234 -12 -> -1
|
||
|
ddcot631 comparetotal -12.1234 -12.0 -> -1
|
||
|
ddcot632 comparetotal -12.1234 -12.00 -> -1
|
||
|
ddcot633 comparetotal -12.1234 -12.000 -> -1
|
||
|
ddcot634 comparetotal -12.1234 -12.0000 -> -1
|
||
|
ddcot635 comparetotal -12.1234 -12.00000 -> -1
|
||
|
ddcot636 comparetotal -12.1234 -12.000000 -> -1
|
||
|
ddcot637 comparetotal -12.1234 -12.0000000 -> -1
|
||
|
ddcot638 comparetotal -12.1234 -12.00000000 -> -1
|
||
|
ddcot639 comparetotal -12.1234 -12.000000000 -> -1
|
||
|
|
||
|
-- extended zeros
|
||
|
ddcot640 comparetotal 0 0 -> 0
|
||
|
ddcot641 comparetotal 0 -0 -> 1
|
||
|
ddcot642 comparetotal 0 -0.0 -> 1
|
||
|
ddcot643 comparetotal 0 0.0 -> 1
|
||
|
ddcot644 comparetotal -0 0 -> -1
|
||
|
ddcot645 comparetotal -0 -0 -> 0
|
||
|
ddcot646 comparetotal -0 -0.0 -> -1
|
||
|
ddcot647 comparetotal -0 0.0 -> -1
|
||
|
ddcot648 comparetotal 0.0 0 -> -1
|
||
|
ddcot649 comparetotal 0.0 -0 -> 1
|
||
|
ddcot650 comparetotal 0.0 -0.0 -> 1
|
||
|
ddcot651 comparetotal 0.0 0.0 -> 0
|
||
|
ddcot652 comparetotal -0.0 0 -> -1
|
||
|
ddcot653 comparetotal -0.0 -0 -> 1
|
||
|
ddcot654 comparetotal -0.0 -0.0 -> 0
|
||
|
ddcot655 comparetotal -0.0 0.0 -> -1
|
||
|
|
||
|
ddcot656 comparetotal -0E1 0.0 -> -1
|
||
|
ddcot657 comparetotal -0E2 0.0 -> -1
|
||
|
ddcot658 comparetotal 0E1 0.0 -> 1
|
||
|
ddcot659 comparetotal 0E2 0.0 -> 1
|
||
|
ddcot660 comparetotal -0E1 0 -> -1
|
||
|
ddcot661 comparetotal -0E2 0 -> -1
|
||
|
ddcot662 comparetotal 0E1 0 -> 1
|
||
|
ddcot663 comparetotal 0E2 0 -> 1
|
||
|
ddcot664 comparetotal -0E1 -0E1 -> 0
|
||
|
ddcot665 comparetotal -0E2 -0E1 -> -1
|
||
|
ddcot666 comparetotal 0E1 -0E1 -> 1
|
||
|
ddcot667 comparetotal 0E2 -0E1 -> 1
|
||
|
ddcot668 comparetotal -0E1 -0E2 -> 1
|
||
|
ddcot669 comparetotal -0E2 -0E2 -> 0
|
||
|
ddcot670 comparetotal 0E1 -0E2 -> 1
|
||
|
ddcot671 comparetotal 0E2 -0E2 -> 1
|
||
|
ddcot672 comparetotal -0E1 0E1 -> -1
|
||
|
ddcot673 comparetotal -0E2 0E1 -> -1
|
||
|
ddcot674 comparetotal 0E1 0E1 -> 0
|
||
|
ddcot675 comparetotal 0E2 0E1 -> 1
|
||
|
ddcot676 comparetotal -0E1 0E2 -> -1
|
||
|
ddcot677 comparetotal -0E2 0E2 -> -1
|
||
|
ddcot678 comparetotal 0E1 0E2 -> -1
|
||
|
ddcot679 comparetotal 0E2 0E2 -> 0
|
||
|
|
||
|
-- trailing zeros; unit-y
|
||
|
ddcot680 comparetotal 12 12 -> 0
|
||
|
ddcot681 comparetotal 12 12.0 -> 1
|
||
|
ddcot682 comparetotal 12 12.00 -> 1
|
||
|
ddcot683 comparetotal 12 12.000 -> 1
|
||
|
ddcot684 comparetotal 12 12.0000 -> 1
|
||
|
ddcot685 comparetotal 12 12.00000 -> 1
|
||
|
ddcot686 comparetotal 12 12.000000 -> 1
|
||
|
ddcot687 comparetotal 12 12.0000000 -> 1
|
||
|
ddcot688 comparetotal 12 12.00000000 -> 1
|
||
|
ddcot689 comparetotal 12 12.000000000 -> 1
|
||
|
ddcot690 comparetotal 12 12 -> 0
|
||
|
ddcot691 comparetotal 12.0 12 -> -1
|
||
|
ddcot692 comparetotal 12.00 12 -> -1
|
||
|
ddcot693 comparetotal 12.000 12 -> -1
|
||
|
ddcot694 comparetotal 12.0000 12 -> -1
|
||
|
ddcot695 comparetotal 12.00000 12 -> -1
|
||
|
ddcot696 comparetotal 12.000000 12 -> -1
|
||
|
ddcot697 comparetotal 12.0000000 12 -> -1
|
||
|
ddcot698 comparetotal 12.00000000 12 -> -1
|
||
|
ddcot699 comparetotal 12.000000000 12 -> -1
|
||
|
|
||
|
-- old long operand checks
|
||
|
ddcot701 comparetotal 12345678000 1 -> 1
|
||
|
ddcot702 comparetotal 1 12345678000 -> -1
|
||
|
ddcot703 comparetotal 1234567800 1 -> 1
|
||
|
ddcot704 comparetotal 1 1234567800 -> -1
|
||
|
ddcot705 comparetotal 1234567890 1 -> 1
|
||
|
ddcot706 comparetotal 1 1234567890 -> -1
|
||
|
ddcot707 comparetotal 1234567891 1 -> 1
|
||
|
ddcot708 comparetotal 1 1234567891 -> -1
|
||
|
ddcot709 comparetotal 12345678901 1 -> 1
|
||
|
ddcot710 comparetotal 1 12345678901 -> -1
|
||
|
ddcot711 comparetotal 1234567896 1 -> 1
|
||
|
ddcot712 comparetotal 1 1234567896 -> -1
|
||
|
ddcot713 comparetotal -1234567891 1 -> -1
|
||
|
ddcot714 comparetotal 1 -1234567891 -> 1
|
||
|
ddcot715 comparetotal -12345678901 1 -> -1
|
||
|
ddcot716 comparetotal 1 -12345678901 -> 1
|
||
|
ddcot717 comparetotal -1234567896 1 -> -1
|
||
|
ddcot718 comparetotal 1 -1234567896 -> 1
|
||
|
|
||
|
-- old residue cases
|
||
|
ddcot740 comparetotal 1 0.9999999 -> 1
|
||
|
ddcot741 comparetotal 1 0.999999 -> 1
|
||
|
ddcot742 comparetotal 1 0.99999 -> 1
|
||
|
ddcot743 comparetotal 1 1.0000 -> 1
|
||
|
ddcot744 comparetotal 1 1.00001 -> -1
|
||
|
ddcot745 comparetotal 1 1.000001 -> -1
|
||
|
ddcot746 comparetotal 1 1.0000001 -> -1
|
||
|
ddcot750 comparetotal 0.9999999 1 -> -1
|
||
|
ddcot751 comparetotal 0.999999 1 -> -1
|
||
|
ddcot752 comparetotal 0.99999 1 -> -1
|
||
|
ddcot753 comparetotal 1.0000 1 -> -1
|
||
|
ddcot754 comparetotal 1.00001 1 -> 1
|
||
|
ddcot755 comparetotal 1.000001 1 -> 1
|
||
|
ddcot756 comparetotal 1.0000001 1 -> 1
|
||
|
|
||
|
-- Specials
|
||
|
ddcot780 comparetotal Inf -Inf -> 1
|
||
|
ddcot781 comparetotal Inf -1000 -> 1
|
||
|
ddcot782 comparetotal Inf -1 -> 1
|
||
|
ddcot783 comparetotal Inf -0 -> 1
|
||
|
ddcot784 comparetotal Inf 0 -> 1
|
||
|
ddcot785 comparetotal Inf 1 -> 1
|
||
|
ddcot786 comparetotal Inf 1000 -> 1
|
||
|
ddcot787 comparetotal Inf Inf -> 0
|
||
|
ddcot788 comparetotal -1000 Inf -> -1
|
||
|
ddcot789 comparetotal -Inf Inf -> -1
|
||
|
ddcot790 comparetotal -1 Inf -> -1
|
||
|
ddcot791 comparetotal -0 Inf -> -1
|
||
|
ddcot792 comparetotal 0 Inf -> -1
|
||
|
ddcot793 comparetotal 1 Inf -> -1
|
||
|
ddcot794 comparetotal 1000 Inf -> -1
|
||
|
ddcot795 comparetotal Inf Inf -> 0
|
||
|
|
||
|
ddcot800 comparetotal -Inf -Inf -> 0
|
||
|
ddcot801 comparetotal -Inf -1000 -> -1
|
||
|
ddcot802 comparetotal -Inf -1 -> -1
|
||
|
ddcot803 comparetotal -Inf -0 -> -1
|
||
|
ddcot804 comparetotal -Inf 0 -> -1
|
||
|
ddcot805 comparetotal -Inf 1 -> -1
|
||
|
ddcot806 comparetotal -Inf 1000 -> -1
|
||
|
ddcot807 comparetotal -Inf Inf -> -1
|
||
|
ddcot808 comparetotal -Inf -Inf -> 0
|
||
|
ddcot809 comparetotal -1000 -Inf -> 1
|
||
|
ddcot810 comparetotal -1 -Inf -> 1
|
||
|
ddcot811 comparetotal -0 -Inf -> 1
|
||
|
ddcot812 comparetotal 0 -Inf -> 1
|
||
|
ddcot813 comparetotal 1 -Inf -> 1
|
||
|
ddcot814 comparetotal 1000 -Inf -> 1
|
||
|
ddcot815 comparetotal Inf -Inf -> 1
|
||
|
|
||
|
ddcot821 comparetotal NaN -Inf -> 1
|
||
|
ddcot822 comparetotal NaN -1000 -> 1
|
||
|
ddcot823 comparetotal NaN -1 -> 1
|
||
|
ddcot824 comparetotal NaN -0 -> 1
|
||
|
ddcot825 comparetotal NaN 0 -> 1
|
||
|
ddcot826 comparetotal NaN 1 -> 1
|
||
|
ddcot827 comparetotal NaN 1000 -> 1
|
||
|
ddcot828 comparetotal NaN Inf -> 1
|
||
|
ddcot829 comparetotal NaN NaN -> 0
|
||
|
ddcot830 comparetotal -Inf NaN -> -1
|
||
|
ddcot831 comparetotal -1000 NaN -> -1
|
||
|
ddcot832 comparetotal -1 NaN -> -1
|
||
|
ddcot833 comparetotal -0 NaN -> -1
|
||
|
ddcot834 comparetotal 0 NaN -> -1
|
||
|
ddcot835 comparetotal 1 NaN -> -1
|
||
|
ddcot836 comparetotal 1000 NaN -> -1
|
||
|
ddcot837 comparetotal Inf NaN -> -1
|
||
|
ddcot838 comparetotal -NaN -NaN -> 0
|
||
|
ddcot839 comparetotal +NaN -NaN -> 1
|
||
|
ddcot840 comparetotal -NaN +NaN -> -1
|
||
|
|
||
|
ddcot841 comparetotal sNaN -sNaN -> 1
|
||
|
ddcot842 comparetotal sNaN -NaN -> 1
|
||
|
ddcot843 comparetotal sNaN -Inf -> 1
|
||
|
ddcot844 comparetotal sNaN -1000 -> 1
|
||
|
ddcot845 comparetotal sNaN -1 -> 1
|
||
|
ddcot846 comparetotal sNaN -0 -> 1
|
||
|
ddcot847 comparetotal sNaN 0 -> 1
|
||
|
ddcot848 comparetotal sNaN 1 -> 1
|
||
|
ddcot849 comparetotal sNaN 1000 -> 1
|
||
|
ddcot850 comparetotal sNaN NaN -> -1
|
||
|
ddcot851 comparetotal sNaN sNaN -> 0
|
||
|
|
||
|
ddcot852 comparetotal -sNaN sNaN -> -1
|
||
|
ddcot853 comparetotal -NaN sNaN -> -1
|
||
|
ddcot854 comparetotal -Inf sNaN -> -1
|
||
|
ddcot855 comparetotal -1000 sNaN -> -1
|
||
|
ddcot856 comparetotal -1 sNaN -> -1
|
||
|
ddcot857 comparetotal -0 sNaN -> -1
|
||
|
ddcot858 comparetotal 0 sNaN -> -1
|
||
|
ddcot859 comparetotal 1 sNaN -> -1
|
||
|
ddcot860 comparetotal 1000 sNaN -> -1
|
||
|
ddcot861 comparetotal Inf sNaN -> -1
|
||
|
ddcot862 comparetotal NaN sNaN -> 1
|
||
|
ddcot863 comparetotal sNaN sNaN -> 0
|
||
|
|
||
|
ddcot871 comparetotal -sNaN -sNaN -> 0
|
||
|
ddcot872 comparetotal -sNaN -NaN -> 1
|
||
|
ddcot873 comparetotal -sNaN -Inf -> -1
|
||
|
ddcot874 comparetotal -sNaN -1000 -> -1
|
||
|
ddcot875 comparetotal -sNaN -1 -> -1
|
||
|
ddcot876 comparetotal -sNaN -0 -> -1
|
||
|
ddcot877 comparetotal -sNaN 0 -> -1
|
||
|
ddcot878 comparetotal -sNaN 1 -> -1
|
||
|
ddcot879 comparetotal -sNaN 1000 -> -1
|
||
|
ddcot880 comparetotal -sNaN NaN -> -1
|
||
|
ddcot881 comparetotal -sNaN sNaN -> -1
|
||
|
|
||
|
ddcot882 comparetotal -sNaN -sNaN -> 0
|
||
|
ddcot883 comparetotal -NaN -sNaN -> -1
|
||
|
ddcot884 comparetotal -Inf -sNaN -> 1
|
||
|
ddcot885 comparetotal -1000 -sNaN -> 1
|
||
|
ddcot886 comparetotal -1 -sNaN -> 1
|
||
|
ddcot887 comparetotal -0 -sNaN -> 1
|
||
|
ddcot888 comparetotal 0 -sNaN -> 1
|
||
|
ddcot889 comparetotal 1 -sNaN -> 1
|
||
|
ddcot890 comparetotal 1000 -sNaN -> 1
|
||
|
ddcot891 comparetotal Inf -sNaN -> 1
|
||
|
ddcot892 comparetotal NaN -sNaN -> 1
|
||
|
ddcot893 comparetotal sNaN -sNaN -> 1
|
||
|
|
||
|
-- NaNs with payload
|
||
|
ddcot960 comparetotal NaN9 -Inf -> 1
|
||
|
ddcot961 comparetotal NaN8 999 -> 1
|
||
|
ddcot962 comparetotal NaN77 Inf -> 1
|
||
|
ddcot963 comparetotal -NaN67 NaN5 -> -1
|
||
|
ddcot964 comparetotal -Inf -NaN4 -> 1
|
||
|
ddcot965 comparetotal -999 -NaN33 -> 1
|
||
|
ddcot966 comparetotal Inf NaN2 -> -1
|
||
|
|
||
|
ddcot970 comparetotal -NaN41 -NaN42 -> 1
|
||
|
ddcot971 comparetotal +NaN41 -NaN42 -> 1
|
||
|
ddcot972 comparetotal -NaN41 +NaN42 -> -1
|
||
|
ddcot973 comparetotal +NaN41 +NaN42 -> -1
|
||
|
ddcot974 comparetotal -NaN42 -NaN01 -> -1
|
||
|
ddcot975 comparetotal +NaN42 -NaN01 -> 1
|
||
|
ddcot976 comparetotal -NaN42 +NaN01 -> -1
|
||
|
ddcot977 comparetotal +NaN42 +NaN01 -> 1
|
||
|
|
||
|
ddcot980 comparetotal -sNaN771 -sNaN772 -> 1
|
||
|
ddcot981 comparetotal +sNaN771 -sNaN772 -> 1
|
||
|
ddcot982 comparetotal -sNaN771 +sNaN772 -> -1
|
||
|
ddcot983 comparetotal +sNaN771 +sNaN772 -> -1
|
||
|
ddcot984 comparetotal -sNaN772 -sNaN771 -> -1
|
||
|
ddcot985 comparetotal +sNaN772 -sNaN771 -> 1
|
||
|
ddcot986 comparetotal -sNaN772 +sNaN771 -> -1
|
||
|
ddcot987 comparetotal +sNaN772 +sNaN771 -> 1
|
||
|
|
||
|
ddcot991 comparetotal -sNaN99 -Inf -> -1
|
||
|
ddcot992 comparetotal sNaN98 -11 -> 1
|
||
|
ddcot993 comparetotal sNaN97 NaN -> -1
|
||
|
ddcot994 comparetotal sNaN16 sNaN94 -> -1
|
||
|
ddcot995 comparetotal NaN85 sNaN83 -> 1
|
||
|
ddcot996 comparetotal -Inf sNaN92 -> -1
|
||
|
ddcot997 comparetotal 088 sNaN81 -> -1
|
||
|
ddcot998 comparetotal Inf sNaN90 -> -1
|
||
|
ddcot999 comparetotal NaN -sNaN89 -> 1
|
||
|
|
||
|
-- spread zeros
|
||
|
ddcot1110 comparetotal 0E-383 0 -> -1
|
||
|
ddcot1111 comparetotal 0E-383 -0 -> 1
|
||
|
ddcot1112 comparetotal -0E-383 0 -> -1
|
||
|
ddcot1113 comparetotal -0E-383 -0 -> 1
|
||
|
ddcot1114 comparetotal 0E-383 0E+384 -> -1
|
||
|
ddcot1115 comparetotal 0E-383 -0E+384 -> 1
|
||
|
ddcot1116 comparetotal -0E-383 0E+384 -> -1
|
||
|
ddcot1117 comparetotal -0E-383 -0E+384 -> 1
|
||
|
ddcot1118 comparetotal 0 0E+384 -> -1
|
||
|
ddcot1119 comparetotal 0 -0E+384 -> 1
|
||
|
ddcot1120 comparetotal -0 0E+384 -> -1
|
||
|
ddcot1121 comparetotal -0 -0E+384 -> 1
|
||
|
|
||
|
ddcot1130 comparetotal 0E+384 0 -> 1
|
||
|
ddcot1131 comparetotal 0E+384 -0 -> 1
|
||
|
ddcot1132 comparetotal -0E+384 0 -> -1
|
||
|
ddcot1133 comparetotal -0E+384 -0 -> -1
|
||
|
ddcot1134 comparetotal 0E+384 0E-383 -> 1
|
||
|
ddcot1135 comparetotal 0E+384 -0E-383 -> 1
|
||
|
ddcot1136 comparetotal -0E+384 0E-383 -> -1
|
||
|
ddcot1137 comparetotal -0E+384 -0E-383 -> -1
|
||
|
ddcot1138 comparetotal 0 0E-383 -> 1
|
||
|
ddcot1139 comparetotal 0 -0E-383 -> 1
|
||
|
ddcot1140 comparetotal -0 0E-383 -> -1
|
||
|
ddcot1141 comparetotal -0 -0E-383 -> -1
|
||
|
|
||
|
-- Null tests
|
||
|
ddcot9990 comparetotal 10 # -> NaN Invalid_operation
|
||
|
ddcot9991 comparetotal # 10 -> NaN Invalid_operation
|