diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2010-07-08 19:03:34 (GMT) |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2010-07-08 19:03:34 (GMT) |
commit | a123631a5ca464c99faf039ee5c74ec9025d5d64 (patch) | |
tree | 93f70adf2ec66d91d1377eeea682eef31e60017a /Lib/test | |
parent | f48ea7c2a950c81b98c6e689fc51c99598546bb4 (diff) | |
download | cpython-a123631a5ca464c99faf039ee5c74ec9025d5d64.zip cpython-a123631a5ca464c99faf039ee5c74ec9025d5d64.tar.gz cpython-a123631a5ca464c99faf039ee5c74ec9025d5d64.tar.bz2 |
Fix a performance issue in Decimal.pow. Thanks Stefan Krah for finding this.
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/decimaltestdata/extra.decTest | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Lib/test/decimaltestdata/extra.decTest b/Lib/test/decimaltestdata/extra.decTest index 2640842..fce8435 100644 --- a/Lib/test/decimaltestdata/extra.decTest +++ b/Lib/test/decimaltestdata/extra.decTest @@ -213,7 +213,20 @@ 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 +-- 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 -- Tests for the is_* boolean operations precision: 9 |