From 9b2f8599e6506632692c0eb4968cfc5b82a5682d Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Wed, 12 Mar 2025 23:09:45 -0700 Subject: [PATCH] [utils.curves] use numpy.trapezoid for 2.0 compatibility fall back to trapz if import fails --- masque/utils/curves.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/masque/utils/curves.py b/masque/utils/curves.py index 027d205..b664835 100644 --- a/masque/utils/curves.py +++ b/masque/utils/curves.py @@ -2,6 +2,11 @@ import numpy from numpy.typing import ArrayLike, NDArray from numpy import pi +try: + from numpy import trapezoid +except ImportError: + from numpy import trapz as trapezoid + def bezier( nodes: ArrayLike, @@ -68,8 +73,8 @@ def euler_bend( yy = [] for ll in numpy.linspace(0, ll_max, num_points_spiral): qq = numpy.linspace(0, ll, 1000) # integrate to current arclength - xx.append(numpy.trapz( numpy.cos(qq * qq / 2), qq)) - yy.append(numpy.trapz(-numpy.sin(qq * qq / 2), qq)) + xx.append(trapezoid( numpy.cos(qq * qq / 2), qq)) + yy.append(trapezoid(-numpy.sin(qq * qq / 2), qq)) xy_part = numpy.stack((xx, yy), axis=1) return xy_part