From db44021dcdd36edef6c95bfcb13211c9a679aea8 Mon Sep 17 00:00:00 2001 From: Mihai Cara Date: Mon, 9 Sep 2024 00:59:54 -0400 Subject: [PATCH] Improve compatibility with numpy 2.0 --- gwcs/region.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gwcs/region.py b/gwcs/region.py index 29665505..447377b0 100644 --- a/gwcs/region.py +++ b/gwcs/region.py @@ -372,21 +372,25 @@ def intersection(self, edge): u = self._stop - self._start v = edge._stop - edge._start w = self._start - edge._start - D = np.cross(u, v) + D = _cross(u, v) - if np.allclose(np.cross(u, v), 0, rtol=0, + if np.allclose(D, 0, rtol=0, atol=1e2 * np.finfo(float).eps): return np.array(self._start) - return np.cross(v, w) / D * u + self._start + return _cross(v, w) / D * u + self._start def is_parallel(self, edge): u = self._stop - self._start v = edge._stop - edge._start - return np.allclose(np.cross(u, v), 0, rtol=0, + return np.allclose(_cross(u, v), 0, rtol=0, atol=1e2 * np.finfo(float).eps) +def _cross(u, v): + return u[0] * v[1] - u[1] * v[0] + + def _round_vertex(v): x, y = v return (int(round(x)), int(round(y)))