cpython/Lib/test/decimaltestdata/plus.decTest
Guido van Rossum 0d3fb8a944 Merged revisions 59107-59186 via svnmerge from
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.
........
2007-11-26 23:23:18 +00:00

195 lines
7.7 KiB
Text

------------------------------------------------------------------------
-- plus.decTest -- decimal monadic addition --
-- 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
-- This set of tests primarily tests the existence of the operator.
-- Addition and rounding, and most overflows, are tested elsewhere.
extended: 1
precision: 9
rounding: half_up
maxExponent: 384
minexponent: -383
plux001 plus '1' -> '1'
plux002 plus '-1' -> '-1'
plux003 plus '1.00' -> '1.00'
plux004 plus '-1.00' -> '-1.00'
plux005 plus '0' -> '0'
plux006 plus '0.00' -> '0.00'
plux007 plus '00.0' -> '0.0'
plux008 plus '00.00' -> '0.00'
plux009 plus '00' -> '0'
plux010 plus '-2' -> '-2'
plux011 plus '2' -> '2'
plux012 plus '-2.00' -> '-2.00'
plux013 plus '2.00' -> '2.00'
plux014 plus '-0' -> '0'
plux015 plus '-0.00' -> '0.00'
plux016 plus '-00.0' -> '0.0'
plux017 plus '-00.00' -> '0.00'
plux018 plus '-00' -> '0'
plux020 plus '-2000000' -> '-2000000'
plux021 plus '2000000' -> '2000000'
precision: 7
plux022 plus '-2000000' -> '-2000000'
plux023 plus '2000000' -> '2000000'
precision: 6
plux024 plus '-2000000' -> '-2.00000E+6' Rounded
plux025 plus '2000000' -> '2.00000E+6' Rounded
precision: 3
plux026 plus '-2000000' -> '-2.00E+6' Rounded
plux027 plus '2000000' -> '2.00E+6' Rounded
-- more fixed, potential LHS swaps if done by add 0
precision: 9
plux060 plus '56267E-10' -> '0.0000056267'
plux061 plus '56267E-5' -> '0.56267'
plux062 plus '56267E-2' -> '562.67'
plux063 plus '56267E-1' -> '5626.7'
plux065 plus '56267E-0' -> '56267'
plux066 plus '56267E+0' -> '56267'
plux067 plus '56267E+1' -> '5.6267E+5'
plux068 plus '56267E+2' -> '5.6267E+6'
plux069 plus '56267E+3' -> '5.6267E+7'
plux070 plus '56267E+4' -> '5.6267E+8'
plux071 plus '56267E+5' -> '5.6267E+9'
plux072 plus '56267E+6' -> '5.6267E+10'
plux080 plus '-56267E-10' -> '-0.0000056267'
plux081 plus '-56267E-5' -> '-0.56267'
plux082 plus '-56267E-2' -> '-562.67'
plux083 plus '-56267E-1' -> '-5626.7'
plux085 plus '-56267E-0' -> '-56267'
plux086 plus '-56267E+0' -> '-56267'
plux087 plus '-56267E+1' -> '-5.6267E+5'
plux088 plus '-56267E+2' -> '-5.6267E+6'
plux089 plus '-56267E+3' -> '-5.6267E+7'
plux090 plus '-56267E+4' -> '-5.6267E+8'
plux091 plus '-56267E+5' -> '-5.6267E+9'
plux092 plus '-56267E+6' -> '-5.6267E+10'
-- "lhs" zeros in plus and minus have exponent = operand
plux120 plus '-0E3' -> '0E+3'
plux121 plus '-0E2' -> '0E+2'
plux122 plus '-0E1' -> '0E+1'
plux123 plus '-0E0' -> '0'
plux124 plus '+0E0' -> '0'
plux125 plus '+0E1' -> '0E+1'
plux126 plus '+0E2' -> '0E+2'
plux127 plus '+0E3' -> '0E+3'
plux130 plus '-5E3' -> '-5E+3'
plux131 plus '-5E8' -> '-5E+8'
plux132 plus '-5E13' -> '-5E+13'
plux133 plus '-5E18' -> '-5E+18'
plux134 plus '+5E3' -> '5E+3'
plux135 plus '+5E8' -> '5E+8'
plux136 plus '+5E13' -> '5E+13'
plux137 plus '+5E18' -> '5E+18'
-- specials
plux150 plus 'Inf' -> 'Infinity'
plux151 plus '-Inf' -> '-Infinity'
plux152 plus NaN -> NaN
plux153 plus sNaN -> NaN Invalid_operation
plux154 plus NaN77 -> NaN77
plux155 plus sNaN88 -> NaN88 Invalid_operation
plux156 plus -NaN -> -NaN
plux157 plus -sNaN -> -NaN Invalid_operation
plux158 plus -NaN77 -> -NaN77
plux159 plus -sNaN88 -> -NaN88 Invalid_operation
-- overflow tests
maxexponent: 999999999
minexponent: -999999999
precision: 3
plux160 plus 9.999E+999999999 -> Infinity Inexact Overflow Rounded
plux161 plus -9.999E+999999999 -> -Infinity Inexact Overflow Rounded
-- subnormals and underflow
precision: 3
maxexponent: 999
minexponent: -999
plux210 plus 1.00E-999 -> 1.00E-999
plux211 plus 0.1E-999 -> 1E-1000 Subnormal
plux212 plus 0.10E-999 -> 1.0E-1000 Subnormal
plux213 plus 0.100E-999 -> 1.0E-1000 Subnormal Rounded
plux214 plus 0.01E-999 -> 1E-1001 Subnormal
-- next is rounded to Emin
plux215 plus 0.999E-999 -> 1.00E-999 Inexact Rounded Subnormal Underflow
plux216 plus 0.099E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow
plux217 plus 0.009E-999 -> 1E-1001 Inexact Rounded Subnormal Underflow
plux218 plus 0.001E-999 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped
plux219 plus 0.0009E-999 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped
plux220 plus 0.0001E-999 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped
plux230 plus -1.00E-999 -> -1.00E-999
plux231 plus -0.1E-999 -> -1E-1000 Subnormal
plux232 plus -0.10E-999 -> -1.0E-1000 Subnormal
plux233 plus -0.100E-999 -> -1.0E-1000 Subnormal Rounded
plux234 plus -0.01E-999 -> -1E-1001 Subnormal
-- next is rounded to Emin
plux235 plus -0.999E-999 -> -1.00E-999 Inexact Rounded Subnormal Underflow
plux236 plus -0.099E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
plux237 plus -0.009E-999 -> -1E-1001 Inexact Rounded Subnormal Underflow
plux238 plus -0.001E-999 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped
plux239 plus -0.0009E-999 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped
plux240 plus -0.0001E-999 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped
-- subnormals clamped to 0-Etiny
precision: 16
maxExponent: 384
minExponent: -383
plux251 plus 7E-398 -> 7E-398 Subnormal
plux252 plus 0E-398 -> 0E-398
plux253 plus 7E-399 -> 1E-398 Subnormal Underflow Inexact Rounded
plux254 plus 4E-399 -> 0E-398 Clamped Subnormal Underflow Inexact Rounded
plux255 plus 7E-400 -> 0E-398 Clamped Subnormal Underflow Inexact Rounded
plux256 plus 7E-401 -> 0E-398 Clamped Subnormal Underflow Inexact Rounded
plux257 plus 0E-399 -> 0E-398 Clamped
plux258 plus 0E-400 -> 0E-398 Clamped
plux259 plus 0E-401 -> 0E-398 Clamped
-- long operand checks
maxexponent: 999
minexponent: -999
precision: 9
plux301 plus 12345678000 -> 1.23456780E+10 Rounded
plux302 plus 1234567800 -> 1.23456780E+9 Rounded
plux303 plus 1234567890 -> 1.23456789E+9 Rounded
plux304 plus 1234567891 -> 1.23456789E+9 Inexact Rounded
plux305 plus 12345678901 -> 1.23456789E+10 Inexact Rounded
plux306 plus 1234567896 -> 1.23456790E+9 Inexact Rounded
-- still checking
precision: 15
plux321 plus 12345678000 -> 12345678000
plux322 plus 1234567800 -> 1234567800
plux323 plus 1234567890 -> 1234567890
plux324 plus 1234567891 -> 1234567891
plux325 plus 12345678901 -> 12345678901
plux326 plus 1234567896 -> 1234567896
precision: 9
-- Null tests
plu900 plus # -> NaN Invalid_operation