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

📄 remainder.dectest

📁 eda is an estimation of distributions algorithm
💻 DECTEST
📖 第 1 页 / 共 2 页
字号:
------------------------------------------------------------------------
-- 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 + -