110 Commits

Author SHA1 Message Date
Mark Dickinson
58338ccb98 Issue #9136: Fix 'dictionary changed size during iteration'
RuntimeError produced when profiling the decimal module.  This was
due to a dangerous iteration over 'locals()' in Context.__init__.
(Backport of r82656 from release27-maint.)
2010-07-08 21:27:05 +00:00
Mark Dickinson
060d6556aa Fix Decimal speed issue; backport of r82652 from release27-maint. 2010-07-08 19:27:24 +00:00
Stefan Krah
9490851e18 Merged revisions 81350 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81350 | stefan.krah | 2010-05-19 17:46:39 +0200 (Wed, 19 May 2010) | 1 line

  Fix typos in docstrings.
........
2010-05-19 15:50:05 +00:00
Mark Dickinson
1cdfa5f5bc Merged revisions 80753 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80753 | mark.dickinson | 2010-05-04 15:25:50 +0100 (Tue, 04 May 2010) | 10 lines

  Issue #8567: Fix incorrect precedence of signals in Decimal module.

  When a Decimal operation raises multiple signals and more than one of
  those signals is trapped, the specification determines the order in
  which the signals should be handled.  In many cases this order wasn't
  being followed, leading to the wrong Python exception being raised.
  This commit fixes those cases, and adds extra tests.  The tests are
  only enabled when EXTENDEDERRORTESTS is True, since they involve
  rerunning each Decimal testcase several times.
........
2010-05-04 14:30:32 +00:00
Mark Dickinson
8b1587fd63 Merged revisions 77324 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77324 | mark.dickinson | 2010-01-06 16:20:22 +0000 (Wed, 06 Jan 2010) | 2 lines

  Add missing docstring for Context.divmod.  Thanks Juan José Conti.
........
2010-01-06 16:21:27 +00:00
Mark Dickinson
d8a2e2b794 Merged revisions 75943-75945 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75943 | mark.dickinson | 2009-10-29 11:09:09 +0000 (Thu, 29 Oct 2009) | 1 line

  Fix duplicate test numbers in extra.decTest
........
  r75944 | mark.dickinson | 2009-10-29 12:04:00 +0000 (Thu, 29 Oct 2009) | 3 lines

  Issue #7233:  A number of two-argument Decimal methods were failing to
  accept ints and longs for the second argument.
........
  r75945 | mark.dickinson | 2009-10-29 12:11:18 +0000 (Thu, 29 Oct 2009) | 4 lines

  Issue #7233:  Fix Decimal.shift and Decimal.rotate methods for
  arguments with more digits than the current context precision.
  Bug reported by Stefan Krah.
........
2009-10-29 12:16:15 +00:00
Mark Dickinson
20a7cfcaa1 Merged revisions 75561 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75561 | mark.dickinson | 2009-10-20 14:33:03 +0100 (Tue, 20 Oct 2009) | 3 lines

  Issue #7099: Decimal.is_normal should return True for all nonzero
  finite non-subnormal values, even those with exponent > Emax.
........
2009-10-27 18:27:53 +00:00
Mark Dickinson
5e672d0ed6 Merged revisions 75275 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75275 | mark.dickinson | 2009-10-07 20:22:05 +0100 (Wed, 07 Oct 2009) | 6 lines

  Issue #7048: logb should round its result when that result doesn't fit
  into the available precision.  (Tests for this change are included in
  the most recent set of testcases from the Decimal Specification site;
  those testcases will be updated shortly.)
........
2009-10-27 16:54:45 +00:00
Mark Dickinson
c05b7890bc Merged revisions 74708 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r74708 | mark.dickinson | 2009-09-07 19:04:58 +0100 (Mon, 07 Sep 2009) | 2 lines

  #Issue 6795:  Fix infinite recursion in long(Decimal('nan'));  change int(Decimal('nan')) to raise ValueError instead of either returning NaN or raising InvalidContext.
........
2009-09-08 19:22:18 +00:00
Mark Dickinson
c3c112da6b Merged revisions 74704 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r74704 | mark.dickinson | 2009-09-07 17:17:41 +0100 (Mon, 07 Sep 2009) | 3 lines

  Issue #6850: Fix bug in Decimal._parse_format_specifier for formats
  with no type specifier.
........
2009-09-07 16:19:35 +00:00
Mark Dickinson
7f265b7fac Merged revisions 74564 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r74564 | mark.dickinson | 2009-08-28 14:25:02 +0100 (Fri, 28 Aug 2009) | 3 lines

  Issue #6794:  Fix handling of NaNs in Decimal.compare_total and
  Decimal.compare_total_mag.
........
2009-08-28 13:35:02 +00:00
Mark Dickinson
9a6e645b9f Merged revisions 74281 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r74281 | mark.dickinson | 2009-08-02 11:59:36 +0100 (Sun, 02 Aug 2009) | 4 lines

  Issue #6595: Allow Decimal constructor to accept non-European decimal
  digits, as recommended by the specification.  (Backport of r74279 from
  py3k.)
........
2009-08-02 11:01:01 +00:00
Mark Dickinson
714168248d Merged revisions 70430 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r70430 | mark.dickinson | 2009-03-17 18:01:03 +0000 (Tue, 17 Mar 2009) | 3 lines

  Fix bug in Decimal __format__ method that swapped left and right
  alignment.
........
2009-03-17 18:07:41 +00:00
Raymond Hettinger
45fd4763ff Register decimals as numbers.Number 2009-02-03 03:42:07 +00:00
Mark Dickinson
8ec69bcffb Merged revisions 68920 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68920 | mark.dickinson | 2009-01-25 10:39:15 +0000 (Sun, 25 Jan 2009) | 2 lines

  Remove uses of cmp from the decimal module.
........
2009-01-25 10:47:45 +00:00
Mark Dickinson
c95c6f1a04 Merged revisions 68317-68318 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68317 | mark.dickinson | 2009-01-04 21:22:02 +0000 (Sun, 04 Jan 2009) | 2 lines

  More Python 2.3 compatibility fixes for decimal.py.
........
  r68318 | mark.dickinson | 2009-01-04 21:25:40 +0000 (Sun, 04 Jan 2009) | 2 lines

  Misc/NEWS entry for r68317
........
2009-01-04 21:30:17 +00:00
Mark Dickinson
e4d46b2cf8 Merged revisions 68191 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68191 | mark.dickinson | 2009-01-03 12:07:20 +0000 (Sat, 03 Jan 2009) | 2 lines

  Issue #4812:  further renaming of internal Decimal constants, for clarity.
........
2009-01-03 12:09:22 +00:00
Mark Dickinson
fd6032d452 Merged revisions 68182 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68182 | mark.dickinson | 2009-01-02 23:07:08 +0000 (Fri, 02 Jan 2009) | 4 lines

  Issue #4812: add missing underscore prefix to some internal-use-only
  constants in the decimal module.  (Dec_0 becomes _Dec_0, etc.)
........
2009-01-02 23:16:51 +00:00
Mark Dickinson
7c62f89c1f Merged revisions 67694 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r67694 | facundo.batista | 2008-12-11 04:19:46 +0000 (Thu, 11 Dec 2008) | 6 lines


  Issue #4084: Fix max, min, max_mag and min_mag Decimal methods to
  give correct results in the case where one argument is a quiet NaN
  and the other is a finite number that requires rounding.
  Thanks Mark Dickinson.
........
2008-12-11 09:17:40 +00:00
Neal Norwitz
18aa388ca0 Fix:
* crashes on memory allocation failure found with failmalloc
 * memory leaks found with valgrind
 * compiler warnings in opt mode which would lead to invalid memory reads
 * problem using wrong name in decimal module reported by pychecker

Update the valgrind suppressions file with new leaks that are small/one-time
leaks we don't care about (ie, they are too hard to fix).

TBR=barry
TESTED=./python -E -tt ./Lib/test/regrtest.py -uall (both debug and opt modes)
  in opt mode:
  valgrind -q --leak-check=yes --suppressions=Misc/valgrind-python.supp \
    ./python -E -tt ./Lib/test/regrtest.py -uall,-bsddb,-compiler \
                        -x test_logging test_ssl test_multiprocessing
  valgrind -q --leak-check=yes --suppressions=Misc/valgrind-python.supp \
    ./python -E -tt ./Lib/test/regrtest.py test_multiprocessing
  for i in `seq 1 4000` ; do
    LD_PRELOAD=~/local/lib/libfailmalloc.so FAILMALLOC_INTERVAL=$i \
        ./python -c pass
  done

At least some of these fixes should probably be backported to 2.5.
2008-08-24 05:04:52 +00:00
Nick Coghlan
53663a695e Issue 2235: __hash__ is once again inherited by default, but inheritance can be blocked explicitly so that collections.Hashable remains meaningful 2008-07-15 14:27:37 +00:00
Mark Dickinson
70c3289085 Replace occurrences of '\d' with '[0-9]' in Decimal regex, to make sure
that the behaviour of Decimal doesn't change if/when re.UNICODE becomes
assumed in Python 3.0.

Also add a check that alternative Unicode digits (e.g. u'\N{FULLWIDTH
DIGIT ONE}') are *not* accepted in a numeric string.
2008-07-02 09:37:01 +00:00
Mark Dickinson
71f3b85497 Make sure that Context traps and flags dictionaries have values 0 and 1
(as documented) rather than True and False.
2008-05-04 02:25:46 +00:00
Mark Dickinson
8aca9d032e Some very minor changes to decimal.py in Python 2.6, aimed
at reducing the size of the diff between the 2.x decimal.py
and 3.x decimal.py and thereby making future merges easier:

- replace one instnace of an old-style raise statement
- define __div__ in terms of __truediv__ instead of the
  other way around
- make wording match on an exception message
2008-05-04 02:05:06 +00:00
Mark Dickinson
1840c1abca Backport Raymond's changes in r60508 to Python 2.6.
'Context flags get set, not incremented'
2008-05-03 18:23:14 +00:00