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

📄 new.dectest

📁 eda is an estimation of distributions algorithm
💻 DECTEST
字号:
------------------------------------------------------------------------
-- new.decTest -- pending tests                                       --
------------------------------------------------------------------------
version: 2.15
precision:   9
rounding:    half_up
maxExponent: 999999999
extended:    1


-- NB add tests from tryzeros


-- Exponents with insignificant leading zeros
-- [to base]
basx.01 toSci  1e999999999 -> 1E+999999999
basx.02 toSci  1e0999999999 -> 1E+999999999
basx.03 toSci  1e00999999999 -> 1E+999999999
basx.04 toSci  1e000999999999 -> 1E+999999999
basx.05 toSci  1e000000000000999999999 -> 1E+999999999
basx.06 toSci  1e000000000001000000007 -> Infinity Overflow Inexact Rounded
basx.07 toSci  1e-999999999 -> 1E-999999999
basx.08 toSci  1e-0999999999 -> 1E-999999999
basx.09 toSci  1e-00999999999 -> 1E-999999999
basx.10 toSci  1e-000999999999 -> 1E-999999999
basx.11 toSci  1e-000000000000999999999 -> 1E-999999999
basx.12 toSci  1e-000000000001000000007 -> 1E-1000000007 Subnormal


-- Divide into 0 tests

divx301 divide    0    7     -> 0
divx302 divide    0    7E-5  -> 0E+5
divx303 divide    0    7E-1  -> 0E+1
divx304 divide    0    7E+1  -> 0.0
divx305 divide    0    7E+5  -> 0.00000
divx306 divide    0    7E+6  -> 0.000000
divx307 divide    0    7E+7  -> 0E-7
divx308 divide    0   70E-5  -> 0E+4
divx309 divide    0   70E-1  -> 0
divx310 divide    0   70E+0  -> 0.0
divx311 divide    0   70E+1  -> 0.00
divx312 divide    0   70E+5  -> 0.000000
divx313 divide    0   70E+6  -> 0E-7
divx314 divide    0   70E+7  -> 0E-8
divx315 divide    0  700E-5  -> 0E+3
divx316 divide    0  700E-1  -> 0.0
divx317 divide    0  700E+0  -> 0.00
divx318 divide    0  700E+1  -> 0.000
divx319 divide    0  700E+5  -> 0E-7
divx320 divide    0  700E+6  -> 0E-8
divx321 divide    0  700E+7  -> 0E-9

divx331 divide 0E-3    7E-5  -> 0E+2
divx332 divide 0E-3    7E-1  -> 0.00
divx333 divide 0E-3    7E+1  -> 0.0000
divx334 divide 0E-3    7E+5  -> 0E-8
divx335 divide 0E-1    7E-5  -> 0E+4
divx336 divide 0E-1    7E-1  -> 0
divx337 divide 0E-1    7E+1  -> 0.00
divx338 divide 0E-1    7E+5  -> 0.000000
divx339 divide 0E+1    7E-5  -> 0E+6
divx340 divide 0E+1    7E-1  -> 0E+2
divx341 divide 0E+1    7E+1  -> 0
divx342 divide 0E+1    7E+5  -> 0.0000
divx343 divide 0E+3    7E-5  -> 0E+8
divx344 divide 0E+3    7E-1  -> 0E+4
divx345 divide 0E+3    7E+1  -> 0E+2
divx346 divide 0E+3    7E+5  -> 0.00

maxexponent: 92
precision:    7
divx351 divide 0E-92   7E-1  -> 0E-91
divx352 divide 0E-92   7E+1  -> 0E-93
divx353 divide 0E-92   7E+5  -> 0E-97
divx354 divide 0E-92   7E+6  -> 0E-98
divx355 divide 0E-92   7E+7  -> 0E-98
divx356 divide 0E-92 777E-1  -> 0E-93
divx357 divide 0E-92 777E+1  -> 0E-95
divx358 divide 0E-92 777E+3  -> 0E-97
divx359 divide 0E-92 777E+4  -> 0E-98
divx360 divide 0E-92 777E+5  -> 0E-98

divx361 divide 0E+92   7E+1  -> 0E+91
divx362 divide 0E+92   7E+0  -> 0E+92
divx363 divide 0E+92   7E-1  -> 0E+92
divx364 divide 0E+92 777E+1  -> 0E+89
divx365 divide 0E+92 777E-1  -> 0E+91
divx366 divide 0E+92 777E-2  -> 0E+92
divx367 divide 0E+92 777E-3  -> 0E+92
divx368 divide 0E+92 777E-4  -> 0E+92


