summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
Diffstat (limited to 'numpy')
-rw-r--r--numpy/core/src/multiarray/array_assign.c3
-rw-r--r--numpy/core/src/multiarray/array_assign_scalar.c6
2 files changed, 5 insertions, 4 deletions
diff --git a/numpy/core/src/multiarray/array_assign.c b/numpy/core/src/multiarray/array_assign.c
index 6467b6cfd..fa764d758 100644
--- a/numpy/core/src/multiarray/array_assign.c
+++ b/numpy/core/src/multiarray/array_assign.c
@@ -22,6 +22,7 @@
#include "array_assign.h"
#include "common.h"
+#include "lowlevel_strided_loops.h"
/* See array_assign.h for parameter documentation */
NPY_NO_EXPORT int
@@ -92,7 +93,7 @@ raw_array_is_aligned(int ndim, char *data, npy_intp *strides, int alignment)
align_check |= strides[idim];
}
- return ((align_check & (alignment - 1)) == 0);
+ return npy_is_aligned((void *)align_check, alignment);
}
else {
return 1;
diff --git a/numpy/core/src/multiarray/array_assign_scalar.c b/numpy/core/src/multiarray/array_assign_scalar.c
index 2c1154264..df7facad6 100644
--- a/numpy/core/src/multiarray/array_assign_scalar.c
+++ b/numpy/core/src/multiarray/array_assign_scalar.c
@@ -48,7 +48,7 @@ raw_array_assign_scalar(int ndim, npy_intp *shape,
/* Check alignment */
aligned = raw_array_is_aligned(ndim, dst_data, dst_strides,
dst_dtype->alignment);
- if (((npy_intp)src_data & (src_dtype->alignment - 1)) != 0) {
+ if (!npy_is_aligned(src_data, src_dtype->alignment)) {
aligned = 0;
}
@@ -119,7 +119,7 @@ raw_array_wheremasked_assign_scalar(int ndim, npy_intp *shape,
/* Check alignment */
aligned = raw_array_is_aligned(ndim, dst_data, dst_strides,
dst_dtype->alignment);
- if (((npy_intp)src_data & (src_dtype->alignment - 1)) != 0) {
+ if (!npy_is_aligned(src_data, src_dtype->alignment)) {
aligned = 0;
}
@@ -220,7 +220,7 @@ PyArray_AssignRawScalar(PyArrayObject *dst,
* we also skip this if 'dst' has an object dtype.
*/
if ((!PyArray_EquivTypes(PyArray_DESCR(dst), src_dtype) ||
- ((npy_intp)src_data & (src_dtype->alignment - 1)) != 0) &&
+ !npy_is_aligned(src_data, src_dtype->alignment)) &&
PyArray_SIZE(dst) > 1 &&
!PyDataType_REFCHK(PyArray_DESCR(dst))) {
char *tmp_src_data;