📄 add.dectest
字号:
addx271 add '9999999999999' 12345678900000 -> '2.23E+13' Inexact Rounded
addx272 add '12E+3' '3444' -> '1.54E+4' Inexact Rounded
addx273 add '12E+3' '3446' -> '1.54E+4' Inexact Rounded
addx274 add '12E+3' '3449.9' -> '1.54E+4' Inexact Rounded
addx275 add '12E+3' '3450.0' -> '1.55E+4' Inexact Rounded
addx276 add '12E+3' '3450.1' -> '1.55E+4' Inexact Rounded
addx277 add '12E+3' '3454' -> '1.55E+4' Inexact Rounded
addx278 add '12E+3' '3456' -> '1.55E+4' Inexact Rounded
addx281 add '3444' '12E+3' -> '1.54E+4' Inexact Rounded
addx282 add '3446' '12E+3' -> '1.54E+4' Inexact Rounded
addx283 add '3449.9' '12E+3' -> '1.54E+4' Inexact Rounded
addx284 add '3450.0' '12E+3' -> '1.55E+4' Inexact Rounded
addx285 add '3450.1' '12E+3' -> '1.55E+4' Inexact Rounded
addx286 add '3454' '12E+3' -> '1.55E+4' Inexact Rounded
addx287 add '3456' '12E+3' -> '1.55E+4' Inexact Rounded
rounding: half_down
addx291 add '3444' '12E+3' -> '1.54E+4' Inexact Rounded
addx292 add '3446' '12E+3' -> '1.54E+4' Inexact Rounded
addx293 add '3449.9' '12E+3' -> '1.54E+4' Inexact Rounded
addx294 add '3450.0' '12E+3' -> '1.54E+4' Inexact Rounded
addx295 add '3450.1' '12E+3' -> '1.55E+4' Inexact Rounded
addx296 add '3454' '12E+3' -> '1.55E+4' Inexact Rounded
addx297 add '3456' '12E+3' -> '1.55E+4' Inexact Rounded
-- 1 in last place tests
rounding: half_up
addx301 add -1 1 -> 0
addx302 add 0 1 -> 1
addx303 add 1 1 -> 2
addx304 add 12 1 -> 13
addx305 add 98 1 -> 99
addx306 add 99 1 -> 100
addx307 add 100 1 -> 101
addx308 add 101 1 -> 102
addx309 add -1 -1 -> -2
addx310 add 0 -1 -> -1
addx311 add 1 -1 -> 0
addx312 add 12 -1 -> 11
addx313 add 98 -1 -> 97
addx314 add 99 -1 -> 98
addx315 add 100 -1 -> 99
addx316 add 101 -1 -> 100
addx321 add -0.01 0.01 -> 0.00
addx322 add 0.00 0.01 -> 0.01
addx323 add 0.01 0.01 -> 0.02
addx324 add 0.12 0.01 -> 0.13
addx325 add 0.98 0.01 -> 0.99
addx326 add 0.99 0.01 -> 1.00
addx327 add 1.00 0.01 -> 1.01
addx328 add 1.01 0.01 -> 1.02
addx329 add -0.01 -0.01 -> -0.02
addx330 add 0.00 -0.01 -> -0.01
addx331 add 0.01 -0.01 -> 0.00
addx332 add 0.12 -0.01 -> 0.11
addx333 add 0.98 -0.01 -> 0.97
addx334 add 0.99 -0.01 -> 0.98
addx335 add 1.00 -0.01 -> 0.99
addx336 add 1.01 -0.01 -> 1.00
-- some more cases where adding 0 affects the coefficient
precision: 9
addx340 add 1E+3 0 -> 1000
addx341 add 1E+8 0 -> 100000000
addx342 add 1E+9 0 -> 1.00000000E+9 Rounded
addx343 add 1E+10 0 -> 1.00000000E+10 Rounded
-- which simply follow from these cases ...
addx344 add 1E+3 1 -> 1001
addx345 add 1E+8 1 -> 100000001
addx346 add 1E+9 1 -> 1.00000000E+9 Inexact Rounded
addx347 add 1E+10 1 -> 1.00000000E+10 Inexact Rounded
addx348 add 1E+3 7 -> 1007
addx349 add 1E+8 7 -> 100000007
addx350 add 1E+9 7 -> 1.00000001E+9 Inexact Rounded
addx351 add 1E+10 7 -> 1.00000000E+10 Inexact Rounded
-- ulp replacement tests
maxexponent: 999999999
addx400 add 1 77e-7 -> 1.0000077
addx401 add 1 77e-8 -> 1.00000077
addx402 add 1 77e-9 -> 1.00000008 Inexact Rounded
addx403 add 1 77e-10 -> 1.00000001 Inexact Rounded
addx404 add 1 77e-11 -> 1.00000000 Inexact Rounded
addx405 add 1 77e-12 -> 1.00000000 Inexact Rounded
addx406 add 1 77e-999 -> 1.00000000 Inexact Rounded
addx407 add 1 77e-9999999 -> 1.00000000 Inexact Rounded
addx410 add 10 77e-7 -> 10.0000077
addx411 add 10 77e-8 -> 10.0000008 Inexact Rounded
addx412 add 10 77e-9 -> 10.0000001 Inexact Rounded
addx413 add 10 77e-10 -> 10.0000000 Inexact Rounded
addx414 add 10 77e-11 -> 10.0000000 Inexact Rounded
addx415 add 10 77e-12 -> 10.0000000 Inexact Rounded
addx416 add 10 77e-999 -> 10.0000000 Inexact Rounded
addx417 add 10 77e-9999999 -> 10.0000000 Inexact Rounded
addx420 add 77e-7 1 -> 1.0000077
addx421 add 77e-8 1 -> 1.00000077
addx422 add 77e-9 1 -> 1.00000008 Inexact Rounded
addx423 add 77e-10 1 -> 1.00000001 Inexact Rounded
addx424 add 77e-11 1 -> 1.00000000 Inexact Rounded
addx425 add 77e-12 1 -> 1.00000000 Inexact Rounded
addx426 add 77e-999 1 -> 1.00000000 Inexact Rounded
addx427 add 77e-9999999 1 -> 1.00000000 Inexact Rounded
addx430 add 77e-7 10 -> 10.0000077
addx431 add 77e-8 10 -> 10.0000008 Inexact Rounded
addx432 add 77e-9 10 -> 10.0000001 Inexact Rounded
addx433 add 77e-10 10 -> 10.0000000 Inexact Rounded
addx434 add 77e-11 10 -> 10.0000000 Inexact Rounded
addx435 add 77e-12 10 -> 10.0000000 Inexact Rounded
addx436 add 77e-999 10 -> 10.0000000 Inexact Rounded
addx437 add 77e-9999999 10 -> 10.0000000 Inexact Rounded
-- negative ulps
addx440 add 1 -77e-7 -> 0.9999923
addx441 add 1 -77e-8 -> 0.99999923
addx442 add 1 -77e-9 -> 0.999999923
addx443 add 1 -77e-10 -> 0.999999992 Inexact Rounded
addx444 add 1 -77e-11 -> 0.999999999 Inexact Rounded
addx445 add 1 -77e-12 -> 1.00000000 Inexact Rounded
addx446 add 1 -77e-999 -> 1.00000000 Inexact Rounded
addx447 add 1 -77e-9999999 -> 1.00000000 Inexact Rounded
addx450 add 10 -77e-7 -> 9.9999923
addx451 add 10 -77e-8 -> 9.99999923
addx452 add 10 -77e-9 -> 9.99999992 Inexact Rounded
addx453 add 10 -77e-10 -> 9.99999999 Inexact Rounded
addx454 add 10 -77e-11 -> 10.0000000 Inexact Rounded
addx455 add 10 -77e-12 -> 10.0000000 Inexact Rounded
addx456 add 10 -77e-999 -> 10.0000000 Inexact Rounded
addx457 add 10 -77e-9999999 -> 10.0000000 Inexact Rounded
addx460 add -77e-7 1 -> 0.9999923
addx461 add -77e-8 1 -> 0.99999923
addx462 add -77e-9 1 -> 0.999999923
addx463 add -77e-10 1 -> 0.999999992 Inexact Rounded
addx464 add -77e-11 1 -> 0.999999999 Inexact Rounded
addx465 add -77e-12 1 -> 1.00000000 Inexact Rounded
addx466 add -77e-999 1 -> 1.00000000 Inexact Rounded
addx467 add -77e-9999999 1 -> 1.00000000 Inexact Rounded
addx470 add -77e-7 10 -> 9.9999923
addx471 add -77e-8 10 -> 9.99999923
addx472 add -77e-9 10 -> 9.99999992 Inexact Rounded
addx473 add -77e-10 10 -> 9.99999999 Inexact Rounded
addx474 add -77e-11 10 -> 10.0000000 Inexact Rounded
addx475 add -77e-12 10 -> 10.0000000 Inexact Rounded
addx476 add -77e-999 10 -> 10.0000000 Inexact Rounded
addx477 add -77e-9999999 10 -> 10.0000000 Inexact Rounded
-- negative ulps
addx480 add -1 77e-7 -> -0.9999923
addx481 add -1 77e-8 -> -0.99999923
addx482 add -1 77e-9 -> -0.999999923
addx483 add -1 77e-10 -> -0.999999992 Inexact Rounded
addx484 add -1 77e-11 -> -0.999999999 Inexact Rounded
addx485 add -1 77e-12 -> -1.00000000 Inexact Rounded
addx486 add -1 77e-999 -> -1.00000000 Inexact Rounded
addx487 add -1 77e-9999999 -> -1.00000000 Inexact Rounded
addx490 add -10 77e-7 -> -9.9999923
addx491 add -10 77e-8 -> -9.99999923
addx492 add -10 77e-9 -> -9.99999992 Inexact Rounded
addx493 add -10 77e-10 -> -9.99999999 Inexact Rounded
addx494 add -10 77e-11 -> -10.0000000 Inexact Rounded
addx495 add -10 77e-12 -> -10.0000000 Inexact Rounded
addx496 add -10 77e-999 -> -10.0000000 Inexact Rounded
addx497 add -10 77e-9999999 -> -10.0000000 Inexact Rounded
addx500 add 77e-7 -1 -> -0.9999923
addx501 add 77e-8 -1 -> -0.99999923
addx502 add 77e-9 -1 -> -0.999999923
addx503 add 77e-10 -1 -> -0.999999992 Inexact Rounded
addx504 add 77e-11 -1 -> -0.999999999 Inexact Rounded
addx505 add 77e-12 -1 -> -1.00000000 Inexact Rounded
addx506 add 77e-999 -1 -> -1.00000000 Inexact Rounded
addx507 add 77e-9999999 -1 -> -1.00000000 Inexact Rounded
addx510 add 77e-7 -10 -> -9.9999923
addx511 add 77e-8 -10 -> -9.99999923
addx512 add 77e-9 -10 -> -9.99999992 Inexact Rounded
addx513 add 77e-10 -10 -> -9.99999999 Inexact Rounded
addx514 add 77e-11 -10 -> -10.0000000 Inexact Rounded
addx515 add 77e-12 -10 -> -10.0000000 Inexact Rounded
addx516 add 77e-999 -10 -> -10.0000000 Inexact Rounded
addx517 add 77e-9999999 -10 -> -10.0000000 Inexact Rounded
-- long operands
maxexponent: 999
precision: 9
addx521 add 12345678000 0 -> 1.23456780E+10 Rounded
addx522 add 0 12345678000 -> 1.23456780E+10 Rounded
addx523 add 1234567800 0 -> 1.23456780E+9 Rounded
addx524 add 0 1234567800 -> 1.23456780E+9 Rounded
addx525 add 1234567890 0 -> 1.23456789E+9 Rounded
addx526 add 0 1234567890 -> 1.23456789E+9 Rounded
addx527 add 1234567891 0 -> 1.23456789E+9 Inexact Rounded
addx528 add 0 1234567891 -> 1.23456789E+9 Inexact Rounded
addx529 add 12345678901 0 -> 1.23456789E+10 Inexact Rounded
addx530 add 0 12345678901 -> 1.23456789E+10 Inexact Rounded
addx531 add 1234567896 0 -> 1.23456790E+9 Inexact Rounded
addx532 add 0 1234567896 -> 1.23456790E+9 Inexact Rounded
precision: 15
-- still checking
addx541 add 12345678000 0 -> 12345678000
addx542 add 0 12345678000 -> 12345678000
addx543 add 1234567800 0 -> 1234567800
addx544 add 0 1234567800 -> 1234567800
addx545 add 1234567890 0 -> 1234567890
addx546 add 0 1234567890 -> 1234567890
addx547 add 1234567891 0 -> 1234567891
addx548 add 0 1234567891 -> 1234567891
addx549 add 12345678901 0 -> 12345678901
addx550 add 0 12345678901 -> 12345678901
addx551 add 1234567896 0 -> 1234567896
addx552 add 0 1234567896 -> 1234567896
-- some more residue effects with extreme rounding
precision: 9
rounding: half_up
addx601 add 123456789 0.000001 -> 123456789 Inexact Rounded
rounding: half_even
addx602 add 123456789 0.000001 -> 123456789 Inexact Rounded
rounding: half_down
addx603 add 123456789 0.000001 -> 123456789 Inexact Rounded
rounding: floor
addx604 add 123456789 0.000001 -> 123456789 Inexact Rounded
rounding: ceiling
addx605 add 123456789 0.000001 -> 123456790 Inexact Rounded
rounding: up
addx606 add 123456789 0.000001 -> 123456790 Inexact Rounded
rounding: down
addx607 add 123456789 0.000001 -> 123456789 Inexact Rounded
rounding: half_up
addx611 add 123456789 -0.000001 -> 123456789 Inexact Rounded
rounding: half_even
addx612 add 123456789 -0.000001 -> 123456789 Inexact Rounded
rounding: half_down
addx613 add 123456789 -0.000001 -> 123456789 Inexact Rounded
rounding: floor
addx614 add 123456789 -0.000001 -> 123456788 Inexact Rounded
rounding: ceiling
addx615 add 123456789 -0.000001 -> 123456789 Inexact Rounded
rounding: up
addx616 add 123456789 -0.000001 -> 123456789 Inexact Rounded
rounding: down
addx617 add 123456789 -0.000001 -> 123456788 Inexact Rounded
rounding: half_up
addx621 add 123456789 0.499999 -> 123456789 Inexact Rounded
rounding: half_even
addx622 add 123456789 0.499999 -> 123456789 Inexact Rounded
rounding: half_down
addx623 add 123456789 0.499999 -> 123456789 Inexact Rounded
rounding: floor
addx624 add 123456789 0.499999 -> 123456789 Inexact Rounded
rounding: ceiling
addx625 add 123456789 0.499999 -> 123456790 Inexact Rounded
rounding: up
addx626 add 123456789 0.499999 -> 123456790 Inexact Rounded
rounding: down
addx627 add 123456789 0.499999 -> 123456789 Inexact Rounded
rounding: half_up
addx631 add 123456789 -0.499999 -> 123456789 Inexact Rounded
rounding: half_even
addx632 add 123456789 -0.499999 -> 123456789 Inexact Rounded
rounding: half_down
addx633 add 123456789 -0.499999 -> 123456789 Inexact Rounded
rounding: floor
addx634 add 123456789 -0.499999 -> 123456788 Inexact Rounded
rounding: ceiling
addx635 add 123456789 -0.499999 -> 123456789 Inexact Rounded
rounding: up
addx636 add 123456789 -0.499999 -> 123456789 Inexact Rounded
rounding: down
addx637 add 123456789 -0.499999 -> 123456788 Inexact Rounded
rounding: half_up
addx641 add 123456789 0.500001 -> 123456790 Inexact Rounded
rounding: half_even
addx642 add 123456789 0.500001 -> 123456790 Inexact Rounded
rounding: half_down
addx643 add 123456789 0.500001 -> 123456790 Inexact Rounded
rounding: floor
addx644 add 123456789 0.500001 -> 123456789 Inexact Rounded
rounding: ceiling
addx645 add 123456789 0.500001 -> 123456790 Inexact Rounded
rounding: up
addx646 add 123456789 0.500001 -> 123456790 Inexact Rounded
rounding: down
addx647 add 123456789 0.500001 -> 123456789 Inexact Rounded
rounding: half_up
addx651 add 123456789 -0.500001 -> 123456788 Inexact Rounded
rounding: half_even
addx652 add 123456789 -0.500001 -> 123456788 Inexact Rounded
rounding: half_down
addx653 add 123456789 -0.500001 -> 123456788 Inexact Rounded
rounding: floor
addx654 add 123456789 -0.500001 -> 123456788 Inexact Rounded
rounding: ceiling
addx655 add 123456789 -0.500001 -> 123456789 Inexact Rounded
rounding: up
addx656 add 123456789 -0.500001 -> 123456789 Inexact Rounded
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -