summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToshiki Kataoka <kataoka@preferred.jp>2018-04-16 10:51:02 +0900
committerToshiki Kataoka <kataoka@preferred.jp>2018-04-16 10:51:02 +0900
commit3e595509e6e237259ce0e934ada720dac6e3ac13 (patch)
tree7c4b73f8332399bb954a67729fb608641e6a5a01
parenta9cb8c03bc7f1aae842ac8a3baa5ff388224044a (diff)
downloadnumpy-3e595509e6e237259ce0e934ada720dac6e3ac13.tar.gz
BUG: Fix casting between npy_half and float in einsum
-rw-r--r--numpy/core/src/multiarray/einsum.c.src6
1 files changed, 3 insertions, 3 deletions
diff --git a/numpy/core/src/multiarray/einsum.c.src b/numpy/core/src/multiarray/einsum.c.src
index 5dbc30aa9..470a5fff9 100644
--- a/numpy/core/src/multiarray/einsum.c.src
+++ b/numpy/core/src/multiarray/einsum.c.src
@@ -591,7 +591,7 @@ finish_after_unrolled_loop:
accum += @from@(data0[@i@]) * @from@(data1[@i@]);
/**end repeat2**/
case 0:
- *(@type@ *)dataptr[2] += @to@(accum);
+ *(@type@ *)dataptr[2] = @to@(@from@(*(@type@ *)dataptr[2]) + accum);
return;
}
@@ -749,7 +749,7 @@ finish_after_unrolled_loop:
accum += @from@(data1[@i@]);
/**end repeat2**/
case 0:
- *(@type@ *)dataptr[2] += @to@(value0 * accum);
+ *(@type@ *)dataptr[2] = @to@(@from@(*(@type@ *)dataptr[2]) + value0 * accum);
return;
}
@@ -848,7 +848,7 @@ finish_after_unrolled_loop:
accum += @from@(data0[@i@]);
/**end repeat2**/
case 0:
- *(@type@ *)dataptr[2] += @to@(accum * value1);
+ *(@type@ *)dataptr[2] = @to@(@from@(*(@type@ *)dataptr[2]) + accum * value1);
return;
}