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.
........
diff --git a/Lib/test/decimaltestdata/dqAnd.decTest b/Lib/test/decimaltestdata/dqAnd.decTest
new file mode 100644
index 0000000..be3fb34
--- /dev/null
+++ b/Lib/test/decimaltestdata/dqAnd.decTest
@@ -0,0 +1,420 @@
+------------------------------------------------------------------------

+-- dqAnd.decTest -- digitwise logical AND for decQuads                --

+-- 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

+

+extended:    1

+clamp:       1

+precision:   34

+maxExponent: 6144

+minExponent: -6143

+rounding:    half_even

+

+-- Sanity check (truth table)

+dqand001 and             0    0 ->    0

+dqand002 and             0    1 ->    0

+dqand003 and             1    0 ->    0

+dqand004 and             1    1 ->    1

+dqand005 and          1100 1010 -> 1000

+-- and at msd and msd-1

+--           1234567890123456789012345678901234

+dqand006 and 0000000000000000000000000000000000 0000000000000000000000000000000000 ->                  0

+dqand007 and 0000000000000000000000000000000000 1000000000000000000000000000000000 ->                  0

+dqand008 and 1000000000000000000000000000000000 0000000000000000000000000000000000 ->                  0

+dqand009 and 1000000000000000000000000000000000 1000000000000000000000000000000000 ->   1000000000000000000000000000000000

+dqand010 and 0000000000000000000000000000000000 0000000000000000000000000000000000 ->                  0

+dqand011 and 0000000000000000000000000000000000 0100000000000000000000000000000000 ->                  0

+dqand012 and 0100000000000000000000000000000000 0000000000000000000000000000000000 ->                  0

+dqand013 and 0100000000000000000000000000000000 0100000000000000000000000000000000 ->    100000000000000000000000000000000

+

+-- Various lengths

+--           1234567890123456789012345678901234

+

+dqand601 and 0111111111111111111111111111111111 1111111111111111111111111111111111  ->  111111111111111111111111111111111

+dqand602 and 1011111111111111111111111111111111 1111111111111111111111111111111111  -> 1011111111111111111111111111111111

+dqand603 and 1101111111111111111111111111111111 1111111111111111111111111111111111  -> 1101111111111111111111111111111111

+dqand604 and 1110111111111111111111111111111111 1111111111111111111111111111111111  -> 1110111111111111111111111111111111

+dqand605 and 1111011111111111111111111111111111 1111111111111111111111111111111111  -> 1111011111111111111111111111111111

+dqand606 and 1111101111111111111111111111111111 1111111111111111111111111111111111  -> 1111101111111111111111111111111111

+dqand607 and 1111110111111111111111111111111111 1111111111111111111111111111111111  -> 1111110111111111111111111111111111

+dqand608 and 1111111011111111111111111111111111 1111111111111111111111111111111111  -> 1111111011111111111111111111111111

+dqand609 and 1111111101111111111111111111111111 1111111111111111111111111111111111  -> 1111111101111111111111111111111111

+dqand610 and 1111111110111111111111111111111111 1111111111111111111111111111111111  -> 1111111110111111111111111111111111

+dqand611 and 1111111111011111111111111111111111 1111111111111111111111111111111111  -> 1111111111011111111111111111111111

+dqand612 and 1111111111101111111111111111111111 1111111111111111111111111111111111  -> 1111111111101111111111111111111111

+dqand613 and 1111111111110111111111111111111111 1111111111111111111111111111111111  -> 1111111111110111111111111111111111

+dqand614 and 1111111111111011111111111111111111 1111111111111111111111111111111111  -> 1111111111111011111111111111111111

+dqand615 and 1111111111111101111111111111111111 1111111111111111111111111111111111  -> 1111111111111101111111111111111111

+dqand616 and 1111111111111110111111111111111111 1111111111111111111111111111111111  -> 1111111111111110111111111111111111

+dqand617 and 1111111111111111011111111111111111 1111111111111111111111111111111111  -> 1111111111111111011111111111111111

+dqand618 and 1111111111111111101111111111111111 1111111111111111111111111111111111  -> 1111111111111111101111111111111111

+dqand619 and 1111111111111111110111111111111111 1111111111111111111111111111111111  -> 1111111111111111110111111111111111

+dqand620 and 1111111111111111111011111111111111 1111111111111111111111111111111111  -> 1111111111111111111011111111111111

