📄 rounding.dectest
字号:
------------------------------------------------------------------------
-- 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 + -