mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-07-07 15:47:05 +00:00
Add more unit tests.
This commit is contained in:
@@ -33,3 +33,53 @@ TEST(Sequence, TestCreatingAccessSequence)
|
||||
|
||||
EXPECT_TRUE(is_valid);
|
||||
}
|
||||
|
||||
TEST(Sequence, TestCreatingSequenceFromTuple)
|
||||
{
|
||||
constexpr ck::index_t I0 = 0;
|
||||
constexpr ck::index_t I1 = 1;
|
||||
|
||||
constexpr auto seq = to_sequence(make_tuple(Number<I0>{}, Number<I1>{}));
|
||||
|
||||
EXPECT_EQ(seq[0], I0);
|
||||
EXPECT_EQ(seq[1], I1);
|
||||
}
|
||||
|
||||
TEST(Sequence, TestCreatingSequenceFromStaticFor)
|
||||
{
|
||||
constexpr ck::index_t num_pairs = 2;
|
||||
constexpr auto I1 = Number<1>{};
|
||||
constexpr auto I2 = Number<2>{};
|
||||
static_for<0, num_pairs, 1>{}([&](auto i_pair)
|
||||
{
|
||||
constexpr auto idx_1d_0 = I2 * i_pair;
|
||||
constexpr auto idx_1d_1 = I2 * i_pair + I1;
|
||||
|
||||
constexpr auto seq = to_sequence(make_tuple(idx_1d_0, idx_1d_1));
|
||||
|
||||
if constexpr(i_pair == 0)
|
||||
{
|
||||
EXPECT_EQ(seq[0], 0);
|
||||
EXPECT_EQ(seq[1], 1);
|
||||
}
|
||||
else if constexpr(i_pair == 1)
|
||||
{
|
||||
EXPECT_EQ(seq[0], 2);
|
||||
EXPECT_EQ(seq[1], 3);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
TEST(Sequence, TestSumOfElements)
|
||||
{
|
||||
constexpr auto seq = Sequence<1, 2, 3, 4>{};
|
||||
index_t sum = reduce_on_sequence(seq, math::plus<index_t>{}, Number<0>{});
|
||||
EXPECT_EQ(sum, 10);
|
||||
}
|
||||
|
||||
TEST(Sequence, TestMultiplyOfElements)
|
||||
{
|
||||
constexpr auto seq = Sequence<1, 2, 3, 4>{};
|
||||
index_t sum = reduce_on_sequence(seq, math::multiplies{}, Number<1>{});
|
||||
EXPECT_EQ(sum, 24);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user