File tree 1 file changed +5
-3
lines changed
1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -1135,6 +1135,8 @@ namespace xt
1135
1135
std::size_t simd_size = inner_loop_size / simd_type::size;
1136
1136
std::size_t simd_rest = inner_loop_size % simd_type::size;
1137
1137
1138
+ bool e1_is_contiguous = E1 ::contiguous_layout || e1 .is_contiguous ();
1139
+
1138
1140
auto fct_stepper = e2 .stepper_begin (e1 .shape ());
1139
1141
auto res_stepper = e1 .stepper_begin (e1 .shape ());
1140
1142
@@ -1185,7 +1187,7 @@ namespace xt
1185
1187
fct_stepper.to_begin ();
1186
1188
1187
1189
// need to step E1 as well if not contigous assign (e.g. view)
1188
- if (!E1 ::contiguous_layout)
1190
+ if (!E1 ::contiguous_layout && !e1_is_contiguous )
1189
1191
{
1190
1192
res_stepper.to_begin ();
1191
1193
for (std::size_t i = 0 ; i < idx.size (); ++i)
@@ -1260,7 +1262,7 @@ namespace xt
1260
1262
fct_stepper.to_begin ();
1261
1263
1262
1264
// need to step E1 as well if not contigous assign (e.g. view)
1263
- if (!E1 ::contiguous_layout)
1265
+ if (!E1 ::contiguous_layout && !e1_is_contiguous )
1264
1266
{
1265
1267
res_stepper.to_begin ();
1266
1268
for (std::size_t i = 0 ; i < idx.size (); ++i)
@@ -1305,7 +1307,7 @@ namespace xt
1305
1307
fct_stepper.to_begin ();
1306
1308
1307
1309
// need to step E1 as well if not contigous assign (e.g. view)
1308
- if (!E1 ::contiguous_layout)
1310
+ if (!E1 ::contiguous_layout && !e1_is_contiguous )
1309
1311
{
1310
1312
res_stepper.to_begin ();
1311
1313
for (std::size_t i = 0 ; i < idx.size (); ++i)
You can’t perform that action at this time.
0 commit comments