diff src/pixelarray.c @ 2219:12d56393ec02

Allow [...] as a valid PixelArray subscript, consistent with NumPy
author Lenard Lindstrom <len-l@telus.net>
date Sun, 29 May 2011 17:24:51 +0000
parents 7b81f1162a96
children 43fa96b3924d
line wrap: on
line diff
--- a/src/pixelarray.c	Sun May 29 02:50:01 2011 +0000
+++ b/src/pixelarray.c	Sun May 29 17:24:51 2011 +0000
@@ -1504,6 +1504,10 @@
 					   xstart, xstop, xstep,
 					   ystart, ystop, ystep);
     }
+    else if (op == Py_Ellipsis) {
+        Py_INCREF(array);
+        return (PyObject *)array;
+    }
     else if (PySlice_Check(op)) {
         /* A slice */
         Py_ssize_t slicelen;
@@ -1644,6 +1648,23 @@
         Py_DECREF(tmparray);
         return retval;
     }
+    else if (op == Py_Ellipsis) {
+        /* A slice */
+        PyPixelArray *tmparray =
+             (PyPixelArray *) _pxarray_subscript_internal(array,
+                                                          0, array->dim0, 1,
+                                                          0, array->dim1, 1);
+        int retval;
+
+        if (!tmparray) {
+            return -1;
+        }
+
+        retval = _pxarray_ass_slice(tmparray, 0,
+                                    (Py_ssize_t)tmparray->dim0, value);
+        Py_DECREF(tmparray);
+        return retval;
+    }
     else if (PySlice_Check(op)) {
         /* A slice */
         PyPixelArray *tmparray;