[Numpy-svn] r8485 - in trunk/numpy: core/code_generators core/include/numpy core/src/multiarray core/src/umath f2py/src lib numarray numarray/include/numpy random/mtrand

numpy-svn at scipy.org numpy-svn at scipy.org
Sat Jul 17 11:15:15 EDT 2010


Author: ptvirtan
Date: 2010-07-17 10:15:15 -0500 (Sat, 17 Jul 2010)
New Revision: 8485

Modified:
   trunk/numpy/core/code_generators/generate_numpy_api.py
   trunk/numpy/core/code_generators/generate_ufunc_api.py
   trunk/numpy/core/include/numpy/ndarraytypes.h
   trunk/numpy/core/include/numpy/npy_3kcompat.h
   trunk/numpy/core/src/multiarray/scalartypes.c.src
   trunk/numpy/core/src/multiarray/scalartypes.h
   trunk/numpy/core/src/umath/ufunc_object.c
   trunk/numpy/f2py/src/fortranobject.c
   trunk/numpy/f2py/src/fortranobject.h
   trunk/numpy/lib/type_check.py
   trunk/numpy/numarray/_capi.c
   trunk/numpy/numarray/include/numpy/libnumarray.h
   trunk/numpy/random/mtrand/Python.pxi
Log:
BUG: core: use PyCapsule objects only on Python >= 3.0, stay with PyCObjects on Python 2.x

Modified: trunk/numpy/core/code_generators/generate_numpy_api.py
===================================================================
--- trunk/numpy/core/code_generators/generate_numpy_api.py	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/core/code_generators/generate_numpy_api.py	2010-07-17 15:15:15 UTC (rev 8485)
@@ -63,7 +63,7 @@
       return -1;
   }
 
-#if PY_VERSION_HEX >= 0x02070000
+#if PY_VERSION_HEX >= 0x03000000
   if (!PyCapsule_CheckExact(c_api)) {
       PyErr_SetString(PyExc_RuntimeError, "_ARRAY_API is not PyCapsule object");
       Py_DECREF(c_api);

Modified: trunk/numpy/core/code_generators/generate_ufunc_api.py
===================================================================
--- trunk/numpy/core/code_generators/generate_ufunc_api.py	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/core/code_generators/generate_ufunc_api.py	2010-07-17 15:15:15 UTC (rev 8485)
@@ -52,7 +52,7 @@
       return -1;
   }
 
-#if PY_VERSION_HEX >= 0x02070000
+#if PY_VERSION_HEX >= 0x03000000
   if (!PyCapsule_CheckExact(c_api)) {
       PyErr_SetString(PyExc_RuntimeError, "_UFUNC_API is not PyCapsule object");
       Py_DECREF(c_api);

Modified: trunk/numpy/core/include/numpy/ndarraytypes.h
===================================================================
--- trunk/numpy/core/include/numpy/ndarraytypes.h	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/core/include/numpy/ndarraytypes.h	2010-07-17 15:15:15 UTC (rev 8485)
@@ -658,7 +658,7 @@
         int sec, us, ps, as;
 } npy_timedeltastruct;
 
