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/ddShift.decTest b/Lib/test/decimaltestdata/ddShift.decTest
new file mode 100644
index 0000000..2cbe06a
--- /dev/null
+++ b/Lib/test/decimaltestdata/ddShift.decTest
@@ -0,0 +1,262 @@
+------------------------------------------------------------------------

+-- ddShift.decTest -- shift decDouble coefficient left or right       --

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

+

+precision:   16

+maxExponent: 384

+minExponent: -383

+extended:    1

+clamp:       1

+rounding:    half_even

+

+-- Sanity check

+ddshi001 shift                 0    0  ->  0

+ddshi002 shift                 0    2  ->  0

+ddshi003 shift                 1    2  ->  100

+ddshi004 shift                 1   15  ->  1000000000000000

+ddshi005 shift                 1   16  ->  0

+ddshi006 shift                 1   -1  ->  0

+ddshi007 shift                 0   -2  ->  0

+ddshi008 shift  1234567890123456   -1  ->  123456789012345

+ddshi009 shift  1234567890123456   -15 ->  1

+ddshi010 shift  1234567890123456   -16 ->  0

+ddshi011 shift  9934567890123456   -15 ->  9

+ddshi012 shift  9934567890123456   -16 ->  0

+

+-- rhs must be an integer

+ddshi015 shift        1    1.5    -> NaN Invalid_operation

+ddshi016 shift        1    1.0    -> NaN Invalid_operation

+ddshi017 shift        1    0.1    -> NaN Invalid_operation

+ddshi018 shift        1    0.0    -> NaN Invalid_operation

+ddshi019 shift        1    1E+1   -> NaN Invalid_operation

+ddshi020 shift        1    1E+99  -> NaN Invalid_operation

+ddshi021 shift        1    Inf    -> NaN Invalid_operation

+ddshi022 shift        1    -Inf   -> NaN Invalid_operation

+-- and |rhs| <= precision

+ddshi025 shift        1    -1000  -> NaN Invalid_operation

+ddshi026 shift        1    -17    -> NaN Invalid_operation

+ddshi027 shift        1     17    -> NaN Invalid_operation

+ddshi028 shift        1     1000  -> NaN Invalid_operation

+

+-- full shifting pattern

+ddshi030 shift  1234567890123456         -16  -> 0

+ddshi031 shift  1234567890123456         -15  -> 1

+ddshi032 shift  1234567890123456         -14  -> 12

+ddshi033 shift  1234567890123456         -13  -> 123

+ddshi034 shift  1234567890123456         -12  -> 1234

+ddshi035 shift  1234567890123456         -11  -> 12345

+ddshi036 shift  1234567890123456         -10  -> 123456

+ddshi037 shift  1234567890123456         -9   -> 1234567

+ddshi038 shift  1234567890123456         -8   -> 12345678

+ddshi039 shift  1234567890123456         -7   -> 123456789

+ddshi040 shift  1234567890123456         -6   -> 1234567890

+ddshi041 shift  1234567890123456         -5   -> 12345678901

+ddshi042 shift  1234567890123456         -4   -> 123456789012

+ddshi043 shift  1234567890123456         -3   -> 1234567890123

+ddshi044 shift  1234567890123456         -2   -> 12345678901234

+ddshi045 shift  1234567890123456         -1   -> 123456789012345

+ddshi046 shift  1234567890123456         -0   -> 1234567890123456

+

+ddshi047 shift  1234567890123456         +0   -> 1234567890123456

+ddshi048 shift  1234567890123456         +1   -> 2345678901234560

+ddshi049 shift  1234567890123456         +2   -> 3456789012345600

+ddshi050 shift  1234567890123456         +3   -> 4567890123456000

+ddshi051 shift  1234567890123456         +4   -> 5678901234560000

+ddshi052 shift  1234567890123456         +5   -> 6789012345600000

+ddshi053 shift  1234567890123456         +6   -> 7890123456000000

+ddshi054 shift  1234567890123456         +7   -> 8901234560000000

+ddshi055 shift  1234567890123456         +8   -> 9012345600000000

