Skip to content

Commit

Permalink
Make array extents in SoA tests less regular
Browse files Browse the repository at this point in the history
  • Loading branch information
bernhardmgruber committed Jun 15, 2022
1 parent 193ad64 commit bac773e
Showing 1 changed file with 104 additions and 104 deletions.
208 changes: 104 additions & 104 deletions tests/mapping.SoA.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,52 +11,52 @@ TEST_CASE("mapping.SoA.SingleBlob.address")
{
const auto ai = ArrayIndex{0, 0};
CHECK(mapping.template blobNrAndOffset<0, 0>(ai).offset == 0);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 2048);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 4096);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 6144);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 7168);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 9216);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 11264);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 13312);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 13568);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 13824);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 14080);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 1496);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 2992);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 4488);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 5236);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 6732);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 8228);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 9724);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 9911);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 10098);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 10285);
}

{
const auto ai = ArrayIndex{0, 1};
CHECK(mapping.template blobNrAndOffset<0, 0>(ai).offset == 8);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 2056);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 4104);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 6148);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 7176);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 9224);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 11272);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 13313);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 13569);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 13825);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 14081);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 1504);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 3000);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 4492);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 5244);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 6740);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 8236);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 9725);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 9912);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 10099);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 10286);
}

{
const auto ai = ArrayIndex{1, 0};
CHECK(mapping.template blobNrAndOffset<0, 0>(ai).offset == 128);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 2176);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 4224);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 6208);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 7296);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 9344);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 11392);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 13328);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 13584);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 13840);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 14096);
CHECK(mapping.template blobNrAndOffset<0, 0>(ai).offset == 136);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 1632);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 3128);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 4556);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 5372);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 6868);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 8364);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 9741);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 9928);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 10115);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 10302);
}
};
test(llama::ArrayExtentsDynamic<std::size_t, 2>{16, 16});
test(llama::ArrayExtents<int, 16, llama::dyn>{16});
test(llama::ArrayExtents<int, llama::dyn, 16>{16});
test(llama::ArrayExtents<int, 16, 16>{});
test(llama::ArrayExtentsDynamic<std::size_t, 2>{11, 17});
test(llama::ArrayExtents<int, 11, llama::dyn>{17});
test(llama::ArrayExtents<int, llama::dyn, 17>{11});
test(llama::ArrayExtents<int, 11, 17>{});
}

TEST_CASE("mapping.SoA.SingleBlob.fortran.address")
Expand All @@ -71,52 +71,52 @@ TEST_CASE("mapping.SoA.SingleBlob.fortran.address")
{
const auto ai = ArrayIndex{0, 0};
CHECK(mapping.template blobNrAndOffset<0, 0>(ai).offset == 0);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 2048);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 4096);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 6144);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 7168);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 9216);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 11264);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 13312);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 13568);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 13824);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 14080);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 1496);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 2992);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 4488);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 5236);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 6732);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 8228);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 9724);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 9911);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 10098);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 10285);
}

{
const auto ai = ArrayIndex{0, 1};
CHECK(mapping.template blobNrAndOffset<0, 0>(ai).offset == 128);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 2176);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 4224);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 6208);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 7296);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 9344);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 11392);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 13328);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 13584);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 13840);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 14096);
CHECK(mapping.template blobNrAndOffset<0, 0>(ai).offset == 88);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 1584);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 3080);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 4532);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 5324);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 6820);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 8316);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 9735);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 9922);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 10109);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 10296);
}

{
const auto ai = ArrayIndex{1, 0};
CHECK(mapping.template blobNrAndOffset<0, 0>(ai).offset == 8);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 2056);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 4104);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 6148);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 7176);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 9224);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 11272);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 13313);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 13569);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 13825);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 14081);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 1504);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 3000);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 4492);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 5244);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 6740);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 8236);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 9725);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 9912);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 10099);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 10286);
}
};
test(llama::ArrayExtentsDynamic<std::size_t, 2>{16, 16});
test(llama::ArrayExtents<int, 16, llama::dyn>{16});
test(llama::ArrayExtents<int, llama::dyn, 16>{16});
test(llama::ArrayExtents<int, 16, 16>{});
test(llama::ArrayExtentsDynamic<std::size_t, 2>{11, 17});
test(llama::ArrayExtents<int, 11, llama::dyn>{17});
test(llama::ArrayExtents<int, llama::dyn, 17>{11});
test(llama::ArrayExtents<int, 11, 17>{});
}

TEST_CASE("mapping.SoA.SingleBlob.morton.address")
Expand All @@ -135,52 +135,52 @@ TEST_CASE("mapping.SoA.SingleBlob.morton.address")
{
const auto ai = ArrayIndex{0, 0};
CHECK(mapping.template blobNrAndOffset<0, 0>(ai).offset == 0);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 2048);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 4096);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 6144);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 7168);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 9216);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 11264);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 13312);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 13568);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 13824);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 14080);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 8192);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 16384);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 24576);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 28672);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 36864);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 45056);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 53248);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 54272);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 55296);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 56320);
}

{
const auto ai = ArrayIndex{0, 1};
CHECK(mapping.template blobNrAndOffset<0, 0>(ai).offset == 8);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 2056);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 4104);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 6148);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 7176);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 9224);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 11272);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 13313);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 13569);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 13825);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 14081);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 8200);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 16392);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 24580);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 28680);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 36872);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 45064);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 53249);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 54273);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 55297);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 56321);
}

{
const auto ai = ArrayIndex{1, 0};
CHECK(mapping.template blobNrAndOffset<0, 0>(ai).offset == 16);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 2064);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 4112);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 6152);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 7184);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 9232);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 11280);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 13314);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 13570);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 13826);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 14082);
CHECK(mapping.template blobNrAndOffset<0, 1>(ai).offset == 8208);
CHECK(mapping.template blobNrAndOffset<0, 2>(ai).offset == 16400);
CHECK(mapping.template blobNrAndOffset<1>(ai).offset == 24584);
CHECK(mapping.template blobNrAndOffset<2, 0>(ai).offset == 28688);
CHECK(mapping.template blobNrAndOffset<2, 1>(ai).offset == 36880);
CHECK(mapping.template blobNrAndOffset<2, 2>(ai).offset == 45072);
CHECK(mapping.template blobNrAndOffset<3, 0>(ai).offset == 53250);
CHECK(mapping.template blobNrAndOffset<3, 1>(ai).offset == 54274);
CHECK(mapping.template blobNrAndOffset<3, 2>(ai).offset == 55298);
CHECK(mapping.template blobNrAndOffset<3, 3>(ai).offset == 56322);
}
};
test(llama::ArrayExtentsDynamic<std::size_t, 2>{16, 16});
test(llama::ArrayExtents<int, 16, llama::dyn>{16});
test(llama::ArrayExtents<int, llama::dyn, 16>{16});
test(llama::ArrayExtents<int, 16, 16>{});
test(llama::ArrayExtentsDynamic<std::size_t, 2>{11, 17});
test(llama::ArrayExtents<int, 11, llama::dyn>{17});
test(llama::ArrayExtents<int, llama::dyn, 17>{11});
test(llama::ArrayExtents<int, 11, 17>{});
}

TEST_CASE("mapping.SoA.MultiBlob.address")
Expand Down

0 comments on commit bac773e

Please sign in to comment.