mirror of
https://github.com/python/cpython
synced 2024-09-05 16:38:56 +00:00
Fix comparing complex to non-complex numbers.
This commit is contained in:
parent
4886cc331f
commit
18a67ba0bd
28
BROKEN
28
BROKEN
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue