[Numpy-discussion] ANN: numarray-0.9

Todd Miller jmiller at stsci.edu
Sat Mar 13 05:12:36 EST 2004

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


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

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

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


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


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.


Numarray-0.9 windows executable installers, source code, and manual is


Numarray is hosted by Source Forge in the same project which hosts


The web page for Numarray information is at:


Trackers for Numarray Bugs, Feature Requests, Support, and Patches are
at the Source Forge project for NumPy at:



numarray-0.9 requires Python 2.2.2 or greater.  


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 at stsci.edu

More information about the NumPy-Discussion mailing list