[Python-checkins] python/dist/src/Objects longobject.c,1.138,1.139
tim_one@users.sourceforge.net
tim_one@users.sourceforge.net
Thu, 15 Aug 2002 12:41:08 -0700
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv1607/python/Objects
Modified Files:
longobject.c
Log Message:
long_mul(): Simplified exit code. In particular, k_mul() returns a
normalized result, so no point to normalizing it again. The number
of test+branches was also excessive.
Index: longobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/longobject.c,v
retrieving revision 1.138
retrieving revision 1.139
diff -C2 -d -r1.138 -r1.139
*** longobject.c 14 Aug 2002 17:07:32 -0000 1.138
--- longobject.c 15 Aug 2002 19:41:06 -0000 1.139
***************
*** 1879,1894 ****
z = k_mul(a, b);
! if(z == NULL) {
! Py_DECREF(a);
! Py_DECREF(b);
! return NULL;
! }
! if (a->ob_size < 0)
! z->ob_size = -(z->ob_size);
! if (b->ob_size < 0)
z->ob_size = -(z->ob_size);
Py_DECREF(a);
Py_DECREF(b);
! return (PyObject *) long_normalize(z);
}
--- 1879,1888 ----
z = k_mul(a, b);
! /* Negate if exactly one of the inputs is negative. */
! if (((a->ob_size ^ b->ob_size) < 0) && z)
z->ob_size = -(z->ob_size);
Py_DECREF(a);
Py_DECREF(b);
! return (PyObject *)z;
}