summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_complex.py19
1 files changed, 16 insertions, 3 deletions
diff --git a/Lib/test/test_complex.py b/Lib/test/test_complex.py
index 0e268ab..9faab71 100644
--- a/Lib/test/test_complex.py
+++ b/Lib/test/test_complex.py
@@ -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."""