summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGengxin Xie <gengxin.xie@intel.com>2020-06-11 09:59:35 +0800
committerGengxin Xie <gengxin.xie@intel.com>2020-06-11 10:18:02 +0800
commit72ac535491d62c440715efd90a10346d056cd06f (patch)
tree9a1eddbca9b8f6cc1a84ea5cba901eaf314ba3d1
parent68ebc2bad1ad6a99e9939eff205a1a6d936cf4fd (diff)
downloadnumpy-72ac535491d62c440715efd90a10346d056cd06f.tar.gz
BUG: fix sin/cos bug when input is strided
-rw-r--r--numpy/core/src/umath/simd.inc.src8
1 files changed, 4 insertions, 4 deletions
diff --git a/numpy/core/src/umath/simd.inc.src b/numpy/core/src/umath/simd.inc.src
index 48e89915c..e6414e29e 100644
--- a/numpy/core/src/umath/simd.inc.src
+++ b/numpy/core/src/umath/simd.inc.src
@@ -2698,17 +2698,17 @@ static NPY_GCC_OPT_3 NPY_GCC_TARGET_@ISA@ void
/* process elements using glibc for large elements */
if (my_trig_op == npy_compute_cos) {
- for (int ii = 0; iglibc_mask != 0; ii++) {
+ for (int ii = 0, jj = 0; iglibc_mask != 0; ii++, jj += stride) {
if (iglibc_mask & 0x01) {
- op[ii] = npy_cosf(ip[ii]);
+ op[ii] = npy_cosf(ip[jj]);
}
iglibc_mask = iglibc_mask >> 1;
}
}
else {
- for (int ii = 0; iglibc_mask != 0; ii++) {
+ for (int ii = 0, jj = 0; iglibc_mask != 0; ii++, jj += stride) {
if (iglibc_mask & 0x01) {
- op[ii] = npy_sinf(ip[ii]);
+ op[ii] = npy_sinf(ip[jj]);
}
iglibc_mask = iglibc_mask >> 1;
}