⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rounding.dectest

📁 eda is an estimation of distributions algorithm
💻 DECTEST
📖 第 1 页 / 共 4 页
字号:
------------------------------------------------------------------------
-- rounding.decTest -- decimal rounding modes testcases               --
-- Copyright (c) IBM Corporation, 1981, 2002.  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.15

-- These tests require that implementations take account of residues in
-- order to get correct results for some rounding modes.  Rather than
-- single rounding tests we therefore need tests for most operators.
-- [We do assume add/minus/plus/subtract are common paths, however, as
-- is rounding of negatives (if the latter works for addition, assume it
-- works for the others, too).]
--
-- Underflow Subnormal and overflow behaviours are tested under the individual
-- operators.

extended:    1
precision:   5           -- for easier visual inspection
maxExponent: 999

-- Addition operators -------------------------------------------------
rounding: down

radx100  add 12345 -0.1       -> 12344 Inexact Rounded
radx101  add 12345 -0.01      -> 12344 Inexact Rounded
radx102  add 12345 -0.001     -> 12344 Inexact Rounded
radx103  add 12345 -0.00001   -> 12344 Inexact Rounded
radx104  add 12345 -0.000001  -> 12344 Inexact Rounded
radx105  add 12345 -0.0000001 -> 12344 Inexact Rounded
radx106  add 12345  0         -> 12345
radx107  add 12345  0.0000001 -> 12345 Inexact Rounded
radx108  add 12345  0.000001  -> 12345 Inexact Rounded
radx109  add 12345  0.00001   -> 12345 Inexact Rounded
radx110  add 12345  0.0001    -> 12345 Inexact Rounded
radx111  add 12345  0.001     -> 12345 Inexact Rounded
radx112  add 12345  0.01      -> 12345 Inexact Rounded
radx113  add 12345  0.1       -> 12345 Inexact Rounded

radx115  add 12346  0.49999   -> 12346 Inexact Rounded
radx116  add 12346  0.5       -> 12346 Inexact Rounded
radx117  add 12346  0.50001   -> 12346 Inexact Rounded

radx120  add 12345  0.4       -> 12345 Inexact Rounded
radx121  add 12345  0.49      -> 12345 Inexact Rounded
radx122  add 12345  0.499     -> 12345 Inexact Rounded
radx123  add 12345  0.49999   -> 12345 Inexact Rounded
radx124  add 12345  0.5       -> 12345 Inexact Rounded
radx125  add 12345  0.50001   -> 12345 Inexact Rounded
radx126  add 12345  0.5001    -> 12345 Inexact Rounded
radx127  add 12345  0.501     -> 12345 Inexact Rounded
radx128  add 12345  0.51      -> 12345 Inexact Rounded
radx129  add 12345  0.6       -> 12345 Inexact Rounded

rounding: half_down

radx140  add 12345 -0.1       -> 12345 Inexact Rounded
radx141  add 12345 -0.01      -> 12345 Inexact Rounded
radx142  add 12345 -0.001     -> 12345 Inexact Rounded
radx143  add 12345 -0.00001   -> 12345 Inexact Rounded
radx144  add 12345 -0.000001  -> 12345 Inexact Rounded
radx145  add 12345 -0.0000001 -> 12345 Inexact Rounded
radx146  add 12345  0         -> 12345
radx147  add 12345  0.0000001 -> 12345 Inexact Rounded
radx148  add 12345  0.000001  -> 12345 Inexact Rounded
radx149  add 12345  0.00001   -> 12345 Inexact Rounded
radx150  add 12345  0.0001    -> 12345 Inexact Rounded
radx151  add 12345  0.001     -> 12345 Inexact Rounded
radx152  add 12345  0.01      -> 12345 Inexact Rounded
radx153  add 12345  0.1       -> 12345 Inexact Rounded

radx155  add 12346  0.49999   -> 12346 Inexact Rounded
radx156  add 12346  0.5       -> 12346 Inexact Rounded
radx157  add 12346  0.50001   -> 12347 Inexact Rounded

radx160  add 12345  0.4       -> 12345 Inexact Rounded
radx161  add 12345  0.49      -> 12345 Inexact Rounded
radx162  add 12345  0.499     -> 12345 Inexact Rounded
radx163  add 12345  0.49999   -> 12345 Inexact Rounded
radx164  add 12345  0.5       -> 12345 Inexact Rounded
radx165  add 12345  0.50001   -> 12346 Inexact Rounded
radx166  add 12345  0.5001    -> 12346 Inexact Rounded
radx167  add 12345  0.501     -> 12346 Inexact Rounded
radx168  add 12345  0.51      -> 12346 Inexact Rounded
radx169  add 12345  0.6       -> 12346 Inexact Rounded

rounding: half_even

