summaryrefslogtreecommitdiff
path: root/dev-python/mpmath
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/mpmath')
-rw-r--r--dev-python/mpmath/Manifest3
-rw-r--r--dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch32
-rw-r--r--dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild63
3 files changed, 98 insertions, 0 deletions
diff --git a/dev-python/mpmath/Manifest b/dev-python/mpmath/Manifest
index f225c703662b..bc337dfcdcc0 100644
--- a/dev-python/mpmath/Manifest
+++ b/dev-python/mpmath/Manifest
@@ -1,3 +1,6 @@
+AUX mpmath-1.4.0_alpha1-numpy-2.patch 1394 BLAKE2B f36c132cb850fc4a9f13a1476d437e748d034cd0fe106589e10c5798fc9df3e53634576b58611846f839bfef8087f21442f3a0fa2bc7df204359cf83d14e6712 SHA512 01b172592d2540a60c7af0c99d54e1a52180187f787ded33b275127e929e7832576c2708865268635d16bae0429e406ae69aafa51e8f4ddc26299e9490a24d8e
DIST mpmath-1.3.0.tar.gz 508106 BLAKE2B 9d4eebbbb6788dd3ee45c8c30068ef3512043dd09ab626cbaf69b0f6bdf057a6e8c53c34e3dda7627db923f0d536a0bebf83916d8942f4dde9546bb8e0046f33 SHA512 a68028150095d743eae9669a0f70cbe6b7bcb4d27dfad6b1a96575f0885ec7306459a2a464117bab18779883ee8b4293502b4bd0ebd8672767e1d08d38f8b202
+DIST mpmath-1.4.0a1.tar.gz 2063946 BLAKE2B 0c6a86b1c8dc9addc3eb82586d4c4182ae6a9318cbe45d4fc699b9fbf9539774ae30f11c2d50137a3aa16ed4b0c328990483c2ceea812f86751cfa3ce419de5c SHA512 260afb20faaa949b89054ced3b039e346086d47c6ea018c8d226a0c42d9aa8f792611fe709c894a0df6930a0703dc8cfcf814432eba7ac977a821effd8879903
EBUILD mpmath-1.3.0-r1.ebuild 835 BLAKE2B 04891d93119b8ca528ed3c5ee95f8ddd0a1339b879389c157e339ef03ec4abce8ff994acc63fbca439edd4765e369f586f0cdc4038b72275af790ccfb5fa87b6 SHA512 10dc2787765a731390c8ab894001b8dd78396b21b7d21ba1a9c585be360cbe80d81a2daddc8ab8189f4c6708e39db58ce591850f448424920a2fdcc2b0936c7a
+EBUILD mpmath-1.4.0_alpha1.ebuild 1624 BLAKE2B 39b22476d04d12f2edf481983bc4c290afe9c67cca34c0d119cce0230f7c613a47425018375526e0ba85e78118afd7f73cd05d8b6a84c2c3603aa8a0f5861bca SHA512 52824df6c1ba3e667ffff2090b4b7569f442e3cc19b29400987519c601c698f46ae99f84f2d11f5db50726db73dc21aaa455bb6e33f67faaed57a2c8a4ab3dd5
MISC metadata.xml 624 BLAKE2B 8526d1f6329f8cb4d2ee5a9ae73dc5bf3861adce5beaa6a0aaf5abb918de11ad1ab0c5c206331bd4eaeaa7bdeda0c6ea6a2007492825be0545caa121f41abd6c SHA512 dc4c6f5e82ce735e70bdc1bbfbc01f9c1d62c2d46c54a173287a59b90882aa09945da39bb41e7b28f6d0066851e2adf07f0b7033aa77cc5620491864e89f188e
diff --git a/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch b/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch
new file mode 100644
index 000000000000..13b6ffc9a94f
--- /dev/null
+++ b/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch
@@ -0,0 +1,32 @@
+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"):
diff --git a/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild b/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild
new file mode 100644
index 000000000000..ef235883f25d
--- /dev/null
+++ b/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python library for arbitrary-precision floating-point arithmetic"
+HOMEPAGE="
+ https://mpmath.org/
+ https://github.com/mpmath/mpmath/
+ https://pypi.org/project/mpmath/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/gmpy[${PYTHON_USEDEP}]
+ ' 'python3*')
+ $(python_gen_cond_dep '
+ dev-python/ipython[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/mpmath/mpmath/pull/816
+ "${FILESDIR}/${P}-numpy-2.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ mpmath/tests/test_cli.py::test_bare_console_bare_division
+ mpmath/tests/test_cli.py::test_bare_console_no_bare_division
+ mpmath/tests/test_cli.py::test_bare_console_pretty
+ mpmath/tests/test_cli.py::test_bare_console_without_ipython
+ mpmath/tests/test_cli.py::test_bare_console_wrap_floats
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=5
+}
+
+pkg_postinst() {
+ optfeature "gmp support" dev-python/gmpy
+ optfeature "matplotlib support" dev-python/matplotlib
+}