From 58a2966499b3835b24c153337b90b87707f76a5a Mon Sep 17 00:00:00 2001 From: Thomas Schlichter Date: Mon, 12 Aug 2024 13:21:06 +0200 Subject: [PATCH] add test for log2_approx() --- openair1/PHY/TOOLS/tests/CMakeLists.txt | 6 +++++ openair1/PHY/TOOLS/tests/test_log2_approx.cpp | 24 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 openair1/PHY/TOOLS/tests/test_log2_approx.cpp diff --git a/openair1/PHY/TOOLS/tests/CMakeLists.txt b/openair1/PHY/TOOLS/tests/CMakeLists.txt index 2822e058fd..591dfcd430 100644 --- a/openair1/PHY/TOOLS/tests/CMakeLists.txt +++ b/openair1/PHY/TOOLS/tests/CMakeLists.txt @@ -9,3 +9,9 @@ target_link_libraries(benchmark_rotate_vector PRIVATE benchmark::benchmark UTIL add_dependencies(tests benchmark_rotate_vector) add_test(NAME benchmark_rotate_vector COMMAND ./benchmark_rotate_vector) + +add_executable(test_log2_approx test_log2_approx.cpp ../log2_approx.c) +target_link_libraries(test_log2_approx PRIVATE GTest::gtest LOG minimal_lib) +add_dependencies(tests test_log2_approx) +add_test(NAME test_log2_approx + COMMAND ./test_log2_approx) diff --git a/openair1/PHY/TOOLS/tests/test_log2_approx.cpp b/openair1/PHY/TOOLS/tests/test_log2_approx.cpp new file mode 100644 index 0000000000..23cae706f6 --- /dev/null +++ b/openair1/PHY/TOOLS/tests/test_log2_approx.cpp @@ -0,0 +1,24 @@ +#include +extern "C" { +#include "openair1/PHY/TOOLS/tools_defs.h" +#include "common/utils/LOG/log.h" +} +#include + +uint8_t log2_approx_ref(uint32_t x) +{ + return std::round(std::log2(x)); +} + +TEST(log2_approx_ref, complete) +{ + for (uint32_t i = 0; i < UINT32_MAX; i++) + EXPECT_EQ(log2_approx(i), log2_approx_ref(i)); +} + +int main(int argc, char **argv) +{ + logInit(); + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +}