summaryrefslogtreecommitdiff
path: root/numpy/core
diff options
context:
space:
mode:
authormattip <matti.picus@gmail.com>2019-02-17 14:54:32 +0200
committermattip <matti.picus@gmail.com>2019-02-17 14:54:32 +0200
commit723345ca8cb7be37bb9ac38e608b6e09aa0d4183 (patch)
treec031aac9a2c27bb3d87883c2ba0c04efac728fce /numpy/core
parent72f1fbccc39612e80c614a59b98a89907c4839fe (diff)
downloadnumpy-723345ca8cb7be37bb9ac38e608b6e09aa0d4183.tar.gz
MAINT: refactor logic from review
Diffstat (limited to 'numpy/core')
-rw-r--r--numpy/core/src/multiarray/lowlevel_strided_loops.c.src55
1 files changed, 27 insertions, 28 deletions
diff --git a/numpy/core/src/multiarray/lowlevel_strided_loops.c.src b/numpy/core/src/multiarray/lowlevel_strided_loops.c.src
index bad8b610a..63b2a8842 100644
--- a/numpy/core/src/multiarray/lowlevel_strided_loops.c.src
+++ b/numpy/core/src/multiarray/lowlevel_strided_loops.c.src
@@ -417,32 +417,31 @@ PyArray_GetStridedCopyFn(int aligned, npy_intp src_stride,
#if !NPY_USE_UNALIGNED_ACCESS
}
else {
- /* contiguous dst */
- if (itemsize != 0 && dst_stride == itemsize) {
- /* contiguous src */
- if (src_stride == itemsize) {
- return &_contig_to_contig;
- }
- /* general src */
- else {
- switch (itemsize) {
- case 1:
- return &_aligned_strided_to_contig_size1;
+ if (itemsize != 0) {
+ if (dst_stride == itemsize) {
+ /* contiguous dst */
+ if (src_stride == itemsize) {
+ /* contiguous src, dst */
+ return &_contig_to_contig;
+ }
+ else {
+ /* general src */
+ switch (itemsize) {
+ case 1:
+ return &_aligned_strided_to_contig_size1;
/**begin repeat
* #elsize = 2, 4, 8, 16#
*/
- case @elsize@:
- return &_strided_to_contig_size@elsize@;
+ case @elsize@:
+ return &_strided_to_contig_size@elsize@;
/**end repeat**/
+ }
}
- }
- return &_strided_to_strided;
- }
- /* general dst */
- else {
- /* contiguous src */
- if (itemsize != 0 && src_stride == itemsize) {
+ return &_strided_to_strided;
+ }
+ else if (src_stride == itemsize) {
+ /* contiguous src, general dst */
switch (itemsize) {
case 1:
return &_aligned_contig_to_strided_size1;
@@ -456,18 +455,18 @@ PyArray_GetStridedCopyFn(int aligned, npy_intp src_stride,
return &_strided_to_strided;
}
- /* general src */
- else {
- switch (itemsize) {
- case 1:
- return &_aligned_strided_to_strided_size1;
+ }
+ else {
+ /* general src, dst */
+ switch (itemsize) {
+ case 1:
+ return &_aligned_strided_to_strided_size1;
/**begin repeat
* #elsize = 2, 4, 8, 16#
*/
- case @elsize@:
- return &_strided_to_strided_size@elsize@;
+ case @elsize@:
+ return &_strided_to_strided_size@elsize@;
/**end repeat**/
- }
}
}
}