⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subtract.dectest

📁 eda is an estimation of distributions algorithm
💻 DECTEST
📖 第 1 页 / 共 3 页
字号:
subx334 subtract '700000'  '10000e+9' -> '-9.99999930E+12' Rounded
subx335 subtract '7000000'  '10000e+9' -> '-9.99999300E+12' Rounded
-- symmetry:
subx340 subtract '10000e+9'  '70' -> '1.00000000E+13' Inexact Rounded
subx341 subtract '10000e+9'  '700' -> '1.00000000E+13' Inexact Rounded
subx342 subtract '10000e+9'  '7000' -> '9.99999999E+12' Inexact Rounded
subx343 subtract '10000e+9'  '70000' -> '9.99999993E+12' Rounded
subx344 subtract '10000e+9'  '700000' -> '9.99999930E+12' Rounded
subx345 subtract '10000e+9'  '7000000' -> '9.99999300E+12' Rounded

-- same, higher precision
precision: 15
subx346 subtract '10000e+9'  '7'   -> '9999999999993'
subx347 subtract '10000e+9'  '70'   -> '9999999999930'
subx348 subtract '10000e+9'  '700'   -> '9999999999300'
subx349 subtract '10000e+9'  '7000'   -> '9999999993000'
subx350 subtract '10000e+9'  '70000'   -> '9999999930000'
subx351 subtract '10000e+9'  '700000'   -> '9999999300000'
subx352 subtract '7' '10000e+9'   -> '-9999999999993'
subx353 subtract '70' '10000e+9'   -> '-9999999999930'
subx354 subtract '700' '10000e+9'   -> '-9999999999300'
subx355 subtract '7000' '10000e+9'   -> '-9999999993000'
subx356 subtract '70000' '10000e+9'   -> '-9999999930000'
subx357 subtract '700000' '10000e+9'   -> '-9999999300000'

-- zero preservation
precision: 6
subx360 subtract '10000e+9'  '70000' -> '1.00000E+13' Inexact Rounded
subx361 subtract 1 '0.0001' -> '0.9999'
subx362 subtract 1 '0.00001' -> '0.99999'
subx363 subtract 1 '0.000001' -> '0.999999'
subx364 subtract 1 '0.0000001' -> '1.00000' Inexact Rounded
subx365 subtract 1 '0.00000001' -> '1.00000' Inexact Rounded

-- some funny zeros [in case of bad signum]
subx370 subtract 1  0  -> 1
subx371 subtract 1 0.  -> 1
subx372 subtract 1  .0 -> 1.0
subx373 subtract 1 0.0 -> 1.0
subx374 subtract  0  1 -> -1
subx375 subtract 0.  1 -> -1
subx376 subtract  .0 1 -> -1.0
subx377 subtract 0.0 1 -> -1.0

precision: 9

-- leading 0 digit before round
subx910 subtract -103519362 -51897955.3 -> -51621406.7
subx911 subtract 159579.444 89827.5229 -> 69751.9211

subx920 subtract 333.123456 33.1234566 -> 299.999999 Inexact Rounded
subx921 subtract 333.123456 33.1234565 -> 300.000000 Inexact Rounded
subx922 subtract 133.123456 33.1234565 ->  99.9999995
subx923 subtract 133.123456 33.1234564 ->  99.9999996
subx924 subtract 133.123456 33.1234540 -> 100.000002 Rounded
subx925 subtract 133.123456 43.1234560 ->  90.0000000
subx926 subtract 133.123456 43.1234561 ->  89.9999999
subx927 subtract 133.123456 43.1234566 ->  89.9999994
subx928 subtract 101.123456 91.1234566 ->   9.9999994
subx929 subtract 101.123456 99.1234566 ->   1.9999994

-- more of the same; probe for cluster boundary problems
precision: 1
subx930 subtract  11 2           -> 9
precision: 2
subx932 subtract 101 2           -> 99
precision: 3
subx934 subtract 101 2.1         -> 98.9
subx935 subtract 101 92.01       ->  8.99
precision: 4
subx936 subtract 101 2.01        -> 98.99
subx937 subtract 101 92.01       ->  8.99
subx938 subtract 101 92.006      ->  8.994
precision: 5
subx939 subtract 101 2.001       -> 98.999
subx940 subtract 101 92.001      ->  8.999
subx941 subtract 101 92.0006     ->  8.9994
precision: 6
subx942 subtract 101 2.0001      -> 98.9999
subx943 subtract 101 92.0001     ->  8.9999
subx944 subtract 101 92.00006    ->  8.99994
precision: 7
subx945 subtract 101 2.00001     -> 98.99999
subx946 subtract 101 92.00001    ->  8.99999
subx947 subtract 101 92.000006   ->  8.999994
precision: 8
subx948 subtract 101 2.000001    -> 98.999999
subx949 subtract 101 92.000001   ->  8.999999
subx950 subtract 101 92.0000006  ->  8.9999994
precision: 9
subx951 subtract 101 2.0000001   -> 98.9999999
subx952 subtract 101 92.0000001  ->  8.9999999
subx953 subtract 101 92.00000006 ->  8.99999994

