From: Jerin Jacob Date: Thu, 6 Jul 2017 14:20:24 +0000 (+0530) Subject: test: add unit test for integer log2 function X-Git-Tag: spdx-start~2529 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=05c4345ef5c2;p=dpdk.git test: add unit test for integer log2 function add a unit testcase for rte_log2_u32. Signed-off-by: Jerin Jacob Reviewed-by: Olivier Matz --- diff --git a/test/test/test_common.c b/test/test/test_common.c index 6e803f5d35..ae3482da72 100644 --- a/test/test/test_common.c +++ b/test/test/test_common.c @@ -33,6 +33,7 @@ #include #include +#include #include #include #include @@ -159,6 +160,25 @@ test_align(void) return 0; } +static int +test_log2(void) +{ + uint32_t i, base, compare; + const uint32_t max = 0x10000; + const uint32_t step = 1; + + for (i = 0; i < max; i = i + step) { + base = (uint32_t)ceilf(log2((uint32_t)i)); + compare = rte_log2_u32(i); + if (base != compare) { + printf("Wrong rte_log2_u32(%x) val %x, expected %x\n", + i, compare, base); + return TEST_FAILED; + } + } + return 0; +} + static int test_common(void) { @@ -166,6 +186,7 @@ test_common(void) ret |= test_align(); ret |= test_macros(0); ret |= test_misc(); + ret |= test_log2(); return ret; }