Issue #3449: Update decimal module to use most recent specification
(v. 1.68) and tests (v. 2.58) from IBM.
diff --git a/Lib/test/decimaltestdata/dqAdd.decTest b/Lib/test/decimaltestdata/dqAdd.decTest
index 256bc98..a7956e2 100644
--- a/Lib/test/decimaltestdata/dqAdd.decTest
+++ b/Lib/test/decimaltestdata/dqAdd.decTest
@@ -1,6 +1,6 @@
 ------------------------------------------------------------------------

 -- dqAdd.decTest -- decQuad 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 decQuads only; all arguments are

 -- representable in a decQuad

@@ -406,6 +406,64 @@
 dqadd435 add  77e-37      10   ->  10.00000000000000000000000000000000 Inexact Rounded

 dqadd436 add  77e-299     10   ->  10.00000000000000000000000000000000 Inexact Rounded

 

+-- fastpath boundaries

+--            1234567890123456789012345678901234

+dqadd501 add '4444444444444444444444444444444444'  '5555555555555555555555555555555555' -> '9999999999999999999999999999999999'

+dqadd502 add '4444444444444444444444444444444444'  '4555555555555555555555555555555555' -> '8999999999999999999999999999999999'

+dqadd503 add '4444444444444444444444444444444444'  '3555555555555555555055555555555555' -> '7999999999999999999499999999999999'

+dqadd504 add '4444444444444444444444444444444444'  '3955555555555555555555555555555555' -> '8399999999999999999999999999999999'

+dqadd505 add '4444444444444444444444444444444444'  '4955555555555555555555555555555555' -> '9399999999999999999999999999999999'

+dqadd506 add '4444444444444444444444444444444444'  '5955555555555555555555555555555555' -> 1.040000000000000000000000000000000E+34 Inexact Rounded

+dqadd511 add '344444444444444444444444444444444'  '555555555555555555555555555555555' -> '899999999999999999999999999999999'

+dqadd512 add '34444444444444444444444444444444'  '55555555555555555555555555555555' -> '89999999999999999999999999999999'

+dqadd513 add '3444444444444444444444444444444'  '5555555555555555555555555555555' -> '8999999999999999999999999999999'

+dqadd514 add '344444444444444444444444444444'  '555555555555555555555555555555' -> '899999999999999999999999999999'

+dqadd515 add '34444444444444444444444444444'  '55555555555555555555555555555' -> '89999999999999999999999999999'

+dqadd516 add '3444444444444444444444444444'  '5555555555555555555555555555' -> '8999999999999999999999999999'

+dqadd517 add '344444444444444444444444444'  '555555555555555555555555555' -> '899999999999999999999999999'

+dqadd518 add '34444444444444444444444444'  '55555555555555555555555555' -> '89999999999999999999999999'

+dqadd519 add '3444444444444444444444444'  '5555555555555555555555555' -> '8999999999999999999999999'

+dqadd520 add '344444444444444444444444'  '555555555555555555555555' -> '899999999999999999999999'

+dqadd521 add '34444444444444444444444'  '55555555555555555555555' -> '89999999999999999999999'

+dqadd522 add '3444444444444444444444'  '5555555555555555555555' -> '8999999999999999999999'

+dqadd523 add '4444444444444444444444'  '3333333333333333333333' -> '7777777777777777777777'

+dqadd524 add '344444444444444444444'  '555555555555555555555' -> '899999999999999999999'

+dqadd525 add '34444444444444444444'  '55555555555555555555' -> '89999999999999999999'

+dqadd526 add '3444444444444444444'  '5555555555555555555' -> '8999999999999999999'

+dqadd527 add '344444444444444444'  '555555555555555555' -> '899999999999999999'

+dqadd528 add '34444444444444444'  '55555555555555555' -> '89999999999999999'

+dqadd529 add '3444444444444444'  '5555555555555555' -> '8999999999999999'

+dqadd530 add '344444444444444'  '555555555555555' -> '899999999999999'

+dqadd531 add '34444444444444'  '55555555555555' -> '89999999999999'

+dqadd532 add '3444444444444'  '5555555555555' -> '8999999999999'

+dqadd533 add '344444444444'  '555555555555' -> '899999999999'

+dqadd534 add '34444444444'  '55555555555' -> '89999999999'

+dqadd535 add '3444444444'  '5555555555' -> '8999999999'

+dqadd536 add '344444444'  '555555555' -> '899999999'

+dqadd537 add '34444444'  '55555555' -> '89999999'

+dqadd538 add '3444444'  '5555555' -> '8999999'

+dqadd539 add '344444'  '555555' -> '899999'

+dqadd540 add '34444'  '55555' -> '89999'

+dqadd541 add '3444'  '5555' -> '8999'

+dqadd542 add '344'  '555' -> '899'

+dqadd543 add '34'  '55' -> '89'

+dqadd544 add '3'  '5' -> '8'

+

+dqadd545 add '3000004000000000000000000000000000'  '3000000000000040000000000000000000' -> '6000004000000040000000000000000000'

+dqadd546 add '3000000400000000000000000000000000'  '4000000000000400000000000000000000' -> '7000000400000400000000000000000000'

+dqadd547 add '3000000040000000000000000000000000'  '5000000000004000000000000000000000' -> '8000000040004000000000000000000000'

+dqadd548 add '4000000004000000000000000000000000'  '3000000000040000000000000000000000' -> '7000000004040000000000000000000000'

+dqadd549 add '4000000000400000000000000000000000'  '4000000000400000000000000000000000' -> '8000000000800000000000000000000000'

+dqadd550 add '4000000000040000000000000000000000'  '5000000004000000000000000000000000' -> '9000000004040000000000000000000000'

+dqadd551 add '5000000000004000000000000000000000'  '3000000040000000000000000000000000' -> '8000000040004000000000000000000000'

+dqadd552 add '5000000000000400000000000000000000'  '4000000400000000000000000000000000' -> '9000000400000400000000000000000000'

+dqadd553 add '5000000000000040000000000000000000'  '5000004000000000000000000000000000' -> 1.000000400000004000000000000000000E+34 Rounded

+-- check propagation

+dqadd554 add '8999999999999999999999999999999999'  '0000000000000000000000000000000001' ->  9000000000000000000000000000000000

+dqadd555 add '0000000000000000000000000000000001'  '8999999999999999999999999999999999' ->  9000000000000000000000000000000000

+dqadd556 add '4444444444444444444444444444444444'  '4555555555555555555555555555555556' ->  9000000000000000000000000000000000

+dqadd557 add '4555555555555555555555555555555556'  '4444444444444444444444444444444444' ->  9000000000000000000000000000000000

+

 -- negative ulps

 dqadd6440 add   1   -77e-32      ->  0.99999999999999999999999999999923

 dqadd6441 add   1   -77e-33      ->  0.999999999999999999999999999999923