aboutsummaryrefslogtreecommitdiff
path: root/Lib/fontTools/misc/py23.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/fontTools/misc/py23.py')
-rw-r--r--Lib/fontTools/misc/py23.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/Lib/fontTools/misc/py23.py b/Lib/fontTools/misc/py23.py
index 0a13b6fc..37020555 100644
--- a/Lib/fontTools/misc/py23.py
+++ b/Lib/fontTools/misc/py23.py
@@ -308,6 +308,35 @@ except AttributeError:
return result
+try:
+ _isfinite = _math.isfinite # Python >= 3.2
+except AttributeError:
+ _isfinite = None
+ _isnan = _math.isnan
+ _isinf = _math.isinf
+
+
+def isfinite(f):
+ """
+ >>> isfinite(0.0)
+ True
+ >>> isfinite(-0.1)
+ True
+ >>> isfinite(1e10)
+ True
+ >>> isfinite(float("nan"))
+ False
+ >>> isfinite(float("+inf"))
+ False
+ >>> isfinite(float("-inf"))
+ False
+ """
+ if _isfinite is not None:
+ return _isfinite(f)
+ else:
+ return not (_isnan(f) or _isinf(f))
+
+
import decimal as _decimal
if PY3: