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.
This commit is contained in:
Tim Peters 2001-09-06 23:00:21 +00:00
parent 419670dc60
commit c5b235c59c
1 changed files with 16 additions and 3 deletions

View File

@ -1,13 +1,26 @@
from test_support import TestFailed, fcmp
from test_support import TestFailed
from random import random
# XXX need many, many more tests here.
nerrors = 0
def check_close(x, y):
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 fcmp(x.real, y.real) == 0 == fcmp(x.imag, y.imag)
return check_close_real(x.real, y.real, eps) and \
check_close_real(x.imag, y.imag, eps)
def test_div(x, y):
"""Compute complex z=x*y, and check that z/x==y and z/y==x."""