-#if PY_VERSION_HEX >= 0x02070000
+#if PY_VERSION_HEX >= 0x03000000
 #define PyDataType_GetDatetimeMetaData(descr)                                 \
     ((descr->metadata == NULL) ? NULL :                                       \
         ((PyArray_DatetimeMetaData *)(PyCapsule_GetPointer(                   \

Modified: trunk/numpy/core/include/numpy/npy_3kcompat.h
===================================================================
--- trunk/numpy/core/include/numpy/npy_3kcompat.h	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/core/include/numpy/npy_3kcompat.h	2010-07-17 15:15:15 UTC (rev 8485)
@@ -237,7 +237,7 @@
  * The main job here is to get rid of the improved error handling
  * of PyCapsules. It's a shame...
  */
-#if PY_VERSION_HEX >= 0x02070000
+#if PY_VERSION_HEX >= 0x03000000
 
 static NPY_INLINE PyObject *
 NpyCapsule_FromVoidPtr(void *ptr, void (*dtor)(PyObject *))

Modified: trunk/numpy/core/src/multiarray/scalartypes.c.src
===================================================================
--- trunk/numpy/core/src/multiarray/scalartypes.c.src	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/core/src/multiarray/scalartypes.c.src	2010-07-17 15:15:15 UTC (rev 8485)
@@ -810,7 +810,7 @@
     return PyInt_FromLong(1);
 }
 
-#if PY_VERSION_HEX >= 0x02070000
+#if PY_VERSION_HEX >= 0x03000000
 NPY_NO_EXPORT void
 gentype_struct_free(PyObject *ptr)
 {

Modified: trunk/numpy/core/src/multiarray/scalartypes.h
===================================================================
--- trunk/numpy/core/src/multiarray/scalartypes.h	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/core/src/multiarray/scalartypes.h	2010-07-17 15:15:15 UTC (rev 8485)
@@ -7,7 +7,7 @@
 NPY_NO_EXPORT void
 format_longdouble(char *buf, size_t buflen, longdouble val, unsigned int prec);
 
-#if PY_VERSION_HEX >= 0x02070000
+#if PY_VERSION_HEX >= 0x03000000
 NPY_NO_EXPORT void
 gentype_struct_free(PyObject *ptr);
 #else

Modified: trunk/numpy/core/src/umath/ufunc_object.c
===================================================================
--- trunk/numpy/core/src/umath/ufunc_object.c	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/core/src/umath/ufunc_object.c	2010-07-17 15:15:15 UTC (rev 8485)
@@ -3887,14 +3887,13 @@
     }
 }
 
-#if PY_VERSION_HEX >= 0x02070000
+#if PY_VERSION_HEX >= 0x03000000
 static void
 _loop1d_list_free(PyObject *ptr)
 {
     PyUFunc_Loop1d *data = (PyUFunc_Loop1d *)PyCapsule_GetPointer(ptr, NULL);
     _free_loop1d_list(data);
 }
-
 #else
 static void
 _loop1d_list_free(void *ptr)

Modified: trunk/numpy/f2py/src/fortranobject.c
===================================================================
--- trunk/numpy/f2py/src/fortranobject.c	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/f2py/src/fortranobject.c	2010-07-17 15:15:15 UTC (rev 8485)
@@ -914,10 +914,10 @@
 }
 
 /*********************************************/
-/* Compatibility functions for Python >= 2.7 */
+/* Compatibility functions for Python >= 3.0 */
 /*********************************************/
 
-#if PY_VERSION_HEX >= 0X02070000
+#if PY_VERSION_HEX >= 0x03000000
 
 PyObject *
 F2PyCapsule_FromVoidPtr(void *ptr, void (*dtor)(PyObject *))

Modified: trunk/numpy/f2py/src/fortranobject.h
===================================================================
--- trunk/numpy/f2py/src/fortranobject.h	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/f2py/src/fortranobject.h	2010-07-17 15:15:15 UTC (rev 8485)
@@ -121,7 +121,7 @@
   extern PyObject * PyFortranObject_New(FortranDataDef* defs, f2py_void_func init);
   extern PyObject * PyFortranObject_NewAsAttr(FortranDataDef* defs);
 
-#if PY_VERSION_HEX >= 0x02070000
+#if PY_VERSION_HEX >= 0x03000000
 
 PyObject * F2PyCapsule_FromVoidPtr(void *ptr, void (*dtor)(PyObject *));
 void * F2PyCapsule_AsVoidPtr(PyObject *obj);

Modified: trunk/numpy/lib/type_check.py
===================================================================
--- trunk/numpy/lib/type_check.py	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/lib/type_check.py	2010-07-17 15:15:15 UTC (rev 8485)
@@ -620,7 +620,7 @@
                     ('events', ctypes.c_int)]
 
     import sys
-    if sys.version_info[:2] >= (2,7):
+    if sys.version_info[:2] >= (3, 0):
         func = ctypes.pythonapi.PyCapsule_GetPointer
         func.argtypes = [ctypes.py_object, ctypes.c_char_p]
         func.restype = ctypes.c_void_p

Modified: trunk/numpy/numarray/_capi.c
===================================================================
--- trunk/numpy/numarray/_capi.c	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/numarray/_capi.c	2010-07-17 15:15:15 UTC (rev 8485)
@@ -3408,7 +3408,7 @@
     m = Py_InitModule("_capi", _libnumarrayMethods);
 #endif
 
-#if PY_VERSION_HEX >= 0x02070000
+#if PY_VERSION_HEX >= 0x03000000
     c_api_object = PyCapsule_New((void *)libnumarray_API, NULL, NULL);
     if (c_api_object == NULL) {
         PyErr_Clear();

Modified: trunk/numpy/numarray/include/numpy/libnumarray.h
===================================================================
--- trunk/numpy/numarray/include/numpy/libnumarray.h	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/numarray/include/numpy/libnumarray.h	2010-07-17 15:15:15 UTC (rev 8485)
@@ -40,7 +40,7 @@
 #endif
 #endif
 
-#if PY_VERSION_HEX >= 0x02070000
+#if PY_VERSION_HEX >= 0x03000000
 #define _import_libnumarray()                                                    \
         {                                                                        \
         PyObject *module = PyImport_ImportModule("numpy.numarray._capi");        \

Modified: trunk/numpy/random/mtrand/Python.pxi
===================================================================
--- trunk/numpy/random/mtrand/Python.pxi	2010-07-17 13:11:39 UTC (rev 8484)
+++ trunk/numpy/random/mtrand/Python.pxi	2010-07-17 15:15:15 UTC (rev 8485)
@@ -30,7 +30,7 @@
 
     # CObject API
 # If this is uncommented it needs to be fixed to use PyCapsule
-# for Python >= 2.7
+# for Python >= 3.0
 #
 #    ctypedef void (*destructor1)(void* cobj)
 #    ctypedef void (*destructor2)(void* cobj, void* desc)




More information about the Numpy-svn mailing list