📄 subtract.dectest
字号:
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 + -