radx170  add 12345 -0.1       -> 12345 Inexact Rounded
radx171  add 12345 -0.01      -> 12345 Inexact Rounded
radx172  add 12345 -0.001     -> 12345 Inexact Rounded
radx173  add 12345 -0.00001   -> 12345 Inexact Rounded
radx174  add 12345 -0.000001  -> 12345 Inexact Rounded
radx175  add 12345 -0.0000001 -> 12345 Inexact Rounded
radx176  add 12345  0         -> 12345
radx177  add 12345  0.0000001 -> 12345 Inexact Rounded
radx178  add 12345  0.000001  -> 12345 Inexact Rounded
radx179  add 12345  0.00001   -> 12345 Inexact Rounded
radx180  add 12345  0.0001    -> 12345 Inexact Rounded
radx181  add 12345  0.001     -> 12345 Inexact Rounded
radx182  add 12345  0.01      -> 12345 Inexact Rounded
radx183  add 12345  0.1       -> 12345 Inexact Rounded

radx185  add 12346  0.49999   -> 12346 Inexact Rounded
radx186  add 12346  0.5       -> 12346 Inexact Rounded
radx187  add 12346  0.50001   -> 12347 Inexact Rounded

radx190  add 12345  0.4       -> 12345 Inexact Rounded
radx191  add 12345  0.49      -> 12345 Inexact Rounded
radx192  add 12345  0.499     -> 12345 Inexact Rounded
radx193  add 12345  0.49999   -> 12345 Inexact Rounded
radx194  add 12345  0.5       -> 12346 Inexact Rounded
radx195  add 12345  0.50001   -> 12346 Inexact Rounded
radx196  add 12345  0.5001    -> 12346 Inexact Rounded
radx197  add 12345  0.501     -> 12346 Inexact Rounded
radx198  add 12345  0.51      -> 12346 Inexact Rounded
radx199  add 12345  0.6       -> 12346 Inexact Rounded

rounding: half_up

radx200  add 12345 -0.1       -> 12345 Inexact Rounded
radx201  add 12345 -0.01      -> 12345 Inexact Rounded
radx202  add 12345 -0.001     -> 12345 Inexact Rounded
radx203  add 12345 -0.00001   -> 12345 Inexact Rounded
radx204  add 12345 -0.000001  -> 12345 Inexact Rounded
radx205  add 12345 -0.0000001 -> 12345 Inexact Rounded
radx206  add 12345  0         -> 12345
radx207  add 12345  0.0000001 -> 12345 Inexact Rounded
radx208  add 12345  0.000001  -> 12345 Inexact Rounded
radx209  add 12345  0.00001   -> 12345 Inexact Rounded
radx210  add 12345  0.0001    -> 12345 Inexact Rounded
radx211  add 12345  0.001     -> 12345 Inexact Rounded
radx212  add 12345  0.01      -> 12345 Inexact Rounded
radx213  add 12345  0.1       -> 12345 Inexact Rounded

radx215  add 12346  0.49999   -> 12346 Inexact Rounded
radx216  add 12346  0.5       -> 12347 Inexact Rounded
radx217  add 12346  0.50001   -> 12347 Inexact Rounded

radx220  add 12345  0.4       -> 12345 Inexact Rounded
radx221  add 12345  0.49      -> 12345 Inexact Rounded
radx222  add 12345  0.499     -> 12345 Inexact Rounded
radx223  add 12345  0.49999   -> 12345 Inexact Rounded
radx224  add 12345  0.5       -> 12346 Inexact Rounded
radx225  add 12345  0.50001   -> 12346 Inexact Rounded
radx226  add 12345  0.5001    -> 12346 Inexact Rounded
radx227  add 12345  0.501     -> 12346 Inexact Rounded
radx228  add 12345  0.51      -> 12346 Inexact Rounded
radx229  add 12345  0.6       -> 12346 Inexact Rounded

rounding: up

radx230  add 12345 -0.1       -> 12345 Inexact Rounded
radx231  add 12345 -0.01      -> 12345 Inexact Rounded
radx232  add 12345 -0.001     -> 12345 Inexact Rounded
radx233  add 12345 -0.00001   -> 12345 Inexact Rounded
radx234  add 12345 -0.000001  -> 12345 Inexact Rounded
radx235  add 12345 -0.0000001 -> 12345 Inexact Rounded
radx236  add 12345  0         -> 12345
radx237  add 12345  0.0000001 -> 12346 Inexact Rounded
radx238  add 12345  0.000001  -> 12346 Inexact Rounded
radx239  add 12345  0.00001   -> 12346 Inexact Rounded
radx240  add 12345  0.0001    -> 12346 Inexact Rounded
radx241  add 12345  0.001     -> 12346 Inexact Rounded
radx242  add 12345  0.01      -> 12346 Inexact Rounded
radx243  add 12345  0.1       -> 12346 Inexact Rounded

radx245  add 12346  0.49999   -> 12347 Inexact Rounded
radx246  add 12346  0.5       -> 12347 Inexact Rounded
radx247  add 12346  0.50001   -> 12347 Inexact Rounded

