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
|