diff options
author | Mark Wiebe <mwiebe@enthought.com> | 2011-06-03 18:57:35 -0500 |
---|---|---|
committer | Mark Wiebe <mwiebe@enthought.com> | 2011-06-22 09:09:07 -0500 |
commit | bd85dfffca8629a7e57f5f9397168e0c7dc4e677 (patch) | |
tree | 2fbfbb0a9f773977248cf64d8524da65c976902f /numpy | |
parent | eb6c0515443bbab21afb220e27230c727e7c5b06 (diff) | |
download | numpy-bd85dfffca8629a7e57f5f9397168e0c7dc4e677.tar.gz |
BUG: core: Make slow clip use casting='unsafe' for compatibility
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/core/src/multiarray/calculation.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/numpy/core/src/multiarray/calculation.c b/numpy/core/src/multiarray/calculation.c index 8f32ce21c..dc6a7b15d 100644 --- a/numpy/core/src/multiarray/calculation.c +++ b/numpy/core/src/multiarray/calculation.c @@ -733,7 +733,30 @@ _GenericBinaryOutFunction(PyArrayObject *m1, PyObject *m2, PyArrayObject *out, return PyObject_CallFunction(op, "OO", m1, m2); } else { - return PyObject_CallFunction(op, "OOO", m1, m2, out); + PyObject *args, *kw, *ret; + + args = Py_BuildValue("OOO", m1, m2, out); + if (args == NULL) { + return NULL; + } + kw = PyDict_New(); + if (kw == NULL) { + Py_DECREF(args); + return NULL; + } + if (PyDict_SetItemString(kw, "casting", + PyUString_FromString("unsafe")) < 0) { + Py_DECREF(args); + Py_DECREF(kw); + return NULL; + } + + ret = PyObject_Call(op, args, kw); + + Py_DECREF(args); + Py_DECREF(kw); + + return ret; } } |