cpython/Lib/test/decimaltestdata/dqSubtract.decTest

636 lines
41 KiB
Plaintext
Raw Normal View History

Merged revisions 58095-58132,58136-58148,58151-58197 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r58096 | brett.cannon | 2007-09-10 23:38:27 +0200 (Mon, 10 Sep 2007) | 4 lines Fix a possible segfault from recursing too deep to get the repr of a list. Closes issue #1096. ........ r58097 | bill.janssen | 2007-09-10 23:51:02 +0200 (Mon, 10 Sep 2007) | 33 lines More work on SSL support. * Much expanded test suite: All protocols tested against all other protocols. All protocols tested with all certificate options. Tests for bad key and bad cert. Test of STARTTLS functionality. Test of RAND_* functions. * Fixes for threading/malloc bug. * Issue 1065 fixed: sslsocket class renamed to SSLSocket. sslerror class renamed to SSLError. Function "wrap_socket" now used to wrap an existing socket. * Issue 1583946 finally fixed: Support for subjectAltName added. Subject name now returned as proper DN list of RDNs. * SSLError exported from socket as "sslerror". * RAND_* functions properly exported from ssl.py. * Documentation improved: Example of how to create a self-signed certificate. Better indexing. ........ r58098 | guido.van.rossum | 2007-09-11 00:02:25 +0200 (Tue, 11 Sep 2007) | 9 lines Patch # 1140 (my code, approved by Effbot). Make sure the type of the return value of re.sub(x, y, z) is the type of y+x (i.e. unicode if either is unicode, str if they are both str) even if there are no substitutions or if x==z (which triggered various special cases in join_list()). Could be backported to 2.5; no need to port to 3.0. ........ r58099 | guido.van.rossum | 2007-09-11 00:36:02 +0200 (Tue, 11 Sep 2007) | 8 lines Patch # 1026 by Benjamin Aranguren (with Alex Martelli): Backport abc.py and isinstance/issubclass overloading to 2.6. I had to backport test_typechecks.py myself, and make one small change to abc.py to avoid duplicate work when x.__class__ and type(x) are the same. ........ r58100 | bill.janssen | 2007-09-11 01:41:24 +0200 (Tue, 11 Sep 2007) | 3 lines A better way of finding an open port to test with. ........ r58101 | bill.janssen | 2007-09-11 03:09:19 +0200 (Tue, 11 Sep 2007) | 4 lines Make sure test_ssl doesn't reference the ssl module in a context where it can't be imported. ........ r58102 | bill.janssen | 2007-09-11 04:42:07 +0200 (Tue, 11 Sep 2007) | 3 lines Fix some documentation bugs. ........ r58103 | nick.coghlan | 2007-09-11 16:01:18 +0200 (Tue, 11 Sep 2007) | 1 line Always use the -E flag when spawning subprocesses in test_cmd_line (Issue 1056) ........ r58106 | thomas.heller | 2007-09-11 21:17:48 +0200 (Tue, 11 Sep 2007) | 3 lines Disable some tests that fail on the 'ppc Debian unstable' buildbot to find out if they cause the segfault on the 'alpha Debian' machine. ........ r58108 | brett.cannon | 2007-09-11 23:02:28 +0200 (Tue, 11 Sep 2007) | 6 lines Generators had their throw() method allowing string exceptions. That's a no-no. Fixes issue #1147. Need to fix 2.5 to raise a proper warning if a string exception is passed in. ........ r58112 | georg.brandl | 2007-09-12 20:03:51 +0200 (Wed, 12 Sep 2007) | 3 lines New documentation page for the bdb module. (This doesn't need to be merged to Py3k.) ........ r58114 | georg.brandl | 2007-09-12 20:05:57 +0200 (Wed, 12 Sep 2007) | 2 lines Bug #1152: use non-deprecated name in example. ........ r58115 | georg.brandl | 2007-09-12 20:08:33 +0200 (Wed, 12 Sep 2007) | 2 lines Fix #1122: wrong return type documented for various _Size() functions. ........ r58117 | georg.brandl | 2007-09-12 20:10:56 +0200 (Wed, 12 Sep 2007) | 2 lines Fix #1139: PyFile_Encoding really is PyFile_SetEncoding. ........ r58119 | georg.brandl | 2007-09-12 20:29:18 +0200 (Wed, 12 Sep 2007) | 2 lines bug #1154: release memory allocated by "es" PyArg_ParseTuple format specifier. ........ r58121 | bill.janssen | 2007-09-12 20:52:05 +0200 (Wed, 12 Sep 2007) | 1 line root certificate for https://svn.python.org/, used in test_ssl ........ r58122 | georg.brandl | 2007-09-12 21:00:07 +0200 (Wed, 12 Sep 2007) | 3 lines Bug #1153: repr.repr() now doesn't require set and dictionary items to be orderable to properly represent them. ........ r58125 | georg.brandl | 2007-09-12 21:29:28 +0200 (Wed, 12 Sep 2007) | 4 lines #1120: put explicit version in the shebang lines of pydoc, idle and smtpd.py scripts that are installed by setup.py. That way, they work when only "make altinstall" is used. ........ r58139 | mark.summerfield | 2007-09-13 16:54:30 +0200 (Thu, 13 Sep 2007) | 9 lines Replaced variable o with obj in operator.rst because o is easy to confuse. Added a note about Python 3's collections.Mapping etc., above section that describes isMappingType() etc. Added xrefs between os, os.path, fileinput, and open(). ........ r58143 | facundo.batista | 2007-09-13 20:13:15 +0200 (Thu, 13 Sep 2007) | 7 lines Merged the decimal-branch (revisions 54886 to 58140). Decimal is now fully updated to the latests Decimal Specification (v1.66) and the latests test cases (v2.56). Thanks to Mark Dickinson for all his help during this process. ........ r58145 | facundo.batista | 2007-09-13 20:42:09 +0200 (Thu, 13 Sep 2007) | 7 lines Put the parameter watchexp back in (changed watchexp from an int to a bool). Also second argument to watchexp is now converted to Decimal, just as with all the other two-argument operations. Thanks Mark Dickinson. ........ r58147 | andrew.kuchling | 2007-09-14 00:49:34 +0200 (Fri, 14 Sep 2007) | 1 line Add various items ........ r58148 | andrew.kuchling | 2007-09-14 00:50:10 +0200 (Fri, 14 Sep 2007) | 1 line Make target unique ........ r58154 | facundo.batista | 2007-09-14 20:58:34 +0200 (Fri, 14 Sep 2007) | 3 lines Included the new functions, and new descriptions. ........ r58155 | thomas.heller | 2007-09-14 21:40:35 +0200 (Fri, 14 Sep 2007) | 2 lines ctypes.util.find_library uses dump(1) instead of objdump(1) on Solaris. Fixes issue #1777530; will backport to release25-maint. ........ r58159 | facundo.batista | 2007-09-14 23:29:52 +0200 (Fri, 14 Sep 2007) | 3 lines Some additions (examples and a bit on the tutorial). ........ r58160 | georg.brandl | 2007-09-15 18:53:36 +0200 (Sat, 15 Sep 2007) | 2 lines Remove bdb from the "undocumented modules" list. ........ r58164 | bill.janssen | 2007-09-17 00:06:00 +0200 (Mon, 17 Sep 2007) | 15 lines Add support for asyncore server-side SSL support. This requires adding the 'makefile' method to ssl.SSLSocket, and importing the requisite fakefile class from socket.py, and making the appropriate changes to it to make it use the SSL connection. Added sample HTTPS server to test_ssl.py, and test that uses it. Change SSL tests to use https://svn.python.org/, instead of www.sf.net and pop.gmail.com. Added utility function to ssl module, get_server_certificate, to wrap up the several things to be done to pull a certificate from a remote server. ........ r58173 | bill.janssen | 2007-09-17 01:16:46 +0200 (Mon, 17 Sep 2007) | 1 line use binary mode when reading files for testAsyncore to make Windows happy ........ r58175 | raymond.hettinger | 2007-09-17 02:55:00 +0200 (Mon, 17 Sep 2007) | 7 lines Sync-up named tuples with the latest version of the ASPN recipe. Allows optional commas in the field-name spec (help when named tuples are used in conjuction with sql queries). Adds the __fields__ attribute for introspection and to support conversion to dictionary form. Adds a __replace__() method similar to str.replace() but using a named field as a target. Clean-up spelling and presentation in doc-strings. ........ r58176 | brett.cannon | 2007-09-17 05:28:34 +0200 (Mon, 17 Sep 2007) | 5 lines Add a bunch of GIL release/acquire points in tp_print implementations and for PyObject_Print(). Closes issue #1164. ........ r58177 | sean.reifschneider | 2007-09-17 07:45:04 +0200 (Mon, 17 Sep 2007) | 2 lines issue1597011: Fix for bz2 module corner-case error due to error checking bug. ........ r58180 | facundo.batista | 2007-09-17 18:26:50 +0200 (Mon, 17 Sep 2007) | 3 lines Decimal is updated, :) ........ r58181 | facundo.batista | 2007-09-17 19:30:13 +0200 (Mon, 17 Sep 2007) | 5 lines The methods always return Decimal classes, even if they're executed through a subclass (thanks Mark Dickinson). Added a bit of testing for this. ........ r58183 | sean.reifschneider | 2007-09-17 22:53:21 +0200 (Mon, 17 Sep 2007) | 2 lines issue1082: Fixing platform and system for Vista. ........ r58185 | andrew.kuchling | 2007-09-18 03:36:16 +0200 (Tue, 18 Sep 2007) | 1 line Add item; sort properly ........ r58186 | raymond.hettinger | 2007-09-18 05:33:19 +0200 (Tue, 18 Sep 2007) | 1 line Handle corner cased on 0-tuples and 1-tuples. Add verbose option so people can see how it works. ........ r58192 | georg.brandl | 2007-09-18 09:24:40 +0200 (Tue, 18 Sep 2007) | 2 lines A bit of reordering, also show more subheadings in the lang ref index. ........ r58193 | facundo.batista | 2007-09-18 18:53:18 +0200 (Tue, 18 Sep 2007) | 4 lines Speed up of the various division operations (remainder, divide, divideint and divmod). Thanks Mark Dickinson. ........ r58197 | raymond.hettinger | 2007-09-19 00:18:02 +0200 (Wed, 19 Sep 2007) | 1 line Cleanup docs for NamedTuple. ........
2007-09-19 00:06:30 -03:00
------------------------------------------------------------------------
-- dqSubtract.decTest -- decQuad subtraction --
-- Copyright (c) IBM Corporation, 1981, 2007. All rights reserved. --
------------------------------------------------------------------------
-- Please see the document "General Decimal Arithmetic Testcases" --
-- at http://www2.hursley.ibm.com/decimal for the description of --
-- these testcases. --
-- --
-- These testcases are experimental ('beta' versions), and they --
-- may contain errors. They are offered on an as-is basis. In --
-- particular, achieving the same results as the tests here is not --
-- a guarantee that an implementation complies with any Standard --
-- or specification. The tests are not exhaustive. --
-- --
-- Please send comments, suggestions, and corrections to the author: --
-- Mike Cowlishaw, IBM Fellow --
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
-- mfc@uk.ibm.com --
------------------------------------------------------------------------
Merged revisions 59107-59186 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk (Note: some conflicts in the PCbuild9 directory reverted. Sorry Christian!) ........ r59120 | christian.heimes | 2007-11-22 03:21:16 -0800 (Thu, 22 Nov 2007) | 3 lines Backport of the PCbuild9 directory from the py3k branch. I've finished the last task for the PCbuild9 directory today. I don't think there is much left to do. Now you can all play around with the shiny new VS 2008 and try the PGO builds. I was able to get a speed improvement of about 10% on py3k. Have fun! :) ........ r59126 | brett.cannon | 2007-11-22 16:06:51 -0800 (Thu, 22 Nov 2007) | 2 lines Fix a bug in the test for using __loader__.get_data(). ........ r59131 | christian.heimes | 2007-11-22 23:05:03 -0800 (Thu, 22 Nov 2007) | 1 line Backport of PCbuild9 fixes from py3k r59130 ........ r59132 | christian.heimes | 2007-11-23 01:10:36 -0800 (Fri, 23 Nov 2007) | 2 lines Applied patch #1754273 and #1754271 from Thomas Glee The patches are adding deprecation warnings for back ticks and <> ........ r59133 | christian.heimes | 2007-11-23 04:12:02 -0800 (Fri, 23 Nov 2007) | 2 lines Fixed problems in the last commit. Filenames and line numbers weren't reported correctly. Backquotes still don't report the correct file. The AST nodes only contain the line number but not the file name. ........ r59134 | christian.heimes | 2007-11-23 04:16:35 -0800 (Fri, 23 Nov 2007) | 1 line How did the comment get there? ........ r59135 | christian.heimes | 2007-11-23 05:25:31 -0800 (Fri, 23 Nov 2007) | 1 line And yet another fix for the patch. Paul Moore has send me a note that I've missed a declaration. The additional code has moved the declaration in the middle of the block. ........ r59136 | andrew.kuchling | 2007-11-23 05:37:39 -0800 (Fri, 23 Nov 2007) | 1 line Add item ........ r59137 | skip.montanaro | 2007-11-23 09:08:35 -0800 (Fri, 23 Nov 2007) | 2 lines Make trace and doctest play nice together (issue 1429818). Will backport. ........ r59139 | skip.montanaro | 2007-11-23 09:12:47 -0800 (Fri, 23 Nov 2007) | 1 line issue 1429818 ........ r59144 | facundo.batista | 2007-11-23 09:59:00 -0800 (Fri, 23 Nov 2007) | 10 lines Major change in the internal structure of the Decimal number: now it does not store the mantissa as a tuple of numbers, but as a string. This avoids a lot of conversions, and achieves a speedup of 40%. The API remains intact. Thanks Mark Dickinson. ........ r59146 | facundo.batista | 2007-11-23 10:14:50 -0800 (Fri, 23 Nov 2007) | 3 lines Test cases from Cowlishaw, v2.57. All are pased cleanly. ........ r59156 | christian.heimes | 2007-11-23 17:36:02 -0800 (Fri, 23 Nov 2007) | 2 lines Added filename to compiling struct based on Martin's suggestion. I'm wonder why I was trying to add the filename to the node all the time. The compiling struct is more obvious. ........ r59158 | christian.heimes | 2007-11-23 17:53:59 -0800 (Fri, 23 Nov 2007) | 2 lines Backport of fixes from py3k branch svn merge -r59131:HEAD ../../py3k/PCbuild9/ . ........ r59159 | skip.montanaro | 2007-11-23 20:29:08 -0800 (Fri, 23 Nov 2007) | 1 line revert change that breaks test_doctest (which I forgot to run - sorry) ........ r59162 | skip.montanaro | 2007-11-23 20:31:15 -0800 (Fri, 23 Nov 2007) | 1 line revert ........ r59164 | georg.brandl | 2007-11-24 03:31:46 -0800 (Sat, 24 Nov 2007) | 3 lines #1344: document that you need to open std{in,out,err} with PIPE if you want communicate() to work as described. ........ r59165 | georg.brandl | 2007-11-24 03:39:13 -0800 (Sat, 24 Nov 2007) | 2 lines #1467: fix documentation for TestResult.add{Error,Failure}. ........ r59166 | georg.brandl | 2007-11-24 03:42:14 -0800 (Sat, 24 Nov 2007) | 2 lines #1355: remove mention of PyXML from xml.dom docs. ........ r59169 | amaury.forgeotdarc | 2007-11-24 05:20:22 -0800 (Sat, 24 Nov 2007) | 2 lines Warning "<> not supported in 3.x" should be enabled only when the -3 option is set. ........ r59170 | amaury.forgeotdarc | 2007-11-24 05:44:17 -0800 (Sat, 24 Nov 2007) | 3 lines Issue #1445: Fix a SystemError when accessing the ``cell_contents`` attribute of an empty cell object. Now a ValueError is raised. ........ r59172 | georg.brandl | 2007-11-24 05:56:09 -0800 (Sat, 24 Nov 2007) | 3 lines #1735632: add O_NOATIME constant to os module. Also document a few other O_ constants that were missing from documentation. ........ r59173 | skip.montanaro | 2007-11-24 06:30:47 -0800 (Sat, 24 Nov 2007) | 1 line back in these go - thanks to Titus Brown for the fix ........ r59176 | martin.v.loewis | 2007-11-24 10:33:40 -0800 (Sat, 24 Nov 2007) | 2 lines Bug #1494: Document that appendChild removes first. ........ r59186 | guido.van.rossum | 2007-11-26 14:16:49 -0800 (Mon, 26 Nov 2007) | 2 lines A thread-less variant of brownian.py, submitted by Michele Simoniato. ........
2007-11-26 19:23:18 -04:00
version: 2.57
Merged revisions 58095-58132,58136-58148,58151-58197 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r58096 | brett.cannon | 2007-09-10 23:38:27 +0200 (Mon, 10 Sep 2007) | 4 lines Fix a possible segfault from recursing too deep to get the repr of a list. Closes issue #1096. ........ r58097 | bill.janssen | 2007-09-10 23:51:02 +0200 (Mon, 10 Sep 2007) | 33 lines More work on SSL support. * Much expanded test suite: All protocols tested against all other protocols. All protocols tested with all certificate options. Tests for bad key and bad cert. Test of STARTTLS functionality. Test of RAND_* functions. * Fixes for threading/malloc bug. * Issue 1065 fixed: sslsocket class renamed to SSLSocket. sslerror class renamed to SSLError. Function "wrap_socket" now used to wrap an existing socket. * Issue 1583946 finally fixed: Support for subjectAltName added. Subject name now returned as proper DN list of RDNs. * SSLError exported from socket as "sslerror". * RAND_* functions properly exported from ssl.py. * Documentation improved: Example of how to create a self-signed certificate. Better indexing. ........ r58098 | guido.van.rossum | 2007-09-11 00:02:25 +0200 (Tue, 11 Sep 2007) | 9 lines Patch # 1140 (my code, approved by Effbot). Make sure the type of the return value of re.sub(x, y, z) is the type of y+x (i.e. unicode if either is unicode, str if they are both str) even if there are no substitutions or if x==z (which triggered various special cases in join_list()). Could be backported to 2.5; no need to port to 3.0. ........ r58099 | guido.van.rossum | 2007-09-11 00:36:02 +0200 (Tue, 11 Sep 2007) | 8 lines Patch # 1026 by Benjamin Aranguren (with Alex Martelli): Backport abc.py and isinstance/issubclass overloading to 2.6. I had to backport test_typechecks.py myself, and make one small change to abc.py to avoid duplicate work when x.__class__ and type(x) are the same. ........ r58100 | bill.janssen | 2007-09-11 01:41:24 +0200 (Tue, 11 Sep 2007) | 3 lines A better way of finding an open port to test with. ........ r58101 | bill.janssen | 2007-09-11 03:09:19 +0200 (Tue, 11 Sep 2007) | 4 lines Make sure test_ssl doesn't reference the ssl module in a context where it can't be imported. ........ r58102 | bill.janssen | 2007-09-11 04:42:07 +0200 (Tue, 11 Sep 2007) | 3 lines Fix some documentation bugs. ........ r58103 | nick.coghlan | 2007-09-11 16:01:18 +0200 (Tue, 11 Sep 2007) | 1 line Always use the -E flag when spawning subprocesses in test_cmd_line (Issue 1056) ........ r58106 | thomas.heller | 2007-09-11 21:17:48 +0200 (Tue, 11 Sep 2007) | 3 lines Disable some tests that fail on the 'ppc Debian unstable' buildbot to find out if they cause the segfault on the 'alpha Debian' machine. ........ r58108 | brett.cannon | 2007-09-11 23:02:28 +0200 (Tue, 11 Sep 2007) | 6 lines Generators had their throw() method allowing string exceptions. That's a no-no. Fixes issue #1147. Need to fix 2.5 to raise a proper warning if a string exception is passed in. ........ r58112 | georg.brandl | 2007-09-12 20:03:51 +0200 (Wed, 12 Sep 2007) | 3 lines New documentation page for the bdb module. (This doesn't need to be merged to Py3k.) ........ r58114 | georg.brandl | 2007-09-12 20:05:57 +0200 (Wed, 12 Sep 2007) | 2 lines Bug #1152: use non-deprecated name in example. ........ r58115 | georg.brandl | 2007-09-12 20:08:33 +0200 (Wed, 12 Sep 2007) | 2 lines Fix #1122: wrong return type documented for various _Size() functions. ........ r58117 | georg.brandl | 2007-09-12 20:10:56 +0200 (Wed, 12 Sep 2007) | 2 lines Fix #1139: PyFile_Encoding really is PyFile_SetEncoding. ........ r58119 | georg.brandl | 2007-09-12 20:29:18 +0200 (Wed, 12 Sep 2007) | 2 lines bug #1154: release memory allocated by "es" PyArg_ParseTuple format specifier. ........ r58121 | bill.janssen | 2007-09-12 20:52:05 +0200 (Wed, 12 Sep 2007) | 1 line root certificate for https://svn.python.org/, used in test_ssl ........ r58122 | georg.brandl | 2007-09-12 21:00:07 +0200 (Wed, 12 Sep 2007) | 3 lines Bug #1153: repr.repr() now doesn't require set and dictionary items to be orderable to properly represent them. ........ r58125 | georg.brandl | 2007-09-12 21:29:28 +0200 (Wed, 12 Sep 2007) | 4 lines #1120: put explicit version in the shebang lines of pydoc, idle and smtpd.py scripts that are installed by setup.py. That way, they work when only "make altinstall" is used. ........ r58139 | mark.summerfield | 2007-09-13 16:54:30 +0200 (Thu, 13 Sep 2007) | 9 lines Replaced variable o with obj in operator.rst because o is easy to confuse. Added a note about Python 3's collections.Mapping etc., above section that describes isMappingType() etc. Added xrefs between os, os.path, fileinput, and open(). ........ r58143 | facundo.batista | 2007-09-13 20:13:15 +0200 (Thu, 13 Sep 2007) | 7 lines Merged the decimal-branch (revisions 54886 to 58140). Decimal is now fully updated to the latests Decimal Specification (v1.66) and the latests test cases (v2.56). Thanks to Mark Dickinson for all his help during this process. ........ r58145 | facundo.batista | 2007-09-13 20:42:09 +0200 (Thu, 13 Sep 2007) | 7 lines Put the parameter watchexp back in (changed watchexp from an int to a bool). Also second argument to watchexp is now converted to Decimal, just as with all the other two-argument operations. Thanks Mark Dickinson. ........ r58147 | andrew.kuchling | 2007-09-14 00:49:34 +0200 (Fri, 14 Sep 2007) | 1 line Add various items ........ r58148 | andrew.kuchling | 2007-09-14 00:50:10 +0200 (Fri, 14 Sep 2007) | 1 line Make target unique ........ r58154 | facundo.batista | 2007-09-14 20:58:34 +0200 (Fri, 14 Sep 2007) | 3 lines Included the new functions, and new descriptions. ........ r58155 | thomas.heller | 2007-09-14 21:40:35 +0200 (Fri, 14 Sep 2007) | 2 lines ctypes.util.find_library uses dump(1) instead of objdump(1) on Solaris. Fixes issue #1777530; will backport to release25-maint. ........ r58159 | facundo.batista | 2007-09-14 23:29:52 +0200 (Fri, 14 Sep 2007) | 3 lines Some additions (examples and a bit on the tutorial). ........ r58160 | georg.brandl | 2007-09-15 18:53:36 +0200 (Sat, 15 Sep 2007) | 2 lines Remove bdb from the "undocumented modules" list. ........ r58164 | bill.janssen | 2007-09-17 00:06:00 +0200 (Mon, 17 Sep 2007) | 15 lines Add support for asyncore server-side SSL support. This requires adding the 'makefile' method to ssl.SSLSocket, and importing the requisite fakefile class from socket.py, and making the appropriate changes to it to make it use the SSL connection. Added sample HTTPS server to test_ssl.py, and test that uses it. Change SSL tests to use https://svn.python.org/, instead of www.sf.net and pop.gmail.com. Added utility function to ssl module, get_server_certificate, to wrap up the several things to be done to pull a certificate from a remote server. ........ r58173 | bill.janssen | 2007-09-17 01:16:46 +0200 (Mon, 17 Sep 2007) | 1 line use binary mode when reading files for testAsyncore to make Windows happy ........ r58175 | raymond.hettinger | 2007-09-17 02:55:00 +0200 (Mon, 17 Sep 2007) | 7 lines Sync-up named tuples with the latest version of the ASPN recipe. Allows optional commas in the field-name spec (help when named tuples are used in conjuction with sql queries). Adds the __fields__ attribute for introspection and to support conversion to dictionary form. Adds a __replace__() method similar to str.replace() but using a named field as a target. Clean-up spelling and presentation in doc-strings. ........ r58176 | brett.cannon | 2007-09-17 05:28:34 +0200 (Mon, 17 Sep 2007) | 5 lines Add a bunch of GIL release/acquire points in tp_print implementations and for PyObject_Print(). Closes issue #1164. ........ r58177 | sean.reifschneider | 2007-09-17 07:45:04 +0200 (Mon, 17 Sep 2007) | 2 lines issue1597011: Fix for bz2 module corner-case error due to error checking bug. ........ r58180 | facundo.batista | 2007-09-17 18:26:50 +0200 (Mon, 17 Sep 2007) | 3 lines Decimal is updated, :) ........ r58181 | facundo.batista | 2007-09-17 19:30:13 +0200 (Mon, 17 Sep 2007) | 5 lines The methods always return Decimal classes, even if they're executed through a subclass (thanks Mark Dickinson). Added a bit of testing for this. ........ r58183 | sean.reifschneider | 2007-09-17 22:53:21 +0200 (Mon, 17 Sep 2007) | 2 lines issue1082: Fixing platform and system for Vista. ........ r58185 | andrew.kuchling | 2007-09-18 03:36:16 +0200 (Tue, 18 Sep 2007) | 1 line Add item; sort properly ........ r58186 | raymond.hettinger | 2007-09-18 05:33:19 +0200 (Tue, 18 Sep 2007) | 1 line Handle corner cased on 0-tuples and 1-tuples. Add verbose option so people can see how it works. ........ r58192 | georg.brandl | 2007-09-18 09:24:40 +0200 (Tue, 18 Sep 2007) | 2 lines A bit of reordering, also show more subheadings in the lang ref index. ........ r58193 | facundo.batista | 2007-09-18 18:53:18 +0200 (Tue, 18 Sep 2007) | 4 lines Speed up of the various division operations (remainder, divide, divideint and divmod). Thanks Mark Dickinson. ........ r58197 | raymond.hettinger | 2007-09-19 00:18:02 +0200 (Wed, 19 Sep 2007) | 1 line Cleanup docs for NamedTuple. ........
2007-09-19 00:06:30 -03:00
-- This set of tests are for decQuads only; all arguments are
-- representable in a decQuad
extended: 1
clamp: 1
precision: 34
maxExponent: 6144
minExponent: -6143
rounding: half_even
-- [first group are 'quick confidence check']
dqsub001 subtract 0 0 -> '0'
dqsub002 subtract 1 1 -> '0'
dqsub003 subtract 1 2 -> '-1'
dqsub004 subtract 2 1 -> '1'
dqsub005 subtract 2 2 -> '0'
dqsub006 subtract 3 2 -> '1'
dqsub007 subtract 2 3 -> '-1'
dqsub011 subtract -0 0 -> '-0'
dqsub012 subtract -1 1 -> '-2'
dqsub013 subtract -1 2 -> '-3'
dqsub014 subtract -2 1 -> '-3'
dqsub015 subtract -2 2 -> '-4'
dqsub016 subtract -3 2 -> '-5'
dqsub017 subtract -2 3 -> '-5'
dqsub021 subtract 0 -0 -> '0'
dqsub022 subtract 1 -1 -> '2'
dqsub023 subtract 1 -2 -> '3'
dqsub024 subtract 2 -1 -> '3'
dqsub025 subtract 2 -2 -> '4'
dqsub026 subtract 3 -2 -> '5'
dqsub027 subtract 2 -3 -> '5'
dqsub030 subtract 11 1 -> 10
dqsub031 subtract 10 1 -> 9
dqsub032 subtract 9 1 -> 8
dqsub033 subtract 1 1 -> 0
dqsub034 subtract 0 1 -> -1
dqsub035 subtract -1 1 -> -2
dqsub036 subtract -9 1 -> -10
dqsub037 subtract -10 1 -> -11
dqsub038 subtract -11 1 -> -12
dqsub040 subtract '5.75' '3.3' -> '2.45'
dqsub041 subtract '5' '-3' -> '8'
dqsub042 subtract '-5' '-3' -> '-2'
dqsub043 subtract '-7' '2.5' -> '-9.5'
dqsub044 subtract '0.7' '0.3' -> '0.4'
dqsub045 subtract '1.3' '0.3' -> '1.0'
dqsub046 subtract '1.25' '1.25' -> '0.00'
dqsub050 subtract '1.23456789' '1.00000000' -> '0.23456789'
dqsub051 subtract '1.23456789' '1.00000089' -> '0.23456700'
dqsub060 subtract '70' '10000e+34' -> '-1.000000000000000000000000000000000E+38' Inexact Rounded
dqsub061 subtract '700' '10000e+34' -> '-1.000000000000000000000000000000000E+38' Inexact Rounded
dqsub062 subtract '7000' '10000e+34' -> '-9.999999999999999999999999999999999E+37' Inexact Rounded
dqsub063 subtract '70000' '10000e+34' -> '-9.999999999999999999999999999999993E+37' Rounded
dqsub064 subtract '700000' '10000e+34' -> '-9.999999999999999999999999999999930E+37' Rounded
-- symmetry:
dqsub065 subtract '10000e+34' '70' -> '1.000000000000000000000000000000000E+38' Inexact Rounded
dqsub066 subtract '10000e+34' '700' -> '1.000000000000000000000000000000000E+38' Inexact Rounded
dqsub067 subtract '10000e+34' '7000' -> '9.999999999999999999999999999999999E+37' Inexact Rounded
dqsub068 subtract '10000e+34' '70000' -> '9.999999999999999999999999999999993E+37' Rounded
dqsub069 subtract '10000e+34' '700000' -> '9.999999999999999999999999999999930E+37' Rounded
-- some of the next group are really constructor tests
dqsub090 subtract '00.0' '0.0' -> '0.0'
dqsub091 subtract '00.0' '0.00' -> '0.00'
dqsub092 subtract '0.00' '00.0' -> '0.00'
dqsub093 subtract '00.0' '0.00' -> '0.00'
dqsub094 subtract '0.00' '00.0' -> '0.00'
dqsub095 subtract '3' '.3' -> '2.7'
dqsub096 subtract '3.' '.3' -> '2.7'
dqsub097 subtract '3.0' '.3' -> '2.7'
dqsub098 subtract '3.00' '.3' -> '2.70'
dqsub099 subtract '3' '3' -> '0'
dqsub100 subtract '3' '+3' -> '0'
dqsub101 subtract '3' '-3' -> '6'
dqsub102 subtract '3' '0.3' -> '2.7'
dqsub103 subtract '3.' '0.3' -> '2.7'
dqsub104 subtract '3.0' '0.3' -> '2.7'
dqsub105 subtract '3.00' '0.3' -> '2.70'
dqsub106 subtract '3' '3.0' -> '0.0'
dqsub107 subtract '3' '+3.0' -> '0.0'
dqsub108 subtract '3' '-3.0' -> '6.0'
-- the above all from add; massaged and extended. Now some new ones...
-- [particularly important for comparisons]
-- NB: -xE-8 below were non-exponents pre-ANSI X3-274, and -1E-7 or 0E-7
-- with input rounding.
dqsub120 subtract '10.23456784' '10.23456789' -> '-5E-8'
dqsub121 subtract '10.23456785' '10.23456789' -> '-4E-8'
dqsub122 subtract '10.23456786' '10.23456789' -> '-3E-8'
dqsub123 subtract '10.23456787' '10.23456789' -> '-2E-8'
dqsub124 subtract '10.23456788' '10.23456789' -> '-1E-8'
dqsub125 subtract '10.23456789' '10.23456789' -> '0E-8'
dqsub126 subtract '10.23456790' '10.23456789' -> '1E-8'
dqsub127 subtract '10.23456791' '10.23456789' -> '2E-8'
dqsub128 subtract '10.23456792' '10.23456789' -> '3E-8'
dqsub129 subtract '10.23456793' '10.23456789' -> '4E-8'
dqsub130 subtract '10.23456794' '10.23456789' -> '5E-8'
dqsub131 subtract '10.23456781' '10.23456786' -> '-5E-8'
dqsub132 subtract '10.23456782' '10.23456786' -> '-4E-8'
dqsub133 subtract '10.23456783' '10.23456786' -> '-3E-8'
dqsub134 subtract '10.23456784' '10.23456786' -> '-2E-8'
dqsub135 subtract '10.23456785' '10.23456786' -> '-1E-8'
dqsub136 subtract '10.23456786' '10.23456786' -> '0E-8'
dqsub137 subtract '10.23456787' '10.23456786' -> '1E-8'
dqsub138 subtract '10.23456788' '10.23456786' -> '2E-8'
dqsub139 subtract '10.23456789' '10.23456786' -> '3E-8'
dqsub140 subtract '10.23456790' '10.23456786' -> '4E-8'
dqsub141 subtract '10.23456791' '10.23456786' -> '5E-8'
dqsub142 subtract '1' '0.999999999' -> '1E-9'
dqsub143 subtract '0.999999999' '1' -> '-1E-9'
dqsub144 subtract '-10.23456780' '-10.23456786' -> '6E-8'
dqsub145 subtract '-10.23456790' '-10.23456786' -> '-4E-8'
dqsub146 subtract '-10.23456791' '-10.23456786' -> '-5E-8'
-- additional scaled arithmetic tests [0.97 problem]
dqsub160 subtract '0' '.1' -> '-0.1'
dqsub161 subtract '00' '.97983' -> '-0.97983'
dqsub162 subtract '0' '.9' -> '-0.9'
dqsub163 subtract '0' '0.102' -> '-0.102'
dqsub164 subtract '0' '.4' -> '-0.4'
dqsub165 subtract '0' '.307' -> '-0.307'
dqsub166 subtract '0' '.43822' -> '-0.43822'
dqsub167 subtract '0' '.911' -> '-0.911'
dqsub168 subtract '.0' '.02' -> '-0.02'
dqsub169 subtract '00' '.392' -> '-0.392'
dqsub170 subtract '0' '.26' -> '-0.26'
dqsub171 subtract '0' '0.51' -> '-0.51'
dqsub172 subtract '0' '.2234' -> '-0.2234'
dqsub173 subtract '0' '.2' -> '-0.2'
dqsub174 subtract '.0' '.0008' -> '-0.0008'
-- 0. on left
dqsub180 subtract '0.0' '-.1' -> '0.1'
dqsub181 subtract '0.00' '-.97983' -> '0.97983'
dqsub182 subtract '0.0' '-.9' -> '0.9'
dqsub183 subtract '0.0' '-0.102' -> '0.102'
dqsub184 subtract '0.0' '-.4' -> '0.4'
dqsub185 subtract '0.0' '-.307' -> '0.307'
dqsub186 subtract '0.0' '-.43822' -> '0.43822'
dqsub187 subtract '0.0' '-.911' -> '0.911'
dqsub188 subtract '0.0' '-.02' -> '0.02'
dqsub189 subtract '0.00' '-.392' -> '0.392'
dqsub190 subtract '0.0' '-.26' -> '0.26'
dqsub191 subtract '0.0' '-0.51' -> '0.51'
dqsub192 subtract '0.0' '-.2234' -> '0.2234'
dqsub193 subtract '0.0' '-.2' -> '0.2'
dqsub194 subtract '0.0' '-.0008' -> '0.0008'
-- negatives of same
dqsub200 subtract '0' '-.1' -> '0.1'
dqsub201 subtract '00' '-.97983' -> '0.97983'
dqsub202 subtract '0' '-.9' -> '0.9'
dqsub203 subtract '0' '-0.102' -> '0.102'
dqsub204 subtract '0' '-.4' -> '0.4'
dqsub205 subtract '0' '-.307' -> '0.307'
dqsub206 subtract '0' '-.43822' -> '0.43822'
dqsub207 subtract '0' '-.911' -> '0.911'
dqsub208 subtract '.0' '-.02' -> '0.02'
dqsub209 subtract '00' '-.392' -> '0.392'
dqsub210 subtract '0' '-.26' -> '0.26'
dqsub211 subtract '0' '-0.51' -> '0.51'
dqsub212 subtract '0' '-.2234' -> '0.2234'
dqsub213 subtract '0' '-.2' -> '0.2'
dqsub214 subtract '.0' '-.0008' -> '0.0008'
-- more fixed, LHS swaps [really the same as testcases under add]
dqsub220 subtract '-56267E-12' 0 -> '-5.6267E-8'
dqsub221 subtract '-56267E-11' 0 -> '-5.6267E-7'
dqsub222 subtract '-56267E-10' 0 -> '-0.0000056267'
dqsub223 subtract '-56267E-9' 0 -> '-0.000056267'
dqsub224 subtract '-56267E-8' 0 -> '-0.00056267'
dqsub225 subtract '-56267E-7' 0 -> '-0.0056267'
dqsub226 subtract '-56267E-6' 0 -> '-0.056267'
dqsub227 subtract '-56267E-5' 0 -> '-0.56267'
dqsub228 subtract '-56267E-2' 0 -> '-562.67'
dqsub229 subtract '-56267E-1' 0 -> '-5626.7'
dqsub230 subtract '-56267E-0' 0 -> '-56267'
-- symmetry ...
dqsub240 subtract 0 '-56267E-12' -> '5.6267E-8'
dqsub241 subtract 0 '-56267E-11' -> '5.6267E-7'
dqsub242 subtract 0 '-56267E-10' -> '0.0000056267'
dqsub243 subtract 0 '-56267E-9' -> '0.000056267'
dqsub244 subtract 0 '-56267E-8' -> '0.00056267'
dqsub245 subtract 0 '-56267E-7' -> '0.0056267'
dqsub246 subtract 0 '-56267E-6' -> '0.056267'
dqsub247 subtract 0 '-56267E-5' -> '0.56267'
dqsub248 subtract 0 '-56267E-2' -> '562.67'
dqsub249 subtract 0 '-56267E-1' -> '5626.7'
dqsub250 subtract 0 '-56267E-0' -> '56267'
-- now some more from the 'new' add
dqsub301 subtract '1.23456789' '1.00000000' -> '0.23456789'
dqsub302 subtract '1.23456789' '1.00000011' -> '0.23456778'
-- some carrying effects
dqsub321 subtract '0.9998' '0.0000' -> '0.9998'
dqsub322 subtract '0.9998' '0.0001' -> '0.9997'
dqsub323 subtract '0.9998' '0.0002' -> '0.9996'
dqsub324 subtract '0.9998' '0.0003' -> '0.9995'
dqsub325 subtract '0.9998' '-0.0000' -> '0.9998'
dqsub326 subtract '0.9998' '-0.0001' -> '0.9999'
dqsub327 subtract '0.9998' '-0.0002' -> '1.0000'
dqsub328 subtract '0.9998' '-0.0003' -> '1.0001'
-- internal boundaries
dqsub346 subtract '10000e+9' '7' -> '9999999999993'
dqsub347 subtract '10000e+9' '70' -> '9999999999930'
dqsub348 subtract '10000e+9' '700' -> '9999999999300'
dqsub349 subtract '10000e+9' '7000' -> '9999999993000'
dqsub350 subtract '10000e+9' '70000' -> '9999999930000'
dqsub351 subtract '10000e+9' '700000' -> '9999999300000'
dqsub352 subtract '7' '10000e+9' -> '-9999999999993'
dqsub353 subtract '70' '10000e+9' -> '-9999999999930'
dqsub354 subtract '700' '10000e+9' -> '-9999999999300'
dqsub355 subtract '7000' '10000e+9' -> '-9999999993000'
dqsub356 subtract '70000' '10000e+9' -> '-9999999930000'
dqsub357 subtract '700000' '10000e+9' -> '-9999999300000'
-- zero preservation
dqsub361 subtract 1 '0.0001' -> '0.9999'
dqsub362 subtract 1 '0.00001' -> '0.99999'
dqsub363 subtract 1 '0.000001' -> '0.999999'
dqsub364 subtract 1 '0.0000000000000000000000000000000001' -> '0.9999999999999999999999999999999999'
dqsub365 subtract 1 '0.00000000000000000000000000000000001' -> '1.000000000000000000000000000000000' Inexact Rounded
dqsub366 subtract 1 '0.000000000000000000000000000000000001' -> '1.000000000000000000000000000000000' Inexact Rounded
-- some funny zeros [in case of bad signum]
dqsub370 subtract 1 0 -> 1
dqsub371 subtract 1 0. -> 1
dqsub372 subtract 1 .0 -> 1.0
dqsub373 subtract 1 0.0 -> 1.0
dqsub374 subtract 0 1 -> -1
dqsub375 subtract 0. 1 -> -1
dqsub376 subtract .0 1 -> -1.0
dqsub377 subtract 0.0 1 -> -1.0
-- leading 0 digit before round
dqsub910 subtract -103519362 -51897955.3 -> -51621406.7
dqsub911 subtract 159579.444 89827.5229 -> 69751.9211
dqsub920 subtract 333.0000000000000000000000000123456 33.00000000000000000000000001234566 -> 299.9999999999999999999999999999999 Inexact Rounded
dqsub921 subtract 333.0000000000000000000000000123456 33.00000000000000000000000001234565 -> 300.0000000000000000000000000000000 Inexact Rounded
dqsub922 subtract 133.0000000000000000000000000123456 33.00000000000000000000000001234565 -> 99.99999999999999999999999999999995
dqsub923 subtract 133.0000000000000000000000000123456 33.00000000000000000000000001234564 -> 99.99999999999999999999999999999996
dqsub924 subtract 133.0000000000000000000000000123456 33.00000000000000000000000001234540 -> 100.0000000000000000000000000000002 Rounded
dqsub925 subtract 133.0000000000000000000000000123456 43.00000000000000000000000001234560 -> 90.00000000000000000000000000000000
dqsub926 subtract 133.0000000000000000000000000123456 43.00000000000000000000000001234561 -> 89.99999999999999999999999999999999
dqsub927 subtract 133.0000000000000000000000000123456 43.00000000000000000000000001234566 -> 89.99999999999999999999999999999994
dqsub928 subtract 101.0000000000000000000000000123456 91.00000000000000000000000001234566 -> 9.99999999999999999999999999999994
dqsub929 subtract 101.0000000000000000000000000123456 99.00000000000000000000000001234566 -> 1.99999999999999999999999999999994
-- more LHS swaps [were fixed]
dqsub390 subtract '-56267E-10' 0 -> '-0.0000056267'
dqsub391 subtract '-56267E-6' 0 -> '-0.056267'
dqsub392 subtract '-56267E-5' 0 -> '-0.56267'
dqsub393 subtract '-56267E-4' 0 -> '-5.6267'
dqsub394 subtract '-56267E-3' 0 -> '-56.267'
dqsub395 subtract '-56267E-2' 0 -> '-562.67'
dqsub396 subtract '-56267E-1' 0 -> '-5626.7'
dqsub397 subtract '-56267E-0' 0 -> '-56267'
dqsub398 subtract '-5E-10' 0 -> '-5E-10'
dqsub399 subtract '-5E-7' 0 -> '-5E-7'
dqsub400 subtract '-5E-6' 0 -> '-0.000005'
dqsub401 subtract '-5E-5' 0 -> '-0.00005'
dqsub402 subtract '-5E-4' 0 -> '-0.0005'
dqsub403 subtract '-5E-1' 0 -> '-0.5'
dqsub404 subtract '-5E0' 0 -> '-5'
dqsub405 subtract '-5E1' 0 -> '-50'
dqsub406 subtract '-5E5' 0 -> '-500000'
dqsub407 subtract '-5E33' 0 -> '-5000000000000000000000000000000000'
dqsub408 subtract '-5E34' 0 -> '-5.000000000000000000000000000000000E+34' Rounded
dqsub409 subtract '-5E35' 0 -> '-5.000000000000000000000000000000000E+35' Rounded
dqsub410 subtract '-5E36' 0 -> '-5.000000000000000000000000000000000E+36' Rounded
dqsub411 subtract '-5E100' 0 -> '-5.000000000000000000000000000000000E+100' Rounded
-- more RHS swaps [were fixed]
dqsub420 subtract 0 '-56267E-10' -> '0.0000056267'
dqsub421 subtract 0 '-56267E-6' -> '0.056267'
dqsub422 subtract 0 '-56267E-5' -> '0.56267'
dqsub423 subtract 0 '-56267E-4' -> '5.6267'
dqsub424 subtract 0 '-56267E-3' -> '56.267'
dqsub425 subtract 0 '-56267E-2' -> '562.67'
dqsub426 subtract 0 '-56267E-1' -> '5626.7'
dqsub427 subtract 0 '-56267E-0' -> '56267'
dqsub428 subtract 0 '-5E-10' -> '5E-10'
dqsub429 subtract 0 '-5E-7' -> '5E-7'
dqsub430 subtract 0 '-5E-6' -> '0.000005'
dqsub431 subtract 0 '-5E-5' -> '0.00005'
dqsub432 subtract 0 '-5E-4' -> '0.0005'
dqsub433 subtract 0 '-5E-1' -> '0.5'
dqsub434 subtract 0 '-5E0' -> '5'
dqsub435 subtract 0 '-5E1' -> '50'
dqsub436 subtract 0 '-5E5' -> '500000'
dqsub437 subtract 0 '-5E33' -> '5000000000000000000000000000000000'
dqsub438 subtract 0 '-5E34' -> '5.000000000000000000000000000000000E+34' Rounded
dqsub439 subtract 0 '-5E35' -> '5.000000000000000000000000000000000E+35' Rounded
dqsub440 subtract 0 '-5E36' -> '5.000000000000000000000000000000000E+36' Rounded
dqsub441 subtract 0 '-5E100' -> '5.000000000000000000000000000000000E+100' Rounded
-- try borderline precision, with carries, etc.
dqsub461 subtract '1E+16' '1' -> '9999999999999999'
dqsub462 subtract '1E+12' '-1.111' -> '1000000000001.111'
dqsub463 subtract '1.111' '-1E+12' -> '1000000000001.111'
dqsub464 subtract '-1' '-1E+16' -> '9999999999999999'
dqsub465 subtract '7E+15' '1' -> '6999999999999999'
dqsub466 subtract '7E+12' '-1.111' -> '7000000000001.111'
dqsub467 subtract '1.111' '-7E+12' -> '7000000000001.111'
dqsub468 subtract '-1' '-7E+15' -> '6999999999999999'
-- 1234567890123456 1234567890123456 1 23456789012345
dqsub470 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555563' -> '1.000000000000000000000000000000001' Inexact Rounded
dqsub471 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555562' -> '1.000000000000000000000000000000001' Inexact Rounded
dqsub472 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555561' -> '1.000000000000000000000000000000000' Inexact Rounded
dqsub473 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555560' -> '1.000000000000000000000000000000000' Inexact Rounded
dqsub474 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555559' -> '1.000000000000000000000000000000000' Inexact Rounded
dqsub475 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555558' -> '1.000000000000000000000000000000000' Inexact Rounded
dqsub476 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555557' -> '1.000000000000000000000000000000000' Inexact Rounded
dqsub477 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555556' -> '1.000000000000000000000000000000000' Rounded
dqsub478 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555555' -> '0.9999999999999999999999999999999999'
dqsub479 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555554' -> '0.9999999999999999999999999999999998'
dqsub480 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555553' -> '0.9999999999999999999999999999999997'
dqsub481 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555552' -> '0.9999999999999999999999999999999996'
dqsub482 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555551' -> '0.9999999999999999999999999999999995'
dqsub483 subtract '0.4444444444444444444444444444444444' '-0.5555555555555555555555555555555550' -> '0.9999999999999999999999999999999994'
-- and some more, including residue effects and different roundings
rounding: half_up
dqsub500 subtract '1231234555555555555555555567456789' 0 -> '1231234555555555555555555567456789'
dqsub501 subtract '1231234555555555555555555567456789' 0.000000001 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub502 subtract '1231234555555555555555555567456789' 0.000001 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub503 subtract '1231234555555555555555555567456789' 0.1 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub504 subtract '1231234555555555555555555567456789' 0.4 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub505 subtract '1231234555555555555555555567456789' 0.49 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub506 subtract '1231234555555555555555555567456789' 0.499999 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub507 subtract '1231234555555555555555555567456789' 0.499999999 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub508 subtract '1231234555555555555555555567456789' 0.5 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub509 subtract '1231234555555555555555555567456789' 0.500000001 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub510 subtract '1231234555555555555555555567456789' 0.500001 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub511 subtract '1231234555555555555555555567456789' 0.51 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub512 subtract '1231234555555555555555555567456789' 0.6 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub513 subtract '1231234555555555555555555567456789' 0.9 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub514 subtract '1231234555555555555555555567456789' 0.99999 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub515 subtract '1231234555555555555555555567456789' 0.999999999 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub516 subtract '1231234555555555555555555567456789' 1 -> '1231234555555555555555555567456788'
dqsub517 subtract '1231234555555555555555555567456789' 1.000000001 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub518 subtract '1231234555555555555555555567456789' 1.00001 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub519 subtract '1231234555555555555555555567456789' 1.1 -> '1231234555555555555555555567456788' Inexact Rounded
rounding: half_even
dqsub520 subtract '1231234555555555555555555567456789' 0 -> '1231234555555555555555555567456789'
dqsub521 subtract '1231234555555555555555555567456789' 0.000000001 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub522 subtract '1231234555555555555555555567456789' 0.000001 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub523 subtract '1231234555555555555555555567456789' 0.1 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub524 subtract '1231234555555555555555555567456789' 0.4 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub525 subtract '1231234555555555555555555567456789' 0.49 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub526 subtract '1231234555555555555555555567456789' 0.499999 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub527 subtract '1231234555555555555555555567456789' 0.499999999 -> '1231234555555555555555555567456789' Inexact Rounded
dqsub528 subtract '1231234555555555555555555567456789' 0.5 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub529 subtract '1231234555555555555555555567456789' 0.500000001 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub530 subtract '1231234555555555555555555567456789' 0.500001 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub531 subtract '1231234555555555555555555567456789' 0.51 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub532 subtract '1231234555555555555555555567456789' 0.6 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub533 subtract '1231234555555555555555555567456789' 0.9 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub534 subtract '1231234555555555555555555567456789' 0.99999 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub535 subtract '1231234555555555555555555567456789' 0.999999999 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub536 subtract '1231234555555555555555555567456789' 1 -> '1231234555555555555555555567456788'
dqsub537 subtract '1231234555555555555555555567456789' 1.00000001 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub538 subtract '1231234555555555555555555567456789' 1.00001 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub539 subtract '1231234555555555555555555567456789' 1.1 -> '1231234555555555555555555567456788' Inexact Rounded
-- critical few with even bottom digit...
dqsub540 subtract '1231234555555555555555555567456788' 0.499999999 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub541 subtract '1231234555555555555555555567456788' 0.5 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub542 subtract '1231234555555555555555555567456788' 0.500000001 -> '1231234555555555555555555567456787' Inexact Rounded
rounding: down
dqsub550 subtract '1231234555555555555555555567456789' 0 -> '1231234555555555555555555567456789'
dqsub551 subtract '1231234555555555555555555567456789' 0.000000001 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub552 subtract '1231234555555555555555555567456789' 0.000001 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub553 subtract '1231234555555555555555555567456789' 0.1 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub554 subtract '1231234555555555555555555567456789' 0.4 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub555 subtract '1231234555555555555555555567456789' 0.49 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub556 subtract '1231234555555555555555555567456789' 0.499999 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub557 subtract '1231234555555555555555555567456789' 0.499999999 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub558 subtract '1231234555555555555555555567456789' 0.5 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub559 subtract '1231234555555555555555555567456789' 0.500000001 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub560 subtract '1231234555555555555555555567456789' 0.500001 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub561 subtract '1231234555555555555555555567456789' 0.51 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub562 subtract '1231234555555555555555555567456789' 0.6 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub563 subtract '1231234555555555555555555567456789' 0.9 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub564 subtract '1231234555555555555555555567456789' 0.99999 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub565 subtract '1231234555555555555555555567456789' 0.999999999 -> '1231234555555555555555555567456788' Inexact Rounded
dqsub566 subtract '1231234555555555555555555567456789' 1 -> '1231234555555555555555555567456788'
dqsub567 subtract '1231234555555555555555555567456789' 1.00000001 -> '1231234555555555555555555567456787' Inexact Rounded
dqsub568 subtract '1231234555555555555555555567456789' 1.00001 -> '1231234555555555555555555567456787' Inexact Rounded
dqsub569 subtract '1231234555555555555555555567456789' 1.1 -> '1231234555555555555555555567456787' Inexact Rounded
-- symmetry...
rounding: half_up
dqsub600 subtract 0 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789'
dqsub601 subtract 0.000000001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub602 subtract 0.000001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub603 subtract 0.1 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub604 subtract 0.4 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub605 subtract 0.49 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub606 subtract 0.499999 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub607 subtract 0.499999999 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub608 subtract 0.5 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub609 subtract 0.500000001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub610 subtract 0.500001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub611 subtract 0.51 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub612 subtract 0.6 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub613 subtract 0.9 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub614 subtract 0.99999 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub615 subtract 0.999999999 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub616 subtract 1 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788'
dqsub617 subtract 1.000000001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub618 subtract 1.00001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub619 subtract 1.1 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
rounding: half_even
dqsub620 subtract 0 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789'
dqsub621 subtract 0.000000001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub622 subtract 0.000001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub623 subtract 0.1 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub624 subtract 0.4 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub625 subtract 0.49 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub626 subtract 0.499999 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub627 subtract 0.499999999 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789' Inexact Rounded
dqsub628 subtract 0.5 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub629 subtract 0.500000001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub630 subtract 0.500001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub631 subtract 0.51 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub632 subtract 0.6 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub633 subtract 0.9 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub634 subtract 0.99999 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub635 subtract 0.999999999 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub636 subtract 1 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788'
dqsub637 subtract 1.00000001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub638 subtract 1.00001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub639 subtract 1.1 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
-- critical few with even bottom digit...
dqsub640 subtract 0.499999999 '1231234555555555555555555567456788' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub641 subtract 0.5 '1231234555555555555555555567456788' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub642 subtract 0.500000001 '1231234555555555555555555567456788' -> '-1231234555555555555555555567456787' Inexact Rounded
rounding: down
dqsub650 subtract 0 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456789'
dqsub651 subtract 0.000000001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub652 subtract 0.000001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub653 subtract 0.1 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub654 subtract 0.4 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub655 subtract 0.49 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub656 subtract 0.499999 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub657 subtract 0.499999999 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub658 subtract 0.5 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub659 subtract 0.500000001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub660 subtract 0.500001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub661 subtract 0.51 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub662 subtract 0.6 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub663 subtract 0.9 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub664 subtract 0.99999 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub665 subtract 0.999999999 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788' Inexact Rounded
dqsub666 subtract 1 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456788'
dqsub667 subtract 1.00000001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456787' Inexact Rounded
dqsub668 subtract 1.00001 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456787' Inexact Rounded
dqsub669 subtract 1.1 '1231234555555555555555555567456789' -> '-1231234555555555555555555567456787' Inexact Rounded
-- lots of leading zeros in intermediate result, and showing effects of
-- input rounding would have affected the following
rounding: half_up
dqsub670 subtract '1234567456789' '1234567456788.1' -> 0.9
dqsub671 subtract '1234567456789' '1234567456788.9' -> 0.1
dqsub672 subtract '1234567456789' '1234567456789.1' -> -0.1
dqsub673 subtract '1234567456789' '1234567456789.5' -> -0.5
dqsub674 subtract '1234567456789' '1234567456789.9' -> -0.9
rounding: half_even
dqsub680 subtract '1234567456789' '1234567456788.1' -> 0.9
dqsub681 subtract '1234567456789' '1234567456788.9' -> 0.1
dqsub682 subtract '1234567456789' '1234567456789.1' -> -0.1
dqsub683 subtract '1234567456789' '1234567456789.5' -> -0.5
dqsub684 subtract '1234567456789' '1234567456789.9' -> -0.9
dqsub685 subtract '1234567456788' '1234567456787.1' -> 0.9
dqsub686 subtract '1234567456788' '1234567456787.9' -> 0.1
dqsub687 subtract '1234567456788' '1234567456788.1' -> -0.1
dqsub688 subtract '1234567456788' '1234567456788.5' -> -0.5
dqsub689 subtract '1234567456788' '1234567456788.9' -> -0.9
rounding: down
dqsub690 subtract '1234567456789' '1234567456788.1' -> 0.9
dqsub691 subtract '1234567456789' '1234567456788.9' -> 0.1
dqsub692 subtract '1234567456789' '1234567456789.1' -> -0.1
dqsub693 subtract '1234567456789' '1234567456789.5' -> -0.5
dqsub694 subtract '1234567456789' '1234567456789.9' -> -0.9
-- Specials
dqsub780 subtract -Inf Inf -> -Infinity
dqsub781 subtract -Inf 1000 -> -Infinity
dqsub782 subtract -Inf 1 -> -Infinity
dqsub783 subtract -Inf -0 -> -Infinity
dqsub784 subtract -Inf -1 -> -Infinity
dqsub785 subtract -Inf -1000 -> -Infinity
dqsub787 subtract -1000 Inf -> -Infinity
dqsub788 subtract -Inf Inf -> -Infinity
dqsub789 subtract -1 Inf -> -Infinity
dqsub790 subtract 0 Inf -> -Infinity
dqsub791 subtract 1 Inf -> -Infinity
dqsub792 subtract 1000 Inf -> -Infinity
dqsub800 subtract Inf Inf -> NaN Invalid_operation
dqsub801 subtract Inf 1000 -> Infinity
dqsub802 subtract Inf 1 -> Infinity
dqsub803 subtract Inf 0 -> Infinity
dqsub804 subtract Inf -0 -> Infinity
dqsub805 subtract Inf -1 -> Infinity
dqsub806 subtract Inf -1000 -> Infinity
dqsub807 subtract Inf -Inf -> Infinity
dqsub808 subtract -1000 -Inf -> Infinity
dqsub809 subtract -Inf -Inf -> NaN Invalid_operation
dqsub810 subtract -1 -Inf -> Infinity
dqsub811 subtract -0 -Inf -> Infinity
dqsub812 subtract 0 -Inf -> Infinity
dqsub813 subtract 1 -Inf -> Infinity
dqsub814 subtract 1000 -Inf -> Infinity
dqsub815 subtract Inf -Inf -> Infinity
dqsub821 subtract NaN Inf -> NaN
dqsub822 subtract -NaN 1000 -> -NaN
dqsub823 subtract NaN 1 -> NaN
dqsub824 subtract NaN 0 -> NaN
dqsub825 subtract NaN -0 -> NaN
dqsub826 subtract NaN -1 -> NaN
dqsub827 subtract NaN -1000 -> NaN
dqsub828 subtract NaN -Inf -> NaN
dqsub829 subtract -NaN NaN -> -NaN
dqsub830 subtract -Inf NaN -> NaN
dqsub831 subtract -1000 NaN -> NaN
dqsub832 subtract -1 NaN -> NaN
dqsub833 subtract -0 NaN -> NaN
dqsub834 subtract 0 NaN -> NaN
dqsub835 subtract 1 NaN -> NaN
dqsub836 subtract 1000 -NaN -> -NaN
dqsub837 subtract Inf NaN -> NaN
dqsub841 subtract sNaN Inf -> NaN Invalid_operation
dqsub842 subtract -sNaN 1000 -> -NaN Invalid_operation
dqsub843 subtract sNaN 1 -> NaN Invalid_operation
dqsub844 subtract sNaN 0 -> NaN Invalid_operation
dqsub845 subtract sNaN -0 -> NaN Invalid_operation
dqsub846 subtract sNaN -1 -> NaN Invalid_operation
dqsub847 subtract sNaN -1000 -> NaN Invalid_operation
dqsub848 subtract sNaN NaN -> NaN Invalid_operation
dqsub849 subtract sNaN sNaN -> NaN Invalid_operation
dqsub850 subtract NaN sNaN -> NaN Invalid_operation
dqsub851 subtract -Inf -sNaN -> -NaN Invalid_operation
dqsub852 subtract -1000 sNaN -> NaN Invalid_operation
dqsub853 subtract -1 sNaN -> NaN Invalid_operation
dqsub854 subtract -0 sNaN -> NaN Invalid_operation
dqsub855 subtract 0 sNaN -> NaN Invalid_operation
dqsub856 subtract 1 sNaN -> NaN Invalid_operation
dqsub857 subtract 1000 sNaN -> NaN Invalid_operation
dqsub858 subtract Inf sNaN -> NaN Invalid_operation
dqsub859 subtract NaN sNaN -> NaN Invalid_operation
-- propagating NaNs
dqsub861 subtract NaN01 -Inf -> NaN1
dqsub862 subtract -NaN02 -1000 -> -NaN2
dqsub863 subtract NaN03 1000 -> NaN3
dqsub864 subtract NaN04 Inf -> NaN4
dqsub865 subtract NaN05 NaN61 -> NaN5
dqsub866 subtract -Inf -NaN71 -> -NaN71
dqsub867 subtract -1000 NaN81 -> NaN81
dqsub868 subtract 1000 NaN91 -> NaN91
dqsub869 subtract Inf NaN101 -> NaN101
dqsub871 subtract sNaN011 -Inf -> NaN11 Invalid_operation
dqsub872 subtract sNaN012 -1000 -> NaN12 Invalid_operation
dqsub873 subtract -sNaN013 1000 -> -NaN13 Invalid_operation
dqsub874 subtract sNaN014 NaN171 -> NaN14 Invalid_operation
dqsub875 subtract sNaN015 sNaN181 -> NaN15 Invalid_operation
dqsub876 subtract NaN016 sNaN191 -> NaN191 Invalid_operation
dqsub877 subtract -Inf sNaN201 -> NaN201 Invalid_operation
dqsub878 subtract -1000 sNaN211 -> NaN211 Invalid_operation
dqsub879 subtract 1000 -sNaN221 -> -NaN221 Invalid_operation
dqsub880 subtract Inf sNaN231 -> NaN231 Invalid_operation
dqsub881 subtract NaN025 sNaN241 -> NaN241 Invalid_operation
-- edge case spills
dqsub901 subtract 2.E-3 1.002 -> -1.000
dqsub902 subtract 2.0E-3 1.002 -> -1.0000
dqsub903 subtract 2.00E-3 1.0020 -> -1.00000
dqsub904 subtract 2.000E-3 1.00200 -> -1.000000
dqsub905 subtract 2.0000E-3 1.002000 -> -1.0000000
dqsub906 subtract 2.00000E-3 1.0020000 -> -1.00000000
dqsub907 subtract 2.000000E-3 1.00200000 -> -1.000000000
dqsub908 subtract 2.0000000E-3 1.002000000 -> -1.0000000000
-- subnormals and overflows covered under Add
-- Examples from SQL proposal (Krishna Kulkarni)
dqsub1125 subtract 130E-2 120E-2 -> 0.10
dqsub1126 subtract 130E-2 12E-1 -> 0.10
dqsub1127 subtract 130E-2 1E0 -> 0.30
dqsub1128 subtract 1E2 1E4 -> -9.9E+3
-- Null tests
dqsub9990 subtract 10 # -> NaN Invalid_operation
dqsub9991 subtract # 10 -> NaN Invalid_operation