+dqand621 and 1111111111111111111101111111111111 1111111111111111111111111111111111  -> 1111111111111111111101111111111111

+dqand622 and 1111111111111111111110111111111111 1111111111111111111111111111111111  -> 1111111111111111111110111111111111

+dqand623 and 1111111111111111111111011111111111 1111111111111111111111111111111111  -> 1111111111111111111111011111111111

+dqand624 and 1111111111111111111111101111111111 1111111111111111111111111111111111  -> 1111111111111111111111101111111111

+dqand625 and 1111111111111111111111110111111111 1111111111111111111111111111111111  -> 1111111111111111111111110111111111

+dqand626 and 1111111111111111111111111011111111 1111111111111111111111111111111111  -> 1111111111111111111111111011111111

+dqand627 and 1111111111111111111111111101111111 1111111111111111111111111111111111  -> 1111111111111111111111111101111111

+dqand628 and 1111111111111111111111111110111111 1111111111111111111111111111111111  -> 1111111111111111111111111110111111

+dqand629 and 1111111111111111111111111111011111 1111111111111111111111111111111111  -> 1111111111111111111111111111011111

+dqand630 and 1111111111111111111111111111101111 1111111111111111111111111111111111  -> 1111111111111111111111111111101111

+dqand631 and 1111111111111111111111111111110111 1111111111111111111111111111111111  -> 1111111111111111111111111111110111

+dqand632 and 1111111111111111111111111111111011 1111111111111111111111111111111111  -> 1111111111111111111111111111111011

+dqand633 and 1111111111111111111111111111111101 1111111111111111111111111111111111  -> 1111111111111111111111111111111101

+dqand634 and 1111111111111111111111111111111110 1111111111111111111111111111111111  -> 1111111111111111111111111111111110

+

+dqand641 and 1111111111111111111111111111111111 0111111111111111111111111111111111  ->  111111111111111111111111111111111

+dqand642 and 1111111111111111111111111111111111 1011111111111111111111111111111111  -> 1011111111111111111111111111111111

+dqand643 and 1111111111111111111111111111111111 1101111111111111111111111111111111  -> 1101111111111111111111111111111111

+dqand644 and 1111111111111111111111111111111111 1110111111111111111111111111111111  -> 1110111111111111111111111111111111

+dqand645 and 1111111111111111111111111111111111 1111011111111111111111111111111111  -> 1111011111111111111111111111111111

+dqand646 and 1111111111111111111111111111111111 1111101111111111111111111111111111  -> 1111101111111111111111111111111111

+dqand647 and 1111111111111111111111111111111111 1111110111111111111111111111111111  -> 1111110111111111111111111111111111

+dqand648 and 1111111111111111111111111111111111 1111111011111111111111111111111111  -> 1111111011111111111111111111111111

+dqand649 and 1111111111111111111111111111111111 1111111101111111111111111111111111  -> 1111111101111111111111111111111111

+dqand650 and 1111111111111111111111111111111111 1111111110111111111111111111111111  -> 1111111110111111111111111111111111

+dqand651 and 1111111111111111111111111111111111 1111111111011111111111111111111111  -> 1111111111011111111111111111111111

+dqand652 and 1111111111111111111111111111111111 1111111111101111111111111111111111  -> 1111111111101111111111111111111111

+dqand653 and 1111111111111111111111111111111111 1111111111110111111111111111111111  -> 1111111111110111111111111111111111

+dqand654 and 1111111111111111111111111111111111 1111111111111011111111111111111111  -> 1111111111111011111111111111111111

+dqand655 and 1111111111111111111111111111111111 1111111111111101111111111111111111  -> 1111111111111101111111111111111111

+dqand656 and 1111111111111111111111111111111111 1111111111111110111111111111111111  -> 1111111111111110111111111111111111

+dqand657 and 1111111111111111111111111111111111 1111111111111111011111111111111111  -> 1111111111111111011111111111111111

+dqand658 and 1111111111111111111111111111111111 1111111111111111101111111111111111  -> 1111111111111111101111111111111111

+dqand659 and 1111111111111111111111111111111111 1111111111111111110111111111111111  -> 1111111111111111110111111111111111

+dqand660 and 1111111111111111111111111111111111 1111111111111111111011111111111111  -> 1111111111111111111011111111111111

+dqand661 and 1111111111111111111111111111111111 1111111111111111111101111111111111  -> 1111111111111111111101111111111111

