diff --git a/tests/mapping.SoA.cpp b/tests/mapping.SoA.cpp index 3981352100..c46605f414 100644 --- a/tests/mapping.SoA.cpp +++ b/tests/mapping.SoA.cpp @@ -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{16, 16}); - test(llama::ArrayExtents{16}); - test(llama::ArrayExtents{16}); - test(llama::ArrayExtents{}); + test(llama::ArrayExtentsDynamic{11, 17}); + test(llama::ArrayExtents{17}); + test(llama::ArrayExtents{11}); + test(llama::ArrayExtents{}); } TEST_CASE("mapping.SoA.SingleBlob.fortran.address") @@ -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{16, 16}); - test(llama::ArrayExtents{16}); - test(llama::ArrayExtents{16}); - test(llama::ArrayExtents{}); + test(llama::ArrayExtentsDynamic{11, 17}); + test(llama::ArrayExtents{17}); + test(llama::ArrayExtents{11}); + test(llama::ArrayExtents{}); } TEST_CASE("mapping.SoA.SingleBlob.morton.address") @@ -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{16, 16}); - test(llama::ArrayExtents{16}); - test(llama::ArrayExtents{16}); - test(llama::ArrayExtents{}); + test(llama::ArrayExtentsDynamic{11, 17}); + test(llama::ArrayExtents{17}); + test(llama::ArrayExtents{11}); + test(llama::ArrayExtents{}); } TEST_CASE("mapping.SoA.MultiBlob.address")