precision:   9
maxExponent: 999999999

-- getInt worries
resx0001 rescale   0   1000000000 -> NaN Invalid_operation
resx0002 rescale   0  -1000000000 -> 0E-1000000000
resx0003 rescale   0   2000000000 -> NaN Invalid_operation
resx0004 rescale   0  -2000000000 -> NaN Invalid_operation
resx0005 rescale   0   3000000000 -> NaN Invalid_operation
resx0006 rescale   0  -3000000000 -> NaN Invalid_operation
resx0007 rescale   0   4000000000 -> NaN Invalid_operation
resx0008 rescale   0  -4000000000 -> NaN Invalid_operation
resx0009 rescale   0   5000000000 -> NaN Invalid_operation
resx0010 rescale   0  -5000000000 -> NaN Invalid_operation
resx0011 rescale   0   6000000000 -> NaN Invalid_operation
resx0012 rescale   0  -6000000000 -> NaN Invalid_operation
resx0013 rescale   0   7000000000 -> NaN Invalid_operation
resx0014 rescale   0  -7000000000 -> NaN Invalid_operation
resx0015 rescale   0   8000000000 -> NaN Invalid_operation
resx0016 rescale   0  -8000000000 -> NaN Invalid_operation
resx0017 rescale   0   9000000000 -> NaN Invalid_operation
resx0018 rescale   0  -9000000000 -> NaN Invalid_operation
resx0019 rescale   0   9999999999 -> NaN Invalid_operation
resx0020 rescale   0  -9999999999 -> NaN Invalid_operation
resx0021 rescale   0   10000000000 -> NaN Invalid_operation
resx0022 rescale   0  -10000000000 -> NaN Invalid_operation

resx0031 rescale   1   0E-1       -> 1
resx0032 rescale   1   0E-2       -> 1
resx0033 rescale   1   0E-3       -> 1
resx0034 rescale   1   0E-4       -> 1
resx0035 rescale   1   0E-100     -> 1
resx0036 rescale   1   0E-100000  -> 1
resx0037 rescale   1   0E+100     -> 1
resx0038 rescale   1   0E+100000  -> 1

resx0041 rescale   0   5E-1000000 -> NaN Invalid_operation
resx0042 rescale   0   5E-1000000 -> NaN Invalid_operation
resx0043 rescale   0    999999999 -> 0E+999999999
resx0044 rescale   0   1000000000 -> NaN Invalid_operation
resx0045 rescale   0   -999999999 -> 0E-999999999
resx0046 rescale   0  -1000000000 -> 0E-1000000000
resx0047 rescale   0  -1000000001 -> 0E-1000000001
resx0048 rescale   0  -1000000002 -> 0E-1000000002
resx0049 rescale   0  -1000000003 -> 0E-1000000003
resx0050 rescale   0  -1000000004 -> 0E-1000000004
resx0051 rescale   0  -1000000005 -> 0E-1000000005
resx0052 rescale   0  -1000000006 -> 0E-1000000006
resx0053 rescale   0  -1000000007 -> 0E-1000000007
resx0054 rescale   0  -1000000008 -> NaN Invalid_operation

resx0061 rescale   1  +2147483649 -> NaN Invalid_operation
resx0062 rescale   1  +2147483648 -> NaN Invalid_operation
resx0063 rescale   1  +2147483647 -> NaN Invalid_operation
resx0064 rescale   1  -2147483647 -> NaN Invalid_operation
resx0065 rescale   1  -2147483648 -> NaN Invalid_operation
resx0066 rescale   1  -2147483649 -> NaN Invalid_operation

-- check for double-rounded subnormals
precision:   5
maxexponent: 79
basx0001 toSci     1.52444E-80  ->  1.524E-80 Inexact Rounded Subnormal Underflow
basx0002 toSci     1.52445E-80  ->  1.524E-80 Inexact Rounded Subnormal Underflow
basx0003 toSci     1.52446E-80  ->  1.524E-80 Inexact Rounded Subnormal Underflow

-- check for double-rounded subnormals
precision:   5
maxexponent: 79
-- Add: lhs and rhs 0
addx0001 add       1.52444E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
addx0002 add       1.52445E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
addx0003 add       1.52446E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
addx0004 add       0 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
addx0005 add       0 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
addx0006 add       0 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow

-- Add: lhs >> rhs and vice versa
addx0011 add       1.52444E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
addx0012 add       1.52445E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
addx0013 add       1.52446E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
addx0014 add       1E-100 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
addx0015 add       1E-100 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
addx0016 add       1E-100 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow

