summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wiebe <mwiebe@enthought.com>2011-06-03 18:57:35 -0500
committerMark Wiebe <mwiebe@enthought.com>2011-06-22 09:09:07 -0500
commitbd85dfffca8629a7e57f5f9397168e0c7dc4e677 (patch)
tree2fbfbb0a9f773977248cf64d8524da65c976902f
parenteb6c0515443bbab21afb220e27230c727e7c5b06 (diff)
downloadnumpy-bd85dfffca8629a7e57f5f9397168e0c7dc4e677.tar.gz
BUG: core: Make slow clip use casting='unsafe' for compatibility
-rw-r--r--numpy/core/src/multiarray/calculation.c25
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;
}
}