diff options
author | Thomas Wouters <thomas@python.org> | 2007-09-19 03:06:30 (GMT) |
---|---|---|
committer | Thomas Wouters <thomas@python.org> | 2007-09-19 03:06:30 (GMT) |
commit | 1b7f891f416830d0c46ca1c9e1bfe62f05cda655 (patch) | |
tree | fc092d34bebe4223a3026d1992bf17cc0ea2b2b0 /Lib/test/decimaltestdata/dqMultiply.decTest | |
parent | 782d6b44a1cc003106bac3a310d3e4ac3768adbd (diff) | |
download | cpython-1b7f891f416830d0c46ca1c9e1bfe62f05cda655.zip cpython-1b7f891f416830d0c46ca1c9e1bfe62f05cda655.tar.gz cpython-1b7f891f416830d0c46ca1c9e1bfe62f05cda655.tar.bz2 |
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.
........
Diffstat (limited to 'Lib/test/decimaltestdata/dqMultiply.decTest')
-rw-r--r-- | Lib/test/decimaltestdata/dqMultiply.decTest | 473 |
1 files changed, 473 insertions, 0 deletions
diff --git a/Lib/test/decimaltestdata/dqMultiply.decTest b/Lib/test/decimaltestdata/dqMultiply.decTest new file mode 100644 index 0000000..a6f85e0 --- /dev/null +++ b/Lib/test/decimaltestdata/dqMultiply.decTest @@ -0,0 +1,473 @@ +------------------------------------------------------------------------
+-- dqMultiply.decTest -- decQuad multiplication --
+-- 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 --
+------------------------------------------------------------------------
+version: 2.56
+
+-- 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
+
+-- sanity checks
+dqmul000 multiply 2 2 -> 4
+dqmul001 multiply 2 3 -> 6
+dqmul002 multiply 5 1 -> 5
+dqmul003 multiply 5 2 -> 10
+dqmul004 multiply 1.20 2 -> 2.40
+dqmul005 multiply 1.20 0 -> 0.00
+dqmul006 multiply 1.20 -2 -> -2.40
+dqmul007 multiply -1.20 2 -> -2.40
+dqmul008 multiply -1.20 0 -> -0.00
+dqmul009 multiply -1.20 -2 -> 2.40
+dqmul010 multiply 5.09 7.1 -> 36.139
+dqmul011 multiply 2.5 4 -> 10.0
+dqmul012 multiply 2.50 4 -> 10.00
+dqmul013 multiply 1.23456789 1.0000000000000000000000000000 -> 1.234567890000000000000000000000000 Rounded
+dqmul015 multiply 2.50 4 -> 10.00
+dqmul016 multiply 9.99999999999999999 9.99999999999999999 -> 99.99999999999999980000000000000000 Inexact Rounded
+dqmul017 multiply 9.99999999999999999 -9.99999999999999999 -> -99.99999999999999980000000000000000 Inexact Rounded
+dqmul018 multiply -9.99999999999999999 9.99999999999999999 -> -99.99999999999999980000000000000000 Inexact Rounded
+dqmul019 multiply -9.99999999999999999 -9.99999999999999999 -> 99.99999999999999980000000000000000 Inexact Rounded
+
+-- zeros, etc.
+dqmul021 multiply 0 0 -> 0
+dqmul022 multiply 0 -0 -> -0
+dqmul023 multiply -0 0 -> -0
+dqmul024 multiply -0 -0 -> 0
+dqmul025 multiply -0.0 -0.0 -> 0.00
+dqmul026 multiply -0.0 -0.0 -> 0.00
+dqmul027 multiply -0.0 -0.0 -> 0.00
+dqmul028 multiply -0.0 -0.0 -> 0.00
+dqmul030 multiply 5.00 1E-3 -> 0.00500
+dqmul031 multiply 00.00 0.000 -> 0.00000
+dqmul032 multiply 00.00 0E-3 -> 0.00000 -- rhs is 0
+dqmul033 multiply 0E-3 00.00 -> 0.00000 -- lhs is 0
+dqmul034 multiply -5.00 1E-3 -> -0.00500
+dqmul035 multiply -00.00 0.000 -> -0.00000
+dqmul036 multiply -00.00 0E-3 -> -0.00000 -- rhs is 0
+dqmul037 multiply -0E-3 00.00 -> -0.00000 -- lhs is 0
+dqmul038 multiply 5.00 -1E-3 -> -0.00500
+dqmul039 multiply 00.00 -0.000 -> -0.00000
+dqmul040 multiply 00.00 -0E-3 -> -0.00000 -- rhs is 0
+dqmul041 multiply 0E-3 -00.00 -> -0.00000 -- lhs is 0
+dqmul042 multiply -5.00 -1E-3 -> 0.00500
+dqmul043 multiply -00.00 -0.000 -> 0.00000
+dqmul044 multiply -00.00 -0E-3 -> 0.00000 -- rhs is 0
+dqmul045 multiply -0E-3 -00.00 -> 0.00000 -- lhs is 0
+
+-- examples from decarith
+dqmul050 multiply 1.20 3 -> 3.60
+dqmul051 multiply 7 3 -> 21
+dqmul052 multiply 0.9 0.8 -> 0.72
+dqmul053 multiply 0.9 -0 -> -0.0
+dqmul054 multiply 654321 654321 -> 428135971041
+
+dqmul060 multiply 123.45 1e7 -> 1.2345E+9
+dqmul061 multiply 123.45 1e8 -> 1.2345E+10
+dqmul062 multiply 123.45 1e+9 -> 1.2345E+11
+dqmul063 multiply 123.45 1e10 -> 1.2345E+12
+dqmul064 multiply 123.45 1e11 -> 1.2345E+13
+dqmul065 multiply 123.45 1e12 -> 1.2345E+14
+dqmul066 multiply 123.45 1e13 -> 1.2345E+15
+
+
+-- test some intermediate lengths
+-- 1234567890123456
+dqmul080 multiply 0.1 1230123456456789 -> 123012345645678.9
+dqmul084 multiply 0.1 1230123456456789 -> 123012345645678.9
+dqmul090 multiply 1230123456456789 0.1 -> 123012345645678.9
+dqmul094 multiply 1230123456456789 0.1 -> 123012345645678.9
+
+-- test some more edge cases and carries
+dqmul101 multiply 9 9 -> 81
+dqmul102 multiply 9 90 -> 810
+dqmul103 multiply 9 900 -> 8100
+dqmul104 multiply 9 9000 -> 81000
+dqmul105 multiply 9 90000 -> 810000
+dqmul106 multiply 9 900000 -> 8100000
+dqmul107 multiply 9 9000000 -> 81000000
+dqmul108 multiply 9 90000000 -> 810000000
+dqmul109 multiply 9 900000000 -> 8100000000
+dqmul110 multiply 9 9000000000 -> 81000000000
+dqmul111 multiply 9 90000000000 -> 810000000000
+dqmul112 multiply 9 900000000000 -> 8100000000000
+dqmul113 multiply 9 9000000000000 -> 81000000000000
+dqmul114 multiply 9 90000000000000 -> 810000000000000
+dqmul115 multiply 9 900000000000000 -> 8100000000000000
+--dqmul116 multiply 9 9000000000000000 -> 81000000000000000
+--dqmul117 multiply 9 90000000000000000 -> 810000000000000000
+--dqmul118 multiply 9 900000000000000000 -> 8100000000000000000
+--dqmul119 multiply 9 9000000000000000000 -> 81000000000000000000
+--dqmul120 multiply 9 90000000000000000000 -> 810000000000000000000
+--dqmul121 multiply 9 900000000000000000000 -> 8100000000000000000000
+--dqmul122 multiply 9 9000000000000000000000 -> 81000000000000000000000
+--dqmul123 multiply 9 90000000000000000000000 -> 810000000000000000000000
+-- test some more edge cases without carries
+dqmul131 multiply 3 3 -> 9
+dqmul132 multiply 3 30 -> 90
+dqmul133 multiply 3 300 -> 900
+dqmul134 multiply 3 3000 -> 9000
+dqmul135 multiply 3 30000 -> 90000
+dqmul136 multiply 3 300000 -> 900000
+dqmul137 multiply 3 3000000 -> 9000000
+dqmul138 multiply 3 30000000 -> 90000000
+dqmul139 multiply 3 300000000 -> 900000000
+dqmul140 multiply 3 3000000000 -> 9000000000
+dqmul141 multiply 3 30000000000 -> 90000000000
+dqmul142 multiply 3 300000000000 -> 900000000000
+dqmul143 multiply 3 3000000000000 -> 9000000000000
+dqmul144 multiply 3 30000000000000 -> 90000000000000
+dqmul145 multiply 3 300000000000000 -> 900000000000000
+dqmul146 multiply 3 3000000000000000 -> 9000000000000000
+dqmul147 multiply 3 30000000000000000 -> 90000000000000000
+dqmul148 multiply 3 300000000000000000 -> 900000000000000000
+dqmul149 multiply 3 3000000000000000000 -> 9000000000000000000
+dqmul150 multiply 3 30000000000000000000 -> 90000000000000000000
+dqmul151 multiply 3 300000000000000000000 -> 900000000000000000000
+dqmul152 multiply 3 3000000000000000000000 -> 9000000000000000000000
+dqmul153 multiply 3 30000000000000000000000 -> 90000000000000000000000
+
+dqmul263 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.2908011933696719165119928296 Inexact Rounded
+
+-- test some edge cases with exact rounding
+dqmul301 multiply 900000000000000000 9 -> 8100000000000000000
+dqmul302 multiply 900000000000000000 90 -> 81000000000000000000
+dqmul303 multiply 900000000000000000 900 -> 810000000000000000000
+dqmul304 multiply 900000000000000000 9000 -> 8100000000000000000000
+dqmul305 multiply 900000000000000000 90000 -> 81000000000000000000000
+dqmul306 multiply 900000000000000000 900000 -> 810000000000000000000000
+dqmul307 multiply 900000000000000000 9000000 -> 8100000000000000000000000
+dqmul308 multiply 900000000000000000 90000000 -> 81000000000000000000000000
+dqmul309 multiply 900000000000000000 900000000 -> 810000000000000000000000000
+dqmul310 multiply 900000000000000000 9000000000 -> 8100000000000000000000000000
+dqmul311 multiply 900000000000000000 90000000000 -> 81000000000000000000000000000
+dqmul312 multiply 900000000000000000 900000000000 -> 810000000000000000000000000000
+dqmul313 multiply 900000000000000000 9000000000000 -> 8100000000000000000000000000000
+dqmul314 multiply 900000000000000000 90000000000000 -> 81000000000000000000000000000000
+dqmul315 multiply 900000000000000000 900000000000000 -> 810000000000000000000000000000000
+dqmul316 multiply 900000000000000000 9000000000000000 -> 8100000000000000000000000000000000
+dqmul317 multiply 9000000000000000000 9000000000000000 -> 8.100000000000000000000000000000000E+34 Rounded
+dqmul318 multiply 90000000000000000000 9000000000000000 -> 8.100000000000000000000000000000000E+35 Rounded
+dqmul319 multiply 900000000000000000000 9000000000000000 -> 8.100000000000000000000000000000000E+36 Rounded
+dqmul320 multiply 9000000000000000000000 9000000000000000 -> 8.100000000000000000000000000000000E+37 Rounded
+dqmul321 multiply 90000000000000000000000 9000000000000000 -> 8.100000000000000000000000000000000E+38 Rounded
+dqmul322 multiply 900000000000000000000000 9000000000000000 -> 8.100000000000000000000000000000000E+39 Rounded
+dqmul323 multiply 9000000000000000000000000 9000000000000000 -> 8.100000000000000000000000000000000E+40 Rounded
+
+-- tryzeros cases
+dqmul504 multiply 0E-4260 1000E-4260 -> 0E-6176 Clamped
+dqmul505 multiply 100E+4260 0E+4260 -> 0E+6111 Clamped
+
+-- mixed with zeros
+dqmul541 multiply 0 -1 -> -0
+dqmul542 multiply -0 -1 -> 0
+dqmul543 multiply 0 1 -> 0
+dqmul544 multiply -0 1 -> -0
+dqmul545 multiply -1 0 -> -0
+dqmul546 multiply -1 -0 -> 0
+dqmul547 multiply 1 0 -> 0
+dqmul548 multiply 1 -0 -> -0
+
+dqmul551 multiply 0.0 -1 -> -0.0
+dqmul552 multiply -0.0 -1 -> 0.0
+dqmul553 multiply 0.0 1 -> 0.0
+dqmul554 multiply -0.0 1 -> -0.0
+dqmul555 multiply -1.0 0 -> -0.0
+dqmul556 multiply -1.0 -0 -> 0.0
+dqmul557 multiply 1.0 0 -> 0.0
+dqmul558 multiply 1.0 -0 -> -0.0
+
+dqmul561 multiply 0 -1.0 -> -0.0
+dqmul562 multiply -0 -1.0 -> 0.0
+dqmul563 multiply 0 1.0 -> 0.0
+dqmul564 multiply -0 1.0 -> -0.0
+dqmul565 multiply -1 0.0 -> -0.0
+dqmul566 multiply -1 -0.0 -> 0.0
+dqmul567 multiply 1 0.0 -> 0.0
+dqmul568 multiply 1 -0.0 -> -0.0
+
+dqmul571 multiply 0.0 -1.0 -> -0.00
+dqmul572 multiply -0.0 -1.0 -> 0.00
+dqmul573 multiply 0.0 1.0 -> 0.00
+dqmul574 multiply -0.0 1.0 -> -0.00
+dqmul575 multiply -1.0 0.0 -> -0.00
+dqmul576 multiply -1.0 -0.0 -> 0.00
+dqmul577 multiply 1.0 0.0 -> 0.00
+dqmul578 multiply 1.0 -0.0 -> -0.00
+
+
+-- Specials
+dqmul580 multiply Inf -Inf -> -Infinity
+dqmul581 multiply Inf -1000 -> -Infinity
+dqmul582 multiply Inf -1 -> -Infinity
+dqmul583 multiply Inf -0 -> NaN Invalid_operation
+dqmul584 multiply Inf 0 -> NaN Invalid_operation
+dqmul585 multiply Inf 1 -> Infinity
+dqmul586 multiply Inf 1000 -> Infinity
+dqmul587 multiply Inf Inf -> Infinity
+dqmul588 multiply -1000 Inf -> -Infinity
+dqmul589 multiply -Inf Inf -> -Infinity
+dqmul590 multiply -1 Inf -> -Infinity
+dqmul591 multiply -0 Inf -> NaN Invalid_operation
+dqmul592 multiply 0 Inf -> NaN Invalid_operation
+dqmul593 multiply 1 Inf -> Infinity
+dqmul594 multiply 1000 Inf -> Infinity
+dqmul595 multiply Inf Inf -> Infinity
+
+dqmul600 multiply -Inf -Inf -> Infinity
+dqmul601 multiply -Inf -1000 -> Infinity
+dqmul602 multiply -Inf -1 -> Infinity
+dqmul603 multiply -Inf -0 -> NaN Invalid_operation
+dqmul604 multiply -Inf 0 -> NaN Invalid_operation
+dqmul605 multiply -Inf 1 -> -Infinity
+dqmul606 multiply -Inf 1000 -> -Infinity
+dqmul607 multiply -Inf Inf -> -Infinity
+dqmul608 multiply -1000 Inf -> -Infinity
+dqmul609 multiply -Inf -Inf -> Infinity
+dqmul610 multiply -1 -Inf -> Infinity
+dqmul611 multiply -0 -Inf -> NaN Invalid_operation
+dqmul612 multiply 0 -Inf -> NaN Invalid_operation
+dqmul613 multiply 1 -Inf -> -Infinity
+dqmul614 multiply 1000 -Inf -> -Infinity
+dqmul615 multiply Inf -Inf -> -Infinity
+
+dqmul621 multiply NaN -Inf -> NaN
+dqmul622 multiply NaN -1000 -> NaN
+dqmul623 multiply NaN -1 -> NaN
+dqmul624 multiply NaN -0 -> NaN
+dqmul625 multiply NaN 0 -> NaN
+dqmul626 multiply NaN 1 -> NaN
+dqmul627 multiply NaN 1000 -> NaN
+dqmul628 multiply NaN Inf -> NaN
+dqmul629 multiply NaN NaN -> NaN
+dqmul630 multiply -Inf NaN -> NaN
+dqmul631 multiply -1000 NaN -> NaN
+dqmul632 multiply -1 NaN -> NaN
+dqmul633 multiply -0 NaN -> NaN
+dqmul634 multiply 0 NaN -> NaN
+dqmul635 multiply 1 NaN -> NaN
+dqmul636 multiply 1000 NaN -> NaN
+dqmul637 multiply Inf NaN -> NaN
+
+dqmul641 multiply sNaN -Inf -> NaN Invalid_operation
+dqmul642 multiply sNaN -1000 -> NaN Invalid_operation
+dqmul643 multiply sNaN -1 -> NaN Invalid_operation
+dqmul644 multiply sNaN -0 -> NaN Invalid_operation
+dqmul645 multiply sNaN 0 -> NaN Invalid_operation
+dqmul646 multiply sNaN 1 -> NaN Invalid_operation
+dqmul647 multiply sNaN 1000 -> NaN Invalid_operation
+dqmul648 multiply sNaN NaN -> NaN Invalid_operation
+dqmul649 multiply sNaN sNaN -> NaN Invalid_operation
+dqmul650 multiply NaN sNaN -> NaN Invalid_operation
+dqmul651 multiply -Inf sNaN -> NaN Invalid_operation
+dqmul652 multiply -1000 sNaN -> NaN Invalid_operation
+dqmul653 multiply -1 sNaN -> NaN Invalid_operation
+dqmul654 multiply -0 sNaN -> NaN Invalid_operation
+dqmul655 multiply 0 sNaN -> NaN Invalid_operation
+dqmul656 multiply 1 sNaN -> NaN Invalid_operation
+dqmul657 multiply 1000 sNaN -> NaN Invalid_operation
+dqmul658 multiply Inf sNaN -> NaN Invalid_operation
+dqmul659 multiply NaN sNaN -> NaN Invalid_operation
+
+-- propagating NaNs
+dqmul661 multiply NaN9 -Inf -> NaN9
+dqmul662 multiply NaN8 999 -> NaN8
+dqmul663 multiply NaN71 Inf -> NaN71
+dqmul664 multiply NaN6 NaN5 -> NaN6
+dqmul665 multiply -Inf NaN4 -> NaN4
+dqmul666 multiply -999 NaN33 -> NaN33
+dqmul667 multiply Inf NaN2 -> NaN2
+
+dqmul671 multiply sNaN99 -Inf -> NaN99 Invalid_operation
+dqmul672 multiply sNaN98 -11 -> NaN98 Invalid_operation
+dqmul673 multiply sNaN97 NaN -> NaN97 Invalid_operation
+dqmul674 multiply sNaN16 sNaN94 -> NaN16 Invalid_operation
+dqmul675 multiply NaN95 sNaN93 -> NaN93 Invalid_operation
+dqmul676 multiply -Inf sNaN92 -> NaN92 Invalid_operation
+dqmul677 multiply 088 sNaN91 -> NaN91 Invalid_operation
+dqmul678 multiply Inf sNaN90 -> NaN90 Invalid_operation
+dqmul679 multiply NaN sNaN89 -> NaN89 Invalid_operation
+
+dqmul681 multiply -NaN9 -Inf -> -NaN9
+dqmul682 multiply -NaN8 999 -> -NaN8
+dqmul683 multiply -NaN71 Inf -> -NaN71
+dqmul684 multiply -NaN6 -NaN5 -> -NaN6
+dqmul685 multiply -Inf -NaN4 -> -NaN4
+dqmul686 multiply -999 -NaN33 -> -NaN33
+dqmul687 multiply Inf -NaN2 -> -NaN2
+
+dqmul691 multiply -sNaN99 -Inf -> -NaN99 Invalid_operation
+dqmul692 multiply -sNaN98 -11 -> -NaN98 Invalid_operation
+dqmul693 multiply -sNaN97 NaN -> -NaN97 Invalid_operation
+dqmul694 multiply -sNaN16 -sNaN94 -> -NaN16 Invalid_operation
+dqmul695 multiply -NaN95 -sNaN93 -> -NaN93 Invalid_operation
+dqmul696 multiply -Inf -sNaN92 -> -NaN92 Invalid_operation
+dqmul697 multiply 088 -sNaN91 -> -NaN91 Invalid_operation
+dqmul698 multiply Inf -sNaN90 -> -NaN90 Invalid_operation
+dqmul699 multiply -NaN -sNaN89 -> -NaN89 Invalid_operation
+
+dqmul701 multiply -NaN -Inf -> -NaN
+dqmul702 multiply -NaN 999 -> -NaN
+dqmul703 multiply -NaN Inf -> -NaN
+dqmul704 multiply -NaN -NaN -> -NaN
+dqmul705 multiply -Inf -NaN0 -> -NaN
+dqmul706 multiply -999 -NaN -> -NaN
+dqmul707 multiply Inf -NaN -> -NaN
+
+dqmul711 multiply -sNaN -Inf -> -NaN Invalid_operation
+dqmul712 multiply -sNaN -11 -> -NaN Invalid_operation
+dqmul713 multiply -sNaN00 NaN -> -NaN Invalid_operation
+dqmul714 multiply -sNaN -sNaN -> -NaN Invalid_operation
+dqmul715 multiply -NaN -sNaN -> -NaN Invalid_operation
+dqmul716 multiply -Inf -sNaN -> -NaN Invalid_operation
+dqmul717 multiply 088 -sNaN -> -NaN Invalid_operation
+dqmul718 multiply Inf -sNaN -> -NaN Invalid_operation
+dqmul719 multiply -NaN -sNaN -> -NaN Invalid_operation
+
+-- overflow and underflow tests .. note subnormal results
+-- signs
+dqmul751 multiply 1e+4277 1e+3311 -> Infinity Overflow Inexact Rounded
+dqmul752 multiply 1e+4277 -1e+3311 -> -Infinity Overflow Inexact Rounded
+dqmul753 multiply -1e+4277 1e+3311 -> -Infinity Overflow Inexact Rounded
+dqmul754 multiply -1e+4277 -1e+3311 -> Infinity Overflow Inexact Rounded
+dqmul755 multiply 1e-4277 1e-3311 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
+dqmul756 multiply 1e-4277 -1e-3311 -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped
+dqmul757 multiply -1e-4277 1e-3311 -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped
+dqmul758 multiply -1e-4277 -1e-3311 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
+
+-- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)
+dqmul760 multiply 1e-6069 1e-101 -> 1E-6170 Subnormal
+dqmul761 multiply 1e-6069 1e-102 -> 1E-6171 Subnormal
+dqmul762 multiply 1e-6069 1e-103 -> 1E-6172 Subnormal
+dqmul763 multiply 1e-6069 1e-104 -> 1E-6173 Subnormal
+dqmul764 multiply 1e-6069 1e-105 -> 1E-6174 Subnormal
+dqmul765 multiply 1e-6069 1e-106 -> 1E-6175 Subnormal
+dqmul766 multiply 1e-6069 1e-107 -> 1E-6176 Subnormal
+dqmul767 multiply 1e-6069 1e-108 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
+dqmul768 multiply 1e-6069 1e-109 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
+dqmul769 multiply 1e-6069 1e-110 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
+-- [no equivalent of 'subnormal' for overflow]
+dqmul770 multiply 1e+40 1e+6101 -> 1.000000000000000000000000000000E+6141 Clamped
+dqmul771 multiply 1e+40 1e+6102 -> 1.0000000000000000000000000000000E+6142 Clamped
+dqmul772 multiply 1e+40 1e+6103 -> 1.00000000000000000000000000000000E+6143 Clamped
+dqmul773 multiply 1e+40 1e+6104 -> 1.000000000000000000000000000000000E+6144 Clamped
+dqmul774 multiply 1e+40 1e+6105 -> Infinity Overflow Inexact Rounded
+dqmul775 multiply 1e+40 1e+6106 -> Infinity Overflow Inexact Rounded
+dqmul776 multiply 1e+40 1e+6107 -> Infinity Overflow Inexact Rounded
+dqmul777 multiply 1e+40 1e+6108 -> Infinity Overflow Inexact Rounded
+dqmul778 multiply 1e+40 1e+6109 -> Infinity Overflow Inexact Rounded
+dqmul779 multiply 1e+40 1e+6110 -> Infinity Overflow Inexact Rounded
+
+dqmul801 multiply 1.0000E-6172 1 -> 1.0000E-6172 Subnormal
+dqmul802 multiply 1.000E-6172 1e-1 -> 1.000E-6173 Subnormal
+dqmul803 multiply 1.00E-6172 1e-2 -> 1.00E-6174 Subnormal
+dqmul804 multiply 1.0E-6172 1e-3 -> 1.0E-6175 Subnormal
+dqmul805 multiply 1.0E-6172 1e-4 -> 1E-6176 Subnormal Rounded
+dqmul806 multiply 1.3E-6172 1e-4 -> 1E-6176 Underflow Subnormal Inexact Rounded
+dqmul807 multiply 1.5E-6172 1e-4 -> 2E-6176 Underflow Subnormal Inexact Rounded
+dqmul808 multiply 1.7E-6172 1e-4 -> 2E-6176 Underflow Subnormal Inexact Rounded
+dqmul809 multiply 2.3E-6172 1e-4 -> 2E-6176 Underflow Subnormal Inexact Rounded
+dqmul810 multiply 2.5E-6172 1e-4 -> 2E-6176 Underflow Subnormal Inexact Rounded
+dqmul811 multiply 2.7E-6172 1e-4 -> 3E-6176 Underflow Subnormal Inexact Rounded
+dqmul812 multiply 1.49E-6172 1e-4 -> 1E-6176 Underflow Subnormal Inexact Rounded
+dqmul813 multiply 1.50E-6172 1e-4 -> 2E-6176 Underflow Subnormal Inexact Rounded
+dqmul814 multiply 1.51E-6172 1e-4 -> 2E-6176 Underflow Subnormal Inexact Rounded
+dqmul815 multiply 2.49E-6172 1e-4 -> 2E-6176 Underflow Subnormal Inexact Rounded
+dqmul816 multiply 2.50E-6172 1e-4 -> 2E-6176 Underflow Subnormal Inexact Rounded
+dqmul817 multiply 2.51E-6172 1e-4 -> 3E-6176 Underflow Subnormal Inexact Rounded
+
+dqmul818 multiply 1E-6172 1e-4 -> 1E-6176 Subnormal
+dqmul819 multiply 3E-6172 1e-5 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
+dqmul820 multiply 5E-6172 1e-5 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
+dqmul821 multiply 7E-6172 1e-5 -> 1E-6176 Underflow Subnormal Inexact Rounded
+dqmul822 multiply 9E-6172 1e-5 -> 1E-6176 Underflow Subnormal Inexact Rounded
+dqmul823 multiply 9.9E-6172 1e-5 -> 1E-6176 Underflow Subnormal Inexact Rounded
+
+dqmul824 multiply 1E-6172 -1e-4 -> -1E-6176 Subnormal
+dqmul825 multiply 3E-6172 -1e-5 -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped
+dqmul826 multiply -5E-6172 1e-5 -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped
+dqmul827 multiply 7E-6172 -1e-5 -> -1E-6176 Underflow Subnormal Inexact Rounded
+dqmul828 multiply -9E-6172 1e-5 -> -1E-6176 Underflow Subnormal Inexact Rounded
+dqmul829 multiply 9.9E-6172 -1e-5 -> -1E-6176 Underflow Subnormal Inexact Rounded
+dqmul830 multiply 3.0E-6172 -1e-5 -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped
+
+dqmul831 multiply 1.0E-5977 1e-200 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
+dqmul832 multiply 1.0E-5977 1e-199 -> 1E-6176 Subnormal Rounded
+dqmul833 multiply 1.0E-5977 1e-198 -> 1.0E-6175 Subnormal
+dqmul834 multiply 2.0E-5977 2e-198 -> 4.0E-6175 Subnormal
+dqmul835 multiply 4.0E-5977 4e-198 -> 1.60E-6174 Subnormal
+dqmul836 multiply 10.0E-5977 10e-198 -> 1.000E-6173 Subnormal
+dqmul837 multiply 30.0E-5977 30e-198 -> 9.000E-6173 Subnormal
+dqmul838 multiply 40.0E-5982 40e-166 -> 1.6000E-6145 Subnormal
+dqmul839 multiply 40.0E-5982 40e-165 -> 1.6000E-6144 Subnormal
+dqmul840 multiply 40.0E-5982 40e-164 -> 1.6000E-6143
+
+-- Long operand overflow may be a different path
+dqmul870 multiply 100 9.999E+6143 -> Infinity Inexact Overflow Rounded
+dqmul871 multiply 100 -9.999E+6143 -> -Infinity Inexact Overflow Rounded
+dqmul872 multiply 9.999E+6143 100 -> Infinity Inexact Overflow Rounded
+dqmul873 multiply -9.999E+6143 100 -> -Infinity Inexact Overflow Rounded
+
+-- check for double-rounded subnormals
+dqmul881 multiply 1.2347E-6133 1.2347E-40 -> 1.524E-6173 Inexact Rounded Subnormal Underflow
+dqmul882 multiply 1.234E-6133 1.234E-40 -> 1.523E-6173 Inexact Rounded Subnormal Underflow
+dqmul883 multiply 1.23E-6133 1.23E-40 -> 1.513E-6173 Inexact Rounded Subnormal Underflow
+dqmul884 multiply 1.2E-6133 1.2E-40 -> 1.44E-6173 Subnormal
+dqmul885 multiply 1.2E-6133 1.2E-41 -> 1.44E-6174 Subnormal
+dqmul886 multiply 1.2E-6133 1.2E-42 -> 1.4E-6175 Subnormal Inexact Rounded Underflow
+dqmul887 multiply 1.2E-6133 1.3E-42 -> 1.6E-6175 Subnormal Inexact Rounded Underflow
+dqmul888 multiply 1.3E-6133 1.3E-42 -> 1.7E-6175 Subnormal Inexact Rounded Underflow
+dqmul889 multiply 1.3E-6133 1.3E-43 -> 2E-6176 Subnormal Inexact Rounded Underflow
+dqmul890 multiply 1.3E-6134 1.3E-43 -> 0E-6176 Clamped Subnormal Inexact Rounded Underflow
+
+dqmul891 multiply 1.2345E-39 1.234E-6133 -> 1.5234E-6172 Inexact Rounded Subnormal Underflow
+dqmul892 multiply 1.23456E-39 1.234E-6133 -> 1.5234E-6172 Inexact Rounded Subnormal Underflow
+dqmul893 multiply 1.2345E-40 1.234E-6133 -> 1.523E-6173 Inexact Rounded Subnormal Underflow
+dqmul894 multiply 1.23456E-40 1.234E-6133 -> 1.523E-6173 Inexact Rounded Subnormal Underflow
+dqmul895 multiply 1.2345E-41 1.234E-6133 -> 1.52E-6174 Inexact Rounded Subnormal Underflow
+dqmul896 multiply 1.23456E-41 1.234E-6133 -> 1.52E-6174 Inexact Rounded Subnormal Underflow
+
+-- Now explore the case where we get a normal result with Underflow
+-- prove operands are exact
+dqmul906 multiply 9.999999999999999999999999999999999E-6143 1 -> 9.999999999999999999999999999999999E-6143
+dqmul907 multiply 1 0.09999999999999999999999999999999999 -> 0.09999999999999999999999999999999999
+-- the next rounds to Nmin
+dqmul908 multiply 9.999999999999999999999999999999999E-6143 0.09999999999999999999999999999999999 -> 1.000000000000000000000000000000000E-6143 Underflow Inexact Subnormal Rounded
+
+-- hugest
+dqmul909 multiply 9999999999999999999999999999999999 9999999999999999999999999999999999 -> 9.999999999999999999999999999999998E+67 Inexact Rounded
+
+-- Examples from SQL proposal (Krishna Kulkarni)
+precision: 34
+rounding: half_up
+maxExponent: 6144
+minExponent: -6143
+dqmul1001 multiply 130E-2 120E-2 -> 1.5600
+dqmul1002 multiply 130E-2 12E-1 -> 1.560
+dqmul1003 multiply 130E-2 1E0 -> 1.30
+dqmul1004 multiply 1E2 1E4 -> 1E+6
+
+-- Null tests
+dqmul990 multiply 10 # -> NaN Invalid_operation
+dqmul991 multiply # 10 -> NaN Invalid_operation
+
|