def isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0):
a = _make_complex(a)
b = _make_complex(b)
rel_tol = float(rel_tol)
abs_tol = float(abs_tol)
if rel_tol < 0 or abs_tol < 0:
raise ValueError("tolerances must be non-negative")
if a.real == b.real and a.imag == b.imag:
return True
if math.isinf(a.real) or math.isinf(a.imag) or math.isinf(b.real) \
or math.isinf(b.imag):
return False
# if isnan(a) or isnan(b):
# return False
diff = abs(a-b)
return diff <= rel_tol * abs(a) or diff <= rel_tol * abs(b) or diff <= abs_tol
评论列表
文章目录