Commit cce2f217 authored by Mark Dickinson's avatar Mark Dickinson

Issue 4910, patch 2 of (probably) 3: pave the way for renaming of

nb_long:  remove last remaining use of nb_long
(in the struct module) from the core, set nb_long slots on all builtin
and extension types to 0, and remove uses of __long__ in test_complex
and test_binop.

Reviewed by Benjamin Peterson.
parent 29500f64
...@@ -77,12 +77,6 @@ class Rat(object): ...@@ -77,12 +77,6 @@ class Rat(object):
repr(self)) repr(self))
raise ValueError("can't convert %s to int" % repr(self)) raise ValueError("can't convert %s to int" % repr(self))
def __long__(self):
"""Convert a Rat to an long; self.den must be 1."""
if self.__den == 1:
return int(self.__num)
raise ValueError("can't convert %s to long" % repr(self))
def __add__(self, other): def __add__(self, other):
"""Add two Rats, or a Rat and a number.""" """Add two Rats, or a Rat and a number."""
if isint(other): if isint(other):
......
...@@ -182,11 +182,9 @@ class CMathTests(unittest.TestCase): ...@@ -182,11 +182,9 @@ class CMathTests(unittest.TestCase):
pass pass
class MyInt(object): class MyInt(object):
def __int__(self): return 2 def __int__(self): return 2
def __long__(self): return 2
def __index__(self): return 2 def __index__(self): return 2
class MyIntOS: class MyIntOS:
def __int__(self): return 2 def __int__(self): return 2
def __long__(self): return 2
def __index__(self): return 2 def __index__(self): return 2
# other possible combinations of __float__ and __complex__ # other possible combinations of __float__ and __complex__
...@@ -219,7 +217,7 @@ class CMathTests(unittest.TestCase): ...@@ -219,7 +217,7 @@ class CMathTests(unittest.TestCase):
self.assertEqual(f(JustFloatOS()), f(flt_arg)) self.assertEqual(f(JustFloatOS()), f(flt_arg))
# TypeError should be raised for classes not providing # TypeError should be raised for classes not providing
# either __complex__ or __float__, even if they provide # either __complex__ or __float__, even if they provide
# __int__, __long__ or __index__. An old-style class # __int__ or __index__. An old-style class
# currently raises AttributeError instead of a TypeError; # currently raises AttributeError instead of a TypeError;
# this could be considered a bug. # this could be considered a bug.
self.assertRaises(TypeError, f, NeitherComplexNorFloat()) self.assertRaises(TypeError, f, NeitherComplexNorFloat())
......
...@@ -127,8 +127,8 @@ get_pylong(PyObject *v) ...@@ -127,8 +127,8 @@ get_pylong(PyObject *v)
return v; return v;
} }
m = Py_TYPE(v)->tp_as_number; m = Py_TYPE(v)->tp_as_number;
if (m != NULL && m->nb_long != NULL) { if (m != NULL && m->nb_int != NULL) {
v = m->nb_long(v); v = m->nb_int(v);
if (v == NULL) if (v == NULL)
return NULL; return NULL;
if (PyLong_Check(v)) if (PyLong_Check(v))
......
...@@ -660,14 +660,6 @@ complex_int(PyObject *v) ...@@ -660,14 +660,6 @@ complex_int(PyObject *v)
return NULL; return NULL;
} }
static PyObject *
complex_long(PyObject *v)
{
PyErr_SetString(PyExc_TypeError,
"can't convert complex to long; use long(abs(z))");
return NULL;
}
static PyObject * static PyObject *
complex_float(PyObject *v) complex_float(PyObject *v)
{ {
...@@ -1068,7 +1060,7 @@ static PyNumberMethods complex_as_number = { ...@@ -1068,7 +1060,7 @@ static PyNumberMethods complex_as_number = {
0, /* nb_xor */ 0, /* nb_xor */
0, /* nb_or */ 0, /* nb_or */
complex_int, /* nb_int */ complex_int, /* nb_int */
complex_long, /* nb_long */ 0, /* nb_long */
complex_float, /* nb_float */ complex_float, /* nb_float */
0, /* nb_inplace_add */ 0, /* nb_inplace_add */
0, /* nb_inplace_subtract */ 0, /* nb_inplace_subtract */
......
...@@ -1798,7 +1798,7 @@ static PyNumberMethods float_as_number = { ...@@ -1798,7 +1798,7 @@ static PyNumberMethods float_as_number = {
0, /*nb_xor*/ 0, /*nb_xor*/
0, /*nb_or*/ 0, /*nb_or*/
float_trunc, /*nb_int*/ float_trunc, /*nb_int*/
float_trunc, /*nb_long*/ 0, /*nb_long*/
float_float, /*nb_float*/ float_float, /*nb_float*/
0, /* nb_inplace_add */ 0, /* nb_inplace_add */
0, /* nb_inplace_subtract */ 0, /* nb_inplace_subtract */
......
...@@ -3830,7 +3830,7 @@ static PyNumberMethods long_as_number = { ...@@ -3830,7 +3830,7 @@ static PyNumberMethods long_as_number = {
long_xor, /*nb_xor*/ long_xor, /*nb_xor*/
long_or, /*nb_or*/ long_or, /*nb_or*/
long_long, /*nb_int*/ long_long, /*nb_int*/
long_long, /*nb_long*/ 0, /*nb_long*/
long_float, /*nb_float*/ long_float, /*nb_float*/
0, /* nb_inplace_add */ 0, /* nb_inplace_add */
0, /* nb_inplace_subtract */ 0, /* nb_inplace_subtract */
......
...@@ -489,7 +489,6 @@ WRAP_BINARY(proxy_and, PyNumber_And) ...@@ -489,7 +489,6 @@ WRAP_BINARY(proxy_and, PyNumber_And)
WRAP_BINARY(proxy_xor, PyNumber_Xor) WRAP_BINARY(proxy_xor, PyNumber_Xor)
WRAP_BINARY(proxy_or, PyNumber_Or) WRAP_BINARY(proxy_or, PyNumber_Or)
WRAP_UNARY(proxy_int, PyNumber_Int) WRAP_UNARY(proxy_int, PyNumber_Int)
WRAP_UNARY(proxy_long, PyNumber_Long)
WRAP_UNARY(proxy_float, PyNumber_Float) WRAP_UNARY(proxy_float, PyNumber_Float)
WRAP_BINARY(proxy_iadd, PyNumber_InPlaceAdd) WRAP_BINARY(proxy_iadd, PyNumber_InPlaceAdd)
WRAP_BINARY(proxy_isub, PyNumber_InPlaceSubtract) WRAP_BINARY(proxy_isub, PyNumber_InPlaceSubtract)
...@@ -595,7 +594,7 @@ static PyNumberMethods proxy_as_number = { ...@@ -595,7 +594,7 @@ static PyNumberMethods proxy_as_number = {
proxy_xor, /*nb_xor*/ proxy_xor, /*nb_xor*/
proxy_or, /*nb_or*/ proxy_or, /*nb_or*/
proxy_int, /*nb_int*/ proxy_int, /*nb_int*/
proxy_long, /*nb_long*/ 0, /*nb_long*/
proxy_float, /*nb_float*/ proxy_float, /*nb_float*/
proxy_iadd, /*nb_inplace_add*/ proxy_iadd, /*nb_inplace_add*/
proxy_isub, /*nb_inplace_subtract*/ proxy_isub, /*nb_inplace_subtract*/
......
...@@ -451,7 +451,7 @@ static PyNumberMethods PyHKEY_NumberMethods = ...@@ -451,7 +451,7 @@ static PyNumberMethods PyHKEY_NumberMethods =
PyHKEY_binaryFailureFunc, /* nb_xor */ PyHKEY_binaryFailureFunc, /* nb_xor */
PyHKEY_binaryFailureFunc, /* nb_or */ PyHKEY_binaryFailureFunc, /* nb_or */
PyHKEY_intFunc, /* nb_int */ PyHKEY_intFunc, /* nb_int */
PyHKEY_unaryFailureFunc, /* nb_long */ 0, /* nb_long */
PyHKEY_unaryFailureFunc, /* nb_float */ PyHKEY_unaryFailureFunc, /* nb_float */
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment