cpython/Lib/test/decimaltestdata/tointegral.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

241 lines
8.7 KiB
Text

------------------------------------------------------------------------
-- tointegral.decTest -- round decimal to integral value --
-- Copyright (c) IBM Corporation, 2001, 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 tests the extended specification 'round-to-integral
-- value' operation (from IEEE 854, later modified in 754r).
-- All non-zero results are defined as being those from either copy or
-- quantize, so those are assumed to have been tested.
-- Note that 754r requires that Inexact not be set, and we similarly
-- assume Rounded is not set.
extended: 1
precision: 9
rounding: half_up
maxExponent: 999
minExponent: -999
intx001 tointegral 0 -> 0
intx002 tointegral 0.0 -> 0
intx003 tointegral 0.1 -> 0
intx004 tointegral 0.2 -> 0
intx005 tointegral 0.3 -> 0
intx006 tointegral 0.4 -> 0
intx007 tointegral 0.5 -> 1
intx008 tointegral 0.6 -> 1
intx009 tointegral 0.7 -> 1
intx010 tointegral 0.8 -> 1
intx011 tointegral 0.9 -> 1
intx012 tointegral 1 -> 1
intx013 tointegral 1.0 -> 1
intx014 tointegral 1.1 -> 1
intx015 tointegral 1.2 -> 1
intx016 tointegral 1.3 -> 1
intx017 tointegral 1.4 -> 1
intx018 tointegral 1.5 -> 2
intx019 tointegral 1.6 -> 2
intx020 tointegral 1.7 -> 2
intx021 tointegral 1.8 -> 2
intx022 tointegral 1.9 -> 2
-- negatives
intx031 tointegral -0 -> -0
intx032 tointegral -0.0 -> -0
intx033 tointegral -0.1 -> -0
intx034 tointegral -0.2 -> -0
intx035 tointegral -0.3 -> -0
intx036 tointegral -0.4 -> -0
intx037 tointegral -0.5 -> -1
intx038 tointegral -0.6 -> -1
intx039 tointegral -0.7 -> -1
intx040 tointegral -0.8 -> -1
intx041 tointegral -0.9 -> -1
intx042 tointegral -1 -> -1
intx043 tointegral -1.0 -> -1
intx044 tointegral -1.1 -> -1
intx045 tointegral -1.2 -> -1
intx046 tointegral -1.3 -> -1
intx047 tointegral -1.4 -> -1
intx048 tointegral -1.5 -> -2
intx049 tointegral -1.6 -> -2
intx050 tointegral -1.7 -> -2
intx051 tointegral -1.8 -> -2
intx052 tointegral -1.9 -> -2
-- next two would be NaN using quantize(x, 0)
intx053 tointegral 10E+30 -> 1.0E+31
intx054 tointegral -10E+30 -> -1.0E+31
-- numbers around precision
precision: 9
intx060 tointegral '56267E-10' -> '0'
intx061 tointegral '56267E-5' -> '1'
intx062 tointegral '56267E-2' -> '563'
intx063 tointegral '56267E-1' -> '5627'
intx065 tointegral '56267E-0' -> '56267'
intx066 tointegral '56267E+0' -> '56267'
intx067 tointegral '56267E+1' -> '5.6267E+5'
intx068 tointegral '56267E+2' -> '5.6267E+6'
intx069 tointegral '56267E+3' -> '5.6267E+7'
intx070 tointegral '56267E+4' -> '5.6267E+8'
intx071 tointegral '56267E+5' -> '5.6267E+9'
intx072 tointegral '56267E+6' -> '5.6267E+10'
intx073 tointegral '1.23E+96' -> '1.23E+96'
intx074 tointegral '1.23E+384' -> '1.23E+384'
intx075 tointegral '1.23E+999' -> '1.23E+999'
intx080 tointegral '-56267E-10' -> '-0'
intx081 tointegral '-56267E-5' -> '-1'
intx082 tointegral '-56267E-2' -> '-563'
intx083 tointegral '-56267E-1' -> '-5627'
intx085 tointegral '-56267E-0' -> '-56267'
intx086 tointegral '-56267E+0' -> '-56267'
intx087 tointegral '-56267E+1' -> '-5.6267E+5'
intx088 tointegral '-56267E+2' -> '-5.6267E+6'
intx089 tointegral '-56267E+3' -> '-5.6267E+7'
intx090 tointegral '-56267E+4' -> '-5.6267E+8'
intx091 tointegral '-56267E+5' -> '-5.6267E+9'
intx092 tointegral '-56267E+6' -> '-5.6267E+10'
intx093 tointegral '-1.23E+96' -> '-1.23E+96'
intx094 tointegral '-1.23E+384' -> '-1.23E+384'
intx095 tointegral '-1.23E+999' -> '-1.23E+999'
-- subnormal inputs
intx100 tointegral 1E-999 -> 0
intx101 tointegral 0.1E-999 -> 0
intx102 tointegral 0.01E-999 -> 0
intx103 tointegral 0E-999 -> 0
-- specials and zeros
intx120 tointegral 'Inf' -> Infinity
intx121 tointegral '-Inf' -> -Infinity
intx122 tointegral NaN -> NaN
intx123 tointegral sNaN -> NaN Invalid_operation
intx124 tointegral 0 -> 0
intx125 tointegral -0 -> -0
intx126 tointegral 0.000 -> 0
intx127 tointegral 0.00 -> 0
intx128 tointegral 0.0 -> 0
intx129 tointegral 0 -> 0
intx130 tointegral 0E-3 -> 0
intx131 tointegral 0E-2 -> 0
intx132 tointegral 0E-1 -> 0
intx133 tointegral 0E-0 -> 0
intx134 tointegral 0E+1 -> 0E+1
intx135 tointegral 0E+2 -> 0E+2
intx136 tointegral 0E+3 -> 0E+3
intx137 tointegral 0E+4 -> 0E+4
intx138 tointegral 0E+5 -> 0E+5
intx139 tointegral -0.000 -> -0
intx140 tointegral -0.00 -> -0
intx141 tointegral -0.0 -> -0
intx142 tointegral -0 -> -0
intx143 tointegral -0E-3 -> -0
intx144 tointegral -0E-2 -> -0
intx145 tointegral -0E-1 -> -0
intx146 tointegral -0E-0 -> -0
intx147 tointegral -0E+1 -> -0E+1
intx148 tointegral -0E+2 -> -0E+2
intx149 tointegral -0E+3 -> -0E+3
intx150 tointegral -0E+4 -> -0E+4
intx151 tointegral -0E+5 -> -0E+5
-- propagating NaNs
intx152 tointegral NaN808 -> NaN808
intx153 tointegral sNaN080 -> NaN80 Invalid_operation
intx154 tointegral -NaN808 -> -NaN808
intx155 tointegral -sNaN080 -> -NaN80 Invalid_operation
intx156 tointegral -NaN -> -NaN
intx157 tointegral -sNaN -> -NaN Invalid_operation
-- examples
rounding: half_up
precision: 9
intx200 tointegral 2.1 -> 2
intx201 tointegral 100 -> 100
intx202 tointegral 100.0 -> 100
intx203 tointegral 101.5 -> 102
intx204 tointegral -101.5 -> -102
intx205 tointegral 10E+5 -> 1.0E+6
intx206 tointegral 7.89E+77 -> 7.89E+77
intx207 tointegral -Inf -> -Infinity
-- all rounding modes
rounding: half_even
intx210 tointegral 55.5 -> 56
intx211 tointegral 56.5 -> 56
intx212 tointegral 57.5 -> 58
intx213 tointegral -55.5 -> -56
intx214 tointegral -56.5 -> -56
intx215 tointegral -57.5 -> -58
rounding: half_up
intx220 tointegral 55.5 -> 56
intx221 tointegral 56.5 -> 57
intx222 tointegral 57.5 -> 58
intx223 tointegral -55.5 -> -56
intx224 tointegral -56.5 -> -57
intx225 tointegral -57.5 -> -58
rounding: half_down
intx230 tointegral 55.5 -> 55
intx231 tointegral 56.5 -> 56
intx232 tointegral 57.5 -> 57
intx233 tointegral -55.5 -> -55
intx234 tointegral -56.5 -> -56
intx235 tointegral -57.5 -> -57
rounding: up
intx240 tointegral 55.3 -> 56
intx241 tointegral 56.3 -> 57
intx242 tointegral 57.3 -> 58
intx243 tointegral -55.3 -> -56
intx244 tointegral -56.3 -> -57
intx245 tointegral -57.3 -> -58
rounding: down
intx250 tointegral 55.7 -> 55
intx251 tointegral 56.7 -> 56
intx252 tointegral 57.7 -> 57
intx253 tointegral -55.7 -> -55
intx254 tointegral -56.7 -> -56
intx255 tointegral -57.7 -> -57
rounding: ceiling
intx260 tointegral 55.3 -> 56
intx261 tointegral 56.3 -> 57
intx262 tointegral 57.3 -> 58
intx263 tointegral -55.3 -> -55
intx264 tointegral -56.3 -> -56
intx265 tointegral -57.3 -> -57
rounding: floor
intx270 tointegral 55.7 -> 55
intx271 tointegral 56.7 -> 56
intx272 tointegral 57.7 -> 57
intx273 tointegral -55.7 -> -56
intx274 tointegral -56.7 -> -57
intx275 tointegral -57.7 -> -58