Commit 18a67ba0 authored by Guido van Rossum's avatar Guido van Rossum

Fix comparing complex to non-complex numbers.

parent 4886cc33
......@@ -110,31 +110,3 @@ Traceback (most recent call last):
File "../Lib/test/test_set.py", line 291, in test_remove
self.assert_(self.thetype(self.word) in s)
AssertionError
////////////////////////////////////////////////////////////////////////
test_compare
////////////////////////////////////////////////////////////////////////
test test_compare failed -- Traceback (most recent call last):
File "/Users/nnorwitz/build/python/py3k.2/Lib/test/test_compare.py", line 28, in test_comparisons
self.assertEqual(a, b)
AssertionError: 2 != (2+0j)
////////////////////////////////////////////////////////////////////////
test_complex
////////////////////////////////////////////////////////////////////////
======================================================================
FAIL: test_pow (test.test_complex.ComplexTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/nnorwitz/build/python/py3k.2/Lib/test/test_complex.py", line 130, in test_pow
self.assertEqual(a ** 0j, 1)
AssertionError: (1+0j) != 1
======================================================================
FAIL: test_richcompare (test.test_complex.ComplexTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/nnorwitz/build/python/py3k.2/Lib/test/test_complex.py", line 96, in test_richcompare
self.assertRaises(OverflowError, complex.__eq__, 1+1j, 1L<<10000)
AssertionError: OverflowError not raised
......@@ -576,19 +576,13 @@ complex_nonzero(PyComplexObject *v)
static PyObject *
complex_richcompare(PyObject *v, PyObject *w, int op)
{
Py_complex i, j;
PyObject *res;
/* Make sure both arguments are complex. */
if (!(PyComplex_Check(v) && PyComplex_Check(w))) {
Py_INCREF(Py_NotImplemented);
return Py_NotImplemented;
}
i = ((PyComplexObject *)v)->cval;
j = ((PyComplexObject *)w)->cval;
Py_complex i, j;
TO_COMPLEX(v, i);
TO_COMPLEX(w, j);
if (op != Py_EQ && op != Py_NE) {
/* XXX Should eventually return NotImplemented */
PyErr_SetString(PyExc_TypeError,
"no ordering relation is defined for complex numbers");
return NULL;
......
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