📄 remainder.dectest
字号:
------------------------------------------------------------------------
-- remainder.decTest -- decimal remainder --
-- 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
extended: 1
precision: 9
rounding: half_up
maxExponent: 999
-- sanity checks (as base, above)
remx001 remainder 1 1 -> 0
remx002 remainder 2 1 -> 0
remx003 remainder 1 2 -> 1
remx004 remainder 2 2 -> 0
remx005 remainder 0 1 -> 0
remx006 remainder 0 2 -> 0
remx007 remainder 1 3 -> 1
remx008 remainder 2 3 -> 2
remx009 remainder 3 3 -> 0
remx010 remainder 2.4 1 -> 0.4
remx011 remainder 2.4 -1 -> 0.4
remx012 remainder -2.4 1 -> -0.4
remx013 remainder -2.4 -1 -> -0.4
remx014 remainder 2.40 1 -> 0.40
remx015 remainder 2.400 1 -> 0.400
remx016 remainder 2.4 2 -> 0.4
remx017 remainder 2.400 2 -> 0.400
remx018 remainder 2. 2 -> 0
remx019 remainder 20 20 -> 0
remx020 remainder 187 187 -> 0
remx021 remainder 5 2 -> 1
remx022 remainder 5 2.0 -> 1.0
remx023 remainder 5 2.000 -> 1.000
remx024 remainder 5 0.200 -> 0
remx025 remainder 5 0.200 -> 0
remx030 remainder 1 2 -> 1
remx031 remainder 1 4 -> 1
remx032 remainder 1 8 -> 1
remx033 remainder 1 16 -> 1
remx034 remainder 1 32 -> 1
remx035 remainder 1 64 -> 1
remx040 remainder 1 -2 -> 1
remx041 remainder 1 -4 -> 1
remx042 remainder 1 -8 -> 1
remx043 remainder 1 -16 -> 1
remx044 remainder 1 -32 -> 1
remx045 remainder 1 -64 -> 1
remx050 remainder -1 2 -> -1
remx051 remainder -1 4 -> -1
remx052 remainder -1 8 -> -1
remx053 remainder -1 16 -> -1
remx054 remainder -1 32 -> -1
remx055 remainder -1 64 -> -1
remx060 remainder -1 -2 -> -1
remx061 remainder -1 -4 -> -1
remx062 remainder -1 -8 -> -1
remx063 remainder -1 -16 -> -1
remx064 remainder -1 -32 -> -1
remx065 remainder -1 -64 -> -1
remx066 remainder 999999999 1 -> 0
remx067 remainder 999999999.4 1 -> 0.4
remx068 remainder 999999999.5 1 -> 0.5
remx069 remainder 999999999.9 1 -> 0.9
remx070 remainder 999999999.999 1 -> 0.999
precision: 6
remx071 remainder 999999999 1 -> NaN Division_impossible
remx072 remainder 99999999 1 -> NaN Division_impossible
remx073 remainder 9999999 1 -> NaN Division_impossible
remx074 remainder 999999 1 -> 0
remx075 remainder 99999 1 -> 0
remx076 remainder 9999 1 -> 0
remx077 remainder 999 1 -> 0
remx078 remainder 99 1 -> 0
remx079 remainder 9 1 -> 0
precision: 9
remx080 remainder 0. 1 -> 0
remx081 remainder .0 1 -> 0.0
remx082 remainder 0.00 1 -> 0.00
remx083 remainder 0.00E+9 1 -> 0
remx084 remainder 0.00E+3 1 -> 0
remx085 remainder 0.00E+2 1 -> 0
remx086 remainder 0.00E+1 1 -> 0.0
remx087 remainder 0.00E+0 1 -> 0.00
remx088 remainder 0.00E-0 1 -> 0.00
remx089 remainder 0.00E-1 1 -> 0.000
remx090 remainder 0.00E-2 1 -> 0.0000
remx091 remainder 0.00E-3 1 -> 0.00000
remx092 remainder 0.00E-4 1 -> 0.000000
remx093 remainder 0.00E-5 1 -> 0E-7
remx094 remainder 0.00E-6 1 -> 0E-8
remx095 remainder 0.0000E-50 1 -> 0E-54
-- Various flavours of remainder by 0
precision: 9
maxexponent: 999999999
remx101 remainder 0 0 -> NaN Division_undefined
remx102 remainder 0 -0 -> NaN Division_undefined
remx103 remainder -0 0 -> NaN Division_undefined
remx104 remainder -0 -0 -> NaN Division_undefined
remx105 remainder 0.0E5 0 -> NaN Division_undefined
remx106 remainder 0.000 0 -> NaN Division_undefined
-- [Some think this next group should be Division_by_zero exception, but
-- IEEE 854 is explicit that it is Invalid operation .. for
-- remainder-near, anyway]
remx107 remainder 0.0001 0 -> NaN Invalid_operation
remx108 remainder 0.01 0 -> NaN Invalid_operation
remx109 remainder 0.1 0 -> NaN Invalid_operation
remx110 remainder 1 0 -> NaN Invalid_operation
remx111 remainder 1 0.0 -> NaN Invalid_operation
remx112 remainder 10 0.0 -> NaN Invalid_operation
remx113 remainder 1E+100 0.0 -> NaN Invalid_operation
remx114 remainder 1E+1000 0 -> NaN Invalid_operation
remx115 remainder 0.0001 -0 -> NaN Invalid_operation
remx116 remainder 0.01 -0 -> NaN Invalid_operation
remx119 remainder 0.1 -0 -> NaN Invalid_operation
remx120 remainder 1 -0 -> NaN Invalid_operation
remx121 remainder 1 -0.0 -> NaN Invalid_operation
remx122 remainder 10 -0.0 -> NaN Invalid_operation
remx123 remainder 1E+100 -0.0 -> NaN Invalid_operation
remx124 remainder 1E+1000 -0 -> NaN Invalid_operation
-- and zeros on left
remx130 remainder 0 1 -> 0
remx131 remainder 0 -1 -> 0
remx132 remainder 0.0 1 -> 0.0
remx133 remainder 0.0 -1 -> 0.0
remx134 remainder -0 1 -> -0
remx135 remainder -0 -1 -> -0
remx136 remainder -0.0 1 -> -0.0
remx137 remainder -0.0 -1 -> -0.0
-- 0.5ers
remx143 remainder 0.5 2 -> 0.5
remx144 remainder 0.5 2.1 -> 0.5
remx145 remainder 0.5 2.01 -> 0.5
remx146 remainder 0.5 2.001 -> 0.5
remx147 remainder 0.50 2 -> 0.50
remx148 remainder 0.50 2.01 -> 0.50
remx149 remainder 0.50 2.001 -> 0.50
-- steadies
remx150 remainder 1 1 -> 0
remx151 remainder 1 2 -> 1
remx152 remainder 1 3 -> 1
remx153 remainder 1 4 -> 1
remx154 remainder 1 5 -> 1
remx155 remainder 1 6 -> 1
remx156 remainder 1 7 -> 1
remx157 remainder 1 8 -> 1
remx158 remainder 1 9 -> 1
remx159 remainder 1 10 -> 1
remx160 remainder 1 1 -> 0
remx161 remainder 2 1 -> 0
remx162 remainder 3 1 -> 0
remx163 remainder 4 1 -> 0
remx164 remainder 5 1 -> 0
remx165 remainder 6 1 -> 0
remx166 remainder 7 1 -> 0
remx167 remainder 8 1 -> 0
remx168 remainder 9 1 -> 0
remx169 remainder 10 1 -> 0
-- some differences from remainderNear
remx171 remainder 0.4 1.020 -> 0.4
remx172 remainder 0.50 1.020 -> 0.50
remx173 remainder 0.51 1.020 -> 0.51
remx174 remainder 0.52 1.020 -> 0.52
remx175 remainder 0.6 1.020 -> 0.6
-- More flavours of remainder by 0
maxexponent: 999999999
remx201 remainder 0 0 -> NaN Division_undefined
remx202 remainder 0.0E5 0 -> NaN Division_undefined
remx203 remainder 0.000 0 -> NaN Division_undefined
remx204 remainder 0.0001 0 -> NaN Invalid_operation
remx205 remainder 0.01 0 -> NaN Invalid_operation
remx206 remainder 0.1 0 -> NaN Invalid_operation
remx207 remainder 1 0 -> NaN Invalid_operation
remx208 remainder 1 0.0 -> NaN Invalid_operation
remx209 remainder 10 0.0 -> NaN Invalid_operation
remx210 remainder 1E+100 0.0 -> NaN Invalid_operation
remx211 remainder 1E+1000 0 -> NaN Invalid_operation
-- some differences from remainderNear
remx231 remainder 0.4 1.020 -> 0.4
remx232 remainder 0.50 1.020 -> 0.50
remx233 remainder 0.51 1.020 -> 0.51
remx234 remainder 0.52 1.020 -> 0.52
remx235 remainder 0.6 1.020 -> 0.6
-- test some cases that are close to exponent overflow
maxexponent: 999999999
remx270 remainder 1 1e999999999 -> 1
remx271 remainder 1 0.9e999999999 -> 1
remx272 remainder 1 0.99e999999999 -> 1
remx273 remainder 1 0.999999999e999999999 -> 1
remx274 remainder 9e999999999 1 -> NaN Division_impossible
remx275 remainder 9.9e999999999 1 -> NaN Division_impossible
remx276 remainder 9.99e999999999 1 -> NaN Division_impossible
remx277 remainder 9.99999999e999999999 1 -> NaN Division_impossible
remx280 remainder 0.1 9e-999999999 -> NaN Division_impossible
remx281 remainder 0.1 99e-999999999 -> NaN Division_impossible
remx282 remainder 0.1 999e-999999999 -> NaN Division_impossible
remx283 remainder 0.1 9e-999999998 -> NaN Division_impossible
remx284 remainder 0.1 99e-999999998 -> NaN Division_impossible
remx285 remainder 0.1 999e-999999998 -> NaN Division_impossible
remx286 remainder 0.1 999e-999999997 -> NaN Division_impossible
remx287 remainder 0.1 9999e-999999997 -> NaN Division_impossible
remx288 remainder 0.1 99999e-999999997 -> NaN Division_impossible
-- remx3xx are from DiagBigDecimal
remx301 remainder 1 3 -> 1
remx302 remainder 5 5 -> 0
remx303 remainder 13 10 -> 3
remx304 remainder 13 50 -> 13
remx305 remainder 13 100 -> 13
remx306 remainder 13 1000 -> 13
remx307 remainder .13 1 -> 0.13
remx308 remainder 0.133 1 -> 0.133
remx309 remainder 0.1033 1 -> 0.1033
remx310 remainder 1.033 1 -> 0.033
remx311 remainder 10.33 1 -> 0.33
remx312 remainder 10.33 10 -> 0.33
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -