diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2008-07-27 06:39:07 (GMT) |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2008-07-27 06:39:07 (GMT) |
commit | fe84cce66878a9ba9b39b1e29679855c2fc0bed0 (patch) | |
tree | cbf3c061ec1364f76851b023b4a181b30ea18c70 /Lib/test/decimaltestdata/ddAdd.decTest | |
parent | f9ac43f5d6450394257a4b50528893664bf06538 (diff) | |
download | cpython-fe84cce66878a9ba9b39b1e29679855c2fc0bed0.zip cpython-fe84cce66878a9ba9b39b1e29679855c2fc0bed0.tar.gz cpython-fe84cce66878a9ba9b39b1e29679855c2fc0bed0.tar.bz2 |
Issue #3449: Update decimal module to use most recent specification
(v. 1.68) and tests (v. 2.58) from IBM.
Diffstat (limited to 'Lib/test/decimaltestdata/ddAdd.decTest')
-rw-r--r-- | Lib/test/decimaltestdata/ddAdd.decTest | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/Lib/test/decimaltestdata/ddAdd.decTest b/Lib/test/decimaltestdata/ddAdd.decTest index 38d511b..3e9cb50 100644 --- a/Lib/test/decimaltestdata/ddAdd.decTest +++ b/Lib/test/decimaltestdata/ddAdd.decTest @@ -1,6 +1,6 @@ ------------------------------------------------------------------------
-- ddAdd.decTest -- decDouble addition --
--- Copyright (c) IBM Corporation, 1981, 2007. All rights reserved. --
+-- 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 --
@@ -17,7 +17,7 @@ -- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
-- mfc@uk.ibm.com --
------------------------------------------------------------------------
-version: 2.57
+version: 2.58
-- This set of tests are for decDoubles only; all arguments are
-- representable in a decDouble
@@ -415,6 +415,31 @@ ddadd434 add 77e-18 10 -> 10.00000000000000 Inexact Rounded ddadd435 add 77e-19 10 -> 10.00000000000000 Inexact Rounded
ddadd436 add 77e-299 10 -> 10.00000000000000 Inexact Rounded
+-- fastpath boundary (more in dqadd)
+-- 1234567890123456
+ddadd539 add '4444444444444444' '3333333333333333' -> '7777777777777777'
+ddadd540 add '4444444444444444' '4444444444444444' -> '8888888888888888'
+ddadd541 add '4444444444444444' '5555555555555555' -> '9999999999999999'
+ddadd542 add '3333333333333333' '4444444444444444' -> '7777777777777777'
+ddadd543 add '4444444444444444' '4444444444444444' -> '8888888888888888'
+ddadd544 add '5555555555555555' '4444444444444444' -> '9999999999999999'
+ddadd545 add '3000004000000000' '3000000000000040' -> '6000004000000040'
+ddadd546 add '3000000400000000' '4000000000000400' -> '7000000400000400'
+ddadd547 add '3000000040000000' '5000000000004000' -> '8000000040004000'
+ddadd548 add '4000000004000000' '3000000000040000' -> '7000000004040000'
+ddadd549 add '4000000000400000' '4000000000400000' -> '8000000000800000'
+ddadd550 add '4000000000040000' '5000000004000000' -> '9000000004040000'
+ddadd551 add '5000000000004000' '3000000040000000' -> '8000000040004000'
+ddadd552 add '5000000000000400' '4000000400000000' -> '9000000400000400'
+ddadd553 add '5000000000000040' '5000004000000000' -> 1.000000400000004E+16 Rounded
+-- check propagation
+ddadd554 add '8999999999999999' '0000000000000001' -> 9000000000000000
+ddadd555 add '0000000000000001' '8999999999999999' -> 9000000000000000
+ddadd556 add '0999999999999999' '0000000000000001' -> 1000000000000000
+ddadd557 add '0000000000000001' '0999999999999999' -> 1000000000000000
+ddadd558 add '4444444444444444' '4555555555555556' -> 9000000000000000
+ddadd559 add '4555555555555556' '4444444444444444' -> 9000000000000000
+
-- negative ulps
ddadd6440 add 1 -77e-14 -> 0.99999999999923
ddadd6441 add 1 -77e-15 -> 0.999999999999923
@@ -740,6 +765,9 @@ ddadd7885 add 1000 -sNaN31 -> -NaN31 Invalid_operation ddadd7575 add 1E-383 -1E-398 -> 9.99999999999999E-384 Subnormal
ddadd7576 add -1E-383 +1E-398 -> -9.99999999999999E-384 Subnormal
+-- and another curious case
+ddadd7577 add 7.000000000000E-385 -1.00000E-391 -> 6.999999000000E-385 Subnormal
+
-- check overflow edge case
-- 1234567890123456
ddadd7972 apply 9.999999999999999E+384 -> 9.999999999999999E+384
|