precision: 9

-- more LHS swaps [were fixed]
subx390 subtract '-56267E-10'   0 ->  '-0.0000056267'
subx391 subtract '-56267E-6'    0 ->  '-0.056267'
subx392 subtract '-56267E-5'    0 ->  '-0.56267'
subx393 subtract '-56267E-4'    0 ->  '-5.6267'
subx394 subtract '-56267E-3'    0 ->  '-56.267'
subx395 subtract '-56267E-2'    0 ->  '-562.67'
subx396 subtract '-56267E-1'    0 ->  '-5626.7'
subx397 subtract '-56267E-0'    0 ->  '-56267'
subx398 subtract '-5E-10'       0 ->  '-5E-10'
subx399 subtract '-5E-7'        0 ->  '-5E-7'
subx400 subtract '-5E-6'        0 ->  '-0.000005'
subx401 subtract '-5E-5'        0 ->  '-0.00005'
subx402 subtract '-5E-4'        0 ->  '-0.0005'
subx403 subtract '-5E-1'        0 ->  '-0.5'
subx404 subtract '-5E0'         0 ->  '-5'
subx405 subtract '-5E1'         0 ->  '-50'
subx406 subtract '-5E5'         0 ->  '-500000'
subx407 subtract '-5E8'         0 ->  '-500000000'
subx408 subtract '-5E9'         0 ->  '-5.00000000E+9'   Rounded
subx409 subtract '-5E10'        0 ->  '-5.00000000E+10'  Rounded
subx410 subtract '-5E11'        0 ->  '-5.00000000E+11'  Rounded
subx411 subtract '-5E100'       0 ->  '-5.00000000E+100' Rounded

-- more RHS swaps [were fixed]
subx420 subtract 0  '-56267E-10' ->  '0.0000056267'
subx421 subtract 0  '-56267E-6'  ->  '0.056267'
subx422 subtract 0  '-56267E-5'  ->  '0.56267'
subx423 subtract 0  '-56267E-4'  ->  '5.6267'
subx424 subtract 0  '-56267E-3'  ->  '56.267'
subx425 subtract 0  '-56267E-2'  ->  '562.67'
subx426 subtract 0  '-56267E-1'  ->  '5626.7'
subx427 subtract 0  '-56267E-0'  ->  '56267'
subx428 subtract 0  '-5E-10'     ->  '5E-10'
subx429 subtract 0  '-5E-7'      ->  '5E-7'
subx430 subtract 0  '-5E-6'      ->  '0.000005'
subx431 subtract 0  '-5E-5'      ->  '0.00005'
subx432 subtract 0  '-5E-4'      ->  '0.0005'
subx433 subtract 0  '-5E-1'      ->  '0.5'
subx434 subtract 0  '-5E0'       ->  '5'
subx435 subtract 0  '-5E1'       ->  '50'
subx436 subtract 0  '-5E5'       ->  '500000'
subx437 subtract 0  '-5E8'       ->  '500000000'
subx438 subtract 0  '-5E9'       ->  '5.00000000E+9'    Rounded
subx439 subtract 0  '-5E10'      ->  '5.00000000E+10'   Rounded
subx440 subtract 0  '-5E11'      ->  '5.00000000E+11'   Rounded
subx441 subtract 0  '-5E100'     ->  '5.00000000E+100'  Rounded


-- try borderline precision, with carries, etc.
precision: 15
subx461 subtract '1E+12' '1'       -> '999999999999'
subx462 subtract '1E+12' '-1.11'   -> '1000000000001.11'
subx463 subtract '1.11'  '-1E+12'  -> '1000000000001.11'
subx464 subtract '-1'    '-1E+12'  -> '999999999999'
subx465 subtract '7E+12' '1'       -> '6999999999999'
subx466 subtract '7E+12' '-1.11'   -> '7000000000001.11'
subx467 subtract '1.11'  '-7E+12'  -> '7000000000001.11'
subx468 subtract '-1'    '-7E+12'  -> '6999999999999'

--                 123456789012345       123456789012345      1 23456789012345
subx470 subtract '0.444444444444444'  '-0.555555555555563' -> '1.00000000000001' Inexact Rounded
subx471 subtract '0.444444444444444'  '-0.555555555555562' -> '1.00000000000001' Inexact Rounded
subx472 subtract '0.444444444444444'  '-0.555555555555561' -> '1.00000000000001' Inexact Rounded
subx473 subtract '0.444444444444444'  '-0.555555555555560' -> '1.00000000000000' Inexact Rounded
subx474 subtract '0.444444444444444'  '-0.555555555555559' -> '1.00000000000000' Inexact Rounded
subx475 subtract '0.444444444444444'  '-0.555555555555558' -> '1.00000000000000' Inexact Rounded
subx476 subtract '0.444444444444444'  '-0.555555555555557' -> '1.00000000000000' Inexact Rounded
subx477 subtract '0.444444444444444'  '-0.555555555555556' -> '1.00000000000000' Rounded
subx478 subtract '0.444444444444444'  '-0.555555555555555' -> '0.999999999999999'
subx479 subtract '0.444444444444444'  '-0.555555555555554' -> '0.999999999999998'
subx480 subtract '0.444444444444444'  '-0.555555555555553' -> '0.999999999999997'
subx481 subtract '0.444444444444444'  '-0.555555555555552' -> '0.999999999999996'
subx482 subtract '0.444444444444444'  '-0.555555555555551' -> '0.999999999999995'
subx483 subtract '0.444444444444444'  '-0.555555555555550' -> '0.999999999999994'

-- and some more, including residue effects and different roundings
precision: 9
rounding: half_up
subx500 subtract '123456789' 0             -> '123456789'
subx501 subtract '123456789' 0.000000001   -> '123456789' Inexact Rounded
subx502 subtract '123456789' 0.000001      -> '123456789' Inexact Rounded
subx503 subtract '123456789' 0.1           -> '123456789' Inexact Rounded
subx504 subtract '123456789' 0.4           -> '123456789' Inexact Rounded
subx505 subtract '123456789' 0.49          -> '123456789' Inexact Rounded
subx506 subtract '123456789' 0.499999      -> '123456789' Inexact Rounded
subx507 subtract '123456789' 0.499999999   -> '123456789' Inexact Rounded
subx508 subtract '123456789' 0.5           -> '123456789' Inexact Rounded
subx509 subtract '123456789' 0.500000001   -> '123456788' Inexact Rounded
subx510 subtract '123456789' 0.500001      -> '123456788' Inexact Rounded
subx511 subtract '123456789' 0.51          -> '123456788' Inexact Rounded
subx512 subtract '123456789' 0.6           -> '123456788' Inexact Rounded
subx513 subtract '123456789' 0.9           -> '123456788' Inexact Rounded
subx514 subtract '123456789' 0.99999       -> '123456788' Inexact Rounded
subx515 subtract '123456789' 0.999999999   -> '123456788' Inexact Rounded
subx516 subtract '123456789' 1             -> '123456788'
subx517 subtract '123456789' 1.000000001   -> '123456788' Inexact Rounded
subx518 subtract '123456789' 1.00001       -> '123456788' Inexact Rounded
subx519 subtract '123456789' 1.1           -> '123456788' Inexact Rounded

rounding: half_even
subx520 subtract '123456789' 0             -> '123456789'
subx521 subtract '123456789' 0.000000001   -> '123456789' Inexact Rounded
subx522 subtract '123456789' 0.000001      -> '123456789' Inexact Rounded
subx523 subtract '123456789' 0.1           -> '123456789' Inexact Rounded
subx524 subtract '123456789' 0.4           -> '123456789' Inexact Rounded
subx525 subtract '123456789' 0.49          -> '123456789' Inexact Rounded
subx526 subtract '123456789' 0.499999      -> '123456789' Inexact Rounded
subx527 subtract '123456789' 0.499999999   -> '123456789' Inexact Rounded
subx528 subtract '123456789' 0.5           -> '123456788' Inexact Rounded
subx529 subtract '123456789' 0.500000001   -> '123456788' Inexact Rounded
subx530 subtract '123456789' 0.500001      -> '123456788' Inexact Rounded
subx531 subtract '123456789' 0.51          -> '123456788' Inexact Rounded
subx532 subtract '123456789' 0.6           -> '123456788' Inexact Rounded
subx533 subtract '123456789' 0.9           -> '123456788' Inexact Rounded
subx534 subtract '123456789' 0.99999       -> '123456788' Inexact Rounded
subx535 subtract '123456789' 0.999999999   -> '123456788' Inexact Rounded
subx536 subtract '123456789' 1             -> '123456788'
subx537 subtract '123456789' 1.00000001    -> '123456788' Inexact Rounded
subx538 subtract '123456789' 1.00001       -> '123456788' Inexact Rounded
subx539 subtract '123456789' 1.1           -> '123456788' Inexact Rounded
-- critical few with even bottom digit...
subx540 subtract '123456788' 0.499999999   -> '123456788' Inexact Rounded
subx541 subtract '123456788' 0.5           -> '123456788' Inexact Rounded
subx542 subtract '123456788' 0.500000001   -> '123456787' Inexact Rounded