+dqand662 and 1111111111111111111111111111111111 1111111111111111111110111111111111  -> 1111111111111111111110111111111111

+dqand663 and 1111111111111111111111111111111111 1111111111111111111111011111111111  -> 1111111111111111111111011111111111

+dqand664 and 1111111111111111111111111111111111 1111111111111111111111101111111111  -> 1111111111111111111111101111111111

+dqand665 and 1111111111111111111111111111111111 1111111111111111111111110111111111  -> 1111111111111111111111110111111111

+dqand666 and 1111111111111111111111111111111111 1111111111111111111111111011111111  -> 1111111111111111111111111011111111

+dqand667 and 1111111111111111111111111111111111 1111111111111111111111111101111111  -> 1111111111111111111111111101111111

+dqand668 and 1111111111111111111111111111111111 1111111111111111111111111110111111  -> 1111111111111111111111111110111111

+dqand669 and 1111111111111111111111111111111111 1111111111111111111111111111011111  -> 1111111111111111111111111111011111

+dqand670 and 1111111111111111111111111111111111 1111111111111111111111111111101111  -> 1111111111111111111111111111101111

+dqand671 and 1111111111111111111111111111111111 1111111111111111111111111111110111  -> 1111111111111111111111111111110111

+dqand672 and 1111111111111111111111111111111111 1111111111111111111111111111111011  -> 1111111111111111111111111111111011

+dqand673 and 1111111111111111111111111111111111 1111111111111111111111111111111101  -> 1111111111111111111111111111111101

+dqand674 and 1111111111111111111111111111111111 1111111111111111111111111111111110  -> 1111111111111111111111111111111110

+dqand675 and 0111111111111111111111111111111111 1111111111111111111111111111111110  ->  111111111111111111111111111111110

+dqand676 and 1111111111111111111111111111111111 1111111111111111111111111111111110  -> 1111111111111111111111111111111110

+

+dqand021 and 1111111111111111 1111111111111111  ->  1111111111111111

+dqand024 and 1111111111111111  111111111111111  ->   111111111111111

+dqand025 and 1111111111111111   11111111111111  ->    11111111111111

+dqand026 and 1111111111111111    1111111111111  ->     1111111111111

+dqand027 and 1111111111111111     111111111111  ->      111111111111

+dqand028 and 1111111111111111      11111111111  ->       11111111111

+dqand029 and 1111111111111111       1111111111  ->        1111111111

+dqand030 and 1111111111111111        111111111  ->         111111111

+dqand031 and 1111111111111111         11111111  ->          11111111

+dqand032 and 1111111111111111          1111111  ->           1111111

+dqand033 and 1111111111111111           111111  ->            111111

+dqand034 and 1111111111111111            11111  ->             11111

+dqand035 and 1111111111111111             1111  ->              1111

+dqand036 and 1111111111111111              111  ->               111

+dqand037 and 1111111111111111               11  ->                11

+dqand038 and 1111111111111111                1  ->                 1

+dqand039 and 1111111111111111                0  ->                 0

+

+dqand040 and 1111111111111111    1111111111111111 ->  1111111111111111

+dqand041 and  111111111111111    1111111111111111 ->   111111111111111

+dqand042 and  111111111111111    1111111111111111 ->   111111111111111

+dqand043 and   11111111111111    1111111111111111 ->    11111111111111

+dqand044 and    1111111111111    1111111111111111 ->     1111111111111

+dqand045 and     111111111111    1111111111111111 ->      111111111111

+dqand046 and      11111111111    1111111111111111 ->       11111111111

+dqand047 and       1111111111    1111111111111111 ->        1111111111

+dqand048 and        111111111    1111111111111111 ->         111111111

+dqand049 and         11111111    1111111111111111 ->          11111111

+dqand050 and          1111111    1111111111111111 ->           1111111

+dqand051 and           111111    1111111111111111 ->            111111

+dqand052 and            11111    1111111111111111 ->             11111

+dqand053 and             1111    1111111111111111 ->              1111

+dqand054 and              111    1111111111111111 ->               111

+dqand055 and               11    1111111111111111 ->                11

+dqand056 and                1    1111111111111111 ->                 1

+dqand057 and                0    1111111111111111 ->                 0

+

+dqand150 and 1111111111  1  ->  1

+dqand151 and  111111111  1  ->  1

+dqand152 and   11111111  1  ->  1

+dqand153 and    1111111  1  ->  1

