Skip to content

Commit bc69ec5

Browse files
committed
[unit] retile_suite/retile_more skip zero tiles
1 parent c6e9490 commit bc69ec5

File tree

1 file changed

+29
-25
lines changed

1 file changed

+29
-25
lines changed

tests/retile.cpp

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,24 @@
66
BOOST_AUTO_TEST_SUITE(retile_suite)
77

88
BOOST_AUTO_TEST_CASE(retile_tensor) {
9-
TA::detail::matrix_il<double> some_values = {
10-
{0.1, 0.2, 0.3, 0.4, 0.5},
11-
{0.6, 0.7, 0.8, 0.9, 1.0},
12-
{1.1, 1.2, 1.3, 1.4, 1.5},
13-
{1.6, 1.7, 1.8, 1.9, 2.0},
14-
{2.1, 2.2, 2.3, 2.4, 2.5}
15-
};
16-
17-
auto range0 = TA::TiledRange1(0, 3, 5);
18-
auto range1 = TA::TiledRange1(0, 4, 5);
19-
auto trange = TA::TiledRange({range0, range1});
20-
21-
TA::TArrayD default_dense(*GlobalFixture::world, some_values);
22-
TA::TSpArrayD default_sparse(*GlobalFixture::world, some_values);
23-
24-
auto result_dense = retile(default_dense, trange);
25-
auto result_sparse = retile(default_sparse, trange);
26-
27-
BOOST_CHECK_EQUAL(result_dense.trange(), trange);
28-
BOOST_CHECK_EQUAL(result_sparse.trange(), trange);
9+
TA::detail::matrix_il<double> some_values = {{0.1, 0.2, 0.3, 0.4, 0.5},
10+
{0.6, 0.7, 0.8, 0.9, 1.0},
11+
{1.1, 1.2, 1.3, 1.4, 1.5},
12+
{1.6, 1.7, 1.8, 1.9, 2.0},
13+
{2.1, 2.2, 2.3, 2.4, 2.5}};
14+
15+
auto range0 = TA::TiledRange1(0, 3, 5);
16+
auto range1 = TA::TiledRange1(0, 4, 5);
17+
auto trange = TA::TiledRange({range0, range1});
18+
19+
TA::TArrayD default_dense(*GlobalFixture::world, some_values);
20+
TA::TSpArrayD default_sparse(*GlobalFixture::world, some_values);
21+
22+
auto result_dense = retile(default_dense, trange);
23+
auto result_sparse = retile(default_sparse, trange);
24+
25+
BOOST_CHECK_EQUAL(result_dense.trange(), trange);
26+
BOOST_CHECK_EQUAL(result_sparse.trange(), trange);
2927
}
3028

3129
BOOST_AUTO_TEST_CASE(retile_more) {
@@ -69,17 +67,20 @@ BOOST_AUTO_TEST_CASE(retile_more) {
6967
return tile.norm();
7068
};
7169

70+
auto arr_source0 =
71+
TA::make_array<ArrayT>(world, tr_source, set_random_tensor_tile);
72+
auto arr_target0 = TA::retile(arr_source0, tr_target);
73+
7274
auto get_elem = [](auto const& arr, auto const& eix) {
7375
auto tix = arr.trange().element_to_tile(eix);
7476
auto&& tile = arr.find(tix).get(false);
7577
return tile(eix);
7678
};
7779

78-
auto arr_source0 =
79-
TA::make_array<ArrayT>(world, tr_source, set_random_tensor_tile);
80-
auto arr_target0 = TA::retile(arr_source0, tr_target);
81-
8280
for (auto&& eix : elem_rng) {
81+
auto tix = arr_source0.trange().element_to_tile(eix);
82+
BOOST_REQUIRE(arr_source0.is_zero(tix) == arr_target0.is_zero(tix));
83+
if (arr_source0.is_zero(tix)) continue;
8384
BOOST_REQUIRE(get_elem(arr_source0, eix) == get_elem(arr_target0, eix));
8485
}
8586

@@ -94,8 +95,11 @@ BOOST_AUTO_TEST_CASE(retile_more) {
9495
world.gop.fence();
9596

9697
for (auto&& eix : elem_rng) {
98+
auto tix = arr_source.trange().element_to_tile(eix);
99+
BOOST_REQUIRE(arr_source.is_zero(tix) == arr_target.is_zero(tix));
100+
if (arr_source.is_zero(tix)) continue;
97101
BOOST_REQUIRE(get_elem(arr_source, eix) == get_elem(arr_target, eix));
98102
}
99103
}
100104

101-
BOOST_AUTO_TEST_SUITE_END()
105+
BOOST_AUTO_TEST_SUITE_END()

0 commit comments

Comments
 (0)