static PyObject * array_divmod(PyArrayObject *op1, PyObject *op2) { PyObject *divp, *modp, *result; GIVE_UP_IF_HAS_RIGHT_BINOP(op1, op2, "__divmod__", "__rdivmod__", 0); divp = array_floor_divide(op1, op2); if (divp == NULL) { return NULL; } else if(divp == Py_NotImplemented) { return divp; } modp = array_remainder(op1, op2); if (modp == NULL) { Py_DECREF(divp); return NULL; } else if(modp == Py_NotImplemented) { Py_DECREF(divp); return modp; } result = Py_BuildValue("OO", divp, modp); Py_DECREF(divp); Py_DECREF(modp); return result; }
static PyObject * array_divmod(PyArrayObject *op1, PyObject *op2) { PyObject *divp, *modp, *result; divp = array_floor_divide(op1, op2); if (divp == NULL) { return NULL; } modp = array_remainder(op1, op2); if (modp == NULL) { Py_DECREF(divp); return NULL; } result = Py_BuildValue("OO", divp, modp); Py_DECREF(divp); Py_DECREF(modp); return result; }