+dqand154 and     111111  1  ->  1

+dqand155 and      11111  1  ->  1

+dqand156 and       1111  1  ->  1

+dqand157 and        111  1  ->  1

+dqand158 and         11  1  ->  1

+dqand159 and          1  1  ->  1

+

+dqand160 and 1111111111  0  ->  0

+dqand161 and  111111111  0  ->  0

+dqand162 and   11111111  0  ->  0

+dqand163 and    1111111  0  ->  0

+dqand164 and     111111  0  ->  0

+dqand165 and      11111  0  ->  0

+dqand166 and       1111  0  ->  0

+dqand167 and        111  0  ->  0

+dqand168 and         11  0  ->  0

+dqand169 and          1  0  ->  0

+

+dqand170 and 1  1111111111  ->  1

+dqand171 and 1   111111111  ->  1

+dqand172 and 1    11111111  ->  1

+dqand173 and 1     1111111  ->  1

+dqand174 and 1      111111  ->  1

+dqand175 and 1       11111  ->  1

+dqand176 and 1        1111  ->  1

+dqand177 and 1         111  ->  1

+dqand178 and 1          11  ->  1

+dqand179 and 1           1  ->  1

+

+dqand180 and 0  1111111111  ->  0

+dqand181 and 0   111111111  ->  0

+dqand182 and 0    11111111  ->  0

+dqand183 and 0     1111111  ->  0

+dqand184 and 0      111111  ->  0

+dqand185 and 0       11111  ->  0

+dqand186 and 0        1111  ->  0

+dqand187 and 0         111  ->  0

+dqand188 and 0          11  ->  0

+dqand189 and 0           1  ->  0

+

+dqand090 and 011111111  111111111  ->   11111111

+dqand091 and 101111111  111111111  ->  101111111

+dqand092 and 110111111  111111111  ->  110111111

+dqand093 and 111011111  111111111  ->  111011111

+dqand094 and 111101111  111111111  ->  111101111

+dqand095 and 111110111  111111111  ->  111110111

+dqand096 and 111111011  111111111  ->  111111011

+dqand097 and 111111101  111111111  ->  111111101

+dqand098 and 111111110  111111111  ->  111111110

+

+dqand100 and 111111111  011111111  ->   11111111

+dqand101 and 111111111  101111111  ->  101111111

+dqand102 and 111111111  110111111  ->  110111111

+dqand103 and 111111111  111011111  ->  111011111

+dqand104 and 111111111  111101111  ->  111101111

+dqand105 and 111111111  111110111  ->  111110111

+dqand106 and 111111111  111111011  ->  111111011

+dqand107 and 111111111  111111101  ->  111111101

+dqand108 and 111111111  111111110  ->  111111110

+

+-- non-0/1 should not be accepted, nor should signs

+dqand220 and 111111112  111111111  ->  NaN Invalid_operation

+dqand221 and 333333333  333333333  ->  NaN Invalid_operation

+dqand222 and 555555555  555555555  ->  NaN Invalid_operation

+dqand223 and 777777777  777777777  ->  NaN Invalid_operation

+dqand224 and 999999999  999999999  ->  NaN Invalid_operation

+dqand225 and 222222222  999999999  ->  NaN Invalid_operation

+dqand226 and 444444444  999999999  ->  NaN Invalid_operation

+dqand227 and 666666666  999999999  ->  NaN Invalid_operation

+dqand228 and 888888888  999999999  ->  NaN Invalid_operation

+dqand229 and 999999999  222222222  ->  NaN Invalid_operation

+dqand230 and 999999999  444444444  ->  NaN Invalid_operation

+dqand231 and 999999999  666666666  ->  NaN Invalid_operation

+dqand232 and 999999999  888888888  ->  NaN Invalid_operation

+-- a few randoms

+dqand240 and  567468689 -934981942 ->  NaN Invalid_operation

+dqand241 and  567367689  934981942 ->  NaN Invalid_operation

+dqand242 and -631917772 -706014634 ->  NaN Invalid_operation

+dqand243 and -756253257  138579234 ->  NaN Invalid_operation

+dqand244 and  835590149  567435400 ->  NaN Invalid_operation

+-- test MSD

