Path to this page:
Subject: CVS commit: pkgsrc/math/py-numexpr
From: Thomas Klausner
Date: 2014-01-21 14:26:52
Message id: 20140121132652.BDFCE96@cvs.netbsd.org
Log Message:
Update to 2.2.2. Set LICENSE. Update HOMEPAGE.
Changes from 2.2.1 to 2.2.2
===========================
* The `copy_args` argument of `NumExpr` function has been brought
back. This has been mainly necessary for compatibility with
PyTables < 3.0, which I decided to continue to support. Fixed #115.
* The `__nonzero__` method in `ExpressionNode` class has been
commented out. This is also for compatibility with PyTables < 3.0.
See #24 for details.
* Fixed the type of some parameters in the C extension so that s390
architecture compiles. Fixes #116. Thank to Antonio Valentino for
reporting and the patch.
Changes from 2.2 to 2.2.1
=========================
* Fixes a secondary effect of "from numpy.testing import `*`", where
division is imported now too, so only then necessary functions from
there are imported now. Thanks to Christoph Gohlke for the patch.
Changes from 2.1 to 2.2
=======================
* [LICENSE] Fixed a problem with the license of the
numexpr/win32/pthread.{c,h} files emulating pthreads on Windows
platforms. After persmission from the original authors is granted,
these files adopt the MIT license and can be redistributed without
problems. See issue #109 for details
(https://code.google.com/p/numexpr/issues/detail?id=110).
* [ENH] Improved the algorithm to decide the initial number of threads
to be used. This was necessary because by default, numexpr was
using a number of threads equal to the detected number of cores, and
this can be just too much for moder systems where this number can be
too high (and counterporductive for performance in many cases).
Now, the 'NUMEXPR_NUM_THREADS' environment variable is honored, and
in case this is not present, a maximum number of *8* threads are
setup initially. The new algorithm is fully described in the Users
Guide now in the note of 'General routines' section:
https://code.google.com/p/numexpr/wiki/UsersGuide#General_routines.
Closes #110.
* [ENH] numexpr.test() returns `TestResult` instead of None now.
Closes #111.
* [FIX] Modulus with zero with integers no longer crashes the
interpreter. It nows puts a zero in the result. Fixes #107.
* [API CLEAN] Removed `copy_args` argument of `evaluate`. This should
only be used by old versions of PyTables (< 3.0).
* [DOC] Documented the `optimization` and `truediv` flags of
`evaluate` in Users Guide
(https://code.google.com/p/numexpr/wiki/UsersGuide).
Changes from 2.0.1 to 2.1
===========================
* Dropped compatibility with Python < 2.6.
* Improve compatibiity with Python 3:
- switch from PyString to PyBytes API (requires Python >= 2.6).
- fixed incompatibilities regarding the int/long API
- use the Py_TYPE macro
- use the PyVarObject_HEAD_INIT macro instead of PyObject_HEAD_INIT
* Fixed several issues with different platforms not supporting
multithreading or subprocess properly (see tickets #75 and #77).
* Now, when trying to use pure Python boolean operators, 'and',
'or' and 'not', an error is issued suggesting that '&', '|' and
'~' should be used instead (fixes #24).
Changes from 2.0 to 2.0.1
=========================
* Added compatibility with Python 2.5 (2.4 is definitely not supported
anymore).
* `numexpr.evaluate` is fully documented now, in particular the new
`out`, `order` and `casting` parameters.
* Reduction operations are fully documented now.
* Negative axis in reductions are not supported (they have never been
actually), and a `ValueError` will be raised if they are used.
Changes from 1.x series to 2.0
==============================
- Added support for the new iterator object in NumPy 1.6 and later.
This allows for better performance with operations that implies
broadcast operations, fortran-ordered or non-native byte orderings.
Performance for other scenarios is preserved (except for very small
arrays).
- Division in numexpr is consistent now with Python/NumPy. Fixes #22
and #58.
- Constants like "2." or "2.0" must be evaluated as float, not
integer. Fixes #59.
- `evaluate()` function has received a new parameter `out` for storing
the result in already allocated arrays. This is very useful when
dealing with large arrays, and a allocating new space for keeping
the result is not acceptable. Closes #56.
- Maximum number of threads raised from 256 to 4096. Machines with a
higher number of cores will still be able to import numexpr, but
limited to 4096 (which is an absurdly high number already).
Files: