Files
gentoo/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch
Michał Górny 4010bd0e93 dev-python/mpmath: Bump to 1.4.0_alpha1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2024-07-02 08:58:49 +02:00

33 lines
1.4 KiB
Diff

From b80b0e08b75f41730a1116aebe34361e5d63d58c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Tue, 2 Jul 2024 08:11:58 +0200
Subject: [PATCH] Fix the comparison in test_compatibility for NumPy 2.0.0
The comparison in `mpmath/tests/test_convert.py::test_compatibility`
failed for `np.float16` in NumPy 2.0.0 since `2.0**-53` cannot be
represented in half-precision floating point type. Convert the LHS
to `np.float64` to ensure that the comparison is done in sufficiently
precise type.
This fixes the actual test failure from #815 but the deprecation warning
remains.
---
mpmath/tests/test_convert.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/mpmath/tests/test_convert.py b/mpmath/tests/test_convert.py
index 5578b245..c6ef2187 100644
--- a/mpmath/tests/test_convert.py
+++ b/mpmath/tests/test_convert.py
@@ -254,7 +254,9 @@ def test_compatibility():
# Handle the weird types
try: diff = np.abs(type(np.sqrt(x))(sqrt(x)) - np.sqrt(x))
except: continue
- assert diff < 2.0**-53
+ # numpy-2 does the comparison on LHS type, so we need to convert
+ # it to a type that can actually represent 2.0**-53
+ assert np.float64(diff) < 2.0**-53
assert mpf(np.float64('inf')) == inf
assert isnan(mp.npconvert(np.float64('nan')))
if hasattr(np, "float128"):