Release Notes for numarray-0.9 Numarray is an array processing package designed to efficiently manipulate large multi-dimensional arrays. Numarray is modelled after Numeric and features c-code generated from python template scripts, the capacity to operate directly on arrays in files, and improved type promotions. I. ENHANCEMENTS 1. Support for "from __future__ import division" True division has been implemented for numarray. This means that modules that wish to use true division can also use numarray and numarray division will work as follows: a. dividing any two integer arrays using "/" results in a Float32 array. b. dividing two floating point arrays using "//" results in truncation of the result as in: a // b == floor(a/b). 2. C-coded array slicing Array slicing has been re-implemented in C-code as part of the _ndarray module. This means faster slicing. Thanks go to Warren Hack, Chris Hanley, and Ivo Busko for helping debug a huge refcount error. 3. Decreased Ufunc overhead Ufunc execution speed has clawed and scratched its way back to where it was around numarray-0.5. Improvements here included optimization of the ufunc caching, smarter thread handling, and smarter support for subclasses. The ufunc caching is based on a simple 20 element table for each ufunc. 4. Faster array creation from C Code which creates NumArrays from C (including numarray itself) can now do so faster because the API functions have been modified to do the array __init__ inline rather than through an expensive Python callback. II. BUGS FIXED / CLOSED See http://sourceforge.net/tracker/?atid=450446&group_id=1369&func=browse for more details. 913781 Another memory leak in example in Chapter 12 908399 Numarray 0.7: "del a[1]" dumps core 899259 astype Int16 copy4bytes: access beyond buffer 895801 Buffer overflow in sum w/ 0-sized array 894810 MemoryError When Creating Large Arrays 890703 getnan() and getinf() failure 883124 and and operator.and respond differently 865410 Usage of __dict__ 854480 Slice assignment of float to integer 839367 Overlapping slice assign fails 828941 Numarray: determinant returns scalar or array 820122 Linearalgebra2.determinant problem 817343 Sub-classing of NumArray inhibited by complex values 793336 crash in _sort.pyd 772548 Reference counting errors 683957 Adding certain arrays fails in Numarray III. CAUTIONS 1. numarray extension writers should note that the documented use of PyArray_INCREF and PyArray_XDECREF (in numarray) has been found to be incompatible with Numeric and has therefore been deprecated. numarray wrapper functions using PyArray_INCREF and PyArray_XDECREF should switch to ordinary Py_INCREF and Py_XDECREF. WHERE ----------- Numarray-0.9 windows executable installers, source code, and manual is here: http://sourceforge.net/project/showfiles.php?group_id=1369 Numarray is hosted by Source Forge in the same project which hosts Numeric: http://sourceforge.net/projects/numpy/ The web page for Numarray information is at: http://stsdas.stsci.edu/numarray/index.html Trackers for Numarray Bugs, Feature Requests, Support, and Patches are at the Source Forge project for NumPy at: http://sourceforge.net/tracker/?group_id=1369 REQUIREMENTS ------------------------------ numarray-0.9 requires Python 2.2.2 or greater. AUTHORS, LICENSE ------------------------------ Numarray was written by Perry Greenfield, Rick White, Todd Miller, JC Hsu, Paul Barrett, Phil Hodge at the Space Telescope Science Institute. We'd like to acknowledge the assitance of Francesc Alted, Paul Dubois, Sebastian Haase, Tim Hochberg, Nadav Horesh, Edward C. Jones, Eric Jones, Jochen Küpper, Travis Oliphant, Pearu Peterson, Peter Verveer, Colin Williams, and everyone else who has contributed with comments and feedback. Numarray is made available under a BSD-style License. See LICENSE.txt in the source distribution for details. -- Todd Miller jmiller@stsci.edu