rounding: down
subx550 subtract '123456789' 0             -> '123456789'
subx551 subtract '123456789' 0.000000001   -> '123456788' Inexact Rounded
subx552 subtract '123456789' 0.000001      -> '123456788' Inexact Rounded
subx553 subtract '123456789' 0.1           -> '123456788' Inexact Rounded
subx554 subtract '123456789' 0.4           -> '123456788' Inexact Rounded
subx555 subtract '123456789' 0.49          -> '123456788' Inexact Rounded
subx556 subtract '123456789' 0.499999      -> '123456788' Inexact Rounded
subx557 subtract '123456789' 0.499999999   -> '123456788' Inexact Rounded
subx558 subtract '123456789' 0.5           -> '123456788' Inexact Rounded
subx559 subtract '123456789' 0.500000001   -> '123456788' Inexact Rounded
subx560 subtract '123456789' 0.500001      -> '123456788' Inexact Rounded
subx561 subtract '123456789' 0.51          -> '123456788' Inexact Rounded
subx562 subtract '123456789' 0.6           -> '123456788' Inexact Rounded
subx563 subtract '123456789' 0.9           -> '123456788' Inexact Rounded
subx564 subtract '123456789' 0.99999       -> '123456788' Inexact Rounded
subx565 subtract '123456789' 0.999999999   -> '123456788' Inexact Rounded
subx566 subtract '123456789' 1             -> '123456788'
subx567 subtract '123456789' 1.00000001    -> '123456787' Inexact Rounded
subx568 subtract '123456789' 1.00001       -> '123456787' Inexact Rounded
subx569 subtract '123456789' 1.1           -> '123456787' Inexact Rounded

-- symmetry...
rounding: half_up
subx600 subtract 0             '123456789' -> '-123456789'
subx601 subtract 0.000000001   '123456789' -> '-123456789' Inexact Rounded
subx602 subtract 0.000001      '123456789' -> '-123456789' Inexact Rounded
subx603 subtract 0.1           '123456789' -> '-123456789' Inexact Rounded
subx604 subtract 0.4           '123456789' -> '-123456789' Inexact Rounded
subx605 subtract 0.49          '123456789' -> '-123456789' Inexact Rounded
subx606 subtract 0.499999      '123456789' -> '-123456789' Inexact Rounded
subx607 subtract 0.499999999   '123456789' -> '-123456789' Inexact Rounded
subx608 subtract 0.5           '123456789' -> '-123456789' Inexact Rounded
subx609 subtract 0.500000001   '123456789' -> '-123456788' Inexact Rounded
subx610 subtract 0.500001      '123456789' -> '-123456788' Inexact Rounded
subx611 subtract 0.51          '123456789' -> '-123456788' Inexact Rounded
subx612 subtract 0.6           '123456789' -> '-123456788' Inexact Rounded
subx613 subtract 0.9           '123456789' -> '-123456788' Inexact Rounded
subx614 subtract 0.99999       '123456789' -> '-123456788' Inexact Rounded
subx615 subtract 0.999999999   '123456789' -> '-123456788' Inexact Rounded
subx616 subtract 1             '123456789' -> '-123456788'
subx617 subtract 1.000000001   '123456789' -> '-123456788' Inexact Rounded
subx618 subtract 1.00001       '123456789' -> '-123456788' Inexact Rounded
subx619 subtract 1.1           '123456789' -> '-123456788' Inexact Rounded

rounding: half_even
subx620 subtract 0             '123456789' -> '-123456789'
subx621 subtract 0.000000001   '123456789' -> '-123456789' Inexact Rounded

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -