mirror of
https://github.com/python/cpython.git
synced 2025-10-17 12:18:23 +00:00
Merged revisions 63856-63857,63859-63860 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r63856 | robert.schuppenies | 2008-06-01 18:16:17 +0200 (So, 01 Jun 2008) | 2 lines Issue #2898: Added sys.getsizeof() to retrieve size of objects in bytes. ........ r63859 | georg.brandl | 2008-06-01 18:42:16 +0200 (So, 01 Jun 2008) | 2 lines Some style nits. Also clarify in the docstrings what __sizeof__ does. ........ r63860 | georg.brandl | 2008-06-01 19:05:56 +0200 (So, 01 Jun 2008) | 2 lines Fix test_descrtut. ........
This commit is contained in:
parent
01a7d82432
commit
00709aaa3d
9 changed files with 254 additions and 2 deletions
|
@ -3625,6 +3625,17 @@ long_round(PyObject *self, PyObject *args)
|
|||
#undef UNDEF_NDIGITS
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
long_sizeof(PyLongObject *v)
|
||||
{
|
||||
Py_ssize_t res;
|
||||
|
||||
res = sizeof(PyLongObject) + abs(Py_SIZE(v)) * sizeof(digit);
|
||||
if (Py_SIZE(v) != 0)
|
||||
res -= sizeof(digit);
|
||||
return PyLong_FromSsize_t(res);
|
||||
}
|
||||
|
||||
#if 0
|
||||
static PyObject *
|
||||
long_is_finite(PyObject *v)
|
||||
|
@ -3651,6 +3662,8 @@ static PyMethodDef long_methods[] = {
|
|||
"Rounding with an ndigits arguments defers to float.__round__."},
|
||||
{"__getnewargs__", (PyCFunction)long_getnewargs, METH_NOARGS},
|
||||
{"__format__", (PyCFunction)long__format__, METH_VARARGS},
|
||||
{"__sizeof__", (PyCFunction)long_sizeof, METH_NOARGS,
|
||||
"Returns size in memory, in bytes"},
|
||||
{NULL, NULL} /* sentinel */
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue