summaryrefslogtreecommitdiffstats
path: root/Objects/abstract.c
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/abstract.c')
-rw-r--r--Objects/abstract.c92
1 files changed, 49 insertions, 43 deletions
diff --git a/Objects/abstract.c b/Objects/abstract.c
index ef3064b..b716f55 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -654,11 +654,12 @@ PyNumber_InPlaceOr(PyObject *v, PyObject *w)
PyObject *x;
if (PyInstance_Check(v)) {
- if (PyInstance_HalfBinOp(v, w, "__ior__", &x, PyNumber_Or,
- 0) <= 0)
+ if (PyInstance_HalfBinOp(v, w, "__ior__", &x,
+ PyNumber_Or, 0) <= 0)
return x;
- } else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
- (f = v->ob_type->tp_as_number->nb_inplace_or) != NULL)
+ }
+ else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
+ (f = v->ob_type->tp_as_number->nb_inplace_or) != NULL)
return (*f)(v, w);
BINOP(v, w, "__or__", "__ror__", PyNumber_Or);
@@ -685,11 +686,12 @@ PyNumber_InPlaceXor(PyObject *v, PyObject *w)
PyObject *x;
if (PyInstance_Check(v)) {
- if (PyInstance_HalfBinOp(v, w, "__ixor__", &x, PyNumber_Xor,
- 0) <= 0)
+ if (PyInstance_HalfBinOp(v, w, "__ixor__", &x,
+ PyNumber_Xor, 0) <= 0)
return x;
- } else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
- (f = v->ob_type->tp_as_number->nb_inplace_xor) != NULL)
+ }
+ else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
+ (f = v->ob_type->tp_as_number->nb_inplace_xor) != NULL)
return (*f)(v, w);
BINOP(v, w, "__xor__", "__rxor__", PyNumber_Xor);
@@ -716,11 +718,12 @@ PyNumber_InPlaceAnd(PyObject *v, PyObject *w)
PyObject *x;
if (PyInstance_Check(v)) {
- if (PyInstance_HalfBinOp(v, w, "__iand__", &x, PyNumber_And,
- 0) <= 0)
+ if (PyInstance_HalfBinOp(v, w, "__iand__", &x,
+ PyNumber_And, 0) <= 0)
return x;
- } else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
- (f = v->ob_type->tp_as_number->nb_inplace_and) != NULL)
+ }
+ else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
+ (f = v->ob_type->tp_as_number->nb_inplace_and) != NULL)
return (*f)(v, w);
BINOP(v, w, "__and__", "__rand__", PyNumber_And);
@@ -750,8 +753,9 @@ PyNumber_InPlaceLshift(PyObject *v, PyObject *w)
if (PyInstance_HalfBinOp(v, w, "__ilshift__", &x,
PyNumber_Lshift, 0) <= 0)
return x;
- } else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
- (f = v->ob_type->tp_as_number->nb_inplace_lshift) != NULL)
+ }
+ else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
+ (f = v->ob_type->tp_as_number->nb_inplace_lshift) != NULL)
return (*f)(v, w);
BINOP(v, w, "__lshift__", "__rlshift__", PyNumber_Lshift);
@@ -781,8 +785,9 @@ PyNumber_InPlaceRshift(PyObject *v, PyObject *w)
if (PyInstance_HalfBinOp(v, w, "__irshift__", &x,
PyNumber_Rshift, 0) <= 0)
return x;
- } else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
- (f = v->ob_type->tp_as_number->nb_inplace_rshift) != NULL)
+ }
+ else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
+ (f = v->ob_type->tp_as_number->nb_inplace_rshift) != NULL)
return (*f)(v, w);
BINOP(v, w, "__rshift__", "__rrshift__", PyNumber_Rshift);
@@ -856,8 +861,9 @@ PyNumber_InPlaceSubtract(PyObject *v, PyObject *w)
if (PyInstance_HalfBinOp(v, w, "__isub__", &x,
PyNumber_Subtract, 0) <= 0)
return x;
- } else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
- (f = v->ob_type->tp_as_number->nb_inplace_subtract) != NULL)
+ }
+ else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
+ (f = v->ob_type->tp_as_number->nb_inplace_subtract) != NULL)
return (*f)(v, w);
BINOP(v, w, "__sub__", "__rsub__", PyNumber_Subtract);
@@ -881,18 +887,19 @@ PyObject *
PyNumber_InPlaceMultiply(PyObject *v, PyObject *w)
{
PyObject * (*f)(PyObject *, PyObject *) = NULL;
- PyObject * (*f2)(PyObject *, int) = NULL;
+ PyObject * (*g)(PyObject *, int) = NULL;
PyObject *x;
if (PyInstance_Check(v)) {
if (PyInstance_HalfBinOp(v, w, "__imul__", &x,
PyNumber_Multiply, 0) <= 0)
return x;
- } else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
- (f = v->ob_type->tp_as_number->nb_inplace_multiply) != NULL)
+ }
+ else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
+ (f = v->ob_type->tp_as_number->nb_inplace_multiply) != NULL)
return (*f)(v, w);
else if (v->ob_type->tp_as_sequence != NULL && HASINPLACE(v) &&
- (f2 = v->ob_type->tp_as_sequence->sq_inplace_repeat) != NULL) {
+ (g = v->ob_type->tp_as_sequence->sq_inplace_repeat) != NULL) {
long mul_value;
if (PyInt_Check(w)) {
@@ -907,18 +914,11 @@ PyNumber_InPlaceMultiply(PyObject *v, PyObject *w)
return type_error(
"can't multiply sequence with non-int");
}
- return (*f2)(v, (int)mul_value);
+ return (*g)(v, (int)mul_value);
}
+
BINOP(v, w, "__mul__", "__rmul__", PyNumber_Multiply);
-/* if (tp->tp_as_number != NULL &&
- w->ob_type->tp_as_sequence != NULL) { */
- /* number*sequence -- swap v and w */
-/* PyObject *tmp = v;
- v = w;
- w = tmp;
- tp = v->ob_type;
- } */
if (v->ob_type->tp_as_number != NULL) {
if (PyNumber_Coerce(&v, &w) != 0)
return NULL;
@@ -929,8 +929,9 @@ PyNumber_InPlaceMultiply(PyObject *v, PyObject *w)
Py_DECREF(w);
if (f != NULL)
return x;
- } else if (v->ob_type->tp_as_sequence != NULL &&
- (f2 = v->ob_type->tp_as_sequence->sq_repeat) != NULL) {
+ }
+ else if (v->ob_type->tp_as_sequence != NULL &&
+ (g = v->ob_type->tp_as_sequence->sq_repeat) != NULL) {
long mul_value;
if (PyInt_Check(w)) {
@@ -945,7 +946,7 @@ PyNumber_InPlaceMultiply(PyObject *v, PyObject *w)
return type_error(
"can't multiply sequence with non-int");
}
- return (*f2)(v, (int)mul_value);
+ return (*g)(v, (int)mul_value);
}
return type_error("bad operand type(s) for *=");
}
@@ -960,8 +961,9 @@ PyNumber_InPlaceDivide(PyObject *v, PyObject *w)
if (PyInstance_HalfBinOp(v, w, "__idiv__", &x,
PyNumber_Divide, 0) <= 0)
return x;
- } else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
- (f = v->ob_type->tp_as_number->nb_inplace_divide) != NULL)
+ }
+ else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
+ (f = v->ob_type->tp_as_number->nb_inplace_divide) != NULL)
return (*f)(v, w);
BINOP(v, w, "__div__", "__rdiv__", PyNumber_Divide);
@@ -991,8 +993,9 @@ PyNumber_InPlaceRemainder(PyObject *v, PyObject *w)
if (PyInstance_HalfBinOp(v, w, "__imod__", &x,
PyNumber_Remainder, 0) <= 0)
return x;
- } else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
- (f = v->ob_type->tp_as_number->nb_inplace_remainder) != NULL)
+ }
+ else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
+ (f = v->ob_type->tp_as_number->nb_inplace_remainder) != NULL)
return (*f)(v, w);
if (PyString_Check(v))
@@ -1028,8 +1031,9 @@ do_inplace_pow(PyObject *v, PyObject *w)
if (PyInstance_Check(v)) {
if (PyInstance_HalfBinOp(v, w, "__ipow__", &x, do_pow, 0) <= 0)
return x;
- } else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
- (f = v->ob_type->tp_as_number->nb_inplace_power) != NULL)
+ }
+ else if (v->ob_type->tp_as_number != NULL && HASINPLACE(v) &&
+ (f = v->ob_type->tp_as_number->nb_inplace_power) != NULL)
return (*f)(v, w, Py_None);
BINOP(v, w, "__pow__", "__rpow__", do_pow);
@@ -1064,7 +1068,8 @@ PyNumber_InPlacePower(PyObject *v, PyObject *w, PyObject *z)
if (v->ob_type->tp_as_number == NULL ||
z->ob_type->tp_as_number == NULL ||
w->ob_type->tp_as_number == NULL) {
- return type_error("(inplace) pow(x, y, z) requires numeric arguments");
+ return type_error(
+ "(inplace) pow(x, y, z) requires numeric arguments");
}
oldv = v;
Py_INCREF(oldv);
@@ -1079,7 +1084,8 @@ PyNumber_InPlacePower(PyObject *v, PyObject *w, PyObject *z)
z2 = z1;
if (PyNumber_Coerce(&w2, &z2) != 0)
goto error1;
- if (oldv == v1 && HASINPLACE(v1) && v->ob_type->tp_as_number != NULL &&
+ if (oldv == v1 && HASINPLACE(v1) &&
+ v->ob_type->tp_as_number != NULL &&
(f = v1->ob_type->tp_as_number->nb_inplace_power) != NULL)
res = (*f)(v1, w2, z2);
else if (v1->ob_type->tp_as_number != NULL &&
@@ -1087,7 +1093,7 @@ PyNumber_InPlacePower(PyObject *v, PyObject *w, PyObject *z)
res = (*f)(v1, w2, z2);
else
res = type_error(
- "(inplace) pow(x, y, z) not defined for these operands");
+ "(inplace) pow(x, y, z) not defined for these operands");
Py_DECREF(w2);
Py_DECREF(z2);
error1: