use isinstance instead of type. Use bool instead of int for flag.

This commit is contained in:
Neal Norwitz 2006-08-21 16:27:31 +00:00
parent 48563e840b
commit 79212998a8
1 changed files with 4 additions and 5 deletions

View File

@ -110,15 +110,14 @@ def bind_port(sock, host='', preferred_port=54321):
FUZZ = 1e-6 FUZZ = 1e-6
def fcmp(x, y): # fuzzy comparison function def fcmp(x, y): # fuzzy comparison function
if type(x) == type(0.0) or type(y) == type(0.0): if isinstance(x, float) or isinstance(y, float):
try: try:
x, y = coerce(x, y)
fuzz = (abs(x) + abs(y)) * FUZZ fuzz = (abs(x) + abs(y)) * FUZZ
if abs(x-y) <= fuzz: if abs(x-y) <= fuzz:
return 0 return 0
except: except:
pass pass
elif type(x) == type(y) and type(x) in (type(()), type([])): elif type(x) == type(y) and isinstance(x, (tuple, list)):
for i in range(min(len(x), len(y))): for i in range(min(len(x), len(y))):
outcome = fcmp(x[i], y[i]) outcome = fcmp(x[i], y[i])
if outcome != 0: if outcome != 0:
@ -128,9 +127,9 @@ def fcmp(x, y): # fuzzy comparison function
try: try:
unicode unicode
have_unicode = 1 have_unicode = True
except NameError: except NameError:
have_unicode = 0 have_unicode = False
is_jython = sys.platform.startswith('java') is_jython = sys.platform.startswith('java')