[Python-checkins] CVS: python/dist/src/Lib/test test_complex.py,1.3,1.4
Tim Peters
tim_one@users.sourceforge.net
Thu, 06 Sep 2001 16:00:23 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv28672
Modified Files:
test_complex.py
Log Message:
Reverting to rev 1.2. Apparently gcc doesn't use the extended-precision
capabilities of the Pentium FPU, so what should have been (and were on
Windows) exact results got fuzzy. Then it turns out test_support.fcmp()
isn't tolerant of tiny errors when *one* of the comparands is 0, but
test_complex's old check_close_real() is. Rather than fix gcc <wink>,
easier to revert this test and revisit after the release.
Index: test_complex.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_complex.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** test_complex.py 2001/09/06 22:07:50 1.3
--- test_complex.py 2001/09/06 23:00:21 1.4
***************
*** 1,3 ****
! from test_support import TestFailed, fcmp
from random import random
--- 1,3 ----
! from test_support import TestFailed
from random import random
***************
*** 6,12 ****
nerrors = 0
! def check_close(x, y):
"""Return true iff complexes x and y "are close\""""
! return fcmp(x.real, y.real) == 0 == fcmp(x.imag, y.imag)
def test_div(x, y):
--- 6,25 ----
nerrors = 0
! def check_close_real(x, y, eps=1e-9):
! """Return true iff floats x and y "are close\""""
! # put the one with larger magnitude second
! if abs(x) > abs(y):
! x, y = y, x
! if y == 0:
! return abs(x) < eps
! if x == 0:
! return abs(y) < eps
! # check that relative difference < eps
! return abs((x-y)/y) < eps
!
! def check_close(x, y, eps=1e-9):
"""Return true iff complexes x and y "are close\""""
! return check_close_real(x.real, y.real, eps) and \
! check_close_real(x.imag, y.imag, eps)
def test_div(x, y):