summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorRaghuveer Devulapalli <raghuveer.devulapalli@intel.com>2022-09-28 22:21:52 -0700
committerRaghuveer Devulapalli <raghuveer.devulapalli@intel.com>2023-01-30 13:38:39 -0800
commit1b5f40c89634d9399c1f3a7906dedc153b202b69 (patch)
tree119dfa1f44066318628a0b93a8cbb1e83ac9cff6 /numpy
parent882503ac9383b3fff0ecf5423e732e64469347ba (diff)
downloadnumpy-1b5f40c89634d9399c1f3a7906dedc153b202b69.tar.gz
BUG: Use longlong when NPY_SIZEOF_LONG is 4
Diffstat (limited to 'numpy')
-rw-r--r--numpy/core/src/npysort/quicksort.cpp10
-rw-r--r--numpy/core/src/npysort/x86-qsort-skx.dispatch.cpp8
2 files changed, 18 insertions, 0 deletions
diff --git a/numpy/core/src/npysort/quicksort.cpp b/numpy/core/src/npysort/quicksort.cpp
index d89dac173..3af6b91d6 100644
--- a/numpy/core/src/npysort/quicksort.cpp
+++ b/numpy/core/src/npysort/quicksort.cpp
@@ -89,8 +89,13 @@ struct x86_dispatch {
template <>
+#if NPY_SIZEOF_LONG == 8
struct x86_dispatch<npy::long_tag> {
static bool quicksort(npy_long *start, npy_intp num)
+#else
+struct x86_dispatch<npy::longlong_tag> {
+ static bool quicksort(npy_longlong *start, npy_intp num)
+#endif
{
void (*dispfunc)(void *, npy_intp) = nullptr;
NPY_CPU_DISPATCH_CALL_XB(dispfunc = x86_quicksort_long);
@@ -103,8 +108,13 @@ struct x86_dispatch<npy::long_tag> {
};
template <>
+#if NPY_SIZEOF_LONG == 8
struct x86_dispatch<npy::ulong_tag> {
static bool quicksort(npy_ulong *start, npy_intp num)
+#else
+struct x86_dispatch<npy::ulonglong_tag> {
+ static bool quicksort(npy_ulonglong *start, npy_intp num)
+#endif
{
void (*dispfunc)(void *, npy_intp) = nullptr;
NPY_CPU_DISPATCH_CALL_XB(dispfunc = x86_quicksort_ulong);
diff --git a/numpy/core/src/npysort/x86-qsort-skx.dispatch.cpp b/numpy/core/src/npysort/x86-qsort-skx.dispatch.cpp
index d26b8fc9f..fb328f547 100644
--- a/numpy/core/src/npysort/x86-qsort-skx.dispatch.cpp
+++ b/numpy/core/src/npysort/x86-qsort-skx.dispatch.cpp
@@ -18,13 +18,21 @@
NPY_NO_EXPORT void
NPY_CPU_DISPATCH_CURFX(x86_quicksort_long)(void *arr, npy_intp arrsize)
{
+#if NPY_SIZEOF_LONG == 8
avx512_qsort<npy_long>((npy_long*)arr, arrsize);
+#else
+ avx512_qsort<npy_longlong>((npy_longlong*)arr, arrsize);
+#endif
}
NPY_NO_EXPORT void
NPY_CPU_DISPATCH_CURFX(x86_quicksort_ulong)(void *arr, npy_intp arrsize)
{
+#if NPY_SIZEOF_LONG == 8
avx512_qsort<npy_ulong>((npy_ulong*)arr, arrsize);
+#else
+ avx512_qsort<npy_ulonglong>((npy_ulonglong*)arr, arrsize);
+#endif
}
NPY_NO_EXPORT void