10 #include <catch2/catch_test_macros.hpp>
15 TEST_CASE(
"interleave_info_test",
"[interleave_info]") {
16 const size_t nwarp = 4;
21 std::array<int, 10> data1 = {11, 37, 45, 2, 18, 37, 7, 39, 66, 33};
22 std::array<size_t, 9> data2 = {111, 137, 245, 12, 118, 237, 199, 278, 458};
34 REQUIRE(info1.firstnode != info1.lastnode);
36 info1.firstnode, info1.firstnode + nwarp + 1, info1.lastnode, info1.lastnode + nwarp + 1));
40 copy_array(info1.ncycle, data2.data() + 1, nwarp);
41 copy_array(info1.idle, data2.data() + 2, nwarp);
42 copy_array(info1.cache_access, data2.data() + 3, nwarp);
43 copy_array(info1.child_race, data2.data() + 4, nwarp);
46 InterleaveInfo info2(info1);
52 std::vector<InterleaveInfo*> infos;
54 infos.push_back(&info2);
55 infos.push_back(&info3);
58 for (
size_t i = 0;
i < infos.size();
i++) {
59 REQUIRE(info1.nwarp == infos[
i]->nwarp);
60 REQUIRE(info1.nstride == infos[
i]->nstride);
63 std::equal(info1.stridedispl, info1.stridedispl + nwarp + 1, infos[
i]->stridedispl));
65 REQUIRE(
std::equal(info1.cellsize, info1.cellsize + nwarp, infos[
i]->cellsize));
66 REQUIRE(
std::equal(info1.child_race, info1.child_race + nwarp, infos[
i]->child_race));
TEST_CASE("interleave_info_test", "[interleave_info]")
THIS FILE IS AUTO GENERATED DONT MODIFY IT.
void copy_array(T *&dest, T *src, size_t n)
void copy_align_array(T *&dest, T *src, size_t n)
static int equal(const char *c1, const char *c2)