[Matrix-SIG] Bugfix for instantiation of type 'O' arrays
Charles G Waldman
cgw@fnal.gov
Mon, 17 Jan 2000 17:15:33 -0600 (CST)
The bug:
Python 1.5.2+ (#7, Jan 13 2000, 16:18:27) [GCC 2.95.2 19991024 (release)] on linux2
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> from Numeric import *
>>> x=array(["abc","def","ghi"],'O')
>>> x
array([[abc , abc , abc ],
[def , def , def ],
[ghi , ghi , ghi ]],'O')
>>>
The fix:
Index: Src/arrayobject.c
===================================================================
RCS file: /cvsroot/numpy/Numerical/Src/arrayobject.c,v
retrieving revision 1.2
diff -u -r1.2 arrayobject.c
--- Src/arrayobject.c 2000/01/14 18:53:24 1.2
+++ Src/arrayobject.c 2000/01/17 23:10:33
@@ -1778,7 +1778,7 @@
PyErr_SetString(PyExc_ValueError,"expect source sequence");
return NULL;
}
- if (!((nd=discover_depth(s,99, type == PyArray_OBJECT)) > 0)) {
+ if (!((nd=discover_depth(s,99, type == PyArray_OBJECT || type == 'O')) > 0)) {
PyErr_SetString(PyExc_ValueError, "invalid input sequence");
return NULL;
}
And, while we're at it, a typo fix:
Index: README
===================================================================
RCS file: /cvsroot/numpy/Numerical/README,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 README
56c56
< UserArray.py: changed indentation to all spaces for consistency. Fixed many bugs in UserArray.py and Matrix.py (Charles Wadman)
---
> UserArray.py: changed indentation to all spaces for consistency. Fixed many bugs in UserArray.py and Matrix.py (Charles Waldman)