[Numpy-discussion] Numeric 24.0
Sébastien de Menten
sdementen at hotmail.com
Wed Apr 6 00:36:39 CDT 2005
Could you look at bug
[ 635104 ] segfault unpickling Numeric 'O' array
[ 567796 ] unpickling of 'O' arrays causes segfault (duplicate of previous
I proposed a (rather simple) solution that I put in the comment of bug [
635104 ]. But apparently, nobody is looking at those bugs...
>I'd like to release a Numeric 24.0 to get the array interface out there.
>There are also some other bug fixes in Numeric 24.0
>Here is the list so far from Numeric 23.7
>[Greenfield] Changed so a[0,0] and a returns same type when a is 2-d
This is quite disturbing. In fact for all types that are not exactly
equivalent to python type, indexing a multidimensional array (rank > 1)
return arrays even if the final shape is ().
type(zeros((5,2,4), Int8 )[0,0,0]) => <type 'array'>
type(zeros((5,2,4), Int32 )[0,0,0]) => <type 'array'>
type(zeros((5,2), Float32 )[0,0]) => <type 'array'>
type(zeros((5,2,4), Int )[0,0,0]) => <type 'int'>
type(zeros((5,2,4), Float64)[0,0,0]) => <type 'float'>
type(zeros((5,2,4), Float)[0,0,0]) => <type 'float'>
type(zeros((5,2,4), PyObject)[0,0,0]) => <type 'int'>
Notice too the weird difference betweeb Int <> Int32 and Float == Float64.
However, when indexing a onedimensional array (rank == 1), then we get back
scalar for indexing operations on all types.
So, when you say "return the same type", do you think scalar or array (it
smells like a recent discussion on Numeric3 ...) ?
>[unreported] Added array interface
>[unreported] Allow Long Integers to be used in slices
> Handle mu==0.0 appropiately in ranlib/ignpoi.
>[unreported] Return error info in ranlib instead of printing it to stderr
> dot() would quit python with zero-sized arrays when using
> dotblas. The BLAS routines *gemv and *gemm need LDA >= 1.
>[unreported] Fixed empty for Object arrays
>Version 23.8 March 2005
>[Cooke] Fixed more 64-bit issues (patch 117603)
>[unreported] Changed arrayfnsmodule back to PyArray_INT where the code
> typecasts to (int *). Changed CanCastSafely to check
> if sizeof(long) == sizeof(int)
>I'll wait a little bit to allow last minute bug fixes to go in, but I'd
>realy like to see this release get out there. For users of Numeric >23.7
>Numeric.empty((10,20),'O') if you want to see an *interesting* bug that is
>fixed in CVS.
More information about the Numpy-discussion