diff options
author | Guido van Rossum <guido@python.org> | 2006-03-07 18:50:55 +0000 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2006-03-07 18:50:55 +0000 |
commit | 8cfdc49ae03974b726502ccd7175ab9b7ced9e7b (patch) | |
tree | 2d513b7c885bab75ac6b9ee1d3f73f2ff6995ad3 /Modules/operator.c | |
parent | fc889bb8c409057b5d2036767a29ad53c8f81fe1 (diff) | |
download | cpython-8cfdc49ae03974b726502ccd7175ab9b7ced9e7b.tar.gz |
Checking in the code for PEP 357.
This was mostly written by Travis Oliphant.
I've inspected it all; Neal Norwitz and MvL have also looked at it
(in an earlier incarnation).
Diffstat (limited to 'Modules/operator.c')
-rw-r--r-- | Modules/operator.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Modules/operator.c b/Modules/operator.c index 1a2ef852b9..53144f164f 100644 --- a/Modules/operator.c +++ b/Modules/operator.c @@ -130,6 +130,20 @@ op_ipow(PyObject *s, PyObject *a) return NULL; } +static PyObject * +op_index(PyObject *s, PyObject *a) +{ + Py_ssize_t i; + PyObject *a1; + if (!PyArg_UnpackTuple(a,"index", 1, 1, &a1)) + return NULL; + i = PyNumber_Index(a1); + if (i == -1 && PyErr_Occurred()) + return NULL; + else + return PyInt_FromSsize_t(i); +} + static PyObject* is_(PyObject *s, PyObject *a) { @@ -229,6 +243,7 @@ spam1o(isMappingType, spam1(is_, "is_(a, b) -- Same as a is b.") spam1(is_not, "is_not(a, b) -- Same as a is not b.") +spam2(index, __index__, "index(a) -- Same as a.__index__()") spam2(add,__add__, "add(a, b) -- Same as a + b.") spam2(sub,__sub__, "sub(a, b) -- Same as a - b.") spam2(mul,__mul__, "mul(a, b) -- Same as a * b.") |