summaryrefslogtreecommitdiffstats
path: root/Lib/test/decimaltestdata/ddAdd.decTest
diff options
context:
space:
mode:
authorMark Dickinson <dickinsm@gmail.com>2008-07-27 06:39:07 (GMT)
committerMark Dickinson <dickinsm@gmail.com>2008-07-27 06:39:07 (GMT)
commitfe84cce66878a9ba9b39b1e29679855c2fc0bed0 (patch)
treecbf3c061ec1364f76851b023b4a181b30ea18c70 /Lib/test/decimaltestdata/ddAdd.decTest
parentf9ac43f5d6450394257a4b50528893664bf06538 (diff)
downloadcpython-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.decTest32
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