radx250  add 12345  0.4       -> 12346 Inexact Rounded
radx251  add 12345  0.49      -> 12346 Inexact Rounded
radx252  add 12345  0.499     -> 12346 Inexact Rounded
radx253  add 12345  0.49999   -> 12346 Inexact Rounded
radx254  add 12345  0.5       -> 12346 Inexact Rounded
radx255  add 12345  0.50001   -> 12346 Inexact Rounded
radx256  add 12345  0.5001    -> 12346 Inexact Rounded
radx257  add 12345  0.501     -> 12346 Inexact Rounded
radx258  add 12345  0.51      -> 12346 Inexact Rounded
radx259  add 12345  0.6       -> 12346 Inexact Rounded

rounding: floor

radx300  add 12345 -0.1       -> 12344 Inexact Rounded
radx301  add 12345 -0.01      -> 12344 Inexact Rounded
radx302  add 12345 -0.001     -> 12344 Inexact Rounded
radx303  add 12345 -0.00001   -> 12344 Inexact Rounded
radx304  add 12345 -0.000001  -> 12344 Inexact Rounded
radx305  add 12345 -0.0000001 -> 12344 Inexact Rounded
radx306  add 12345  0         -> 12345
radx307  add 12345  0.0000001 -> 12345 Inexact Rounded
radx308  add 12345  0.000001  -> 12345 Inexact Rounded
radx309  add 12345  0.00001   -> 12345 Inexact Rounded
radx310  add 12345  0.0001    -> 12345 Inexact Rounded
radx311  add 12345  0.001     -> 12345 Inexact Rounded
radx312  add 12345  0.01      -> 12345 Inexact Rounded
radx313  add 12345  0.1       -> 12345 Inexact Rounded

radx315  add 12346  0.49999   -> 12346 Inexact Rounded
radx316  add 12346  0.5       -> 12346 Inexact Rounded
radx317  add 12346  0.50001   -> 12346 Inexact Rounded

radx320  add 12345  0.4       -> 12345 Inexact Rounded
radx321  add 12345  0.49      -> 12345 Inexact Rounded
radx322  add 12345  0.499     -> 12345 Inexact Rounded
radx323  add 12345  0.49999   -> 12345 Inexact Rounded
radx324  add 12345  0.5       -> 12345 Inexact Rounded
radx325  add 12345  0.50001   -> 12345 Inexact Rounded
radx326  add 12345  0.5001    -> 12345 Inexact Rounded
radx327  add 12345  0.501     -> 12345 Inexact Rounded
radx328  add 12345  0.51      -> 12345 Inexact Rounded
radx329  add 12345  0.6       -> 12345 Inexact Rounded

rounding: ceiling

radx330  add 12345 -0.1       -> 12345 Inexact Rounded
radx331  add 12345 -0.01      -> 12345 Inexact Rounded
radx332  add 12345 -0.001     -> 12345 Inexact Rounded
radx333  add 12345 -0.00001   -> 12345 Inexact Rounded
radx334  add 12345 -0.000001  -> 12345 Inexact Rounded
radx335  add 12345 -0.0000001 -> 12345 Inexact Rounded
radx336  add 12345  0         -> 12345
radx337  add 12345  0.0000001 -> 12346 Inexact Rounded
radx338  add 12345  0.000001  -> 12346 Inexact Rounded
radx339  add 12345  0.00001   -> 12346 Inexact Rounded
radx340  add 12345  0.0001    -> 12346 Inexact Rounded
radx341  add 12345  0.001     -> 12346 Inexact Rounded
radx342  add 12345  0.01      -> 12346 Inexact Rounded
radx343  add 12345  0.1       -> 12346 Inexact Rounded

radx345  add 12346  0.49999   -> 12347 Inexact Rounded
radx346  add 12346  0.5       -> 12347 Inexact Rounded
radx347  add 12346  0.50001   -> 12347 Inexact Rounded

radx350  add 12345  0.4       -> 12346 Inexact Rounded
radx351  add 12345  0.49      -> 12346 Inexact Rounded
radx352  add 12345  0.499     -> 12346 Inexact Rounded
radx353  add 12345  0.49999   -> 12346 Inexact Rounded
radx354  add 12345  0.5       -> 12346 Inexact Rounded
radx355  add 12345  0.50001   -> 12346 Inexact Rounded
radx356  add 12345  0.5001    -> 12346 Inexact Rounded
radx357  add 12345  0.501     -> 12346 Inexact Rounded
radx358  add 12345  0.51      -> 12346 Inexact Rounded
radx359  add 12345  0.6       -> 12346 Inexact Rounded

-- negatives...

rounding: down

rsux100  add -12345 -0.1       -> -12345 Inexact Rounded
rsux101  add -12345 -0.01      -> -12345 Inexact Rounded
rsux102  add -12345 -0.001     -> -12345 Inexact Rounded
rsux103  add -12345 -0.00001   -> -12345 Inexact Rounded
rsux104  add -12345 -0.000001  -> -12345 Inexact Rounded
rsux105  add -12345 -0.0000001 -> -12345 Inexact Rounded

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -