Use PyInt_AS_LONG macro instead of explicit inlining.

This commit is contained in:
Guido van Rossum 1998-12-04 18:51:36 +00:00
parent d5516bc45f
commit cf183acf15

View file

@ -799,8 +799,8 @@ eval_code2(co, globals, locals,
if (PyInt_Check(v) && PyInt_Check(w)) { if (PyInt_Check(v) && PyInt_Check(w)) {
/* INLINE: int + int */ /* INLINE: int + int */
register long a, b, i; register long a, b, i;
a = ((PyIntObject*) v)->ob_ival; a = PyInt_AS_LONG(v);
b = ((PyIntObject*) w)->ob_ival; b = PyInt_AS_LONG(w);
i = a + b; i = a + b;
if ((i^a) < 0 && (i^b) < 0) { if ((i^a) < 0 && (i^b) < 0) {
PyErr_SetString(PyExc_OverflowError, PyErr_SetString(PyExc_OverflowError,
@ -824,8 +824,8 @@ eval_code2(co, globals, locals,
if (PyInt_Check(v) && PyInt_Check(w)) { if (PyInt_Check(v) && PyInt_Check(w)) {
/* INLINE: int - int */ /* INLINE: int - int */
register long a, b, i; register long a, b, i;
a = ((PyIntObject*) v)->ob_ival; a = PyInt_AS_LONG(v);
b = ((PyIntObject*) w)->ob_ival; b = PyInt_AS_LONG(w);
i = a - b; i = a - b;
if ((i^a) < 0 && (i^~b) < 0) { if ((i^a) < 0 && (i^~b) < 0) {
PyErr_SetString(PyExc_OverflowError, PyErr_SetString(PyExc_OverflowError,
@ -1390,8 +1390,8 @@ eval_code2(co, globals, locals,
/* INLINE: cmp(int, int) */ /* INLINE: cmp(int, int) */
register long a, b; register long a, b;
register int res; register int res;
a = ((PyIntObject*) v)->ob_ival; a = PyInt_AS_LONG(v);
b = ((PyIntObject*) w)->ob_ival; b = PyInt_AS_LONG(w);
switch (oparg) { switch (oparg) {
case LT: res = a < b; break; case LT: res = a < b; break;
case LE: res = a <= b; break; case LE: res = a <= b; break;