From 436fcccf8273c463e06862cbeae8c221ee57da9d Mon Sep 17 00:00:00 2001 From: Luke Campagnola Date: Fri, 27 Apr 2018 19:07:22 -0700 Subject: [PATCH] Avoid overflow in Point.length by using trig functions or returning inf --- pyqtgraph/Point.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pyqtgraph/Point.py b/pyqtgraph/Point.py index 4d04f01c..3fb43cac 100644 --- a/pyqtgraph/Point.py +++ b/pyqtgraph/Point.py @@ -105,7 +105,13 @@ class Point(QtCore.QPointF): def length(self): """Returns the vector length of this Point.""" - return (self[0]**2 + self[1]**2) ** 0.5 + try: + return (self[0]**2 + self[1]**2) ** 0.5 + except OverflowError: + try: + return self[1] / np.sin(np.arctan2(self[1], self[0])) + except OverflowError: + return np.inf def norm(self): """Returns a vector in the same direction with unit length."""