summaryrefslogtreecommitdiff
path: root/dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch')
-rw-r--r--dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch45
1 files changed, 39 insertions, 6 deletions
diff --git a/dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch b/dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch
index 845b41fef23a..aa381d243d88 100644
--- a/dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch
+++ b/dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch
@@ -1,8 +1,9 @@
https://bugs.gentoo.org/910739
https://github.com/numpy/numpy/issues/24239
https://github.com/numpy/numpy/pull/24240
+https://github.com/numpy/numpy/commit/d9c0c96582373de0990908c89ed75ae16279e8e5
-From f5eb12cafc99bb33dad6535dacab2f592aafb2b0 Mon Sep 17 00:00:00 2001
+From d9c0c96582373de0990908c89ed75ae16279e8e5 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Sun, 23 Jul 2023 21:31:08 +0100
Subject: [PATCH] BUG: Fix C types in scalartypes
@@ -21,16 +22,48 @@ Closes #24239.
Fixes: 81caed6e3c34c4bf4b22b4f6167e816ba2a3f73c
--- a/numpy/core/src/multiarray/scalartypes.c.src
+++ b/numpy/core/src/multiarray/scalartypes.c.src
-@@ -301,10 +301,10 @@ genint_type_str(PyObject *self)
- item = PyLong_FromUnsignedLong(*(uint32_t *)val);
+@@ -283,34 +283,34 @@ genint_type_str(PyObject *self)
+ void *val = scalar_value(self, descr);
+ switch (descr->type_num) {
+ case NPY_BYTE:
+- item = PyLong_FromLong(*(int8_t *)val);
++ item = PyLong_FromLong(*(npy_byte *)val);
+ break;
+ case NPY_UBYTE:
+- item = PyLong_FromUnsignedLong(*(uint8_t *)val);
++ item = PyLong_FromUnsignedLong(*(npy_ubyte *)val);
+ break;
+ case NPY_SHORT:
+- item = PyLong_FromLong(*(int16_t *)val);
++ item = PyLong_FromLong(*(npy_short *)val);
+ break;
+ case NPY_USHORT:
+- item = PyLong_FromUnsignedLong(*(uint16_t *)val);
++ item = PyLong_FromUnsignedLong(*(npy_ushort *)val);
+ break;
+ case NPY_INT:
+- item = PyLong_FromLong(*(int32_t *)val);
++ item = PyLong_FromLong(*(npy_int *)val);
+ break;
+ case NPY_UINT:
+- item = PyLong_FromUnsignedLong(*(uint32_t *)val);
++ item = PyLong_FromUnsignedLong(*(npy_uint *)val);
break;
case NPY_LONG:
- item = PyLong_FromLong(*(int64_t *)val);
-+ item = PyLong_FromLong(*(long *)val);
++ item = PyLong_FromLong(*(npy_long *)val);
break;
case NPY_ULONG:
- item = PyLong_FromUnsignedLong(*(uint64_t *)val);
-+ item = PyLong_FromUnsignedLong(*(unsigned long *)val);
++ item = PyLong_FromUnsignedLong(*(npy_ulong *)val);
break;
case NPY_LONGLONG:
- item = PyLong_FromLongLong(*(long long *)val);
+- item = PyLong_FromLongLong(*(long long *)val);
++ item = PyLong_FromLongLong(*(npy_longlong *)val);
+ break;
+ case NPY_ULONGLONG:
+- item = PyLong_FromUnsignedLongLong(*(unsigned long long *)val);
++ item = PyLong_FromUnsignedLongLong(*(npy_ulonglong *)val);
+ break;
+ default:
+ item = gentype_generic_method(self, NULL, NULL, "item");