-- Add: lhs + rhs addition carried out
addx0021 add       1.52443E-80 1.00001E-80  -> 2.524E-80 Inexact Rounded Subnormal Underflow
addx0022 add       1.52444E-80 1.00001E-80  -> 2.524E-80 Inexact Rounded Subnormal Underflow
addx0023 add       1.52445E-80 1.00001E-80  -> 2.524E-80 Inexact Rounded Subnormal Underflow
addx0024 add       1.00001E-80  1.52443E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
addx0025 add       1.00001E-80  1.52444E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
addx0026 add       1.00001E-80  1.52445E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow

-- check for double-rounded subnormals
precision:   5
maxexponent: 79
subx0001 subtract  0 1.52444E-80 -> -1.524E-80 Inexact Rounded Subnormal Underflow
subx0002 subtract  0 1.52445E-80 -> -1.524E-80 Inexact Rounded Subnormal Underflow
subx0003 subtract  0 1.52446E-80 -> -1.524E-80 Inexact Rounded Subnormal Underflow
subx0004 subtract  1.52444E-80 0 ->  1.524E-80 Inexact Rounded Subnormal Underflow
subx0005 subtract  1.52445E-80 0 ->  1.524E-80 Inexact Rounded Subnormal Underflow
subx0006 subtract  1.52446E-80 0 ->  1.524E-80 Inexact Rounded Subnormal Underflow

subx0011 subtract  1.2345678E-80  1.2345671E-80 ->  0E-83 Inexact Rounded Subnormal Underflow
subx0012 subtract  1.2345678E-80  1.2345618E-80 ->  0E-83 Inexact Rounded Subnormal Underflow
subx0013 subtract  1.2345678E-80  1.2345178E-80 ->  0E-83 Inexact Rounded Subnormal Underflow
subx0014 subtract  1.2345678E-80  1.2341678E-80 ->  0E-83 Inexact Rounded Subnormal Underflow
subx0015 subtract  1.2345678E-80  1.2315678E-80 ->  3E-83         Rounded Subnormal
subx0016 subtract  1.2345678E-80  1.2145678E-80 ->  2.0E-82       Rounded Subnormal
subx0017 subtract  1.2345678E-80  1.1345678E-80 ->  1.00E-81      Rounded Subnormal
subx0018 subtract  1.2345678E-80  0.2345678E-80 ->  1.000E-80     Rounded Subnormal

-- check for double-rounded subnormals
precision:   5
maxexponent: 79
mulx0001 multiply  1.2347E-40  1.2347E-40  ->  1.524E-80 Inexact Rounded Subnormal Underflow
mulx0002 multiply  1.234E-40  1.234E-40  ->  1.523E-80 Inexact Rounded Subnormal Underflow
mulx0003 multiply  1.23E-40   1.23E-40   ->  1.513E-80 Inexact Rounded Subnormal Underflow
mulx0004 multiply  1.2E-40    1.2E-40    ->  1.44E-80  Subnormal
mulx0005 multiply  1.2E-40    1.2E-41    ->  1.44E-81  Subnormal
mulx0006 multiply  1.2E-40    1.2E-42    ->  1.4E-82   Subnormal Inexact Rounded Underflow
mulx0007 multiply  1.2E-40    1.3E-42    ->  1.6E-82   Subnormal Inexact Rounded Underflow
mulx0008 multiply  1.3E-40    1.3E-42    ->  1.7E-82   Subnormal Inexact Rounded Underflow

mulx0011 multiply  1.2345E-39   1.234E-40  ->  1.5234E-79 Inexact Rounded
mulx0012 multiply  1.23456E-39  1.234E-40  ->  1.5234E-79 Inexact Rounded
mulx0013 multiply  1.2345E-40   1.234E-40  ->  1.523E-80  Inexact Rounded Subnormal Underflow
mulx0014 multiply  1.23456E-40  1.234E-40  ->  1.523E-80  Inexact Rounded Subnormal Underflow
mulx0015 multiply  1.2345E-41   1.234E-40  ->  1.52E-81   Inexact Rounded Subnormal Underflow
mulx0016 multiply  1.23456E-41  1.234E-40  ->  1.52E-81   Inexact Rounded Subnormal Underflow

-- check for double-rounded subnormals
precision:   5
maxexponent: 79
divx0001 divide    1.52444E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
divx0002 divide    1.52445E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
divx0003 divide    1.52446E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow

-- check for double-rounded subnormals
precision:   5
maxexponent: 79
powx0001 power     1.2347E-40  2      ->  1.524E-80 Inexact Rounded Subnormal Underflow

⌨️ 快捷键说明

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