Repository URL to install this package:
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
-- max/min/max_mag/min_mag bug in 2.5.2/2.6/3.0: max(NaN, finite) gave
-- incorrect answers when the finite number required rounding; similarly
-- for the other thre functions
maxexponent: 999
minexponent: -999
precision: 6
rounding: half_even
extr1400 max NaN 1234567 -> 1.23457E+6 Inexact Rounded
extr1401 max 3141590E-123 NaN1729 -> 3.14159E-117 Rounded
extr1402 max -7.654321 -NaN -> -7.65432 Inexact Rounded
extr1410 min -NaN -765432.1 -> -765432 Inexact Rounded
extr1411 min 3141592 NaN -> 3.14159E+6 Inexact Rounded
extr1420 max_mag 0.1111111 -NaN123 -> 0.111111 Inexact Rounded
extr1421 max_mag NaN999999999 0.001234567 -> 0.00123457 Inexact Rounded
extr1430 min_mag 9181716151 -NaN -> 9.18172E+9 Inexact Rounded
extr1431 min_mag NaN4 1.818180E100 -> 1.81818E+100 Rounded
-- Issue #6794: when comparing NaNs using compare_total, payloads
-- should be compared as though positive integers; not
-- lexicographically as strings.
extr1500 comparetotal NaN123 NaN45 -> 1
extr1501 comparetotal sNaN123 sNaN45 -> 1
extr1502 comparetotal -NaN123 -NaN45 -> -1
extr1503 comparetotal -sNaN123 -sNaN45 -> -1
extr1504 comparetotal NaN45 NaN123 -> -1
extr1505 comparetotal sNaN45 sNaN123 -> -1
extr1506 comparetotal -NaN45 -NaN123 -> 1
extr1507 comparetotal -sNaN45 -sNaN123 -> 1
extr1510 comparetotal -sNaN63450748854172416 -sNaN911993 -> -1
extr1511 comparetotmag NaN1222222222222 -NaN999999 -> 1
-- Issue #7233: rotate and scale should truncate an argument
-- of length greater than the current precision.
precision: 4
extr1600 rotate 1234567 -5 -> NaN Invalid_operation
extr1601 rotate 1234567 -4 -> 4567
extr1602 rotate 1234567 -3 -> 5674
extr1603 rotate 1234567 -2 -> 6745
extr1604 rotate 1234567 -1 -> 7456
extr1605 rotate 1234567 0 -> 4567
extr1606 rotate 1234567 1 -> 5674
extr1607 rotate 1234567 2 -> 6745
extr1608 rotate 1234567 3 -> 7456
extr1609 rotate 1234567 4 -> 4567
extr1610 rotate 1234567 5 -> NaN Invalid_operation
extr1650 shift 1234567 -5 -> NaN Invalid_operation
extr1651 shift 1234567 -4 -> 0
extr1652 shift 1234567 -3 -> 4
extr1653 shift 1234567 -2 -> 45
extr1654 shift 1234567 -1 -> 456
extr1655 shift 1234567 0 -> 4567
extr1656 shift 1234567 1 -> 5670
extr1657 shift 1234567 2 -> 6700
extr1658 shift 1234567 3 -> 7000
extr1659 shift 1234567 4 -> 0
extr1660 shift 1234567 5 -> NaN Invalid_operation
-- Cases where the power function was impossibly slow to determine that the
-- result is inexact. Thanks Stefan Krah for identifying this problem.
precision: 16
maxExponent: 999999999
minExponent: -999999999
extr1700 power 10 1e-999999999 -> 1.000000000000000 Inexact Rounded
extr1701 power 100.0 -557.71e-742888888 -> 1.000000000000000 Inexact Rounded
extr1702 power 10 1e-100 -> 1.000000000000000 Inexact Rounded
-- Another one (see issue #12080). Thanks again to Stefan Krah.
extr1703 power 4 -1.2e-999999999 -> 1.000000000000000 Inexact Rounded
-- A couple of interesting exact cases for power. Note that the specification
-- requires these to be reported as Inexact.
extr1710 power 1e375 56e-3 -> 1.000000000000000E+21 Inexact Rounded
extr1711 power 10000 0.75 -> 1000.000000000000 Inexact Rounded
extr1712 power 1e-24 0.875 -> 1.000000000000000E-21 Inexact Rounded
-- Some more exact cases, exercising power with negative second argument.
extr1720 power 400 -0.5 -> 0.05000000000000000 Inexact Rounded
extr1721 power 4096 -0.75 -> 0.001953125000000000 Inexact Rounded
extr1722 power 625e4 -0.25 -> 0.02000000000000000 Inexact Rounded
-- Nonexact cases, to exercise some of the early exit conditions from
-- _power_exact.
extr1730 power 2048 -0.75 -> 0.003284751622084822 Inexact Rounded
-- Tests for the is_* boolean operations
precision: 9
maxExponent: 999
minExponent: -999
bool0000 iscanonical 0E-2000 -> 1
bool0001 iscanonical -0E-2000 -> 1
bool0002 iscanonical 0E-1008 -> 1
bool0003 iscanonical -0E-1008 -> 1
bool0004 iscanonical 0E-1007 -> 1
bool0005 iscanonical -0E-1007 -> 1
bool0006 iscanonical 0E-1006 -> 1
bool0007 iscanonical -0E-1006 -> 1
bool0008 iscanonical 0E-1000 -> 1
bool0009 iscanonical -0E-1000 -> 1
bool0010 iscanonical 0E-999 -> 1
bool0011 iscanonical -0E-999 -> 1
bool0012 iscanonical 0E-998 -> 1
bool0013 iscanonical -0E-998 -> 1
bool0014 iscanonical 0E-100 -> 1
bool0015 iscanonical -0E-100 -> 1
bool0016 iscanonical 0.000000 -> 1
bool0017 iscanonical -0.000000 -> 1
bool0018 iscanonical 0.000 -> 1
bool0019 iscanonical -0.000 -> 1
bool0020 iscanonical 0.00 -> 1
bool0021 iscanonical -0.00 -> 1
bool0022 iscanonical 0.0 -> 1
bool0023 iscanonical -0.0 -> 1
bool0024 iscanonical 0 -> 1
bool0025 iscanonical -0 -> 1
bool0026 iscanonical 0E+1 -> 1
bool0027 iscanonical -0E+1 -> 1
bool0028 iscanonical 0E+2 -> 1
bool0029 iscanonical -0E+2 -> 1
bool0030 iscanonical 0E+3 -> 1
bool0031 iscanonical -0E+3 -> 1
bool0032 iscanonical 0E+6 -> 1
bool0033 iscanonical -0E+6 -> 1
bool0034 iscanonical 0E+100 -> 1
bool0035 iscanonical -0E+100 -> 1
bool0036 iscanonical 0E+990 -> 1
bool0037 iscanonical -0E+990 -> 1
bool0038 iscanonical 0E+991 -> 1
bool0039 iscanonical -0E+991 -> 1
bool0040 iscanonical 0E+992 -> 1
bool0041 iscanonical -0E+992 -> 1
bool0042 iscanonical 0E+998 -> 1
bool0043 iscanonical -0E+998 -> 1
bool0044 iscanonical 0E+999 -> 1
bool0045 iscanonical -0E+999 -> 1
bool0046 iscanonical 0E+1000 -> 1
bool0047 iscanonical -0E+1000 -> 1
bool0048 iscanonical 0E+2000 -> 1
bool0049 iscanonical -0E+2000 -> 1
bool0050 iscanonical 1E-2000 -> 1
bool0051 iscanonical -1E-2000 -> 1
bool0052 iscanonical 1E-1008 -> 1
bool0053 iscanonical -1E-1008 -> 1
bool0054 iscanonical 1E-1007 -> 1
bool0055 iscanonical -1E-1007 -> 1
bool0056 iscanonical 1E-1006 -> 1
bool0057 iscanonical -1E-1006 -> 1
bool0058 iscanonical 1E-1000 -> 1
bool0059 iscanonical -1E-1000 -> 1
bool0060 iscanonical 1E-999 -> 1
bool0061 iscanonical -1E-999 -> 1
bool0062 iscanonical 1E-998 -> 1
bool0063 iscanonical -1E-998 -> 1
bool0064 iscanonical 1E-100 -> 1
bool0065 iscanonical -1E-100 -> 1
bool0066 iscanonical 0.000001 -> 1
bool0067 iscanonical -0.000001 -> 1
bool0068 iscanonical 0.001 -> 1
bool0069 iscanonical -0.001 -> 1
bool0070 iscanonical 0.01 -> 1
bool0071 iscanonical -0.01 -> 1
bool0072 iscanonical 0.1 -> 1
bool0073 iscanonical -0.1 -> 1
bool0074 iscanonical 1 -> 1
bool0075 iscanonical -1 -> 1
bool0076 iscanonical 1E+1 -> 1
bool0077 iscanonical -1E+1 -> 1
bool0078 iscanonical 1E+2 -> 1
bool0079 iscanonical -1E+2 -> 1
bool0080 iscanonical 1E+3 -> 1
bool0081 iscanonical -1E+3 -> 1
bool0082 iscanonical 1E+6 -> 1
bool0083 iscanonical -1E+6 -> 1
bool0084 iscanonical 1E+100 -> 1
bool0085 iscanonical -1E+100 -> 1
bool0086 iscanonical 1E+990 -> 1
bool0087 iscanonical -1E+990 -> 1
bool0088 iscanonical 1E+991 -> 1
bool0089 iscanonical -1E+991 -> 1
bool0090 iscanonical 1E+992 -> 1
bool0091 iscanonical -1E+992 -> 1
bool0092 iscanonical 1E+998 -> 1
bool0093 iscanonical -1E+998 -> 1
bool0094 iscanonical 1E+999 -> 1
bool0095 iscanonical -1E+999 -> 1
bool0096 iscanonical 1E+1000 -> 1
Loading ...