+ddshi056 shift  1234567890123456         +9   ->  123456000000000

+ddshi057 shift  1234567890123456         +10  -> 1234560000000000

+ddshi058 shift  1234567890123456         +11  -> 2345600000000000

+ddshi059 shift  1234567890123456         +12  -> 3456000000000000

+ddshi060 shift  1234567890123456         +13  -> 4560000000000000

+ddshi061 shift  1234567890123456         +14  -> 5600000000000000

+ddshi062 shift  1234567890123456         +15  -> 6000000000000000

+ddshi063 shift  1234567890123456         +16  -> 0

+

+-- zeros

+ddshi070 shift  0E-10              +9   ->   0E-10

+ddshi071 shift  0E-10              -9   ->   0E-10

+ddshi072 shift  0.000              +9   ->   0.000

+ddshi073 shift  0.000              -9   ->   0.000

+ddshi074 shift  0E+10              +9   ->   0E+10

+ddshi075 shift  0E+10              -9   ->   0E+10

+ddshi076 shift -0E-10              +9   ->  -0E-10

+ddshi077 shift -0E-10              -9   ->  -0E-10

+ddshi078 shift -0.000              +9   ->  -0.000

+ddshi079 shift -0.000              -9   ->  -0.000

+ddshi080 shift -0E+10              +9   ->  -0E+10

+ddshi081 shift -0E+10              -9   ->  -0E+10

+

+-- Nmax, Nmin, Ntiny

+ddshi141 shift  9.999999999999999E+384     -1  -> 9.99999999999999E+383

+ddshi142 shift  9.999999999999999E+384     -15 -> 9E+369

+ddshi143 shift  9.999999999999999E+384      1  -> 9.999999999999990E+384

+ddshi144 shift  9.999999999999999E+384      15 -> 9.000000000000000E+384

+ddshi145 shift  1E-383                     -1  -> 0E-383

+ddshi146 shift  1E-383                     -15 -> 0E-383

+ddshi147 shift  1E-383                      1  -> 1.0E-382

+ddshi148 shift  1E-383                      15 -> 1.000000000000000E-368

+ddshi151 shift  1.000000000000000E-383     -1  -> 1.00000000000000E-384

+ddshi152 shift  1.000000000000000E-383     -15 -> 1E-398

+ddshi153 shift  1.000000000000000E-383      1  -> 0E-398

+ddshi154 shift  1.000000000000000E-383      15 -> 0E-398

+ddshi155 shift  9.000000000000000E-383     -1  -> 9.00000000000000E-384

+ddshi156 shift  9.000000000000000E-383     -15 -> 9E-398

+ddshi157 shift  9.000000000000000E-383      1  -> 0E-398

+ddshi158 shift  9.000000000000000E-383      15 -> 0E-398

+ddshi160 shift  1E-398                     -1  -> 0E-398

+ddshi161 shift  1E-398                     -15 -> 0E-398

+ddshi162 shift  1E-398                      1  -> 1.0E-397

+ddshi163 shift  1E-398                      15 -> 1.000000000000000E-383

+--  negatives

+ddshi171 shift -9.999999999999999E+384     -1  -> -9.99999999999999E+383

+ddshi172 shift -9.999999999999999E+384     -15 -> -9E+369

+ddshi173 shift -9.999999999999999E+384      1  -> -9.999999999999990E+384

+ddshi174 shift -9.999999999999999E+384      15 -> -9.000000000000000E+384

+ddshi175 shift -1E-383                     -1  -> -0E-383

+ddshi176 shift -1E-383                     -15 -> -0E-383

+ddshi177 shift -1E-383                      1  -> -1.0E-382

+ddshi178 shift -1E-383                      15 -> -1.000000000000000E-368

+ddshi181 shift -1.000000000000000E-383     -1  -> -1.00000000000000E-384

+ddshi182 shift -1.000000000000000E-383     -15 -> -1E-398

+ddshi183 shift -1.000000000000000E-383      1  -> -0E-398

+ddshi184 shift -1.000000000000000E-383      15 -> -0E-398

