[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