+dqand250 and  2000000111000111000111000000000000 1000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand251 and  7000000111000111000111000000000000 1000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand252 and  8000000111000111000111000000000000 1000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand253 and  9000000111000111000111000000000000 1000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand254 and  2000000111000111000111000000000000 0000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand255 and  7000000111000111000111000000000000 0000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand256 and  8000000111000111000111000000000000 0000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand257 and  9000000111000111000111000000000000 0000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand258 and  1000000111000111000111000000000000 2000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand259 and  1000000111000111000111000000000000 7000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand260 and  1000000111000111000111000000000000 8000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand261 and  1000000111000111000111000000000000 9000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand262 and  0000000111000111000111000000000000 2000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand263 and  0000000111000111000111000000000000 7000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand264 and  0000000111000111000111000000000000 8000000111000111000111000000000000 ->  NaN Invalid_operation

+dqand265 and  0000000111000111000111000000000000 9000000111000111000111000000000000 ->  NaN Invalid_operation

+-- test MSD-1

+dqand270 and  0200000111000111000111001000000000 1000000111000111000111100000000010 ->  NaN Invalid_operation

+dqand271 and  0700000111000111000111000100000000 1000000111000111000111010000000100 ->  NaN Invalid_operation

+dqand272 and  0800000111000111000111000010000000 1000000111000111000111001000001000 ->  NaN Invalid_operation

+dqand273 and  0900000111000111000111000001000000 1000000111000111000111000100010000 ->  NaN Invalid_operation

+dqand274 and  1000000111000111000111000000100000 0200000111000111000111000010100000 ->  NaN Invalid_operation

+dqand275 and  1000000111000111000111000000010000 0700000111000111000111000001000000 ->  NaN Invalid_operation

+dqand276 and  1000000111000111000111000000001000 0800000111000111000111000010100000 ->  NaN Invalid_operation

+dqand277 and  1000000111000111000111000000000100 0900000111000111000111000000010000 ->  NaN Invalid_operation

+-- test LSD

+dqand280 and  0010000111000111000111000000000002 1000000111000111000111000100000001 ->  NaN Invalid_operation

+dqand281 and  0001000111000111000111000000000007 1000000111000111000111001000000011 ->  NaN Invalid_operation

+dqand282 and  0000000111000111000111100000000008 1000000111000111000111010000000001 ->  NaN Invalid_operation

+dqand283 and  0000000111000111000111010000000009 1000000111000111000111100000000001 ->  NaN Invalid_operation

+dqand284 and  1000000111000111000111001000000000 0001000111000111000111000000000002 ->  NaN Invalid_operation

+dqand285 and  1000000111000111000111000100000000 0010000111000111000111000000000007 ->  NaN Invalid_operation

+dqand286 and  1000000111000111000111000010000000 0100000111000111000111000000000008 ->  NaN Invalid_operation

+dqand287 and  1000000111000111000111000001000000 1000000111000111000111000000000009 ->  NaN Invalid_operation

+-- test Middie

+dqand288 and  0010000111000111000111000020000000 1000000111000111000111001000000000 ->  NaN Invalid_operation

+dqand289 and  0001000111000111000111000070000001 1000000111000111000111000100000000 ->  NaN Invalid_operation

+dqand290 and  0000000111000111000111100080000010 1000000111000111000111000010000000 ->  NaN Invalid_operation

+dqand291 and  0000000111000111000111010090000100 1000000111000111000111000001000000 ->  NaN Invalid_operation

+dqand292 and  1000000111000111000111001000001000 0000000111000111000111000020100000 ->  NaN Invalid_operation

+dqand293 and  1000000111000111000111000100010000 0000000111000111000111000070010000 ->  NaN Invalid_operation

+dqand294 and  1000000111000111000111000010100000 0000000111000111000111000080001000 ->  NaN Invalid_operation

+dqand295 and  1000000111000111000111000001000000 0000000111000111000111000090000100 ->  NaN Invalid_operation

+-- signs

+dqand296 and -1000000111000111000111000001000000 -0000001110001110001110010000000100 ->  NaN Invalid_operation

+dqand297 and -1000000111000111000111000001000000  0000001110001110001110000010000100 ->  NaN Invalid_operation

+dqand298 and  1000000111000111000111000001000000 -0000001110001110001110001000000100 ->  NaN Invalid_operation

+dqand299 and  1000000111000111000111000001000000  0000001110001110001110000011000100 ->  110000110000110000001000000

+

+-- Nmax, Nmin, Ntiny-like

+dqand331 and  2   9.99999999E+999     -> NaN Invalid_operation

+dqand332 and  3   1E-999              -> NaN Invalid_operation

