mirror of
https://github.com/python/cpython.git
synced 2026-01-08 08:22: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. ........
215 lines
10 KiB
Text
215 lines
10 KiB
Text
------------------------------------------------------------------------
|
|
-- inexact.decTest -- decimal inexact and rounded edge cases --
|
|
-- 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
|
|
|
|
extended: 1
|
|
precision: 9
|
|
rounding: half_up
|
|
maxExponent: 999
|
|
minexponent: -999
|
|
|
|
inx001 add 1 1 -> 2
|
|
inx002 add 123456789 0 -> 123456789
|
|
inx003 add 123456789 0.0 -> 123456789 Rounded
|
|
inx004 add 123456789 0.00 -> 123456789 Rounded
|
|
inx005 add 123456789 1 -> 123456790
|
|
inx006 add 123456789 0.1 -> 123456789 Inexact Rounded
|
|
inx007 add 123456789 0.01 -> 123456789 Inexact Rounded
|
|
inx008 add 123456789 0.001 -> 123456789 Inexact Rounded
|
|
inx009 add 123456789 0.000001 -> 123456789 Inexact Rounded
|
|
inx010 add 123456789 0.000000001 -> 123456789 Inexact Rounded
|
|
inx011 add 123456789 0.000000000001 -> 123456789 Inexact Rounded
|
|
|
|
inx012 add 123456789 0.9 -> 123456790 Inexact Rounded
|
|
inx013 add 123456789 0.09 -> 123456789 Inexact Rounded
|
|
inx014 add 123456789 0.009 -> 123456789 Inexact Rounded
|
|
inx015 add 123456789 0.000009 -> 123456789 Inexact Rounded
|
|
inx016 add 123456789 0.000000009 -> 123456789 Inexact Rounded
|
|
inx017 add 123456789 0.000000000009 -> 123456789 Inexact Rounded
|
|
|
|
inx021 add 1 -1 -> 0
|
|
inx022 add 123456789 -0 -> 123456789
|
|
inx023 add 123456789 -0.0 -> 123456789 Rounded
|
|
inx024 add 123456789 -0.00 -> 123456789 Rounded
|
|
inx025 add 123456789 -1 -> 123456788
|
|
inx026 add 123456789 -0.1 -> 123456789 Inexact Rounded
|
|
inx027 add 123456789 -0.01 -> 123456789 Inexact Rounded
|
|
inx028 add 123456789 -0.001 -> 123456789 Inexact Rounded
|
|
inx029 add 123456789 -0.000001 -> 123456789 Inexact Rounded
|
|
inx030 add 123456789 -0.000000001 -> 123456789 Inexact Rounded
|
|
inx031 add 123456789 -0.000000000001 -> 123456789 Inexact Rounded
|
|
inx032 add 123456789 -0.9 -> 123456788 Inexact Rounded
|
|
inx033 add 123456789 -0.09 -> 123456789 Inexact Rounded
|
|
inx034 add 123456789 -0.009 -> 123456789 Inexact Rounded
|
|
inx035 add 123456789 -0.000009 -> 123456789 Inexact Rounded
|
|
inx036 add 123456789 -0.000000009 -> 123456789 Inexact Rounded
|
|
inx037 add 123456789 -0.000000000009 -> 123456789 Inexact Rounded
|
|
|
|
inx042 add 0 123456789 -> 123456789
|
|
inx043 add 0.0 123456789 -> 123456789 Rounded
|
|
inx044 add 0.00 123456789 -> 123456789 Rounded
|
|
inx045 add 1 123456789 -> 123456790
|
|
inx046 add 0.1 123456789 -> 123456789 Inexact Rounded
|
|
inx047 add 0.01 123456789 -> 123456789 Inexact Rounded
|
|
inx048 add 0.001 123456789 -> 123456789 Inexact Rounded
|
|
inx049 add 0.000001 123456789 -> 123456789 Inexact Rounded
|
|
inx050 add 0.000000001 123456789 -> 123456789 Inexact Rounded
|
|
inx051 add 0.000000000001 123456789 -> 123456789 Inexact Rounded
|
|
inx052 add 0.9 123456789 -> 123456790 Inexact Rounded
|
|
inx053 add 0.09 123456789 -> 123456789 Inexact Rounded
|
|
inx054 add 0.009 123456789 -> 123456789 Inexact Rounded
|
|
inx055 add 0.000009 123456789 -> 123456789 Inexact Rounded
|
|
inx056 add 0.000000009 123456789 -> 123456789 Inexact Rounded
|
|
inx057 add 0.000000000009 123456789 -> 123456789 Inexact Rounded
|
|
|
|
inx062 add -0 123456789 -> 123456789
|
|
inx063 add -0.0 123456789 -> 123456789 Rounded
|
|
inx064 add -0.00 123456789 -> 123456789 Rounded
|
|
inx065 add -1 123456789 -> 123456788
|
|
inx066 add -0.1 123456789 -> 123456789 Inexact Rounded
|
|
inx067 add -0.01 123456789 -> 123456789 Inexact Rounded
|
|
inx068 add -0.001 123456789 -> 123456789 Inexact Rounded
|
|
inx069 add -0.000001 123456789 -> 123456789 Inexact Rounded
|
|
inx070 add -0.000000001 123456789 -> 123456789 Inexact Rounded
|
|
inx071 add -0.000000000001 123456789 -> 123456789 Inexact Rounded
|
|
inx072 add -0.9 123456789 -> 123456788 Inexact Rounded
|
|
inx073 add -0.09 123456789 -> 123456789 Inexact Rounded
|
|
inx074 add -0.009 123456789 -> 123456789 Inexact Rounded
|
|
inx075 add -0.000009 123456789 -> 123456789 Inexact Rounded
|
|
inx076 add -0.000000009 123456789 -> 123456789 Inexact Rounded
|
|
inx077 add -0.000000000009 123456789 -> 123456789 Inexact Rounded
|
|
|
|
-- some boundaries
|
|
inx081 add 999999999 0 -> 999999999
|
|
inx082 add 0.999999999 0.000000000 -> 0.999999999
|
|
inx083 add 999999999 1 -> 1.00000000E+9 Rounded
|
|
inx084 add 0.999999999 0.000000001 -> 1.00000000 Rounded
|
|
inx085 add 999999999 2 -> 1.00000000E+9 Inexact Rounded
|
|
inx086 add 0.999999999 0.000000002 -> 1.00000000 Inexact Rounded
|
|
inx087 add 999999999 3 -> 1.00000000E+9 Inexact Rounded
|
|
inx089 add 0.999999999 0.000000003 -> 1.00000000 Inexact Rounded
|
|
|
|
-- minus, plus, and subtract all assumed to work like add.
|
|
|
|
-- multiply
|
|
precision: 8
|
|
inx101 multiply 1000 1000 -> 1000000
|
|
inx102 multiply 9000 9000 -> 81000000
|
|
inx103 multiply 9999 9999 -> 99980001
|
|
inx104 multiply 1000 10000 -> 10000000
|
|
inx105 multiply 10000 10000 -> 1.0000000E+8 Rounded
|
|
inx106 multiply 10001 10000 -> 1.0001000E+8 Rounded
|
|
inx107 multiply 10001 10001 -> 1.0002000E+8 Inexact Rounded
|
|
inx108 multiply 10101 10001 -> 1.0102010E+8 Inexact Rounded
|
|
inx109 multiply 10001 10101 -> 1.0102010E+8 Inexact Rounded
|
|
|
|
-- divide
|
|
precision: 4
|
|
inx201 divide 1000 1000 -> 1
|
|
inx202 divide 1000 1 -> 1000
|
|
inx203 divide 1000 2 -> 500
|
|
inx204 divide 1000 3 -> 333.3 Inexact Rounded
|
|
inx205 divide 1000 4 -> 250
|
|
inx206 divide 1000 5 -> 200
|
|
inx207 divide 1000 6 -> 166.7 Inexact Rounded
|
|
inx208 divide 1000 7 -> 142.9 Inexact Rounded
|
|
inx209 divide 1000 8 -> 125
|
|
inx210 divide 1000 9 -> 111.1 Inexact Rounded
|
|
inx211 divide 1000 10 -> 100
|
|
|
|
inx220 divide 1 1 -> 1
|
|
inx221 divide 1 2 -> 0.5
|
|
inx222 divide 1 4 -> 0.25
|
|
inx223 divide 1 8 -> 0.125
|
|
inx224 divide 1 16 -> 0.0625
|
|
inx225 divide 1 32 -> 0.03125
|
|
inx226 divide 1 64 -> 0.01563 Inexact Rounded
|
|
inx227 divide 1 128 -> 0.007813 Inexact Rounded
|
|
|
|
precision: 5
|
|
inx230 divide 1 1 -> 1
|
|
inx231 divide 1 2 -> 0.5
|
|
inx232 divide 1 4 -> 0.25
|
|
inx233 divide 1 8 -> 0.125
|
|
inx234 divide 1 16 -> 0.0625
|
|
inx235 divide 1 32 -> 0.03125
|
|
inx236 divide 1 64 -> 0.015625
|
|
inx237 divide 1 128 -> 0.0078125
|
|
|
|
precision: 3
|
|
inx240 divide 1 1 -> 1
|
|
inx241 divide 1 2 -> 0.5
|
|
inx242 divide 1 4 -> 0.25
|
|
inx243 divide 1 8 -> 0.125
|
|
inx244 divide 1 16 -> 0.0625
|
|
inx245 divide 1 32 -> 0.0313 Inexact Rounded
|
|
inx246 divide 1 64 -> 0.0156 Inexact Rounded
|
|
inx247 divide 1 128 -> 0.00781 Inexact Rounded
|
|
|
|
precision: 2
|
|
inx250 divide 1 1 -> 1
|
|
inx251 divide 1 2 -> 0.5
|
|
inx252 divide 1 4 -> 0.25
|
|
inx253 divide 1 8 -> 0.13 Inexact Rounded
|
|
inx254 divide 1 16 -> 0.063 Inexact Rounded
|
|
inx255 divide 1 32 -> 0.031 Inexact Rounded
|
|
inx256 divide 1 64 -> 0.016 Inexact Rounded
|
|
inx257 divide 1 128 -> 0.0078 Inexact Rounded
|
|
|
|
precision: 1
|
|
inx260 divide 1 1 -> 1
|
|
inx261 divide 1 2 -> 0.5
|
|
inx262 divide 1 4 -> 0.3 Inexact Rounded
|
|
inx263 divide 1 8 -> 0.1 Inexact Rounded
|
|
inx264 divide 1 16 -> 0.06 Inexact Rounded
|
|
inx265 divide 1 32 -> 0.03 Inexact Rounded
|
|
inx266 divide 1 64 -> 0.02 Inexact Rounded
|
|
inx267 divide 1 128 -> 0.008 Inexact Rounded
|
|
|
|
|
|
-- power
|
|
precision: 4
|
|
inx301 power 0.5 2 -> 0.25
|
|
inx302 power 0.5 4 -> 0.0625
|
|
inx303 power 0.5 8 -> 0.003906 Inexact Rounded
|
|
inx304 power 0.5 16 -> 0.00001526 Inexact Rounded
|
|
inx305 power 0.5 32 -> 2.328E-10 Inexact Rounded
|
|
|
|
-- compare, divideInteger, and remainder are always exact
|
|
|
|
-- rescale
|
|
precision: 4
|
|
inx401 rescale 0 0 -> 0
|
|
inx402 rescale 1 0 -> 1
|
|
inx403 rescale 0.1 +2 -> 0E+2 Inexact Rounded
|
|
inx404 rescale 0.1 +1 -> 0E+1 Inexact Rounded
|
|
inx405 rescale 0.1 0 -> 0 Inexact Rounded
|
|
inx406 rescale 0.1 -1 -> 0.1
|
|
inx407 rescale 0.1 -2 -> 0.10
|
|
|
|
-- long operands cause rounding too
|
|
precision: 9
|
|
inx801 plus 123456789 -> 123456789
|
|
inx802 plus 1234567890 -> 1.23456789E+9 Rounded
|
|
inx803 plus 1234567891 -> 1.23456789E+9 Inexact Rounded
|
|
inx804 plus 1234567892 -> 1.23456789E+9 Inexact Rounded
|
|
inx805 plus 1234567899 -> 1.23456790E+9 Inexact Rounded
|
|
inx806 plus 1234567900 -> 1.23456790E+9 Rounded
|
|
|