summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorMarten van Kerkwijk <mhvk@astro.utoronto.ca>2018-05-14 11:37:22 -0400
committerGitHub <noreply@github.com>2018-05-14 11:37:22 -0400
commit671ba6e9fc4f4d199bed3ad7671c009f91a1565b (patch)
treeab0230d9cdd38682d79a7bdb908219aed77dbbc3 /numpy
parentbb745b727879d4be65f0a40abba90f91b55ccbb4 (diff)
parentb187c60258a5741dd75bc53f868a7261e87396e8 (diff)
downloadnumpy-671ba6e9fc4f4d199bed3ad7671c009f91a1565b.tar.gz
Merge pull request #10988 from eric-wieser/ufunc-tidy
MAINT: Small tidy-ups to ufunc_object.c
Diffstat (limited to 'numpy')
-rw-r--r--numpy/core/src/umath/ufunc_object.c32
1 files changed, 15 insertions, 17 deletions
diff --git a/numpy/core/src/umath/ufunc_object.c b/numpy/core/src/umath/ufunc_object.c
index 84a329475..c1e8e5a77 100644
--- a/numpy/core/src/umath/ufunc_object.c
+++ b/numpy/core/src/umath/ufunc_object.c
@@ -4282,11 +4282,9 @@ static PyObject *
ufunc_generic_call(PyUFuncObject *ufunc, PyObject *args, PyObject *kwds)
{
int i;
- PyTupleObject *ret;
PyArrayObject *mps[NPY_MAXARGS];
PyObject *retobj[NPY_MAXARGS];
PyObject *wraparr[NPY_MAXARGS];
- PyObject *res;
PyObject *override = NULL;
ufunc_full_args full_args = {NULL, NULL};
int errval;
@@ -4363,13 +4361,17 @@ ufunc_generic_call(PyUFuncObject *ufunc, PyObject *args, PyObject *kwds)
int j = ufunc->nin+i;
PyObject *wrap = wraparr[i];
- if (wrap != NULL) {
+ if (wrap == NULL) {
+ /* default behavior */
+ retobj[i] = PyArray_Return(mps[j]);
+ }
+ else if (wrap == Py_None) {
+ Py_DECREF(wrap);
+ retobj[i] = (PyObject *)mps[j];
+ }
+ else {
+ PyObject *res;
PyObject *args_tup;
- if (wrap == Py_None) {
- Py_DECREF(wrap);
- retobj[i] = (PyObject *)mps[j];
- continue;
- }
/* Call the method with appropriate context */
args_tup = _get_wrap_prepare_args(full_args);
@@ -4389,15 +4391,9 @@ ufunc_generic_call(PyUFuncObject *ufunc, PyObject *args, PyObject *kwds)
if (res == NULL) {
goto fail;
}
- else {
- Py_DECREF(mps[j]);
- retobj[i] = res;
- continue;
- }
- }
- else {
- /* default behavior */
- retobj[i] = PyArray_Return(mps[j]);
+
+ Py_DECREF(mps[j]);
+ retobj[i] = res;
}
}
@@ -4408,6 +4404,8 @@ ufunc_generic_call(PyUFuncObject *ufunc, PyObject *args, PyObject *kwds)
return retobj[0];
}
else {
+ PyTupleObject *ret;
+
ret = (PyTupleObject *)PyTuple_New(ufunc->nout);
for (i = 0; i < ufunc->nout; i++) {
PyTuple_SET_ITEM(ret, i, retobj[i]);