+ddshi185 shift -9.000000000000000E-383     -1  -> -9.00000000000000E-384

+ddshi186 shift -9.000000000000000E-383     -15 -> -9E-398

+ddshi187 shift -9.000000000000000E-383      1  -> -0E-398

+ddshi188 shift -9.000000000000000E-383      15 -> -0E-398

+ddshi190 shift -1E-398                     -1  -> -0E-398

+ddshi191 shift -1E-398                     -15 -> -0E-398

+ddshi192 shift -1E-398                      1  -> -1.0E-397

+ddshi193 shift -1E-398                      15 -> -1.000000000000000E-383

+

+-- more negatives (of sanities)

+ddshi201 shift                -0    0  -> -0

+ddshi202 shift                -0    2  -> -0

+ddshi203 shift                -1    2  -> -100

+ddshi204 shift                -1   15  -> -1000000000000000

+ddshi205 shift                -1   16  -> -0

+ddshi206 shift                -1   -1  -> -0

+ddshi207 shift                -0   -2  -> -0

+ddshi208 shift -1234567890123456   -1  -> -123456789012345

+ddshi209 shift -1234567890123456   -15 -> -1

+ddshi210 shift -1234567890123456   -16 -> -0

+ddshi211 shift -9934567890123456   -15 -> -9

+ddshi212 shift -9934567890123456   -16 -> -0

+

+

+-- Specials; NaNs are handled as usual

+ddshi781 shift -Inf  -8     -> -Infinity

+ddshi782 shift -Inf  -1     -> -Infinity

+ddshi783 shift -Inf  -0     -> -Infinity

+ddshi784 shift -Inf   0     -> -Infinity

+ddshi785 shift -Inf   1     -> -Infinity

+ddshi786 shift -Inf   8     -> -Infinity

+ddshi787 shift -1000 -Inf   -> NaN Invalid_operation

+ddshi788 shift -Inf  -Inf   -> NaN Invalid_operation

+ddshi789 shift -1    -Inf   -> NaN Invalid_operation

+ddshi790 shift -0    -Inf   -> NaN Invalid_operation

+ddshi791 shift  0    -Inf   -> NaN Invalid_operation

+ddshi792 shift  1    -Inf   -> NaN Invalid_operation

+ddshi793 shift  1000 -Inf   -> NaN Invalid_operation

+ddshi794 shift  Inf  -Inf   -> NaN Invalid_operation

+

+ddshi800 shift  Inf  -Inf   -> NaN Invalid_operation

+ddshi801 shift  Inf  -8     -> Infinity

+ddshi802 shift  Inf  -1     -> Infinity

+ddshi803 shift  Inf  -0     -> Infinity

+ddshi804 shift  Inf   0     -> Infinity

+ddshi805 shift  Inf   1     -> Infinity

+ddshi806 shift  Inf   8     -> Infinity

+ddshi807 shift  Inf   Inf   -> NaN Invalid_operation

+ddshi808 shift -1000  Inf   -> NaN Invalid_operation

+ddshi809 shift -Inf   Inf   -> NaN Invalid_operation

+ddshi810 shift -1     Inf   -> NaN Invalid_operation

+ddshi811 shift -0     Inf   -> NaN Invalid_operation

+ddshi812 shift  0     Inf   -> NaN Invalid_operation

+ddshi813 shift  1     Inf   -> NaN Invalid_operation

+ddshi814 shift  1000  Inf   -> NaN Invalid_operation

+ddshi815 shift  Inf   Inf   -> NaN Invalid_operation

+

+ddshi821 shift  NaN -Inf    ->  NaN

+ddshi822 shift  NaN -1000   ->  NaN

+ddshi823 shift  NaN -1      ->  NaN

+ddshi824 shift  NaN -0      ->  NaN

+ddshi825 shift  NaN  0      ->  NaN

+ddshi826 shift  NaN  1      ->  NaN

+ddshi827 shift  NaN  1000   ->  NaN

+ddshi828 shift  NaN  Inf    ->  NaN

+ddshi829 shift  NaN  NaN    ->  NaN