+dqand333 and  4   1.00000000E-999     -> NaN Invalid_operation

+dqand334 and  5   1E-900              -> NaN Invalid_operation

+dqand335 and  6   -1E-900             -> NaN Invalid_operation

+dqand336 and  7   -1.00000000E-999    -> NaN Invalid_operation

+dqand337 and  8   -1E-999             -> NaN Invalid_operation

+dqand338 and  9   -9.99999999E+999    -> NaN Invalid_operation

+dqand341 and  9.99999999E+999     -18 -> NaN Invalid_operation

+dqand342 and  1E-999               01 -> NaN Invalid_operation

+dqand343 and  1.00000000E-999     -18 -> NaN Invalid_operation

+dqand344 and  1E-900               18 -> NaN Invalid_operation

+dqand345 and  -1E-900             -10 -> NaN Invalid_operation

+dqand346 and  -1.00000000E-999     18 -> NaN Invalid_operation

+dqand347 and  -1E-999              10 -> NaN Invalid_operation

+dqand348 and  -9.99999999E+999    -18 -> NaN Invalid_operation

+

+-- A few other non-integers

+dqand361 and  1.0                  1  -> NaN Invalid_operation

+dqand362 and  1E+1                 1  -> NaN Invalid_operation

+dqand363 and  0.0                  1  -> NaN Invalid_operation

+dqand364 and  0E+1                 1  -> NaN Invalid_operation

+dqand365 and  9.9                  1  -> NaN Invalid_operation

+dqand366 and  9E+1                 1  -> NaN Invalid_operation

+dqand371 and  0 1.0                   -> NaN Invalid_operation

+dqand372 and  0 1E+1                  -> NaN Invalid_operation

+dqand373 and  0 0.0                   -> NaN Invalid_operation

+dqand374 and  0 0E+1                  -> NaN Invalid_operation

+dqand375 and  0 9.9                   -> NaN Invalid_operation

+dqand376 and  0 9E+1                  -> NaN Invalid_operation

+

+-- All Specials are in error

+dqand780 and -Inf  -Inf   -> NaN Invalid_operation

+dqand781 and -Inf  -1000  -> NaN Invalid_operation

+dqand782 and -Inf  -1     -> NaN Invalid_operation

+dqand783 and -Inf  -0     -> NaN Invalid_operation

+dqand784 and -Inf   0     -> NaN Invalid_operation

+dqand785 and -Inf   1     -> NaN Invalid_operation

+dqand786 and -Inf   1000  -> NaN Invalid_operation

+dqand787 and -1000 -Inf   -> NaN Invalid_operation

+dqand788 and -Inf  -Inf   -> NaN Invalid_operation

+dqand789 and -1    -Inf   -> NaN Invalid_operation

+dqand790 and -0    -Inf   -> NaN Invalid_operation

+dqand791 and  0    -Inf   -> NaN Invalid_operation

+dqand792 and  1    -Inf   -> NaN Invalid_operation

+dqand793 and  1000 -Inf   -> NaN Invalid_operation

+dqand794 and  Inf  -Inf   -> NaN Invalid_operation

+

+dqand800 and  Inf  -Inf   -> NaN Invalid_operation

+dqand801 and  Inf  -1000  -> NaN Invalid_operation

+dqand802 and  Inf  -1     -> NaN Invalid_operation

+dqand803 and  Inf  -0     -> NaN Invalid_operation

+dqand804 and  Inf   0     -> NaN Invalid_operation

+dqand805 and  Inf   1     -> NaN Invalid_operation

+dqand806 and  Inf   1000  -> NaN Invalid_operation

+dqand807 and  Inf   Inf   -> NaN Invalid_operation

+dqand808 and -1000  Inf   -> NaN Invalid_operation

+dqand809 and -Inf   Inf   -> NaN Invalid_operation

+dqand810 and -1     Inf   -> NaN Invalid_operation

+dqand811 and -0     Inf   -> NaN Invalid_operation

+dqand812 and  0     Inf   -> NaN Invalid_operation

+dqand813 and  1     Inf   -> NaN Invalid_operation

+dqand814 and  1000  Inf   -> NaN Invalid_operation

+dqand815 and  Inf   Inf   -> NaN Invalid_operation

+

+dqand821 and  NaN -Inf    -> NaN Invalid_operation

+dqand822 and  NaN -1000   -> NaN Invalid_operation

