As of SVN from this morning, fromiter cannot create an array whose dtype is a byte type

In [1]: np.fromiter(range(10), dtype='b')
---------------------------------------------------------------------------
MemoryError                               Traceback (most recent call last)

/Users/baxter/<ipython console> in <module>()

MemoryError: cannot allocate array memory


I am not sure how to include a test whose failure condition is the raising of an exception, but the patch includes the above test.

Russel
Index: numpy/core/src/multiarraymodule.c
===================================================================
--- numpy/core/src/multiarraymodule.c   (revision 5866)
+++ numpy/core/src/multiarraymodule.c   (working copy)
@@ -6503,7 +6503,8 @@
     PyObject *value;
     PyObject *iter = PyObject_GetIter(obj);
     PyArrayObject *ret = NULL;
-    intp i, elsize, elcount;
+    intp i;
+    uintp elsize, elcount;
     char *item, *new_data;
 
     if (iter == NULL) goto done;
Index: numpy/core/tests/test_regression.py
===================================================================
--- numpy/core/tests/test_regression.py (revision 5866)
+++ numpy/core/tests/test_regression.py (working copy)
@@ -1208,5 +1208,11 @@
         a = np.array(1)
         self.failUnlessRaises(ValueError, lambda x: x.choose([]), a)
 
+    def test_fromiter_comparison(self, level=rlevel):
+        a = np.fromiter(np.range(10), dtype='b')
+        b = np.fromiter(np.range(10), dtype='B')
+        assert np.alltrue(a == np.array([0,1,2,3,4,5,6,7,8,9]))
+        assert np.alltrue(b == np.array([0,1,2,3,4,5,6,7,8,9]))
+
 if __name__ == "__main__":
     run_module_suite()
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to