summaryrefslogtreecommitdiff
path: root/dev-python/gfloat
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/gfloat')
-rw-r--r--dev-python/gfloat/Manifest1
-rw-r--r--dev-python/gfloat/files/gfloat-0.5.2-32bit.patch97
-rw-r--r--dev-python/gfloat/gfloat-0.5.2-r1.ebuild77
-rw-r--r--dev-python/gfloat/metadata.xml11
4 files changed, 0 insertions, 186 deletions
diff --git a/dev-python/gfloat/Manifest b/dev-python/gfloat/Manifest
deleted file mode 100644
index 4c5bffbdc60a..000000000000
--- a/dev-python/gfloat/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST gfloat-0.5.2.tar.gz 657852 BLAKE2B a88446064bde5a739c361571058f5cf217d8433cd8b57c66ad159ea84c248059dc04c1167ca243494b4de8155639f8ccff3aed73f9bd67748202f53aa7e6c01c SHA512 accacc12e56c874819a8711bc10dd4f1a3cfaa804e0a98360bf29318c5d9d60acdb75d59bb415c8cfd14f72ed01ccc181d7cc2172433ab6400f200b3e72686a8
diff --git a/dev-python/gfloat/files/gfloat-0.5.2-32bit.patch b/dev-python/gfloat/files/gfloat-0.5.2-32bit.patch
deleted file mode 100644
index 8394329b4fa3..000000000000
--- a/dev-python/gfloat/files/gfloat-0.5.2-32bit.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 0d48e9df6870bfa9ffeceef86d26fdae70535e5a Mon Sep 17 00:00:00 2001
-From: Andrew Fitzgibbon <awf@fitzgibbon.ie>
-Date: Fri, 17 Apr 2026 11:40:37 +0100
-Subject: [PATCH 3/3] 32-bit fixes
-
----
- src/gfloat/decode_ndarray.py | 6 ++++--
- src/gfloat/encode_ndarray.py | 11 ++++++-----
- test/test_array_api.py | 2 +-
- test/test_round.py | 4 ++--
- 4 files changed, 13 insertions(+), 10 deletions(-)
-
-diff --git a/src/gfloat/decode_ndarray.py b/src/gfloat/decode_ndarray.py
-index 7d93c13..0e79b77 100644
---- a/src/gfloat/decode_ndarray.py
-+++ b/src/gfloat/decode_ndarray.py
-@@ -78,10 +78,12 @@ def decode_ndarray(
-
- issubnormal = (exp == 0) & (significand != 0) & fi.has_subnormals
- expval = np.where(issubnormal, 1 - bias, exp - bias)
-- fsignificand = np.where(issubnormal, 0.0, 1.0) + np.ldexp(significand, -t)
-+ fsignificand = np.where(issubnormal, 0.0, 1.0) + np.ldexp(
-+ significand.astype(np.float64), np.int32(-t)
-+ )
-
- # Normal/Subnormal/Zero case, other values will be overwritten
-- expval_safe = np.where(isspecial | iszero, 0, expval)
-+ expval_safe = np.where(isspecial | iszero, 0, expval).astype(np.int32)
- fval_finite_safe = sign * np.ldexp(fsignificand, expval_safe)
- fval = np.where(~(iszero | isspecial), fval_finite_safe, fval)
-
-diff --git a/src/gfloat/encode_ndarray.py b/src/gfloat/encode_ndarray.py
-index 183865d..af883e4 100644
---- a/src/gfloat/encode_ndarray.py
-+++ b/src/gfloat/encode_ndarray.py
-@@ -66,11 +66,11 @@ def encode_ndarray(fi: FormatInfo, v: npt.NDArray) -> npt.NDArray:
- biased_exp = exp.astype(np.int64) + (fi.bias - 1)
- subnormal_mask = (biased_exp < 1) & fi.has_subnormals
-
-- biased_exp_safe = np.where(subnormal_mask, biased_exp, 0)
-+ biased_exp_safe = np.where(subnormal_mask, biased_exp, 0).astype(np.int32)
- tsig = np.where(subnormal_mask, np.ldexp(sig, biased_exp_safe), sig * 2 - 1.0)
- biased_exp[subnormal_mask] = 0
-
-- isig = np.floor(np.ldexp(tsig, t)).astype(np.int64)
-+ isig = np.floor(np.ldexp(tsig, np.int32(t))).astype(np.int64)
-
- zero_mask = fi.has_zero & (isig == 0) & (biased_exp == 0)
- if not fi.has_nz:
-@@ -80,8 +80,9 @@ def encode_ndarray(fi: FormatInfo, v: npt.NDArray) -> npt.NDArray:
- if fi.is_twos_complement:
- isig[finite_sign] = (1 << t) - isig[finite_sign]
-
-- code[finite_mask] = (
-- (finite_sign.astype(int) << (k - 1)) | (biased_exp << t) | (isig << 0)
-- )
-+ sign_field = np.left_shift(finite_sign.astype(np.uint64), np.uint64(k - 1))
-+ exp_field = np.left_shift(biased_exp.astype(np.uint64), np.uint64(t))
-+ sig_field = isig.astype(np.uint64)
-+ code[finite_mask] = sign_field | exp_field | sig_field
-
- return code
-diff --git a/test/test_array_api.py b/test/test_array_api.py
-index 832c2d7..7de8f70 100644
---- a/test/test_array_api.py
-+++ b/test/test_array_api.py
-@@ -25,7 +25,7 @@ def test_array_api(fi: FormatInfo, rnd: RoundMode, sat: bool) -> None:
- a = xp.asarray(a0)
-
- srnumbits = 32
-- srbits0 = np.random.randint(0, 2**srnumbits, a.shape)
-+ srbits0 = np.random.randint(0, 2**srnumbits, a.shape, dtype=np.int64)
- srbits = xp.asarray(srbits0)
-
- round_ndarray(fi, a, rnd, sat, srbits=srbits, srnumbits=srnumbits) # type: ignore
-diff --git a/test/test_round.py b/test/test_round.py
-index 27c798e..dbde64e 100644
---- a/test/test_round.py
-+++ b/test/test_round.py
-@@ -537,7 +537,7 @@ def test_stochastic_rounding(
- n = 10_000
- expected_up_count = expected_up * n
-
-- srbits = np.random.randint(0, 2**srnumbits, size=(n,))
-+ srbits = np.random.randint(0, 2**srnumbits, size=(n,), dtype=np.int64)
- if impl == "scalar":
- count_v1 = 0
- for k in range(n):
-@@ -591,7 +591,7 @@ def test_stochastic_rounding_scalar_eq_array(
- for alpha in (0, 0.3, 0.5, 0.6, 0.7, 0.9, 1.25):
- v = _linterp(v0, v1, alpha)
- assert np.isfinite(v).all()
-- srbits = np.random.randint(0, 2**srnumbits, v.shape)
-+ srbits = np.random.randint(0, 2**srnumbits, v.shape, dtype=np.int64)
-
- val_array = round_ndarray(
- fi,
diff --git a/dev-python/gfloat/gfloat-0.5.2-r1.ebuild b/dev-python/gfloat/gfloat-0.5.2-r1.ebuild
deleted file mode 100644
index b545ecf5f33e..000000000000
--- a/dev-python/gfloat/gfloat-0.5.2-r1.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 2024-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Generic floating-point types in Python"
-HOMEPAGE="
- https://github.com/graphcore-research/gfloat/
- https://pypi.org/project/gfloat/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-IUSE="test-rust"
-
-RDEPEND="
- dev-python/array-api-compat[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/ml-dtypes[${PYTHON_USEDEP}]
- dev-python/tabulate[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/nbval[${PYTHON_USEDEP}]
- )
- !arm? (
- dev-python/jinja2[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- )
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/graphcore-research/gfloat/pull/60
- "${FILESDIR}/${P}-32bit.patch"
-)
-
-python_test() {
- local EPYTEST_IGNORE=(
- # requires array-api-strict (probably not very valuable downstream)
- test/test_array_api.py
- # require jax
- docs/source/03-value-tables.ipynb
- docs/source/04-benchmark.ipynb
- test/test_jax.py
- # requires mx (possibly git version), torch
- test/test_microxcaling.py
- # requires torch
- test/test_torch.py
- )
-
- if ! has_version "dev-python/jinja2[${PYTHON_USEDEP}]" ||
- ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"
- then
- EPYTEST_IGNORE+=(
- docs/source
- )
- fi
-
- if has_version "dev-python/nbval[${PYTHON_USEDEP}]"; then
- epytest -p nbval
- else
- epytest -o addopts=
- fi
-}
diff --git a/dev-python/gfloat/metadata.xml b/dev-python/gfloat/metadata.xml
deleted file mode 100644
index 3c2f1ee74595..000000000000
--- a/dev-python/gfloat/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="github">graphcore-research/gfloat</remote-id>
- <remote-id type="pypi">gfloat</remote-id>
- </upstream>
-</pkgmetadata>