+dqand823 and  NaN -1      -> NaN Invalid_operation

+dqand824 and  NaN -0      -> NaN Invalid_operation

+dqand825 and  NaN  0      -> NaN Invalid_operation

+dqand826 and  NaN  1      -> NaN Invalid_operation

+dqand827 and  NaN  1000   -> NaN Invalid_operation

+dqand828 and  NaN  Inf    -> NaN Invalid_operation

+dqand829 and  NaN  NaN    -> NaN Invalid_operation

+dqand830 and -Inf  NaN    -> NaN Invalid_operation

+dqand831 and -1000 NaN    -> NaN Invalid_operation

+dqand832 and -1    NaN    -> NaN Invalid_operation

+dqand833 and -0    NaN    -> NaN Invalid_operation

+dqand834 and  0    NaN    -> NaN Invalid_operation

+dqand835 and  1    NaN    -> NaN Invalid_operation

+dqand836 and  1000 NaN    -> NaN Invalid_operation

+dqand837 and  Inf  NaN    -> NaN Invalid_operation

+

+dqand841 and  sNaN -Inf   ->  NaN  Invalid_operation

+dqand842 and  sNaN -1000  ->  NaN  Invalid_operation

+dqand843 and  sNaN -1     ->  NaN  Invalid_operation

+dqand844 and  sNaN -0     ->  NaN  Invalid_operation

+dqand845 and  sNaN  0     ->  NaN  Invalid_operation

+dqand846 and  sNaN  1     ->  NaN  Invalid_operation

+dqand847 and  sNaN  1000  ->  NaN  Invalid_operation

+dqand848 and  sNaN  NaN   ->  NaN  Invalid_operation

+dqand849 and  sNaN sNaN   ->  NaN  Invalid_operation

+dqand850 and  NaN  sNaN   ->  NaN  Invalid_operation

+dqand851 and -Inf  sNaN   ->  NaN  Invalid_operation

+dqand852 and -1000 sNaN   ->  NaN  Invalid_operation

+dqand853 and -1    sNaN   ->  NaN  Invalid_operation

+dqand854 and -0    sNaN   ->  NaN  Invalid_operation

+dqand855 and  0    sNaN   ->  NaN  Invalid_operation

+dqand856 and  1    sNaN   ->  NaN  Invalid_operation

+dqand857 and  1000 sNaN   ->  NaN  Invalid_operation

+dqand858 and  Inf  sNaN   ->  NaN  Invalid_operation

+dqand859 and  NaN  sNaN   ->  NaN  Invalid_operation

+

+-- propagating NaNs

+dqand861 and  NaN1   -Inf    -> NaN Invalid_operation

+dqand862 and +NaN2   -1000   -> NaN Invalid_operation

+dqand863 and  NaN3    1000   -> NaN Invalid_operation

+dqand864 and  NaN4    Inf    -> NaN Invalid_operation

+dqand865 and  NaN5   +NaN6   -> NaN Invalid_operation

+dqand866 and -Inf     NaN7   -> NaN Invalid_operation

+dqand867 and -1000    NaN8   -> NaN Invalid_operation

+dqand868 and  1000    NaN9   -> NaN Invalid_operation

+dqand869 and  Inf    +NaN10  -> NaN Invalid_operation

+dqand871 and  sNaN11  -Inf   -> NaN Invalid_operation

+dqand872 and  sNaN12  -1000  -> NaN Invalid_operation

+dqand873 and  sNaN13   1000  -> NaN Invalid_operation

+dqand874 and  sNaN14   NaN17 -> NaN Invalid_operation

+dqand875 and  sNaN15  sNaN18 -> NaN Invalid_operation

+dqand876 and  NaN16   sNaN19 -> NaN Invalid_operation

+dqand877 and -Inf    +sNaN20 -> NaN Invalid_operation

+dqand878 and -1000    sNaN21 -> NaN Invalid_operation

+dqand879 and  1000    sNaN22 -> NaN Invalid_operation

+dqand880 and  Inf     sNaN23 -> NaN Invalid_operation

+dqand881 and +NaN25  +sNaN24 -> NaN Invalid_operation

+dqand882 and -NaN26    NaN28 -> NaN Invalid_operation

+dqand883 and -sNaN27  sNaN29 -> NaN Invalid_operation

+dqand884 and  1000    -NaN30 -> NaN Invalid_operation

+dqand885 and  1000   -sNaN31 -> NaN Invalid_operation