Skip to content

Commit 58a6c54

Browse files
committed
test/test_xview.cpp: Added test for issue 2228
1 parent d5a5c63 commit 58a6c54

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

test/test_xview.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -903,6 +903,33 @@ namespace xt
903903
EXPECT_EQ(s7, s7e);
904904
}
905905

906+
TEST(xview, strides_issue_2228)
907+
{
908+
{
909+
xt::xtensor<uint8_t, 2> aTensor = xt::zeros<uint8_t>({4, 3});
910+
auto aView = xt::view(aTensor, xt::newaxis(), xt::newaxis(), xt::newaxis(), xt::all(), xt::all());
911+
uint8_t vIndex = 0;
912+
for (size_t vRow = 0; vRow < 3; ++vRow) {
913+
for (size_t vCol = 0; vCol < 3; ++vCol) {
914+
aView(size_t{0}, size_t{0}, size_t{0}, vRow, vCol) = vIndex;
915+
EXPECT_EQ(aTensor(vRow, vCol), vIndex);
916+
++vIndex;
917+
}
918+
}
919+
}
920+
921+
{
922+
xt::xtensor<bool, 2> aTensor = xt::zeros<bool>({4, 3});
923+
auto aView = xt::view(aTensor, xt::newaxis(), xt::newaxis(), xt::newaxis(), xt::all(), xt::all());
924+
for (size_t vRow = 0; vRow < 4; ++vRow) {
925+
for (size_t vCol = 0; vCol < 3; ++vCol) {
926+
aView(size_t{0}, size_t{0}, size_t{0}, vRow, vCol) = true;
927+
}
928+
}
929+
EXPECT_EQ(aTensor, aView);
930+
}
931+
}
932+
906933
TEST(xview, to_scalar)
907934
{
908935
std::array<std::size_t, 3> sh{2,2,2};

0 commit comments

Comments
 (0)