Numarray 0.2 ------------ Numarray is a Numeric replacement which features c-code generated from python template scripts, the capacity to operate directly on arrays in files, and improved type promotion semantics.
Numarray-0.2 incorporates bug fixes and one very significant change to the user interface, namely in how shape, real, imag and flat attributes are handled. Also, when numarray objects compared to None will (arr == None) no longer produce an execption and generate a false value (rather than a Boolean array).
The next version will incorporate safety checks to prevent possible crashing of Python if a user misuses or otherwise changes private variables in numarray. There will also be a new memory object type to fix a problem discovered with buffer objects (which are currently used to used to allocate memory). We expect to have this version ready in 3 weeks.
WHERE ----------- Numarray is hosted by Source Forge in the same project which hosts Numeric:
The web page for Numarray information is at:
numarray-0.2 requires Python 2.0 or greater.
AUTHORS, LICENSE ------------------------------
Numarray was written by Perry Greenfield, Rick White, Todd Miller, JC Hsu, and Phil Hodge at the Space Telescope Science Institute. Numarray is made available under a BSD-style License. See LICENSE.txt in the source distribution for details.
1. Added support for python-2.2 properties, specifically:
.shape, getshape(), setshape() .flat, getflat() .real, getreal(), setreal() .imag, getimag(), setimag() .imaginary, getimaginary(), setimaginary() # aliases for imag
numarray-0.2 is not 100% compatible with numarray-0.11. To port numarray-0.11 code to numarray-0.2:
a. Instances of array.reshape(x) must be changed to array.setshape(x) or array.shape = x. Users with python versions prior to 2.2 must use array.setshape(x).
b. Instances of array.real() must be replaced with array.real or array.getreal(). Users with python versions prior to 2.2 must use array.getreal().
c. Instances of array.imag() must be replaced with array.imag or array.getimag(). Users with python versions prior to 2.2 must use array.getimag().
2. Fixed bugs in some of the numarray functions related to:
a. Making copies of the input arrays when required to do so.
b. Supporting nested sequences of python numbers in lieu of arrays.
affected functions: reshape, transpose, resize, diagonal, trace, sort, argsort, ravel, ...
3. Fixed a bug in Complex arrays related to handling of type Complex64. This bug manifested as incorrect results for many operations with Complex64 arrays. "ones" in particular, returned obviously incorrect results for type=Complex64.
4. Fixed a bug in type conversion in "where" with y = where (equal (x, 0.), 1., x) on single precision array 'x' resulting in a double precision 'y'. This fix also affects "choose".
5. Added getrank() method and associated property "rank" for python2.2 and on.
6. Fixed a bug in nonzero where the "input screening" code was truncating small floating point values to 0.
7. Fixed a bug in all unary/binary ufuncs where output buffer offset was hard-coded to 0 for "fast" mode. This caused the following failure:
a=arange(10) a[5:8] += 3 a
array([3, 4, 5, ... ])
8. Fixed bug / added support for array(, type=ZZZ).
9. Added pi to the numarray namespace by importing it from math.
10. Added arrayrange alias for arange.
11. Improved numarray (in)equality testing by adding handling for None and re-implementing __nonzero__ as the bitwise-or of the element-wise comparison of the array with 0.
12. Fixed bug in iscontiguous() which assumed that _bytestride == _itemsize for contiguous arrays. This is not true when slicing occurs, but perhaps should be.
13. Added typecodes which are compatible with NumPy typecodes: "d":Float64,"f":Float32,"l":Int32,"D":Complex128,"F":Complex64, "b":UInt8, "c":Int8 Modified NumericType.__cmp__ to support comparisons against aliases. Modified NumericType.__repr__ to return the type name.
14. Modified the doctest for recarray so that it works correctly on win32.