[Numpy-svn] r2730 - trunk/numpy/core

numpy-svn at scipy.org numpy-svn at scipy.org
Mon Jul 3 17:10:55 EDT 2006


Author: oliphant
Date: 2006-07-03 16:10:52 -0500 (Mon, 03 Jul 2006)
New Revision: 2730

Modified:
   trunk/numpy/core/_internal.py
Log:
Fix .ctypes.strides and .ctypes.shape to return None (interpreted as NULL by ctypes) if the array is 0-d.

Modified: trunk/numpy/core/_internal.py
===================================================================
--- trunk/numpy/core/_internal.py	2006-07-03 20:18:57 UTC (rev 2729)
+++ trunk/numpy/core/_internal.py	2006-07-03 21:10:52 UTC (rev 2730)
@@ -195,23 +195,35 @@
         except ImportError:
             raise AttributeError, "ctypes not available"
         self._arr = array
+        if self._arr.ndim == 0:
+            self._zerod = True
+        else:
+            self._zerod = False
     
     def data_as(self, obj):
         return self._ctypes.cast(self._arr._as_parameter_, obj)
 
     def shape_as(self, obj):
+        if self._zerod:
+            return None
         return (obj*self._arr.ndim)(*self._arr.shape)
 
     def strides_as(self, obj):
+        if self._zerod:
+            return None
         return (obj*self._arr.ndim)(*self._arr.strides)
     
     def get_data(self):
         return self._ctypes.c_void_p(self._arr._as_parameter_)
 
     def get_shape(self):
+        if self._zerod: 
+            return None
         return (_getintp_ctype()*self._arr.ndim)(*self._arr.shape)
 
     def get_strides(self):
+        if self._zerod:
+            return None
         return (_getintp_ctype()*self._arr.ndim)(*self._arr.strides)
         
     data = property(get_data, None, doc="c-types data")




More information about the Numpy-svn mailing list