+ddshi830 shift -Inf  NaN    ->  NaN

+ddshi831 shift -1000 NaN    ->  NaN

+ddshi832 shift -1    NaN    ->  NaN

+ddshi833 shift -0    NaN    ->  NaN

+ddshi834 shift  0    NaN    ->  NaN

+ddshi835 shift  1    NaN    ->  NaN

+ddshi836 shift  1000 NaN    ->  NaN

+ddshi837 shift  Inf  NaN    ->  NaN

+

+ddshi841 shift  sNaN -Inf   ->  NaN  Invalid_operation

+ddshi842 shift  sNaN -1000  ->  NaN  Invalid_operation

+ddshi843 shift  sNaN -1     ->  NaN  Invalid_operation

+ddshi844 shift  sNaN -0     ->  NaN  Invalid_operation

+ddshi845 shift  sNaN  0     ->  NaN  Invalid_operation

+ddshi846 shift  sNaN  1     ->  NaN  Invalid_operation

+ddshi847 shift  sNaN  1000  ->  NaN  Invalid_operation

+ddshi848 shift  sNaN  NaN   ->  NaN  Invalid_operation

+ddshi849 shift  sNaN sNaN   ->  NaN  Invalid_operation

+ddshi850 shift  NaN  sNaN   ->  NaN  Invalid_operation

+ddshi851 shift -Inf  sNaN   ->  NaN  Invalid_operation

+ddshi852 shift -1000 sNaN   ->  NaN  Invalid_operation

+ddshi853 shift -1    sNaN   ->  NaN  Invalid_operation

+ddshi854 shift -0    sNaN   ->  NaN  Invalid_operation

+ddshi855 shift  0    sNaN   ->  NaN  Invalid_operation

+ddshi856 shift  1    sNaN   ->  NaN  Invalid_operation

+ddshi857 shift  1000 sNaN   ->  NaN  Invalid_operation

+ddshi858 shift  Inf  sNaN   ->  NaN  Invalid_operation

+ddshi859 shift  NaN  sNaN   ->  NaN  Invalid_operation

+

+-- propagating NaNs

+ddshi861 shift  NaN1   -Inf    ->  NaN1

+ddshi862 shift +NaN2   -1000   ->  NaN2

+ddshi863 shift  NaN3    1000   ->  NaN3

+ddshi864 shift  NaN4    Inf    ->  NaN4

+ddshi865 shift  NaN5   +NaN6   ->  NaN5

+ddshi866 shift -Inf     NaN7   ->  NaN7

+ddshi867 shift -1000    NaN8   ->  NaN8

+ddshi868 shift  1000    NaN9   ->  NaN9

+ddshi869 shift  Inf    +NaN10  ->  NaN10

+ddshi871 shift  sNaN11  -Inf   ->  NaN11  Invalid_operation

+ddshi872 shift  sNaN12  -1000  ->  NaN12  Invalid_operation

+ddshi873 shift  sNaN13   1000  ->  NaN13  Invalid_operation

+ddshi874 shift  sNaN14   NaN17 ->  NaN14  Invalid_operation

+ddshi875 shift  sNaN15  sNaN18 ->  NaN15  Invalid_operation

+ddshi876 shift  NaN16   sNaN19 ->  NaN19  Invalid_operation

+ddshi877 shift -Inf    +sNaN20 ->  NaN20  Invalid_operation

+ddshi878 shift -1000    sNaN21 ->  NaN21  Invalid_operation

+ddshi879 shift  1000    sNaN22 ->  NaN22  Invalid_operation

+ddshi880 shift  Inf     sNaN23 ->  NaN23  Invalid_operation

+ddshi881 shift +NaN25  +sNaN24 ->  NaN24  Invalid_operation

+ddshi882 shift -NaN26    NaN28 -> -NaN26

+ddshi883 shift -sNaN27  sNaN29 -> -NaN27  Invalid_operation

+ddshi884 shift  1000    -NaN30 -> -NaN30

+ddshi885 shift  1000   -sNaN31 -> -NaN31  Invalid_operation