mirror of https://github.com/python/cpython
568 lines
20 KiB
Plaintext
568 lines
20 KiB
Plaintext
|
version: ?.??
|
||
|
|
||
|
extended: 1
|
||
|
rounding: half_even
|
||
|
|
||
|
-- testing folddown and clamping
|
||
|
maxexponent: 9
|
||
|
minexponent: -9
|
||
|
precision: 6
|
||
|
clamp: 1
|
||
|
extr0000 apply 1E+11 -> Infinity Overflow Inexact Rounded
|
||
|
extr0001 apply 1E+10 -> Infinity Overflow Inexact Rounded
|
||
|
extr0002 apply 1E+9 -> 1.00000E+9 Clamped
|
||
|
extr0003 apply 1E+8 -> 1.0000E+8 Clamped
|
||
|
extr0004 apply 1E+7 -> 1.000E+7 Clamped
|
||
|
extr0005 apply 1E+6 -> 1.00E+6 Clamped
|
||
|
extr0006 apply 1E+5 -> 1.0E+5 Clamped
|
||
|
extr0007 apply 1E+4 -> 1E+4
|
||
|
extr0008 apply 1E+3 -> 1E+3
|
||
|
extr0009 apply 1E+2 -> 1E+2
|
||
|
extr0010 apply 1E+1 -> 1E+1
|
||
|
extr0011 apply 1 -> 1
|
||
|
extr0012 apply 1E-1 -> 0.1
|
||
|
extr0013 apply 1E-2 -> 0.01
|
||
|
extr0014 apply 1E-3 -> 0.001
|
||
|
extr0015 apply 1E-4 -> 0.0001
|
||
|
extr0016 apply 1E-5 -> 0.00001
|
||
|
extr0017 apply 1E-6 -> 0.000001
|
||
|
extr0018 apply 1E-7 -> 1E-7
|
||
|
extr0019 apply 1E-8 -> 1E-8
|
||
|
extr0020 apply 1E-9 -> 1E-9
|
||
|
extr0021 apply 1E-10 -> 1E-10 Subnormal
|
||
|
extr0022 apply 1E-11 -> 1E-11 Subnormal
|
||
|
extr0023 apply 1E-12 -> 1E-12 Subnormal
|
||
|
extr0024 apply 1E-13 -> 1E-13 Subnormal
|
||
|
extr0025 apply 1E-14 -> 1E-14 Subnormal
|
||
|
extr0026 apply 1E-15 -> 0E-14 Inexact Rounded Subnormal Underflow Clamped
|
||
|
extr0027 apply 1E-16 -> 0E-14 Inexact Rounded Subnormal Underflow Clamped
|
||
|
clamp: 0
|
||
|
|
||
|
-- large precision, small minimum and maximum exponent; in this case
|
||
|
-- it's possible that folddown is required on a subnormal result
|
||
|
maxexponent: 9
|
||
|
minexponent: -9
|
||
|
precision: 24
|
||
|
clamp: 1
|
||
|
extr0100 apply 1E+11 -> Infinity Overflow Inexact Rounded
|
||
|
extr0101 apply 1E+10 -> Infinity Overflow Inexact Rounded
|
||
|
extr0102 apply 1E+9 -> 1000000000.00000000000000 Clamped
|
||
|
extr0103 apply 1E+8 -> 100000000.00000000000000 Clamped
|
||
|
extr0104 apply 1E+7 -> 10000000.00000000000000 Clamped
|
||
|
extr0105 apply 1E+6 -> 1000000.00000000000000 Clamped
|
||
|
extr0106 apply 1E+5 -> 100000.00000000000000 Clamped
|
||
|
extr0107 apply 1E+4 -> 10000.00000000000000 Clamped
|
||
|
extr0108 apply 1E+3 -> 1000.00000000000000 Clamped
|
||
|
extr0109 apply 1E+2 -> 100.00000000000000 Clamped
|
||
|
extr0110 apply 1E+1 -> 10.00000000000000 Clamped
|
||
|
extr0111 apply 1 -> 1.00000000000000 Clamped
|
||
|
extr0112 apply 1E-1 -> 0.10000000000000 Clamped
|
||
|
extr0113 apply 1E-2 -> 0.01000000000000 Clamped
|
||
|
extr0114 apply 1E-3 -> 0.00100000000000 Clamped
|
||
|
extr0115 apply 1E-4 -> 0.00010000000000 Clamped
|
||
|
extr0116 apply 1E-5 -> 0.00001000000000 Clamped
|
||
|
extr0117 apply 1E-6 -> 0.00000100000000 Clamped
|
||
|
extr0118 apply 1E-7 -> 1.0000000E-7 Clamped
|
||
|
extr0119 apply 1E-8 -> 1.000000E-8 Clamped
|
||
|
extr0120 apply 1E-9 -> 1.00000E-9 Clamped
|
||
|
extr0121 apply 1E-10 -> 1.0000E-10 Subnormal Clamped
|
||
|
extr0122 apply 1E-11 -> 1.000E-11 Subnormal Clamped
|
||
|
extr0123 apply 1E-12 -> 1.00E-12 Subnormal Clamped
|
||
|
extr0124 apply 1E-13 -> 1.0E-13 Subnormal Clamped
|
||
|
extr0125 apply 1E-14 -> 1E-14 Subnormal
|
||
|
extr0126 apply 1E-15 -> 1E-15 Subnormal
|
||
|
extr0127 apply 1E-16 -> 1E-16 Subnormal
|
||
|
extr0128 apply 1E-17 -> 1E-17 Subnormal
|
||
|
extr0129 apply 1E-18 -> 1E-18 Subnormal
|
||
|
extr0130 apply 1E-19 -> 1E-19 Subnormal
|
||
|
extr0131 apply 1E-20 -> 1E-20 Subnormal
|
||
|
extr0132 apply 1E-21 -> 1E-21 Subnormal
|
||
|
extr0133 apply 1E-22 -> 1E-22 Subnormal
|
||
|
extr0134 apply 1E-23 -> 1E-23 Subnormal
|
||
|
extr0135 apply 1E-24 -> 1E-24 Subnormal
|
||
|
extr0136 apply 1E-25 -> 1E-25 Subnormal
|
||
|
extr0137 apply 1E-26 -> 1E-26 Subnormal
|
||
|
extr0138 apply 1E-27 -> 1E-27 Subnormal
|
||
|
extr0139 apply 1E-28 -> 1E-28 Subnormal
|
||
|
extr0140 apply 1E-29 -> 1E-29 Subnormal
|
||
|
extr0141 apply 1E-30 -> 1E-30 Subnormal
|
||
|
extr0142 apply 1E-31 -> 1E-31 Subnormal
|
||
|
extr0143 apply 1E-32 -> 1E-32 Subnormal
|
||
|
extr0144 apply 1E-33 -> 0E-32 Inexact Rounded Subnormal Underflow Clamped
|
||
|
extr0145 apply 1E-34 -> 0E-32 Inexact Rounded Subnormal Underflow Clamped
|
||
|
clamp: 0
|
||
|
|
||
|
-- some buggy addition cases from Python 2.5.x
|
||
|
maxexponent: 999
|
||
|
minexponent: -999
|
||
|
precision: 6
|
||
|
extr1000 add 0E+1000 0E+2000 -> 0E+999 Clamped
|
||
|
extr1001 add 0E+1004 0E+1001 -> 0E+999 Clamped
|
||
|
clamp: 1
|
||
|
extr1002 add 0E+1000 0E+1000 -> 0E+994 Clamped
|
||
|
clamp: 0
|
||
|
extr1003 add 0E+1000 0E-1005 -> 0E-1004 Clamped
|
||
|
extr1004 add 0E-1006 0 -> 0E-1004 Clamped
|
||
|
extr1005 add 1E+1000 -1E+1000 -> 0E+999 Clamped
|
||
|
extr1006 add -3.1E+1004 3.1E+1004 -> 0E+999 Clamped
|
||
|
clamp: 1
|
||
|
extr1007 add 1E+998 -1E+998 -> 0E+994 Clamped
|
||
|
clamp: 0
|
||
|
extr1008 add 2E-1005 -2E-1005 -> 0E-1004 Clamped
|
||
|
extr1009 add -3.1E-1005 3.1E-1005 -> 0E-1004 Clamped
|
||
|
|
||
|
precision: 3
|
||
|
extr1010 add 99949.9 0.200000 -> 1.00E+5 Inexact Rounded
|
||
|
extr1011 add 99949.9 0.100000 -> 1.00E+5 Inexact Rounded
|
||
|
extr1012 add 99849.9 0.200000 -> 9.99E+4 Inexact Rounded
|
||
|
extr1013 add 99849.9 0.100000 -> 9.98E+4 Inexact Rounded
|
||
|
extr1014 add 1.0149 0.00011 -> 1.02 Inexact Rounded
|
||
|
extr1015 add 1.0149 0.00010 -> 1.02 Inexact Rounded
|
||
|
extr1016 add 1.0149 0.00009 -> 1.01 Inexact Rounded
|
||
|
extr1017 add 1.0049 0.00011 -> 1.01 Inexact Rounded
|
||
|
extr1018 add 1.0049 0.00010 -> 1.00 Inexact Rounded
|
||
|
extr1019 add 1.0049 0.00009 -> 1.00 Inexact Rounded
|
||
|
rounding: down
|
||
|
extr1020 add 99999.9 0.200000 -> 1.00E+5 Inexact Rounded
|
||
|
extr1021 add 99999.8 0.200000 -> 1.00E+5 Rounded
|
||
|
extr1022 add 99999.7 0.200000 -> 9.99E+4 Inexact Rounded
|
||
|
rounding: half_even
|
||
|
|
||
|
-- a bug in _rescale caused the following to fail in Python 2.5.1
|
||
|
maxexponent: 999
|
||
|
minexponent: -999
|
||
|
precision: 6
|
||
|
extr1100 add 0E+1000 1E+1000 -> Infinity Overflow Inexact Rounded
|
||
|
extr1101 remainder 1E+1000 2E+1000 -> Infinity Overflow Inexact Rounded
|
||
|
|
||
|
-- tests for scaleb in case where input precision > context precision.
|
||
|
-- Result should be rounded. (This isn't totally clear from the
|
||
|
-- specification, but the treatment of underflow in the testcases
|
||
|
-- suggests that rounding should occur in general. Furthermore, it's
|
||
|
-- the way that the reference implementation behaves.)
|
||
|
maxexponent: 999
|
||
|
minexponent: -999
|
||
|
precision: 3
|
||
|
extr1200 scaleb 1234 1 -> 1.23E+4 Inexact Rounded
|
||
|
extr1201 scaleb 5678 0 -> 5.68E+3 Inexact Rounded
|
||
|
extr1202 scaleb -9105 -1 -> -910 Inexact Rounded
|
||
|
|
||
|
-- Invalid operation from 0 * infinity in fma
|
||
|
-- takes precedence over a third-argument sNaN
|
||
|
extr1300 fma 0 Inf sNaN123 -> NaN Invalid_operation
|
||
|
extr1301 fma Inf 0 sNaN456 -> NaN Invalid_operation
|
||
|
extr1302 fma 0E123 -Inf sNaN789 -> NaN Invalid_operation
|
||
|
extr1302 fma -Inf 0E-456 sNaN148 -> NaN Invalid_operation
|
||
|
|
||
|
------------------------------------------------------------------------
|
||
|
-- The following tests (pwmx0 through pwmx440) are for the --
|
||
|
-- three-argument version of power: --
|
||
|
-- --
|
||
|
-- pow(x, y, z) := x**y % z --
|
||
|
-- --
|
||
|
-- Note that the three-argument version of power is *not* part of --
|
||
|
-- the IBM General Decimal Arithmetic specification. Questions --
|
||
|
-- about it, or about these testcases, should go to one of the --
|
||
|
-- Python decimal authors. --
|
||
|
------------------------------------------------------------------------
|
||
|
|
||
|
extended: 1
|
||
|
precision: 9
|
||
|
rounding: down
|
||
|
maxExponent: 999
|
||
|
minExponent: -999
|
||
|
|
||
|
-- Small numbers
|
||
|
-- Note that power(0, 0, m) is an error for any m
|
||
|
pwmx0 power 0 -0 1 -> NaN Invalid_operation
|
||
|
pwmx1 power 0 -0 2 -> NaN Invalid_operation
|
||
|
pwmx2 power 0 -0 3 -> NaN Invalid_operation
|
||
|
pwmx3 power 0 -0 4 -> NaN Invalid_operation
|
||
|
pwmx4 power 0 -0 -1 -> NaN Invalid_operation
|
||
|
pwmx5 power 0 -0 -2 -> NaN Invalid_operation
|
||
|
pwmx6 power 0 0 1 -> NaN Invalid_operation
|
||
|
pwmx7 power 0 0 2 -> NaN Invalid_operation
|
||
|
pwmx8 power 0 0 3 -> NaN Invalid_operation
|
||
|
pwmx9 power 0 0 4 -> NaN Invalid_operation
|
||
|
pwmx10 power 0 0 -1 -> NaN Invalid_operation
|
||
|
pwmx11 power 0 0 -2 -> NaN Invalid_operation
|
||
|
pwmx12 power 0 1 1 -> 0
|
||
|
pwmx13 power 0 1 2 -> 0
|
||
|
pwmx14 power 0 1 3 -> 0
|
||
|
pwmx15 power 0 1 4 -> 0
|
||
|
pwmx16 power 0 1 -1 -> 0
|
||
|
pwmx17 power 0 1 -2 -> 0
|
||
|
pwmx18 power 0 2 1 -> 0
|
||
|
pwmx19 power 0 2 2 -> 0
|
||
|
pwmx20 power 0 2 3 -> 0
|
||
|
pwmx21 power 0 2 4 -> 0
|
||
|
pwmx22 power 0 2 -1 -> 0
|
||
|
pwmx23 power 0 2 -2 -> 0
|
||
|
pwmx24 power 0 3 1 -> 0
|
||
|
pwmx25 power 0 3 2 -> 0
|
||
|
pwmx26 power 0 3 3 -> 0
|
||
|
pwmx27 power 0 3 4 -> 0
|
||
|
pwmx28 power 0 3 -1 -> 0
|
||
|
pwmx29 power 0 3 -2 -> 0
|
||
|
pwmx30 power 0 4 1 -> 0
|
||
|
pwmx31 power 0 4 2 -> 0
|
||
|
pwmx32 power 0 4 3 -> 0
|
||
|
pwmx33 power 0 4 4 -> 0
|
||
|
pwmx34 power 0 4 -1 -> 0
|
||
|
pwmx35 power 0 4 -2 -> 0
|
||
|
pwmx36 power 0 5 1 -> 0
|
||
|
pwmx37 power 0 5 2 -> 0
|
||
|
pwmx38 power 0 5 3 -> 0
|
||
|
pwmx39 power 0 5 4 -> 0
|
||
|
pwmx40 power 0 5 -1 -> 0
|
||
|
pwmx41 power 0 5 -2 -> 0
|
||
|
pwmx42 power 1 -0 1 -> 0
|
||
|
pwmx43 power 1 -0 2 -> 1
|
||
|
pwmx44 power 1 -0 3 -> 1
|
||
|
pwmx45 power 1 -0 4 -> 1
|
||
|
pwmx46 power 1 -0 -1 -> 0
|
||
|
pwmx47 power 1 -0 -2 -> 1
|
||
|
pwmx48 power 1 0 1 -> 0
|
||
|
pwmx49 power 1 0 2 -> 1
|
||
|
pwmx50 power 1 0 3 -> 1
|
||
|
pwmx51 power 1 0 4 -> 1
|
||
|
pwmx52 power 1 0 -1 -> 0
|
||
|
pwmx53 power 1 0 -2 -> 1
|
||
|
pwmx54 power 1 1 1 -> 0
|
||
|
pwmx55 power 1 1 2 -> 1
|
||
|
pwmx56 power 1 1 3 -> 1
|
||
|
pwmx57 power 1 1 4 -> 1
|
||
|
pwmx58 power 1 1 -1 -> 0
|
||
|
pwmx59 power 1 1 -2 -> 1
|
||
|
pwmx60 power 1 2 1 -> 0
|
||
|
pwmx61 power 1 2 2 -> 1
|
||
|
pwmx62 power 1 2 3 -> 1
|
||
|
pwmx63 power 1 2 4 -> 1
|
||
|
pwmx64 power 1 2 -1 -> 0
|
||
|
pwmx65 power 1 2 -2 -> 1
|
||
|
pwmx66 power 1 3 1 -> 0
|
||
|
pwmx67 power 1 3 2 -> 1
|
||
|
pwmx68 power 1 3 3 -> 1
|
||
|
pwmx69 power 1 3 4 -> 1
|
||
|
pwmx70 power 1 3 -1 -> 0
|
||
|
pwmx71 power 1 3 -2 -> 1
|
||
|
pwmx72 power 1 4 1 -> 0
|
||
|
pwmx73 power 1 4 2 -> 1
|
||
|
pwmx74 power 1 4 3 -> 1
|
||
|
pwmx75 power 1 4 4 -> 1
|
||
|
pwmx76 power 1 4 -1 -> 0
|
||
|
pwmx77 power 1 4 -2 -> 1
|
||
|
pwmx78 power 1 5 1 -> 0
|
||
|
pwmx79 power 1 5 2 -> 1
|
||
|
pwmx80 power 1 5 3 -> 1
|
||
|
pwmx81 power 1 5 4 -> 1
|
||
|
pwmx82 power 1 5 -1 -> 0
|
||
|
pwmx83 power 1 5 -2 -> 1
|
||
|
pwmx84 power 2 -0 1 -> 0
|
||
|
pwmx85 power 2 -0 2 -> 1
|
||
|
pwmx86 power 2 -0 3 -> 1
|
||
|
pwmx87 power 2 -0 4 -> 1
|
||
|
pwmx88 power 2 -0 -1 -> 0
|
||
|
pwmx89 power 2 -0 -2 -> 1
|
||
|
pwmx90 power 2 0 1 -> 0
|
||
|
pwmx91 power 2 0 2 -> 1
|
||
|
pwmx92 power 2 0 3 -> 1
|
||
|
pwmx93 power 2 0 4 -> 1
|
||
|
pwmx94 power 2 0 -1 -> 0
|
||
|
pwmx95 power 2 0 -2 -> 1
|
||
|
pwmx96 power 2 1 1 -> 0
|
||
|
pwmx97 power 2 1 2 -> 0
|
||
|
pwmx98 power 2 1 3 -> 2
|
||
|
pwmx99 power 2 1 4 -> 2
|
||
|
pwmx100 power 2 1 -1 -> 0
|
||
|
pwmx101 power 2 1 -2 -> 0
|
||
|
pwmx102 power 2 2 1 -> 0
|
||
|
pwmx103 power 2 2 2 -> 0
|
||
|
pwmx104 power 2 2 3 -> 1
|
||
|
pwmx105 power 2 2 4 -> 0
|
||
|
pwmx106 power 2 2 -1 -> 0
|
||
|
pwmx107 power 2 2 -2 -> 0
|
||
|
pwmx108 power 2 3 1 -> 0
|
||
|
pwmx109 power 2 3 2 -> 0
|
||
|
pwmx110 power 2 3 3 -> 2
|
||
|
pwmx111 power 2 3 4 -> 0
|
||
|
pwmx112 power 2 3 -1 -> 0
|
||
|
pwmx113 power 2 3 -2 -> 0
|
||
|
pwmx114 power 2 4 1 -> 0
|
||
|
pwmx115 power 2 4 2 -> 0
|
||
|
pwmx116 power 2 4 3 -> 1
|
||
|
pwmx117 power 2 4 4 -> 0
|
||
|
pwmx118 power 2 4 -1 -> 0
|
||
|
pwmx119 power 2 4 -2 -> 0
|
||
|
pwmx120 power 2 5 1 -> 0
|
||
|
pwmx121 power 2 5 2 -> 0
|
||
|
pwmx122 power 2 5 3 -> 2
|
||
|
pwmx123 power 2 5 4 -> 0
|
||
|
pwmx124 power 2 5 -1 -> 0
|
||
|
pwmx125 power 2 5 -2 -> 0
|
||
|
pwmx126 power 3 -0 1 -> 0
|
||
|
pwmx127 power 3 -0 2 -> 1
|
||
|
pwmx128 power 3 -0 3 -> 1
|
||
|
pwmx129 power 3 -0 4 -> 1
|
||
|
pwmx130 power 3 -0 -1 -> 0
|
||
|
pwmx131 power 3 -0 -2 -> 1
|
||
|
pwmx132 power 3 0 1 -> 0
|
||
|
pwmx133 power 3 0 2 -> 1
|
||
|
pwmx134 power 3 0 3 -> 1
|
||
|
pwmx135 power 3 0 4 -> 1
|
||
|
pwmx136 power 3 0 -1 -> 0
|
||
|
pwmx137 power 3 0 -2 -> 1
|
||
|
pwmx138 power 3 1 1 -> 0
|
||
|
pwmx139 power 3 1 2 -> 1
|
||
|
pwmx140 power 3 1 3 -> 0
|
||
|
pwmx141 power 3 1 4 -> 3
|
||
|
pwmx142 power 3 1 -1 -> 0
|
||
|
pwmx143 power 3 1 -2 -> 1
|
||
|
pwmx144 power 3 2 1 -> 0
|
||
|
pwmx145 power 3 2 2 -> 1
|
||
|
pwmx146 power 3 2 3 -> 0
|
||
|
pwmx147 power 3 2 4 -> 1
|
||
|
pwmx148 power 3 2 -1 -> 0
|
||
|
pwmx149 power 3 2 -2 -> 1
|
||
|
pwmx150 power 3 3 1 -> 0
|
||
|
pwmx151 power 3 3 2 -> 1
|
||
|
pwmx152 power 3 3 3 -> 0
|
||
|
pwmx153 power 3 3 4 -> 3
|
||
|
pwmx154 power 3 3 -1 -> 0
|
||
|
pwmx155 power 3 3 -2 -> 1
|
||
|
pwmx156 power 3 4 1 -> 0
|
||
|
pwmx157 power 3 4 2 -> 1
|
||
|
pwmx158 power 3 4 3 -> 0
|
||
|
pwmx159 power 3 4 4 -> 1
|
||
|
pwmx160 power 3 4 -1 -> 0
|
||
|
pwmx161 power 3 4 -2 -> 1
|
||
|
pwmx162 power 3 5 1 -> 0
|
||
|
pwmx163 power 3 5 2 -> 1
|
||
|
pwmx164 power 3 5 3 -> 0
|
||
|
pwmx165 power 3 5 4 -> 3
|
||
|
pwmx166 power 3 5 -1 -> 0
|
||
|
pwmx167 power 3 5 -2 -> 1
|
||
|
pwmx168 power -0 -0 1 -> NaN Invalid_operation
|
||
|
pwmx169 power -0 -0 2 -> NaN Invalid_operation
|
||
|
pwmx170 power -0 -0 3 -> NaN Invalid_operation
|
||
|
pwmx171 power -0 -0 4 -> NaN Invalid_operation
|
||
|
pwmx172 power -0 -0 -1 -> NaN Invalid_operation
|
||
|
pwmx173 power -0 -0 -2 -> NaN Invalid_operation
|
||
|
pwmx174 power -0 0 1 -> NaN Invalid_operation
|
||
|
pwmx175 power -0 0 2 -> NaN Invalid_operation
|
||
|
pwmx176 power -0 0 3 -> NaN Invalid_operation
|
||
|
pwmx177 power -0 0 4 -> NaN Invalid_operation
|
||
|
pwmx178 power -0 0 -1 -> NaN Invalid_operation
|
||
|
pwmx179 power -0 0 -2 -> NaN Invalid_operation
|
||
|
pwmx180 power -0 1 1 -> -0
|
||
|
pwmx181 power -0 1 2 -> -0
|
||
|
pwmx182 power -0 1 3 -> -0
|
||
|
pwmx183 power -0 1 4 -> -0
|
||
|
pwmx184 power -0 1 -1 -> -0
|
||
|
pwmx185 power -0 1 -2 -> -0
|
||
|
pwmx186 power -0 2 1 -> 0
|
||
|
pwmx187 power -0 2 2 -> 0
|
||
|
pwmx188 power -0 2 3 -> 0
|
||
|
pwmx189 power -0 2 4 -> 0
|
||
|
pwmx190 power -0 2 -1 -> 0
|
||
|
pwmx191 power -0 2 -2 -> 0
|
||
|
pwmx192 power -0 3 1 -> -0
|
||
|
pwmx193 power -0 3 2 -> -0
|
||
|
pwmx194 power -0 3 3 -> -0
|
||
|
pwmx195 power -0 3 4 -> -0
|
||
|
pwmx196 power -0 3 -1 -> -0
|
||
|
pwmx197 power -0 3 -2 -> -0
|
||
|
pwmx198 power -0 4 1 -> 0
|
||
|
pwmx199 power -0 4 2 -> 0
|
||
|
pwmx200 power -0 4 3 -> 0
|
||
|
pwmx201 power -0 4 4 -> 0
|
||
|
pwmx202 power -0 4 -1 -> 0
|
||
|
pwmx203 power -0 4 -2 -> 0
|
||
|
pwmx204 power -0 5 1 -> -0
|
||
|
pwmx205 power -0 5 2 -> -0
|
||
|
pwmx206 power -0 5 3 -> -0
|
||
|
pwmx207 power -0 5 4 -> -0
|
||
|
pwmx208 power -0 5 -1 -> -0
|
||
|
pwmx209 power -0 5 -2 -> -0
|
||
|
pwmx210 power -1 -0 1 -> 0
|
||
|
pwmx211 power -1 -0 2 -> 1
|
||
|
pwmx212 power -1 -0 3 -> 1
|
||
|
pwmx213 power -1 -0 4 -> 1
|
||
|
pwmx214 power -1 -0 -1 -> 0
|
||
|
pwmx215 power -1 -0 -2 -> 1
|
||
|
pwmx216 power -1 0 1 -> 0
|
||
|
pwmx217 power -1 0 2 -> 1
|
||
|
pwmx218 power -1 0 3 -> 1
|
||
|
pwmx219 power -1 0 4 -> 1
|
||
|
pwmx220 power -1 0 -1 -> 0
|
||
|
pwmx221 power -1 0 -2 -> 1
|
||
|
pwmx222 power -1 1 1 -> -0
|
||
|
pwmx223 power -1 1 2 -> -1
|
||
|
pwmx224 power -1 1 3 -> -1
|
||
|
pwmx225 power -1 1 4 -> -1
|
||
|
pwmx226 power -1 1 -1 -> -0
|
||
|
pwmx227 power -1 1 -2 -> -1
|
||
|
pwmx228 power -1 2 1 -> 0
|
||
|
pwmx229 power -1 2 2 -> 1
|
||
|
pwmx230 power -1 2 3 -> 1
|
||
|
pwmx231 power -1 2 4 -> 1
|
||
|
pwmx232 power -1 2 -1 -> 0
|
||
|
pwmx233 power -1 2 -2 -> 1
|
||
|
pwmx234 power -1 3 1 -> -0
|
||
|
pwmx235 power -1 3 2 -> -1
|
||
|
pwmx236 power -1 3 3 -> -1
|
||
|
pwmx237 power -1 3 4 -> -1
|
||
|
pwmx238 power -1 3 -1 -> -0
|
||
|
pwmx239 power -1 3 -2 -> -1
|
||
|
pwmx240 power -1 4 1 -> 0
|
||
|
pwmx241 power -1 4 2 -> 1
|
||
|
pwmx242 power -1 4 3 -> 1
|
||
|
pwmx243 power -1 4 4 -> 1
|
||
|
pwmx244 power -1 4 -1 -> 0
|
||
|
pwmx245 power -1 4 -2 -> 1
|
||
|
pwmx246 power -1 5 1 -> -0
|
||
|
pwmx247 power -1 5 2 -> -1
|
||
|
pwmx248 power -1 5 3 -> -1
|
||
|
pwmx249 power -1 5 4 -> -1
|
||
|
pwmx250 power -1 5 -1 -> -0
|
||
|
pwmx251 power -1 5 -2 -> -1
|
||
|
|
||
|
-- Randomly chosen larger values
|
||
|
pwmx252 power 0 4 7 -> 0
|
||
|
pwmx253 power -4 5 -9 -> -7
|
||
|
pwmx254 power -5 4 -9 -> 4
|
||
|
pwmx255 power -50 29 2 -> -0
|
||
|
pwmx256 power -1 83 3 -> -1
|
||
|
pwmx257 power -55 65 -75 -> -25
|
||
|
pwmx258 power -613 151 -302 -> -9
|
||
|
pwmx259 power 551 23 -35 -> 31
|
||
|
pwmx260 power 51 142 942 -> 9
|
||
|
pwmx261 power 6886 9204 -6091 -> 5034
|
||
|
pwmx262 power 3057 5890 -3 -> 0
|
||
|
pwmx263 power 56 4438 5365 -> 521
|
||
|
pwmx264 power 96237 35669 -46669 -> 30717
|
||
|
pwmx265 power 40011 34375 -57611 -> 625
|
||
|
pwmx266 power 44317 38493 -12196 -> 11081
|
||
|
pwmx267 power -282368 895633 -235870 -> -220928
|
||
|
pwmx268 power 77328 852553 -405529 -> 129173
|
||
|
pwmx269 power -929659 855713 650348 -> -90803
|
||
|
pwmx270 power 907057 6574309 4924768 -> 3018257
|
||
|
pwmx271 power -2887757 3198492 -5864352 -> 3440113
|
||
|
pwmx272 power -247310 657371 -7415739 -> -1301840
|
||
|
pwmx273 power -8399046 45334087 -22395020 -> -18515896
|
||
|
pwmx274 power 79621397 4850236 1486555 -> 928706
|
||
|
pwmx275 power 96012251 27971901 69609031 -> 50028729
|
||
|
pwmx276 power -907335481 74127986 582330017 -> 51527187
|
||
|
pwmx277 power -141192960 821063826 -260877928 -> 112318560
|
||
|
pwmx278 power -501711702 934355994 82135143 -> 66586995
|
||
|
pwmx279 power -9256358075 8900900138 -467222031 -> 95800246
|
||
|
pwmx280 power -7031964291 1751257483 -935334498 -> -607626609
|
||
|
pwmx281 power 8494314971 8740197252 107522491 -> 17373655
|
||
|
pwmx282 power 88306216890 87477374166 -23498076 -> 15129528
|
||
|
pwmx283 power -33939432478 7170196239 22133583 -> -11017036
|
||
|
pwmx284 power 19466222767 30410710614 305752056 -> 191509537
|
||
|
pwmx285 power -864942494008 370558899638 346688856 -> 56956768
|
||
|
pwmx286 power -525406225603 345700226898 237163621 -> 56789534
|
||
|
pwmx287 power 464612215955 312474621651 -329485700 -> 1853975
|
||
|
pwmx288 power -1664283031244 3774474669855 919022867 -> -516034520
|
||
|
pwmx289 power -3472438506913 7407327549995 -451206854 -> -74594761
|
||
|
pwmx290 power -4223662152949 6891069279069 499843503 -> -80135290
|
||
|
pwmx291 power -44022119276816 8168266170326 569679509 -> 375734475
|
||
|
pwmx292 power -66195891207902 12532690555875 -243262129 -> -113186833
|
||
|
pwmx293 power -69039911263164 52726605857673 360625196 -> -268662748
|
||
|
pwmx294 power -299010116699208 885092589359231 -731310123 -> -104103765
|
||
|
pwmx295 power -202495776299758 501159122943145 -686234870 -> -135511878
|
||
|
pwmx296 power -595411478087676 836269270472481 -214614901 -> -183440819
|
||
|
pwmx297 power -139555381056229 1324808520020507 -228944738 -> -218991473
|
||
|
pwmx298 power 7846356250770543 1798045051036814 -101028985 -> 7805179
|
||
|
pwmx299 power -4298015862709415 604966944844209 880212893 -> -87408671
|
||
|
pwmx300 power -37384897538910893 76022206995659295 -930512842 -> -697757157
|
||
|
pwmx301 power 82166659028005443 23375408251767704 817270700 -> 770697001
|
||
|
pwmx302 power 97420301198165641 72213282983416924 947519716 -> 610711721
|
||
|
pwmx303 power 913382043453243607 449681707248500262 211135545 -> 79544899
|
||
|
pwmx304 power -313823613418052171 534579409610142937 -943062968 -> -446001379
|
||
|
pwmx305 power -928106516894494093 760020177330116509 -50043994 -> -46010575
|
||
|
pwmx306 power 4692146601679439796 4565354511806767804 -667339075 -> 480272081
|
||
|
pwmx307 power 9722256633509177930 7276568791860505790 792675321 -> 182879752
|
||
|
pwmx308 power 8689899484830064228 429082967129615261 -844555637 -> 270374557
|
||
|
|
||
|
-- All inputs must be integers
|
||
|
pwmx309 power 2.1 3 1 -> NaN Invalid_operation
|
||
|
pwmx310 power 0.4 1 5 -> NaN Invalid_operation
|
||
|
pwmx311 power 2 3.1 5 -> NaN Invalid_operation
|
||
|
pwmx312 power 13 -1.2 10 -> NaN Invalid_operation
|
||
|
pwmx313 power 2 3 5.1 -> NaN Invalid_operation
|
||
|
|
||
|
-- Second argument must be nonnegative (-0 is okay)
|
||
|
pwmx314 power 2 -3 5 -> NaN Invalid_operation
|
||
|
pwmx315 power 7 -1 1 -> NaN Invalid_operation
|
||
|
pwmx316 power 0 -2 6 -> NaN Invalid_operation
|
||
|
|
||
|
-- Third argument must be nonzero
|
||
|
pwmx317 power 13 1003 0 -> NaN Invalid_operation
|
||
|
pwmx318 power 1 0 0E+987 -> NaN Invalid_operation
|
||
|
pwmx319 power 0 2 -0 -> NaN Invalid_operation
|
||
|
|
||
|
-- Integers are fine, no matter how they're expressed
|
||
|
pwmx320 power 13.0 117.00 1E+2 -> 33
|
||
|
pwmx321 power -2E+3 1.1E+10 -12323 -> 4811
|
||
|
pwmx322 power 20 0E-300 143 -> 1
|
||
|
pwmx323 power -20 -0E+1005 1179 -> 1
|
||
|
pwmx324 power 0E-1001 17 5.6E+4 -> 0
|
||
|
|
||
|
-- Modulus must not exceed precision
|
||
|
pwmx325 power 0 1 1234567890 -> NaN Invalid_operation
|
||
|
pwmx326 power 1 0 1000000000 -> NaN Invalid_operation
|
||
|
pwmx327 power -23 5 -1000000000 -> NaN Invalid_operation
|
||
|
pwmx328 power 41557 213 -999999999 -> 47650456
|
||
|
pwmx329 power -2134 199 999999997 -> -946957912
|
||
|
|
||
|
-- Huge base shouldn't present any problems
|
||
|
pwmx330 power 1.23E+123456791 10123898 17291065 -> 5674045
|
||
|
|
||
|
-- Large exponent, may be slow
|
||
|
-- (if second argument is 1En then expect O(n) running time)
|
||
|
pwmx331 power 1000288896 9.87E+12347 93379908 -> 43224924
|
||
|
|
||
|
-- Triple NaN propagation (adapted from examples in fma.decTest)
|
||
|
pwmx400 power NaN2 NaN3 NaN5 -> NaN2
|
||
|
pwmx401 power 1 NaN3 NaN5 -> NaN3
|
||
|
pwmx402 power 1 1 NaN5 -> NaN5
|
||
|
pwmx403 power sNaN1 sNaN2 sNaN3 -> NaN1 Invalid_operation
|
||
|
pwmx404 power 1 sNaN2 sNaN3 -> NaN2 Invalid_operation
|
||
|
pwmx405 power 1 1 sNaN3 -> NaN3 Invalid_operation
|
||
|
pwmx406 power sNaN1 sNaN2 sNaN3 -> NaN1 Invalid_operation
|
||
|
pwmx407 power NaN7 sNaN2 sNaN3 -> NaN2 Invalid_operation
|
||
|
pwmx408 power NaN7 NaN5 sNaN3 -> NaN3 Invalid_operation
|
||
|
|
||
|
-- Infinities not allowed
|
||
|
pwmx410 power Inf 1 1 -> NaN Invalid_operation
|
||
|
pwmx411 power 1 Inf 1 -> NaN Invalid_operation
|
||
|
pwmx412 power 1 1 Inf -> NaN Invalid_operation
|
||
|
pwmx413 power -Inf 1 1 -> NaN Invalid_operation
|
||
|
pwmx414 power 1 -Inf 1 -> NaN Invalid_operation
|
||
|
pwmx415 power 1 1 -Inf -> NaN Invalid_operation
|
||
|
|
||
|
-- Just for fun: 1729 is a Carmichael number
|
||
|
pwmx420 power 0 1728 1729 -> 0
|
||
|
pwmx421 power 1 1728 1729 -> 1
|
||
|
pwmx422 power 2 1728 1729 -> 1
|
||
|
pwmx423 power 3 1728 1729 -> 1
|
||
|
pwmx424 power 4 1728 1729 -> 1
|
||
|
pwmx425 power 5 1728 1729 -> 1
|
||
|
pwmx426 power 6 1728 1729 -> 1
|
||
|
pwmx427 power 7 1728 1729 -> 742
|
||
|
pwmx428 power 8 1728 1729 -> 1
|
||
|
pwmx429 power 9 1728 1729 -> 1
|
||
|
pwmx430 power 10 1728 1729 -> 1
|
||
|
pwmx431 power 11 1728 1729 -> 1
|
||
|
pwmx432 power 12 1728 1729 -> 1
|
||
|
pwmx433 power 13 1728 1729 -> 533
|
||
|
pwmx434 power 14 1728 1729 -> 742
|
||
|
pwmx435 power 15 1728 1729 -> 1
|
||
|
pwmx436 power 16 1728 1729 -> 1
|
||
|
pwmx437 power 17 1728 1729 -> 1
|
||
|
pwmx438 power 18 1728 1729 -> 1
|
||
|
pwmx439 power 19 1728 1729 -> 456
|
||
|
pwmx440 power 20 1728 1729 -> 1
|