mirror of
https://github.com/python/cpython.git
synced 2025-10-10 00:43:41 +00:00

svn+ssh://pythondev@svn.python.org/python/trunk (Note: some conflicts in the PCbuild9 directory reverted. Sorry Christian!) ........ r59120 | christian.heimes | 2007-11-22 03:21:16 -0800 (Thu, 22 Nov 2007) | 3 lines Backport of the PCbuild9 directory from the py3k branch. I've finished the last task for the PCbuild9 directory today. I don't think there is much left to do. Now you can all play around with the shiny new VS 2008 and try the PGO builds. I was able to get a speed improvement of about 10% on py3k. Have fun! :) ........ r59126 | brett.cannon | 2007-11-22 16:06:51 -0800 (Thu, 22 Nov 2007) | 2 lines Fix a bug in the test for using __loader__.get_data(). ........ r59131 | christian.heimes | 2007-11-22 23:05:03 -0800 (Thu, 22 Nov 2007) | 1 line Backport of PCbuild9 fixes from py3k r59130 ........ r59132 | christian.heimes | 2007-11-23 01:10:36 -0800 (Fri, 23 Nov 2007) | 2 lines Applied patch #1754273 and #1754271 from Thomas Glee The patches are adding deprecation warnings for back ticks and <> ........ r59133 | christian.heimes | 2007-11-23 04:12:02 -0800 (Fri, 23 Nov 2007) | 2 lines Fixed problems in the last commit. Filenames and line numbers weren't reported correctly. Backquotes still don't report the correct file. The AST nodes only contain the line number but not the file name. ........ r59134 | christian.heimes | 2007-11-23 04:16:35 -0800 (Fri, 23 Nov 2007) | 1 line How did the comment get there? ........ r59135 | christian.heimes | 2007-11-23 05:25:31 -0800 (Fri, 23 Nov 2007) | 1 line And yet another fix for the patch. Paul Moore has send me a note that I've missed a declaration. The additional code has moved the declaration in the middle of the block. ........ r59136 | andrew.kuchling | 2007-11-23 05:37:39 -0800 (Fri, 23 Nov 2007) | 1 line Add item ........ r59137 | skip.montanaro | 2007-11-23 09:08:35 -0800 (Fri, 23 Nov 2007) | 2 lines Make trace and doctest play nice together (issue 1429818). Will backport. ........ r59139 | skip.montanaro | 2007-11-23 09:12:47 -0800 (Fri, 23 Nov 2007) | 1 line issue 1429818 ........ r59144 | facundo.batista | 2007-11-23 09:59:00 -0800 (Fri, 23 Nov 2007) | 10 lines Major change in the internal structure of the Decimal number: now it does not store the mantissa as a tuple of numbers, but as a string. This avoids a lot of conversions, and achieves a speedup of 40%. The API remains intact. Thanks Mark Dickinson. ........ r59146 | facundo.batista | 2007-11-23 10:14:50 -0800 (Fri, 23 Nov 2007) | 3 lines Test cases from Cowlishaw, v2.57. All are pased cleanly. ........ r59156 | christian.heimes | 2007-11-23 17:36:02 -0800 (Fri, 23 Nov 2007) | 2 lines Added filename to compiling struct based on Martin's suggestion. I'm wonder why I was trying to add the filename to the node all the time. The compiling struct is more obvious. ........ r59158 | christian.heimes | 2007-11-23 17:53:59 -0800 (Fri, 23 Nov 2007) | 2 lines Backport of fixes from py3k branch svn merge -r59131:HEAD ../../py3k/PCbuild9/ . ........ r59159 | skip.montanaro | 2007-11-23 20:29:08 -0800 (Fri, 23 Nov 2007) | 1 line revert change that breaks test_doctest (which I forgot to run - sorry) ........ r59162 | skip.montanaro | 2007-11-23 20:31:15 -0800 (Fri, 23 Nov 2007) | 1 line revert ........ r59164 | georg.brandl | 2007-11-24 03:31:46 -0800 (Sat, 24 Nov 2007) | 3 lines #1344: document that you need to open std{in,out,err} with PIPE if you want communicate() to work as described. ........ r59165 | georg.brandl | 2007-11-24 03:39:13 -0800 (Sat, 24 Nov 2007) | 2 lines #1467: fix documentation for TestResult.add{Error,Failure}. ........ r59166 | georg.brandl | 2007-11-24 03:42:14 -0800 (Sat, 24 Nov 2007) | 2 lines #1355: remove mention of PyXML from xml.dom docs. ........ r59169 | amaury.forgeotdarc | 2007-11-24 05:20:22 -0800 (Sat, 24 Nov 2007) | 2 lines Warning "<> not supported in 3.x" should be enabled only when the -3 option is set. ........ r59170 | amaury.forgeotdarc | 2007-11-24 05:44:17 -0800 (Sat, 24 Nov 2007) | 3 lines Issue #1445: Fix a SystemError when accessing the ``cell_contents`` attribute of an empty cell object. Now a ValueError is raised. ........ r59172 | georg.brandl | 2007-11-24 05:56:09 -0800 (Sat, 24 Nov 2007) | 3 lines #1735632: add O_NOATIME constant to os module. Also document a few other O_ constants that were missing from documentation. ........ r59173 | skip.montanaro | 2007-11-24 06:30:47 -0800 (Sat, 24 Nov 2007) | 1 line back in these go - thanks to Titus Brown for the fix ........ r59176 | martin.v.loewis | 2007-11-24 10:33:40 -0800 (Sat, 24 Nov 2007) | 2 lines Bug #1494: Document that appendChild removes first. ........ r59186 | guido.van.rossum | 2007-11-26 14:16:49 -0800 (Mon, 26 Nov 2007) | 2 lines A thread-less variant of brownian.py, submitted by Michele Simoniato. ........
262 lines
13 KiB
Text
262 lines
13 KiB
Text
------------------------------------------------------------------------
|
|
-- 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.57
|
|
|
|
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
|