Skip to content

Commit 36483d6

Browse files
committed
Fix openmp version
1 parent 68a5a9e commit 36483d6

1 file changed

Lines changed: 17 additions & 6 deletions

File tree

include/xtensor/xassign.hpp

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1177,7 +1177,7 @@ namespace xt
11771177

11781178
for (std::size_t i = 0; i < simd_size; ++i)
11791179
{
1180-
res_stepper.template store_simd<simd_type>(fct_stepper.template step_simd<value_type>());
1180+
res_stepper.template store_simd(fct_stepper.template step_simd<value_type>());
11811181
}
11821182
for (std::size_t i = 0; i < simd_rest; ++i)
11831183
{
@@ -1191,13 +1191,24 @@ namespace xt
11911191
? strided_assign_detail::idx_tools<layout_type::row_major>::next_idx(idx, max_shape)
11921192
: strided_assign_detail::idx_tools<layout_type::column_major>::next_idx(idx, max_shape);
11931193

1194-
// need to step E1 as well if not contigous assign (e.g. view)
11951194
fct_stepper.to_begin();
1196-
res_stepper.to_begin();
1197-
for (std::size_t i = 0; i < idx.size(); ++i)
1195+
1196+
// need to step E1 as well if not contigous assign (e.g. view)
1197+
if (!E1::contiguous_layout)
11981198
{
1199-
fct_stepper.step(i + step_dim, idx[i]);
1200-
res_stepper.step(i + step_dim, idx[i]);
1199+
res_stepper.to_begin();
1200+
for (std::size_t i = 0; i < idx.size(); ++i)
1201+
{
1202+
fct_stepper.step(i + step_dim, idx[i]);
1203+
res_stepper.step(i + step_dim, idx[i]);
1204+
}
1205+
}
1206+
else
1207+
{
1208+
for (std::size_t i = 0; i < idx.size(); ++i)
1209+
{
1210+
fct_stepper.step(i + step_dim, idx[i]);
1211+
}
12011212
}
12021213
}
12031214
}

0 commit comments

Comments
 (0)