diff --git a/Tests/AK/TestIntegerMath.cpp b/Tests/AK/TestIntegerMath.cpp index 192543a494a..080db168937 100644 --- a/Tests/AK/TestIntegerMath.cpp +++ b/Tests/AK/TestIntegerMath.cpp @@ -65,6 +65,24 @@ TEST_CASE(exp2) EXPECT_EQ(AK::exp2(63), 9223372036854775808ull); } +TEST_CASE(log2) +{ + EXPECT_EQ(AK::log2(0), 0ull); + EXPECT_EQ(AK::log2(1), 0ull); + EXPECT_EQ(AK::log2(64), 6); + EXPECT_EQ(AK::log2(128), 7); + EXPECT_EQ(AK::log2(512), 9); + EXPECT_EQ(AK::log2(16384), 14); + EXPECT_EQ(AK::log2(32768), 15); + EXPECT_EQ(AK::log2(131072), 17); + EXPECT_EQ(AK::log2(1073741824), 30); + EXPECT_EQ(AK::log2(2147483648), 31u); + EXPECT_EQ(AK::log2(4294967296), 32); + EXPECT_EQ(AK::log2(8589934592), 33); + EXPECT_EQ(AK::log2(4611686018427387904), 62); + EXPECT_EQ(AK::log2(9223372036854775808ull), 63ull); +} + TEST_CASE(ceil_log2) { EXPECT_EQ(AK::ceil_log2(0), 0ull);