diff options
author | Raghuveer Devulapalli <raghuveer.devulapalli@intel.com> | 2022-09-28 22:21:52 -0700 |
---|---|---|
committer | Raghuveer Devulapalli <raghuveer.devulapalli@intel.com> | 2023-01-30 13:38:39 -0800 |
commit | 1b5f40c89634d9399c1f3a7906dedc153b202b69 (patch) | |
tree | 119dfa1f44066318628a0b93a8cbb1e83ac9cff6 /numpy | |
parent | 882503ac9383b3fff0ecf5423e732e64469347ba (diff) | |
download | numpy-1b5f40c89634d9399c1f3a7906dedc153b202b69.tar.gz |
BUG: Use longlong when NPY_SIZEOF_LONG is 4
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/core/src/npysort/quicksort.cpp | 10 | ||||
-rw-r--r-- | numpy/core/src/npysort/x86-qsort-skx.dispatch.cpp | 8 |
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 |