Mercurial > cpython-lru_cache-weakref
diff Objects/floatobject.c @ 45095:5cb8288360e7 legacy-trunk
Integer ratio should return ints instead of longs whereever possible.
| author | Raymond Hettinger <python@rcn.com> |
|---|---|
| date | Fri, 01 Feb 2008 22:15:52 +0000 |
| parents | beea73ca2b88 |
| children | d12c97cc7467 |
line wrap: on
line diff
--- a/Objects/floatobject.c Fri Feb 01 21:30:23 2008 +0000 +++ b/Objects/floatobject.c Fri Feb 01 22:15:52 2008 +0000 @@ -1201,8 +1201,8 @@ if (numerator == NULL) goto error; /* now self = numerator * 2**exponent exactly; fold in 2**exponent */ - denominator = PyInt_FromLong(1); - py_exponent = PyInt_FromLong(labs(exponent)); + denominator = PyLong_FromLong(1); + py_exponent = PyLong_FromLong(labs(exponent)); if (py_exponent == NULL) goto error; INPLACE_UPDATE(py_exponent, long_methods->nb_lshift(denominator, py_exponent)); @@ -1219,6 +1219,12 @@ py_exponent = NULL; } + /* Returns ints instead of longs where possible */ + INPLACE_UPDATE(numerator, PyNumber_Int(numerator)); + if (numerator == NULL) goto error; + INPLACE_UPDATE(denominator, PyNumber_Int(denominator)); + if (denominator == NULL) goto error; + result_pair = PyTuple_Pack(2, numerator, denominator); #undef INPLACE_UPDATE
